#include "freertos_action.h" void send_uavcan_proximity(uavcan_proximity_t *data); void task_usart_rev_action(void) { usart_data_t data = {0}; // uint8_t data_uart; osStatus_t os_status; for(;;) { if (usart_rev_queueHandle != NULL) { os_status = osMessageQueueGet(usart_rev_queueHandle, &data, NULL, osWaitForever); if (os_status == osOK) { parse_ar1271_data(&data); } } else { osDelay(2); } } } void task_uavcan_rev_action(void) { uavcan_rev_t uavcan_rev_data; osStatus_t os_status; /* Infinite loop */ for (;;) { if (uavcan_rev_queueHandle != NULL) { os_status = osMessageQueueGet(uavcan_rev_queueHandle, &uavcan_rev_data, NULL, osWaitForever); if (os_status == osOK) { handle_uavcan_rx_frame(&uavcan_rev_data); } } else { osDelay(2); } } } void task_uavcan_send_action(void) { uavcan_send_data_t data = {0}; float depth_data=0.0f; osStatus_t status; for(;;) { if (uavcan_send_queueHandle != NULL) { status = osMessageQueueGet(uavcan_send_queueHandle, &data, NULL, 5); if (status == osOK) { send_uavcan_data(&data); } } send_canard(); } } void task_default_action(void) { init_allocation(); uint32_t last_send_node_status_tick =0; uint32_t last_send_proximity_tick =0; /* Infinite loop */ for (;;) { if(last_send_node_status_tick+1000