#pragma once
#include <stdint.h>

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,
};
