25#include "../Inc/Sensors/AnalogSensor.h"
26#include "../Inc/Sensors/DigitalSensor.h"
27#include "../Inc/Outputs/DigitalOutput.h"
68extern CAN_HandleTypeDef
hcan1;
69extern CAN_HandleTypeDef
hcan2;
70extern CAN_HandleTypeDef
hcan3;
73extern TIM_HandleTypeDef
htim2;
252 HAL_CAN_IRQHandler(&
hcan1);
266 HAL_TIM_IRQHandler(&
htim2);
322 HAL_CAN_IRQHandler(&
hcan2);
336 HAL_CAN_IRQHandler(&
hcan3);
347 if (htim->Instance == TIM1)
350 }
else if (htim->Instance == TIM2) {
390 if (HAL_CAN_AddTxMessage(&
hcan1, TxHeader, data, &mailbox) != HAL_OK) {
391 uint32_t error = HAL_CAN_GetError(&
hcan1);
392 printf(
"CAN1 Transmission Error: %lx\n", error);
395 }
else if (bus ==
CAN_2) {
396 if (HAL_CAN_AddTxMessage(&
hcan2, TxHeader, data, &mailbox) != HAL_OK) {
397 uint32_t error = HAL_CAN_GetError(&
hcan2);
398 printf(
"CAN2 Transmission Error: %lx\n", error);
410 if (hcan == &
hcan1) {
413 }
else if (hcan == &
hcan2) {
421 if (hadc == &
hadc1) {
423 }
else if (hadc == &
hadc2) {
425 }
else if (hadc == &
hadc3) {
void ProcessADCData(uint32_t *adc1_buffer, uint32_t *adc2_buffer, uint32_t *adc3_buffer)
Processes ADC data from all three ADCs and stores it in the circular buffer.
void receive_CAN_message(CAN_RxHeaderTypeDef *header, uint8_t *data, CANBus bus)
Receives a CAN message.
uint8_t digital_out_buffer[NUM_DIGITAL_OUTPUTS]
uint8_t digital_in_buffer[NUM_DIGITAL_INPUTS]
: Header for main.c file. This file contains the common defines of the application.
DMA_HandleTypeDef hdma_dac1
volatile uint32_t timer_flag
DMA_HandleTypeDef hdma_adc1
void UsageFault_Handler(void)
This function handles Undefined instruction or illegal state.
int send_CAN_message_helper(CANBus bus, CAN_TxHeaderTypeDef *TxHeader, uint8_t *data)
void HardFault_Handler(void)
This function handles Hard fault interrupt.
void MemManage_Handler(void)
This function handles Memory management fault.
DMA_HandleTypeDef hdma_adc3
void TIM2_IRQHandler(void)
This function handles TIM2 global interrupt.
void SVC_Handler(void)
This function handles System service call via SWI instruction.
void CAN1_RX0_IRQHandler(void)
This function handles CAN1 RX0 interrupts.
void PendSV_Handler(void)
This function handles Pendable request for system service.
void NMI_Handler(void)
This function handles Non maskable interrupt.
void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan)
CAN_RxHeaderTypeDef RxHeader1
void DMA2_Stream2_IRQHandler(void)
This function handles DMA2 stream2 global interrupt.
void BusFault_Handler(void)
This function handles Pre-fetch fault, memory access fault.
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
CAN_RxHeaderTypeDef RxHeader2
void DMA1_Stream6_IRQHandler(void)
This function handles DMA1 stream6 global interrupt.
DMA_HandleTypeDef hdma_dac2
void DMA2_Stream0_IRQHandler(void)
This function handles DMA2 stream0 global interrupt.
void SysTick_Handler(void)
This function handles System tick timer.
void CAN3_RX0_IRQHandler(void)
This function handles CAN3 RX0 interrupt.
void CAN2_RX0_IRQHandler(void)
This function handles CAN2 RX0 interrupts.
void DMA1_Stream5_IRQHandler(void)
This function handles DMA1 stream5 global interrupt.
DMA_HandleTypeDef hdma_adc2
void DMA2_Stream1_IRQHandler(void)
This function handles DMA2 stream1 global interrupt.
void DebugMon_Handler(void)
This function handles Debug monitor.
void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc)
This file contains the headers of the interrupt handlers.