27#include "../Inc/Sensors/AnalogSensor.h"
28#include "../Inc/Sensors/DigitalSensor.h"
29#include "../Inc/Outputs/DigitalOutput.h"
70extern CAN_HandleTypeDef
hcan1;
71extern CAN_HandleTypeDef
hcan2;
74extern TIM_HandleTypeDef
htim2;
179#if (INCLUDE_xTaskGetSchedulerState == 1 )
180 if (xTaskGetSchedulerState() != taskSCHEDULER_NOT_STARTED)
183 xPortSysTickHandler();
184#if (INCLUDE_xTaskGetSchedulerState == 1 )
235 HAL_CAN_IRQHandler(&
hcan1);
249 HAL_TIM_IRQHandler(&
htim2);
305 HAL_CAN_IRQHandler(&
hcan2);
316 if (htim->Instance == TIM1)
319 }
else if (htim->Instance == TIM2) {
359 if (HAL_CAN_AddTxMessage(&
hcan1, TxHeader, data, &mailbox) != HAL_OK) {
360 uint32_t error = HAL_CAN_GetError(&
hcan1);
361 printf(
"CAN1 Transmission Error: %lx\n", error);
364 }
else if (bus ==
CAN_2) {
365 if (HAL_CAN_AddTxMessage(&
hcan2, TxHeader, data, &mailbox) != HAL_OK) {
366 uint32_t error = HAL_CAN_GetError(&
hcan2);
367 printf(
"CAN2 Transmission Error: %lx\n", error);
379 if (hcan == &
hcan1) {
382 }
else if (hcan == &
hcan2) {
390 if (hadc == &
hadc1) {
392 }
else if (hadc == &
hadc2) {
394 }
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 CAN1_RX0_IRQHandler(void)
This function handles CAN1 RX0 interrupts.
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 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.