@startuml
title Simple Motor State Machine

hide empty description

[*] --> Idle

Idle : State 0
Idle : xboMotorRunCommand := FALSE

Starting : State 10
Starting : xboMotorRunCommand := TRUE

Running : State 20
Running : xboMotorRunCommand := TRUE

Fault : State 90
Fault : xboMotorRunCommand := FALSE

Idle --> Starting : xboStartRequest\nAND xboMotorReady
Starting --> Running : xboMotorRunning
Starting --> Fault : xboStartTimeout
Running --> Idle : xboStopRequest\nOR NOT xboMotorReady
Fault --> Idle : xboResetFault

Idle --> Idle : default fallback\nfor unknown states

@enduml
