Team Allita's Embedded Message Center is a C++ class that links directly into embedded applications and efficiently handles all asynchronous event processing within the application. The result is that the overall system design is greatly simplified, allowing applications to be developed far more rapidly and with greater quality.
How it works...
The application's main thread initializes its message box and then initiates indivdual threads to support each device that will be providing asynchronous inputs to the system. Other non-device threads that communication with the application (such as "watchdog timers") are also started.
Once the input threads are started the application continuously awaits messages coming into the message box from the threads and processes them as they are received. All reading and writing to and from the message box is mutex-synchronized such that CPU power utilization is minimized.
The result is that complex solutions are implemented with simpler, less bug-prone code and development time, cost and risk are greatly reduced.