upysm 0.3.11

Creator: bradpython12

Last updated:

Add to Cart

Description:

upysm 0.3.11

upysm
Versatile and flexible Python State Machine library - Micropython Port
This repository is basically a set of tools to build and deploy (to pypi) the
Micropython Port of the pysm library.
It's successfully tested against the ESP-32S ESP-WROOM-32 NodeMCU board.
Installation
import upip
upip.install('upysm')

Usage
Basic usage:
import machine
import time
from pysm import State, StateMachine, Event

led = machine.Pin(2, machine.Pin.OUT)


def on_enter(state, event):
led.value(1)
time.sleep(0.1)

def on_exit(state, event):
led.value(0)
time.sleep(0.1)

on = State('on')
off = State('off')

sm = StateMachine('sm')
sm.add_state(on, initial=True)
sm.add_state(off)

sm.add_transition(on, off, events=['off'])
sm.add_transition(off, on, events=['on'])

on.handlers = {'enter': on_enter, 'exit': on_exit}
off.handlers = {'enter': on_enter, 'exit': on_exit}

sm.initialize()

assert sm.state == on
sm.dispatch(Event('off'))
assert sm.state == off
sm.dispatch(Event('on'))
assert sm.state == on

For more examples and API description refer to the pysm documentation.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.