You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
SCXML format ("statechart XML format") (wikipedia) (w3c) - hierarchical state machines, parallel state machines, ... should be feature-complete for most use cases. the state machines are declared in XML, which can be compiled to efficient C or C++ code
https://github.com/igormiktor/arduino-EventManager [already listed in Awesome-arduino] EventManager is a single C++ class that provides an event handling system for Arduino. With EventManager you can register functions that "listen" for particular events and when things happen you can "post" events to EventManager. You then use the loop() function to regularly tell EventManager to process events and the appropriate listeners will be called.
https://github.com/mikaelpatel/Cosa - Cosa is an object-oriented platform for Arduino. It replaces the Arduino and Wiring library with a large set of integrated classes that support the full range of AVR/ATmega/ATtiny internal hardware modules ... Cosa supports several programming paradigms including Multi-Tasking, Event Driven Programming and UML Capsules/Actors.
https://github.com/tinkerspy/Automaton/wiki - Reactive State Machine Framework for Arduino. The Automaton framework allows you to create Arduino applications that consist entirely of concurrently running components (finite state machines) interacting with one another. Changes are automatically propagated through the application like changes in a spreadsheet. Encourages modular design and separation of concerns
https://github.com/kmilo17pet/QuarkTS - operating system that provides a modern environment to build stable and predictable event-driven multitasking embedded software. Due to its size and features, is intended to play in the space between RTOSes and bare-metal. QuarkTS was written for embedded developers who want more functionality than what existing task schedulers offer, but want to avoid the space and complexity of a full RTOS, keeping the taste of a robust and safe one.
Event-Driven Arduino Programming with QP™-nano and QM™ - "Luckily, generations of programmers before you have discovered an effective way of solving the “spaghetti” code problem. The solution is based on the concept of a state machine, or actually a set of collaborating state machines that preserve the context from one event to the next using the concept of state. This QP™-nano framework described in the next section allows you to combine the event-driven programming paradigm with modern state machines."
QM™ Graphical Modeling Tool - QM™ (Quantum Modeler) is a free, cross-platform, graphical modeling tool for designing and implementing real-time embedded applications based on the QP™ state machine frameworks. ... QM™ eliminates coding errors by automatic generation of compact C or C++ code that is 100% traceable from your design.
The text was updated successfully, but these errors were encountered:
milahu
changed the title
state machines on arduino: hierarchical state machines, parallel state machines, ...
state machines on arduino: finite state machines, hierarchical state machines, parallel state machines, ...
Oct 28, 2021
milahu
changed the title
state machines on arduino: finite state machines, hierarchical state machines, parallel state machines, ...
state machines on arduino: finite state machines, hierarchical state machines, event driven programming, ...
Nov 1, 2021
state machines generators
the state machine is generated on compiletime
state machine interpreters
the state machine is generated on runtime
state machine theory
event driven programming
aka: reactive programming, non-blocking code, parallel computing, async code, embedded operating systems, parallel state machines
visual simulators
edit the state machine as text file, and get a graphical simulation
visual editors
specify state machines in c++
these solutions are rather verbose = more work
related
The text was updated successfully, but these errors were encountered: