All systems will communicate with the main controller via a mosquitto MQTT server.
Topics for controllers will be in the following format:
/subsystem/<name>(/<verb>)
{
"<attribute>": "<value>",
"<attribute>": "<value>",
...
}
All subsystem controllers will publish to their respective parent topics with status updates every X ms (TODO: DETERMINE LATENCY ACROSS NETWORK) or during any state change.
Currently used verbs:
- set
States:
- STANDBY
- PRE_LAUNCH
- VROOOOOOOOOOM
- PAST_PUSHER
- COASTING
- STOPPED
- DISENGAGED
States:
- STOPPED
- VFD_STARTING (Not assignable)
- COMPRESSOR_STARTING (Not assignable)
- RUNNING
- COMPRESSOR_STOPPING (Not assignable)
- VFD_STOPPING (Not assignable)
- FAULT
- ESTOP
States:
- STOPPED
- RUNNING
- FAULT
- ESTOP
States:
- STOPPED
- RUNNING
- FAULT
- ESTOP
States:
- STOPPED
- RUNNING
- FAULT
- ESTOP
States:
- STOPPED
- RUNNING
- FAULT
- ESTOP
States:
- OFF
- ON
- FAULT
- ESTOP