/* * can.h * * Created on: Jun 12, 2025 * Author: janek */ #ifndef INC_CAN_H_ #define INC_CAN_H_ #include "can_halal.h" #define CAN_ID_TX 0x420 #define CAN_ID_RX_R2D 0x410 #define CAN_ID_RX_AMS 0x00A typedef union { struct { uint8_t ts_state : 1; uint8_t NC1 : 1; uint8_t NC2 : 1; uint8_t NC3 : 1; uint8_t NC4 : 1; uint8_t NC5 : 1; uint8_t NC6 : 1; uint8_t sdc_closed : 1; }; uint8_t ams_rx; } ams_info; typedef union { struct { uint8_t ts_green : 1; uint8_t imd_error : 1; uint8_t ams_error : 1; uint8_t NC1 : 1; uint8_t NC2 : 1; uint8_t NC3 : 1; uint8_t NC4 : 1; uint8_t NC5 : 1; }; uint8_t ams_led; }led_info; typedef union { struct { ams_info ams_status; led_info led_status; }; uint16_t ams_bitmask; } rx_acc; typedef union{ struct{ uint8_t r2d : 1; uint8_t tson : 1; uint8_t racemode : 1; uint8_t sdc_in : 1; uint8_t sdc_out : 1; }; uint8_t dash_send; }dash_tx_t; void can_init(CAN_HandleTypeDef* hcan); void can_send(); void can_rxupdateFrame(); #endif /* INC_CAN_H_ */