#ifndef AMI_PROTOCOL_H #define AMI_PROTOCOL_H /* CAN1 is 500 kbit/s; CAN2 is 250 kbit/s. Both share IDs and parsing. */ #define AMI_CAN_ID_DRIVETRAIN_DISPLAY 0x182U #define AMI_CAN_ID_VCU_STATUS 0x183U #define AMI_CAN_ID_SDC_HEARTBEAT 0x6A0U #define AMI_CAN_ID_SDC_ADC 0x6A1U #define AMI_CAN_ID_SDC_WHEEL_SPEED 0x6A2U #define AMI_CAN_ID_SDC_DAC_ACK 0x6A4U #define AMI_CAN_ID_SDC_GPIO 0x6A6U #define AMI_CAN_ID_BMS_STATUS 0x140U #define AMI_CAN_ID_BMS_TEMPERATURE 0x156U #define AMI_CAN_ID_BMS_STATUS_EXT 0x186040F3UL #define AMI_CAN_ID_BMS_EXTREMES_EXT 0x186140F3UL /* AMI task requests are not ASSI commands; no SDC mapping is defined. */ #define AMI_CAN_ID_TASK_REQUEST 0x300U #define AMI_CAN_ID_HEARTBEAT 0x301U #define AMI_HEARTBEAT_PERIOD_MS 100U #define AMI_CAN_DATA_TIMEOUT_MS 500U #define AMI_WHEEL_SPEED_TIMEOUT_MS 500U #define AMI_ADC_TIMEOUT_MS 1500U #define AMI_BMS_TIMEOUT_MS 2000U #define AMI_DRIVETRAIN_TIMEOUT_MS 2000U #define AMI_VCU_STATUS_TIMEOUT_MS 500U #define AMI_SCREEN_BOOT_DELAY_MS 800U #define AMI_SCREEN_RESYNC_MS 5000U #endif /* AMI_PROTOCOL_H */