37 lines
708 B
C
37 lines
708 B
C
/*
|
|
* can.c
|
|
*
|
|
* Created on: Jun 12, 2025
|
|
* Author: janek
|
|
*/
|
|
|
|
#include "can.h"
|
|
|
|
rx_acc acc_status = {};
|
|
extern int ts_on;
|
|
extern int ams_last_tick;
|
|
extern int r2d_progress;
|
|
dash_tx_t dash_tx;
|
|
|
|
void can_init(CAN_HandleTypeDef* hcan){
|
|
ftcan_init(hcan);
|
|
ftcan_add_filter(0x00, 0x00); // no filter
|
|
}
|
|
|
|
void can_send(){
|
|
uint8_t data[1];
|
|
data[0] = dash_tx.dash_send;
|
|
ftcan_transmit(CAN_ID_TX, data, 1);
|
|
}
|
|
|
|
void ftcan_msg_received_cb(uint16_t id, size_t datalen, const uint8_t* data){
|
|
if(id == CAN_ID_RX_AMS){
|
|
ams_last_tick = HAL_GetTick();
|
|
acc_status.ams_status.ams_rx = data[0];
|
|
acc_status.led_status.ams_led = data[7];
|
|
}
|
|
if(id == CAN_ID_RX_R2D){
|
|
r2d_progress = data[1] & 0x0F;
|
|
}
|
|
}
|