A popular approach for developing embedded systems applications is event-driven programming. Most embedded systems employ an event model and inter-process communication protocol in one form or another. In many such systems, the overhead of using an operating system which provides a framework for event-driven programming is unacceptable, in others, it is simply overkill. As a result, a lot of embedded applications use multiple run-to-completion processes implemented as functions being continuously called in a super loop of sorts. Most such implementations require developers to come up with a basic event-based inter-process communication scheme. Quite often such implementations, due to a lack of a well-defined protocol or framework end up producing spaghetti code with a plethora of globally accessible variables and each process using a different communication scheme. AEDEA is presented as an alternative to this approach. Even though the basic idea behind it is the same as the afore-mentioned "super loop", it significantly reduces code complexity and development overhead and provides a uniform event-based inter-process communication scheme for all processes. It also includes a delta queue implementation of software timers.
-
Notifications
You must be signed in to change notification settings - Fork 0
"a.e.d.e.a." is short for "API for Event Driven Embedded Applications" ... a small footprint abstract task manager for run-to-completion tasks for event-based Embedded Systems which contains an API for event handling/event communication and software timers.
schaazzz/aedea
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
"a.e.d.e.a." is short for "API for Event Driven Embedded Applications" ... a small footprint abstract task manager for run-to-completion tasks for event-based Embedded Systems which contains an API for event handling/event communication and software timers.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published