#pragma once #include enum class MessageType : uint8_t { HEARTBEAT = 1, MANUAL_START = 2, SETPOINT = 3, MANUAL_STOP = 4, SEGMENT_START = 5, PAUSE = 6, RESUME = 7, ABORT = 8, ESTOP = 9, ACK = 100, NACK = 101, TELEMETRY = 102, EVENT = 103, SEGMENT_DONE = 104, ABORT_COMPLETE = 105, }; enum class NackReason : uint16_t { NONE = 0, BAD_CRC = 1, BAD_VERSION = 2, ILLEGAL_TRANSITION = 3, GEOMETRY_NOT_VALIDATED = 4, SAFETY_INTERLOCK_ACTIVE = 5, UNSUPPORTED_COMMAND = 6, VALUE_OUT_OF_RANGE = 7, };