Skip to content

JRVeale/function-fsm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

function-fsm

A library that simplifies the creation of finite state machines and streamlines the process of turning state diagrams into code. It encourages objects to have ownership of their state by allowing finite state machines to be held by other objects.

This library works in any C++11 supported environment, including Arduino compatible microcontrollers that have implementations of std::chrono, std::function and std::vector (eg. ESP32).

Examples of use are included in the library, they compile in the Arduino environment but show how the library can be used in general.

Contribution

Feel free to submit pull-requests for any features or improvements you'd like to develop.

Credit

Major credit to Jon Black's arduino-fsm - an arduino library for implementing finite state machines.

function-fsm was developed to expand upon the functionality of this library (allowing FSM's to be used within other classes, allowing the library to be used outside of the Arduino environment, and providing other useful features too!). While a lot of the code has been rewritten, function-fsm leans heavily on the structure of arduino-fsm. Many thanks to Jon Black for having provided such a useful arduino library

Also, the top answer to my Stack Overflow question that sparked this, thank you.

About

An FSM library based upon arduino-fsm that allows using FSMs within other objects

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages