Skip to content

Latest commit

 

History

History
84 lines (71 loc) · 1.38 KB

Communication-Protocols.md

File metadata and controls

84 lines (71 loc) · 1.38 KB

All systems will communicate with the main controller via a mosquitto MQTT server.

Protocol

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

Global

States:

  • STANDBY
  • PRE_LAUNCH
  • VROOOOOOOOOOM
  • PAST_PUSHER
  • COASTING
  • STOPPED
  • DISENGAGED

Subsystems

Compressor (/subsystem/compressor)

States:

  • STOPPED
  • VFD_STARTING (Not assignable)
  • COMPRESSOR_STARTING (Not assignable)
  • RUNNING
  • COMPRESSOR_STOPPING (Not assignable)
  • VFD_STOPPING (Not assignable)
  • FAULT
  • ESTOP

Fan (/subsystem/fan)

States:

  • STOPPED
  • RUNNING
  • FAULT
  • ESTOP

Propulsion (/subsystem/propulsion)

States:

  • STOPPED
  • RUNNING
  • FAULT
  • ESTOP

Levitation (/subsystem/levitation)

States:

  • STOPPED
  • RUNNING
  • FAULT
  • ESTOP

Inverters (/subsystem/inverters)

States:

  • STOPPED
  • RUNNING
  • FAULT
  • ESTOP

Braking (/subsystem/braking)

States:

  • OFF
  • ON
  • FAULT
  • ESTOP