27#include "../Inc/Sensors/AnalogSensor.h"
28#include "../Inc/Sensors/DigitalSensor.h"
29#include "../Inc/Outputs/DigitalOutput.h"
30#include "../Inc/Utils/Telemetry.h"
31#include "../Inc/Utils/MessageFormat.h"
77extern CAN_HandleTypeDef
hcan1;
78extern CAN_HandleTypeDef
hcan2;
81extern TIM_HandleTypeDef
htim2;
82extern UART_HandleTypeDef
huart3;
187#if (INCLUDE_xTaskGetSchedulerState == 1 )
188 if (xTaskGetSchedulerState() != taskSCHEDULER_NOT_STARTED)
191 xPortSysTickHandler();
192#if (INCLUDE_xTaskGetSchedulerState == 1 )
243 HAL_CAN_IRQHandler(&
hcan1);
257 HAL_TIM_IRQHandler(&
htim2);
271 HAL_UART_IRQHandler(&
huart3);
327 HAL_CAN_IRQHandler(&
hcan2);
343 if (htim->Instance == TIM1)
346 }
else if (htim->Instance == TIM2) {
386 if (HAL_CAN_AddTxMessage(&
hcan1, TxHeader, data, &mailbox) != HAL_OK) {
387 uint32_t error = HAL_CAN_GetError(&
hcan1);
388 printf(
"CAN1 Transmission Error: %lx\n", error);
391 }
else if (bus ==
CAN_2) {
392 if (HAL_CAN_AddTxMessage(&
hcan2, TxHeader, data, &mailbox) != HAL_OK) {
393 uint32_t error = HAL_CAN_GetError(&
hcan2);
394 printf(
"CAN2 Transmission Error: %lx\n", error);
406 if (hcan == &
hcan1) {
409 }
else if (hcan == &
hcan2) {
418 if (huart->Instance == USART3) {
422 if (strcmp(
uart_cmd,
"CONFIG_REQUEST") == 0) {
435 else if (uart_rx_char < 'A' || uart_rx_char >
'Z') {
447 if (hadc == &
hadc1) {
449 }
else if (hadc == &
hadc2) {
451 }
else if (hadc == &
hadc3) {
460 if (hcan == &
hcan1) {
462 }
else if (hcan == &
hcan2) {
469 if (hcan == &
hcan1) {
471 }
else if (hcan == &
hcan2) {
478 if (hcan == &
hcan1) {
480 }
else if (hcan == &
hcan2) {
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]
void handleTelemetryConfigRequest(void)
: Header for main.c file. This file contains the common defines of the application.
static uint8_t uart_rx_char
DMA_HandleTypeDef hdma_dac1
void USART3_IRQHandler(void)
This function handles USART3 global interrupt.
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 HAL_CAN_TxMailbox2CompleteCallback(CAN_HandleTypeDef *hcan)
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)
void HAL_CAN_TxMailbox0CompleteCallback(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 initUartConfigListener(void)
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.
UART_HandleTypeDef huart3
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_CAN_TxMailbox1CompleteCallback(CAN_HandleTypeDef *hcan)
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc)
This file contains the headers of the interrupt handlers.