Skip to content
/ usm Public
forked from jkflying/usm

Micro State Machine library for C++11 with directly compiled transitions and auto-generated state transition diagrams

License

Notifications You must be signed in to change notification settings

wingtra/usm

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

usm

Micro State Machine for C++11

This is a lightweight state machine, or more some tools to help you make your own classes into well organized state machines. The state transition design is specified in a declarative manner, allowing humans to have a quick overview of all of the states, transitions and fallbacks configured.

Performance

It is configured entirely at compile time, requires no dynamic memory allocations or vtable lookups, and should be extremely fast and lightweight.

Helpers

There is also the capability to generate .dot files for visualizing the state flow transitions, by parsing the configuration table out of C++ code. Check out what it looks like here!

Sounds good, how do I use it?

There is a full example in the tests. Otherwise you can check out PX4/Avoidance where it is used in several places.

About

Micro State Machine library for C++11 with directly compiled transitions and auto-generated state transition diagrams

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 55.2%
  • Python 44.2%
  • CMake 0.6%