通用灵活的python状态机库micropython端口
upysm的Python项目详细描述
upysm
通用灵活的Python状态机库-MyPython端口
这个存储库基本上是一组工具来构建和部署(到pypi) pysm库的micropython端口。
它已经在ESP-32S ESP-WROOM-32 nodemcu板上成功测试。
安装
importupipupip.install('upysm')
用法
基本用法:
importmachineimporttimefrompysmimportState,StateMachine,Eventled=machine.Pin(2,machine.Pin.OUT)defon_enter(state,event):led.value(1)time.sleep(0.1)defon_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()assertsm.state==onsm.dispatch(Event('off'))assertsm.state==offsm.dispatch(Event('on'))assertsm.state==on
有关更多示例和api描述,请参阅pysm documentation。