arduino-fsm - Arduino library for implementing a finite state machine.

  •        399

An arduino library for implementing a finite state machine. If you'd like to contribute to arduino-fsm please submit a pull-request on a feature branch.

https://github.com/jonblack/arduino-fsm

Tags
Implementation
License
Platform

   




Related Projects

fsm-as-promised - A finite state machine library using ES6 promises

  •    Javascript

A minimalistic finite state machine library for browser and node implemented using promises. 📢 For Visual Studio Code users: checkout the UML visualization extension.

StatefulJ - Event Driven Finite State Machine (FSM)

  •    Java

StatefulJ is a lightweight, open source Java Event Driven Finite State Machine(FSM) and a complete Spring Data based framework which lets you easily define and integrate State Machines into your Applications. It is simple, dependency free, in memory implementation of an FSM with support for concurrency and non-deterministic transitions.

django-fsm - Django friendly finite state machine support

  •    Python

django-fsm adds simple declarative states management for django models. Instead of adding some state field to a django model, and managing its values by hand, you could use FSMState field and mark model methods with the transition decorator. Your method could contain the side-effects of the state change.

django-fsm - Django friendly finite state machine support

  •    Python

django-fsm adds simple declarative states management for django models. Instead of adding some state field to a django model, and managing its values by hand, you could use FSMState field and mark model methods with the transition decorator. Your method could contain the side-effects of the state change.

machina.js - js ex machina - finite state machines in JavaScript

  •    Javascript

Machina.js is a JavaScript framework for highly customizable finite state machines (FSMs). Many of the ideas for machina have been loosely inspired by the Erlang/OTP FSM behaviors. Finite state machines are a great conceptual model for many concerns facing developers – from conditional UI, connectivity monitoring & management to initialization and more. State machines can simplify tangled paths of asynchronous code, they're easy to test, and they inherently lend themselves to helping you avoid unexpected edge-case-state pitfalls. machina aims to give you the tools you need to model state machines in JavaScript, without being too prescriptive on the problem domain you're solving for.


fsm - Finite State Machine for Go

  •    Go

FSM is a finite state machine for Go.

Finite State Machine (FSM)

  •    C++

This library is an implementation of an extensible dynamic configurable finite state machine (FSM). The configuration of the state machine is not compiled, but loaded at the runtime from a file or created by application.

Stately

  •    Javascript

Stately.js is a JavaScript based finite-state machine (FSM) engine for Node.js and the browser. Both will return a new stateMachine object, with all events from all states attached to it. The machine will transition into the initial state initialStateName or the first attached stateObject if initialStateName is omitted. In addition to the events the stateMachine object has a getMachineState() method, returning the current name of the machines state, getMachineEvents(), returning possible events in the current state.

fsm - Finite State Machine data structure

  •    Elixir

Fsm is pure functional finite state machine. Unlike gen_fsm, it doesn't run in its own process. Instead, it is a functional data structure. In the rare cases I needed a proper fsm, I most often wanted to use it inside the already existing process, together with the already present state data. Creating another process didn't work for me because that requires additional bookkeeping such as supervising and process linking. More importantly, fsm as a process implies mutability and side effects, which is harder to deal with. In addition, gen_fsm introduces more complicated protocol of cross-process communication such as send_event, sync_send_event, send_all_state_event and sync_send_all_state_event.

raft - Golang implementation of the Raft consensus protocol

  •    Go

raft is a Go library that manages a replicated log and can be used with an FSM to manage replicated state machines. It is a library for providing consensus.The use cases for such a library are far-reaching as replicated state machines are a key component of many distributed systems. They enable building Consistent, Partition Tolerant (CP) systems, with limited fault tolerance as well.

arduino-cli - Arduino command line interface

  •    Go

arduino-cli is an all-in-one solution that provides builder, boards/library manager, uploader, discovery and many other tools needed to use any Arduino compatible board and platforms. This software is currently in alpha state: new features will be added and some may be changed.

Unity3d-Finite-State-Machine - An intuitive Unity3d finite state machine (FSM)

  •    CSharp

State machines are a very effective way to manage game state, either on your main game play object (Game Over, Restart, Continue etc) or on individual actors and NPCs (AI behaviours, Animations, etc). The following is a simple state machine that should work well within any Unity context. Most state machines come from the world of C# enterprise, and are wonderfully complicated or require a lot of boilerplate code. State Machines however are an incredibly useful pattern in game development, administrative overhead should never be a burden that discourages you from writing good code.

OBD-II for Arduino

  •    C++

This Arduino library is developed for the Arduino OBD-II UART adapter (http://www.arduinodev.com/hardware/obd-kit/) and works with all Arduino varients. Several sample sketches are provided for demonstrating the usage of the library. The aim is to provide Arduino vehicle connectivity via the OBD-II port with easy-to-use Arduino library so Arduino lovers can start play Arduino on their cars easily. Latest source code: https://github.com/stanleyhuangyc/ArduinoOBD

Finite State Kernel Creator

  •    Perl

The FSKC is a CASE tool that allows developers to specify all valid and invalid state-event combinations of a finite state machine (FSM) through a simple to use GUI. Functions called from the FSK can be coded and linked to form a complete FSM.

Spring Statemachine - Framework for application developers to use state machine concepts with Spring

  •    Java

Spring Statemachine is a framework for application developers to use state machine concepts with Spring applications. Hierarchical state machine, Usage of triggers, transitions, guards and actions, Type safe configuration adapter, Distributed state machine based on a Zookeeper, State machine event listeners and lot more.

embedded Finite State Machine (eFSM)

  •    

The embedded Finite State Machine (FSM) Facility that can be used to model and control a reactive or stateful system. The system can be represented by any number of states. State transitions are driven by a number of events. eFSM is written in C.

Metamorph

  •    

A simple and lightweight framework for managing Finite State Machines and Business Processes.

Python-Arduino-Command-API - A Python library for communicating with Arduino microcontroller boards

  •    Python

The Python Arduino Command API is a light-weight Python library for communicating with Arduino microcontroller boards from a connected computer using standard serial IO, either over a physical wire or wirelessly. It is written using a custom protocol, similar to Firmata. This allows a user to quickly protoype programs for Arduino using Python code, or to simply read/control/troubleshoot/experiment with harware connected to an Arduino board without ever having to recompile and reload sketches to the board itself.

SMC - The State Machine Compiler

  •    Java

SMC takes a state machine stored in a .sm file and generates a State pattern in 14 programming languages. Includes: default transitions, transition args, transition guards, push/pop transitions and Entry/Exit actions.

TinyEKF - Lightweight C/C++ Extended Kalman Filter with Python for prototyping

  •    C

TinyEKF is a simple C/C++ implementation of the Extended Kalman Filter that is general enough to use on different projects. In order to make it practical for running on Arduino, STM32, and other microcontrollers, it uses static (compile-time) memory allocation (no "new" or "malloc"). The examples folder includes an Arduino example of sensor fusion. The extras/python folder includes an abstract Python class that you can use to prototype your EKF before implementing it in C/C++. The extrasc/c folder contains a "pure C" example from the literature. Arduino users can simply install or drag the whole TinyEKF folder into their Arduino libraries folder. The examples/SensorFusion folder contains a little sensor fusion example using a BMP180 barometer and LM35 temperature sensor. I have run this example on an Arduino Uno and a Teensy 3.2. The BMP180, being an I^2C sensor, should be connected to pins 4 (SDA) and 5 (SCL) of the Uno, or pins 18 (SDA) and 19 (SCL) of the Teensy. For other Arduino boards, consult the documentation on the Wire library. The analog output from the LM35 should go to the A0 pin of your Arduino or Teensy.






We have large collection of open source products. Follow the tags from Tag Cloud >>


Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.