58 #ifndef FOXBMS__CAN_CFG_H_
59 #define FOXBMS__CAN_CFG_H_
71 #define CAN1_NODE (canREG1)
72 #define CAN2_NODE (canREG2)
79 #define CAN1_ENABLE_PIN (PEX_PIN00)
80 #define CAN1_STANDBY_PIN (PEX_PIN01)
81 #define CAN2_ENABLE_PIN (PEX_PIN02)
82 #define CAN2_STANDBY_PIN (PEX_PIN03)
86 #define CAN_MAX_11BIT_ID (2048u)
88 #define CAN_MAX_DLC (8u)
96 #define CAN_ID_BOOT_MESSAGE (0x199u)
98 #define CAN_ID_DIE_ID (0x227u)
100 #define CAN_ID_TX_STATE (0x220u)
102 #define CAN_TX_STATE_PERIOD_MS (100u)
104 #define CAN_TX_STATE_PHASE_MS (0u)
106 #define CAN_ID_TX_DETAIL_STATE (0x226u)
108 #define CAN_TX_DETAIL_STATE_PERIOD_MS (1000u)
110 #define CAN_TX_DETAIL_STATE_PHASE_MS (100u)
113 #define CAN_ID_TX_VOLTAGES (0x240u)
115 #define CAN_TX_VOLTAGES_PERIOD_MS (100u)
117 #define CAN_TX_VOLTAGES_PHASE_MS (10u)
120 #define CAN_ID_TX_TEMPERATURES (0x250u)
122 #define CAN_TX_TEMPERATURES_PERIOD_MS (200u)
124 #define CAN_TX_TEMPERATURES_PHASE_MS (20u)
127 #define CAN_ID_TX_LIMIT_VALUES (0x224u)
129 #define CAN_TX_LIMIT_VALUES_PERIOD_MS (100u)
131 #define CAN_TX_LIMIT_VALUES_PHASE_MS (30u)
134 #define CAN_ID_TX_MINIMUM_MAXIMUM_VALUES (0x223u)
136 #define CAN_TX_MINIMUM_MAXIMUM_VALUES_PERIOD_MS (100u)
138 #define CAN_TX_MINIMUM_MAXIMUM_VALUES_PHASE_MS (40u)
141 #define CAN_ID_TX_PACK_STATE_ESTIMATION (0x225u)
143 #define CAN_TX_PACK_STATE_ESTIMATION_PERIOD_MS (1000u)
145 #define CAN_TX_PACK_STATE_ESTIMATION_PHASE_MS (50u)
148 #define CAN_ID_TX_PACK_VALUES (0x222u)
150 #define CAN_TX_PACK_VALUES_PERIOD_MS (100u)
152 #define CAN_TX_PACK_VALUES_PHASE_MS (60u)
157 #define CAN_ID_TX_STRING_STATE (0x221u)
159 #define CAN_TX_STRING_STATE_PERIOD_MS (100u)
161 #define CAN_TX_STRING_STATE_PHASE_MS (70u)
164 #define CAN_ID_TX_STRING_VALUES (0x280u)
166 #define CAN_TX_STRING_VALUES_PERIOD_MS (100u)
168 #define CAN_TX_STRING_VALUES_PHASE_MS (80u)
171 #define CAN_ID_TX_STRING_MINIMUM_MAXIMUM (0x281u)
173 #define CAN_TX_STRING_MINIMUM_MAXIMUM_PERIOD_MS (100u)
175 #define CAN_TX_STRING_MINIMUM_MAXIMUM_PHASE_MS (90u)
178 #define CAN_ID_TX_STRING_STATE_ESTIMATION (0x282u)
180 #define CAN_TX_STRING_STATE_ESTIMATION_PERIOD_MS (1000u)
182 #define CAN_TX_STRING_STATE_ESTIMATION_PHASE_MS (0u)
185 #define CAN_ID_TX_STRING_VALUES_2 (0x283u)
187 #define CAN_TX_STRING_VALUES_2_PERIOD_MS (100u)
189 #define CAN_TX_STRING_VALUES_2_PHASE_MS (10u)
194 #define CAN_ID_SOFTWARE_RESET (0x95u)
197 #define CAN_ID_COMMAND (0x230u)
200 #define CAN_ID_DEBUG (0x200u)
203 #define CAN_ID_SW_VERSION (0x777u)
212 #define CAN_ID_IMD_INFO (0x37u)
214 #define CAN_ID_IMD_REQUEST (0x22u)
216 #define CAN_ID_IMD_RESPONSE (0x23u)
220 #define CAN_ID_STRING0_CURRENT (0x521u)
221 #define CAN_ID_STRING0_VOLTAGE1 (0x522u)
222 #define CAN_ID_STRING0_VOLTAGE2 (0x523u)
223 #define CAN_ID_STRING0_VOLTAGE3 (0x524u)
224 #define CAN_ID_STRING0_TEMPERATURE (0x525u)
225 #define CAN_ID_STRING0_POWER (0x526u)
226 #define CAN_ID_STRING0_CURRENT_COUNTER (0x527u)
227 #define CAN_ID_STRING0_ENERGY_COUNTER (0x528u)
230 #define CAN_ID_STRING1_CURRENT (0x621u)
231 #define CAN_ID_STRING1_VOLTAGE1 (0x622u)
232 #define CAN_ID_STRING1_VOLTAGE2 (0x623u)
233 #define CAN_ID_STRING1_VOLTAGE3 (0x624u)
234 #define CAN_ID_STRING1_TEMPERATURE (0x625u)
235 #define CAN_ID_STRING1_POWER (0x626u)
236 #define CAN_ID_STRING1_CURRENT_COUNTER (0x627u)
237 #define CAN_ID_STRING1_ENERGY_COUNTER (0x628u)
240 #define CAN_ID_STRING2_CURRENT (0x721u)
241 #define CAN_ID_STRING2_VOLTAGE1 (0x722u)
242 #define CAN_ID_STRING2_VOLTAGE2 (0x723u)
243 #define CAN_ID_STRING2_VOLTAGE3 (0x724u)
244 #define CAN_ID_STRING2_TEMPERATURE (0x725u)
245 #define CAN_ID_STRING2_POWER (0x726u)
246 #define CAN_ID_STRING2_CURRENT_COUNTER (0x727u)
247 #define CAN_ID_STRING2_ENERGY_COUNTER (0x728u)
343 const uint8_t *
const kpkCanData,
const CAN_MSG_RX_TYPE_s can_rxMessages[]
uint32_t(* CAN_RxCallbackFunction_f)(uint32_t ID, uint8_t DLC, CAN_ENDIANNESS_e endianness, const uint8_t *const kpkCanData, const CAN_SHIM_s *const kpkCanShim)
const uint8_t can_txLength
const CAN_MSG_TX_TYPE_s can_txMessages[]
const CAN_SHIM_s can_kShim
uint32_t(* CAN_TxCallbackFunction_f)(uint32_t ID, uint8_t DLC, CAN_ENDIANNESS_e endianness, uint8_t *candata, uint8_t *pMuxId, const CAN_SHIM_s *const kpkCanShim)
const uint8_t can_rxLength
General macros and definitions for the whole platform.
CAN_RxCallbackFunction_f callbackFunction
CAN_ENDIANNESS_e endianness
CAN_TxCallbackFunction_f callbackFunction
CAN_ENDIANNESS_e endianness
DATA_BLOCK_STATEREQUEST_s * pTableStateRequest
DATA_BLOCK_CELL_VOLTAGE_s * pTableCellVoltage
DATA_BLOCK_PACK_VALUES_s * pTablePackValues
DATA_BLOCK_RSL_FLAG_s * pTableRsl
DATA_BLOCK_SOX_s * pTableSox
DATA_BLOCK_CURRENT_SENSOR_s * pTableCurrentSensor
DATA_BLOCK_ERRORSTATE_s * pTableErrorState
DATA_BLOCK_CELL_TEMPERATURE_s * pTableCellTemperature
DATA_BLOCK_MSL_FLAG_s * pTableMsl
DATA_BLOCK_MOL_FLAG_s * pTableMol
DATA_BLOCK_MIN_MAX_s * pTableMinMax
DATA_BLOCK_OPEN_WIRE_s * pTableOpenWire
DATA_BLOCK_INSULATION_MONITORING_s * pTableInsulation
DATA_BLOCK_SOF_s * pTableSof