Event Based Project

Multi-Platform Framework

A high-performance embedded architecture designed to decouple business logic from hardware using an advanced Event-Driven approach.

Linux / Ubuntu STM32F407 STM32L476
View Source on GitHub

Event-Driven Architecture

The core of EBP relies on a non-blocking Event Loop. By abstracting hardware interrupts into a centralized event queue, the system achieves maximum stability and scalability.

  • Producer Isolation: Add sensors by simply calling EventAdd().
  • Consumer Logic: Centralized event processing prevents spaghetti code.
  • HAL Layer: Run the same code on a Linux simulator or bare-metal MCU.
Software Architecture

Hardware Capabilities

  • Comm: Dual UART, CANBus, and I2C integration.
  • Expansion: TCA9555 GPIO & TCA8418 Keypad support.
  • Environmental: Precise LM75B Temperature tracking.
  • Power: Industrial 9-36V input regulation.
Hardware Units

Software Core Modules

Module Functionality
BIT (Built-In Test) System health monitoring & Watchdog management.
CommCan Manager CANBus protocol parsing and packet handling.
Working Mode Maintenance, Update, and Error working modes.
Debug Real-time field diagnostics and debug logging.
Keypad-User Input Manages and handles keypad inputs
Time Manager RTC time, manages and update system time
Update Manager Updates system over serial port
I/O Manager Manages digital I/O

Ready to Deploy

Open project files in Eclipse or STM32CubeIDE and click the build hammer.

Linux Environment

Perfect for SIL (Software-In-the-Loop) simulations and logic testing using GCC.

STM32 Targets

Optimized for ARM Cortex-M4 with full peripheral support.