diff --git a/datatypes.h b/datatypes.h index d0de3354..945f1a3c 100644 --- a/datatypes.h +++ b/datatypes.h @@ -978,246 +978,246 @@ typedef struct { // Communication commands typedef enum { - COMM_FW_VERSION = 0, - COMM_JUMP_TO_BOOTLOADER, - COMM_ERASE_NEW_APP, - COMM_WRITE_NEW_APP_DATA, - COMM_GET_VALUES, - COMM_SET_DUTY, - COMM_SET_CURRENT, - COMM_SET_CURRENT_BRAKE, - COMM_SET_RPM, - COMM_SET_POS, - COMM_SET_HANDBRAKE, - COMM_SET_DETECT, - COMM_SET_SERVO_POS, - COMM_SET_MCCONF, - COMM_GET_MCCONF, - COMM_GET_MCCONF_DEFAULT, - COMM_SET_APPCONF, - COMM_GET_APPCONF, - COMM_GET_APPCONF_DEFAULT, - COMM_SAMPLE_PRINT, - COMM_TERMINAL_CMD, - COMM_PRINT, - COMM_ROTOR_POSITION, - COMM_EXPERIMENT_SAMPLE, - COMM_DETECT_MOTOR_PARAM, - COMM_DETECT_MOTOR_R_L, - COMM_DETECT_MOTOR_FLUX_LINKAGE, - COMM_DETECT_ENCODER, - COMM_DETECT_HALL_FOC, - COMM_REBOOT, - COMM_ALIVE, - COMM_GET_DECODED_PPM, - COMM_GET_DECODED_ADC, - COMM_GET_DECODED_CHUK, - COMM_FORWARD_CAN, - COMM_SET_CHUCK_DATA, - COMM_CUSTOM_APP_DATA, - COMM_NRF_START_PAIRING, - COMM_GPD_SET_FSW, - COMM_GPD_BUFFER_NOTIFY, - COMM_GPD_BUFFER_SIZE_LEFT, - COMM_GPD_FILL_BUFFER, - COMM_GPD_OUTPUT_SAMPLE, - COMM_GPD_SET_MODE, - COMM_GPD_FILL_BUFFER_INT8, - COMM_GPD_FILL_BUFFER_INT16, - COMM_GPD_SET_BUFFER_INT_SCALE, - COMM_GET_VALUES_SETUP, - COMM_SET_MCCONF_TEMP, - COMM_SET_MCCONF_TEMP_SETUP, - COMM_GET_VALUES_SELECTIVE, - COMM_GET_VALUES_SETUP_SELECTIVE, - COMM_EXT_NRF_PRESENT, - COMM_EXT_NRF_ESB_SET_CH_ADDR, - COMM_EXT_NRF_ESB_SEND_DATA, - COMM_EXT_NRF_ESB_RX_DATA, - COMM_EXT_NRF_SET_ENABLED, - COMM_DETECT_MOTOR_FLUX_LINKAGE_OPENLOOP, - COMM_DETECT_APPLY_ALL_FOC, - COMM_JUMP_TO_BOOTLOADER_ALL_CAN, - COMM_ERASE_NEW_APP_ALL_CAN, - COMM_WRITE_NEW_APP_DATA_ALL_CAN, - COMM_PING_CAN, - COMM_APP_DISABLE_OUTPUT, - COMM_TERMINAL_CMD_SYNC, - COMM_GET_IMU_DATA, - COMM_BM_CONNECT, - COMM_BM_ERASE_FLASH_ALL, - COMM_BM_WRITE_FLASH, - COMM_BM_REBOOT, - COMM_BM_DISCONNECT, - COMM_BM_MAP_PINS_DEFAULT, - COMM_BM_MAP_PINS_NRF5X, - COMM_ERASE_BOOTLOADER, - COMM_ERASE_BOOTLOADER_ALL_CAN, - COMM_PLOT_INIT, - COMM_PLOT_DATA, - COMM_PLOT_ADD_GRAPH, - COMM_PLOT_SET_GRAPH, - COMM_GET_DECODED_BALANCE, - COMM_BM_MEM_READ, - COMM_WRITE_NEW_APP_DATA_LZO, - COMM_WRITE_NEW_APP_DATA_ALL_CAN_LZO, - COMM_BM_WRITE_FLASH_LZO, - COMM_SET_CURRENT_REL, - COMM_CAN_FWD_FRAME, - COMM_SET_BATTERY_CUT, - COMM_SET_BLE_NAME, - COMM_SET_BLE_PIN, - COMM_SET_CAN_MODE, - COMM_GET_IMU_CALIBRATION, - COMM_GET_MCCONF_TEMP, + COMM_FW_VERSION = 0, + COMM_JUMP_TO_BOOTLOADER = 1, + COMM_ERASE_NEW_APP = 2, + COMM_WRITE_NEW_APP_DATA = 3, + COMM_GET_VALUES = 4, + COMM_SET_DUTY = 5, + COMM_SET_CURRENT = 6, + COMM_SET_CURRENT_BRAKE = 7, + COMM_SET_RPM = 8, + COMM_SET_POS = 9, + COMM_SET_HANDBRAKE = 10, + COMM_SET_DETECT = 11, + COMM_SET_SERVO_POS = 12, + COMM_SET_MCCONF = 13, + COMM_GET_MCCONF = 14, + COMM_GET_MCCONF_DEFAULT = 15, + COMM_SET_APPCONF = 16, + COMM_GET_APPCONF = 17, + COMM_GET_APPCONF_DEFAULT = 18, + COMM_SAMPLE_PRINT = 19, + COMM_TERMINAL_CMD = 20, + COMM_PRINT = 21, + COMM_ROTOR_POSITION = 22, + COMM_EXPERIMENT_SAMPLE = 23, + COMM_DETECT_MOTOR_PARAM = 24, + COMM_DETECT_MOTOR_R_L = 25, + COMM_DETECT_MOTOR_FLUX_LINKAGE = 26, + COMM_DETECT_ENCODER = 27, + COMM_DETECT_HALL_FOC = 28, + COMM_REBOOT = 29, + COMM_ALIVE = 30, + COMM_GET_DECODED_PPM = 31, + COMM_GET_DECODED_ADC = 32, + COMM_GET_DECODED_CHUK = 33, + COMM_FORWARD_CAN = 34, + COMM_SET_CHUCK_DATA = 35, + COMM_CUSTOM_APP_DATA = 36, + COMM_NRF_START_PAIRING = 37, + COMM_GPD_SET_FSW = 38, + COMM_GPD_BUFFER_NOTIFY = 39, + COMM_GPD_BUFFER_SIZE_LEFT = 40, + COMM_GPD_FILL_BUFFER = 41, + COMM_GPD_OUTPUT_SAMPLE = 42, + COMM_GPD_SET_MODE = 43, + COMM_GPD_FILL_BUFFER_INT8 = 44, + COMM_GPD_FILL_BUFFER_INT16 = 45, + COMM_GPD_SET_BUFFER_INT_SCALE = 46, + COMM_GET_VALUES_SETUP = 47, + COMM_SET_MCCONF_TEMP = 48, + COMM_SET_MCCONF_TEMP_SETUP = 49, + COMM_GET_VALUES_SELECTIVE = 50, + COMM_GET_VALUES_SETUP_SELECTIVE = 51, + COMM_EXT_NRF_PRESENT = 52, + COMM_EXT_NRF_ESB_SET_CH_ADDR = 53, + COMM_EXT_NRF_ESB_SEND_DATA = 54, + COMM_EXT_NRF_ESB_RX_DATA = 55, + COMM_EXT_NRF_SET_ENABLED = 56, + COMM_DETECT_MOTOR_FLUX_LINKAGE_OPENLOOP = 57, + COMM_DETECT_APPLY_ALL_FOC = 58, + COMM_JUMP_TO_BOOTLOADER_ALL_CAN = 59, + COMM_ERASE_NEW_APP_ALL_CAN = 60, + COMM_WRITE_NEW_APP_DATA_ALL_CAN = 61, + COMM_PING_CAN = 62, + COMM_APP_DISABLE_OUTPUT = 63, + COMM_TERMINAL_CMD_SYNC = 64, + COMM_GET_IMU_DATA = 65, + COMM_BM_CONNECT = 66, + COMM_BM_ERASE_FLASH_ALL = 67, + COMM_BM_WRITE_FLASH = 68, + COMM_BM_REBOOT = 69, + COMM_BM_DISCONNECT = 70, + COMM_BM_MAP_PINS_DEFAULT = 71, + COMM_BM_MAP_PINS_NRF5X = 72, + COMM_ERASE_BOOTLOADER = 73, + COMM_ERASE_BOOTLOADER_ALL_CAN = 74, + COMM_PLOT_INIT = 75, + COMM_PLOT_DATA = 76, + COMM_PLOT_ADD_GRAPH = 77, + COMM_PLOT_SET_GRAPH = 78, + COMM_GET_DECODED_BALANCE = 79, + COMM_BM_MEM_READ = 80, + COMM_WRITE_NEW_APP_DATA_LZO = 81, + COMM_WRITE_NEW_APP_DATA_ALL_CAN_LZO = 82, + COMM_BM_WRITE_FLASH_LZO = 83, + COMM_SET_CURRENT_REL = 84, + COMM_CAN_FWD_FRAME = 85, + COMM_SET_BATTERY_CUT = 86, + COMM_SET_BLE_NAME = 87, + COMM_SET_BLE_PIN = 88, + COMM_SET_CAN_MODE = 89, + COMM_GET_IMU_CALIBRATION = 90, + COMM_GET_MCCONF_TEMP = 91, // Custom configuration for hardware - COMM_GET_CUSTOM_CONFIG_XML, - COMM_GET_CUSTOM_CONFIG, - COMM_GET_CUSTOM_CONFIG_DEFAULT, - COMM_SET_CUSTOM_CONFIG, + COMM_GET_CUSTOM_CONFIG_XML = 92, + COMM_GET_CUSTOM_CONFIG = 93, + COMM_GET_CUSTOM_CONFIG_DEFAULT = 94, + COMM_SET_CUSTOM_CONFIG = 95, // BMS commands - COMM_BMS_GET_VALUES, - COMM_BMS_SET_CHARGE_ALLOWED, - COMM_BMS_SET_BALANCE_OVERRIDE, - COMM_BMS_RESET_COUNTERS, - COMM_BMS_FORCE_BALANCE, - COMM_BMS_ZERO_CURRENT_OFFSET, + COMM_BMS_GET_VALUES = 96, + COMM_BMS_SET_CHARGE_ALLOWED = 97, + COMM_BMS_SET_BALANCE_OVERRIDE = 98, + COMM_BMS_RESET_COUNTERS = 99, + COMM_BMS_FORCE_BALANCE = 100, + COMM_BMS_ZERO_CURRENT_OFFSET = 101, // FW updates commands for different HW types - COMM_JUMP_TO_BOOTLOADER_HW, - COMM_ERASE_NEW_APP_HW, - COMM_WRITE_NEW_APP_DATA_HW, - COMM_ERASE_BOOTLOADER_HW, - COMM_JUMP_TO_BOOTLOADER_ALL_CAN_HW, - COMM_ERASE_NEW_APP_ALL_CAN_HW, - COMM_WRITE_NEW_APP_DATA_ALL_CAN_HW, - COMM_ERASE_BOOTLOADER_ALL_CAN_HW, + COMM_JUMP_TO_BOOTLOADER_HW = 102, + COMM_ERASE_NEW_APP_HW = 103, + COMM_WRITE_NEW_APP_DATA_HW = 104, + COMM_ERASE_BOOTLOADER_HW = 105, + COMM_JUMP_TO_BOOTLOADER_ALL_CAN_HW = 106, + COMM_ERASE_NEW_APP_ALL_CAN_HW = 107, + COMM_WRITE_NEW_APP_DATA_ALL_CAN_HW = 108, + COMM_ERASE_BOOTLOADER_ALL_CAN_HW = 109, - COMM_SET_ODOMETER, + COMM_SET_ODOMETER = 110, // Power switch commands - COMM_PSW_GET_STATUS, - COMM_PSW_SWITCH, + COMM_PSW_GET_STATUS = 111, + COMM_PSW_SWITCH = 112, - COMM_BMS_FWD_CAN_RX, - COMM_BMS_HW_DATA, - COMM_GET_BATTERY_CUT, - COMM_BM_HALT_REQ, - COMM_GET_QML_UI_HW, - COMM_GET_QML_UI_APP, - COMM_CUSTOM_HW_DATA, - COMM_QMLUI_ERASE, - COMM_QMLUI_WRITE, + COMM_BMS_FWD_CAN_RX = 113, + COMM_BMS_HW_DATA = 114, + COMM_GET_BATTERY_CUT = 115, + COMM_BM_HALT_REQ = 116, + COMM_GET_QML_UI_HW = 117, + COMM_GET_QML_UI_APP = 118, + COMM_CUSTOM_HW_DATA = 119, + COMM_QMLUI_ERASE = 120, + COMM_QMLUI_WRITE = 121, // IO Board - COMM_IO_BOARD_GET_ALL, - COMM_IO_BOARD_SET_PWM, - COMM_IO_BOARD_SET_DIGITAL, + COMM_IO_BOARD_GET_ALL = 122, + COMM_IO_BOARD_SET_PWM = 123, + COMM_IO_BOARD_SET_DIGITAL = 124, - COMM_BM_MEM_WRITE, - COMM_BMS_BLNC_SELFTEST, - COMM_GET_EXT_HUM_TMP, - COMM_GET_STATS, - COMM_RESET_STATS, + COMM_BM_MEM_WRITE = 125, + COMM_BMS_BLNC_SELFTEST = 126, + COMM_GET_EXT_HUM_TMP = 127, + COMM_GET_STATS = 128, + COMM_RESET_STATS = 129, // Lisp - COMM_LISP_READ_CODE, - COMM_LISP_WRITE_CODE, - COMM_LISP_ERASE_CODE, - COMM_LISP_SET_RUNNING, - COMM_LISP_GET_STATS, - COMM_LISP_PRINT, + COMM_LISP_READ_CODE = 130, + COMM_LISP_WRITE_CODE = 131, + COMM_LISP_ERASE_CODE = 132, + COMM_LISP_SET_RUNNING = 133, + COMM_LISP_GET_STATS = 134, + COMM_LISP_PRINT = 135, - COMM_BMS_SET_BATT_TYPE, - COMM_BMS_GET_BATT_TYPE, + COMM_BMS_SET_BATT_TYPE = 136, + COMM_BMS_GET_BATT_TYPE = 137, - COMM_LISP_REPL_CMD, - COMM_LISP_STREAM_CODE, + COMM_LISP_REPL_CMD = 138, + COMM_LISP_STREAM_CODE = 139, - COMM_FILE_LIST, - COMM_FILE_READ, - COMM_FILE_WRITE, - COMM_FILE_MKDIR, - COMM_FILE_REMOVE, + COMM_FILE_LIST = 140, + COMM_FILE_READ = 141, + COMM_FILE_WRITE = 142, + COMM_FILE_MKDIR = 143, + COMM_FILE_REMOVE = 144, - COMM_LOG_START, - COMM_LOG_STOP, - COMM_LOG_CONFIG_FIELD, - COMM_LOG_DATA_F32, + COMM_LOG_START = 145, + COMM_LOG_STOP = 146, + COMM_LOG_CONFIG_FIELD = 147, + COMM_LOG_DATA_F32 = 148, - COMM_SET_APPCONF_NO_STORE, - COMM_GET_GNSS, + COMM_SET_APPCONF_NO_STORE = 149, + COMM_GET_GNSS = 150, - COMM_LOG_DATA_F64, + COMM_LOG_DATA_F64 = 151, } COMM_PACKET_ID; // CAN commands typedef enum { - CAN_PACKET_SET_DUTY = 0, - CAN_PACKET_SET_CURRENT, - CAN_PACKET_SET_CURRENT_BRAKE, - CAN_PACKET_SET_RPM, - CAN_PACKET_SET_POS, - CAN_PACKET_FILL_RX_BUFFER, - CAN_PACKET_FILL_RX_BUFFER_LONG, - CAN_PACKET_PROCESS_RX_BUFFER, - CAN_PACKET_PROCESS_SHORT_BUFFER, - CAN_PACKET_STATUS, - CAN_PACKET_SET_CURRENT_REL, - CAN_PACKET_SET_CURRENT_BRAKE_REL, - CAN_PACKET_SET_CURRENT_HANDBRAKE, - CAN_PACKET_SET_CURRENT_HANDBRAKE_REL, - CAN_PACKET_STATUS_2, - CAN_PACKET_STATUS_3, - CAN_PACKET_STATUS_4, - CAN_PACKET_PING, - CAN_PACKET_PONG, - CAN_PACKET_DETECT_APPLY_ALL_FOC, - CAN_PACKET_DETECT_APPLY_ALL_FOC_RES, - CAN_PACKET_CONF_CURRENT_LIMITS, - CAN_PACKET_CONF_STORE_CURRENT_LIMITS, - CAN_PACKET_CONF_CURRENT_LIMITS_IN, - CAN_PACKET_CONF_STORE_CURRENT_LIMITS_IN, - CAN_PACKET_CONF_FOC_ERPMS, - CAN_PACKET_CONF_STORE_FOC_ERPMS, - CAN_PACKET_STATUS_5, - CAN_PACKET_POLL_TS5700N8501_STATUS, - CAN_PACKET_CONF_BATTERY_CUT, - CAN_PACKET_CONF_STORE_BATTERY_CUT, - CAN_PACKET_SHUTDOWN, - CAN_PACKET_IO_BOARD_ADC_1_TO_4, - CAN_PACKET_IO_BOARD_ADC_5_TO_8, - CAN_PACKET_IO_BOARD_ADC_9_TO_12, - CAN_PACKET_IO_BOARD_DIGITAL_IN, - CAN_PACKET_IO_BOARD_SET_OUTPUT_DIGITAL, - CAN_PACKET_IO_BOARD_SET_OUTPUT_PWM, - CAN_PACKET_BMS_V_TOT, - CAN_PACKET_BMS_I, - CAN_PACKET_BMS_AH_WH, - CAN_PACKET_BMS_V_CELL, - CAN_PACKET_BMS_BAL, - CAN_PACKET_BMS_TEMPS, - CAN_PACKET_BMS_HUM, - CAN_PACKET_BMS_SOC_SOH_TEMP_STAT, - CAN_PACKET_PSW_STAT, - CAN_PACKET_PSW_SWITCH, - CAN_PACKET_BMS_HW_DATA_1, - CAN_PACKET_BMS_HW_DATA_2, - CAN_PACKET_BMS_HW_DATA_3, - CAN_PACKET_BMS_HW_DATA_4, - CAN_PACKET_BMS_HW_DATA_5, - CAN_PACKET_BMS_AH_WH_CHG_TOTAL, - CAN_PACKET_BMS_AH_WH_DIS_TOTAL, - CAN_PACKET_UPDATE_PID_POS_OFFSET, - CAN_PACKET_POLL_ROTOR_POS, - CAN_PACKET_NOTIFY_BOOT, - CAN_PACKET_STATUS_6, - CAN_PACKET_GNSS_TIME, - CAN_PACKET_GNSS_LAT, - CAN_PACKET_GNSS_LON, - CAN_PACKET_GNSS_ALT_SPEED_HDOP, + CAN_PACKET_SET_DUTY = 0, + CAN_PACKET_SET_CURRENT = 1, + CAN_PACKET_SET_CURRENT_BRAKE = 2, + CAN_PACKET_SET_RPM = 3, + CAN_PACKET_SET_POS = 4, + CAN_PACKET_FILL_RX_BUFFER = 5, + CAN_PACKET_FILL_RX_BUFFER_LONG = 6, + CAN_PACKET_PROCESS_RX_BUFFER = 7, + CAN_PACKET_PROCESS_SHORT_BUFFER = 8, + CAN_PACKET_STATUS = 9, + CAN_PACKET_SET_CURRENT_REL = 10, + CAN_PACKET_SET_CURRENT_BRAKE_REL = 11, + CAN_PACKET_SET_CURRENT_HANDBRAKE = 12, + CAN_PACKET_SET_CURRENT_HANDBRAKE_REL = 13, + CAN_PACKET_STATUS_2 = 14, + CAN_PACKET_STATUS_3 = 15, + CAN_PACKET_STATUS_4 = 16, + CAN_PACKET_PING = 17, + CAN_PACKET_PONG = 18, + CAN_PACKET_DETECT_APPLY_ALL_FOC = 19, + CAN_PACKET_DETECT_APPLY_ALL_FOC_RES = 20, + CAN_PACKET_CONF_CURRENT_LIMITS = 21, + CAN_PACKET_CONF_STORE_CURRENT_LIMITS = 22, + CAN_PACKET_CONF_CURRENT_LIMITS_IN = 23, + CAN_PACKET_CONF_STORE_CURRENT_LIMITS_IN = 24, + CAN_PACKET_CONF_FOC_ERPMS = 25, + CAN_PACKET_CONF_STORE_FOC_ERPMS = 26, + CAN_PACKET_STATUS_5 = 27, + CAN_PACKET_POLL_TS5700N8501_STATUS = 28, + CAN_PACKET_CONF_BATTERY_CUT = 29, + CAN_PACKET_CONF_STORE_BATTERY_CUT = 30, + CAN_PACKET_SHUTDOWN = 31, + CAN_PACKET_IO_BOARD_ADC_1_TO_4 = 32, + CAN_PACKET_IO_BOARD_ADC_5_TO_8 = 33, + CAN_PACKET_IO_BOARD_ADC_9_TO_12 = 34, + CAN_PACKET_IO_BOARD_DIGITAL_IN = 35, + CAN_PACKET_IO_BOARD_SET_OUTPUT_DIGITAL = 36, + CAN_PACKET_IO_BOARD_SET_OUTPUT_PWM = 37, + CAN_PACKET_BMS_V_TOT = 38, + CAN_PACKET_BMS_I = 39, + CAN_PACKET_BMS_AH_WH = 40, + CAN_PACKET_BMS_V_CELL = 41, + CAN_PACKET_BMS_BAL = 42, + CAN_PACKET_BMS_TEMPS = 43, + CAN_PACKET_BMS_HUM = 44, + CAN_PACKET_BMS_SOC_SOH_TEMP_STAT = 45, + CAN_PACKET_PSW_STAT = 46, + CAN_PACKET_PSW_SWITCH = 47, + CAN_PACKET_BMS_HW_DATA_1 = 48, + CAN_PACKET_BMS_HW_DATA_2 = 49, + CAN_PACKET_BMS_HW_DATA_3 = 50, + CAN_PACKET_BMS_HW_DATA_4 = 51, + CAN_PACKET_BMS_HW_DATA_5 = 52, + CAN_PACKET_BMS_AH_WH_CHG_TOTAL = 53, + CAN_PACKET_BMS_AH_WH_DIS_TOTAL = 54, + CAN_PACKET_UPDATE_PID_POS_OFFSET = 55, + CAN_PACKET_POLL_ROTOR_POS = 56, + CAN_PACKET_NOTIFY_BOOT = 57, + CAN_PACKET_STATUS_6 = 58, + CAN_PACKET_GNSS_TIME = 59, + CAN_PACKET_GNSS_LAT = 60, + CAN_PACKET_GNSS_LON = 61, + CAN_PACKET_GNSS_ALT_SPEED_HDOP = 62, CAN_PACKET_MAKE_ENUM_32_BITS = 0xFFFFFFFF, } CAN_PACKET_ID;