Wait until CAN1 or CAN2 save anything to FIFO buffer
- Moving CAN event flag to vCANLoggerListen to avoid possible race condition and to make ISR leaner
This commit is contained in:
+1
-2
@@ -99,7 +99,6 @@ void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan)
|
||||
|
||||
if (osMessageQueuePut(queue, &message, 0U, 0U) == osOK)
|
||||
{
|
||||
osEventFlagsSet(xCanEventFlags, flag);
|
||||
osThreadFlagsSet(led_task, 0x01);
|
||||
}
|
||||
else
|
||||
@@ -130,7 +129,7 @@ void vCANLoggerListen(void *argument)
|
||||
{
|
||||
if (osMessageQueueGet(queue, &message, NULL, osWaitForever) == osOK)
|
||||
{
|
||||
|
||||
osEventFlagsSet(xCanEventFlags, flag);
|
||||
}
|
||||
}
|
||||
/* CODE END */
|
||||
|
||||
@@ -94,6 +94,14 @@ void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
|
||||
*/
|
||||
void vUARTLogger(void *argument)
|
||||
{
|
||||
CanMessage_t msg;
|
||||
char tx_buffer[45]; // converted extended frame
|
||||
bool queues_empty;
|
||||
|
||||
for (;;)
|
||||
{
|
||||
osEventFlagsWait(xCanEventFlags, 0x03, osFlagsWaitAny, osWaitForever);
|
||||
|
||||
}
|
||||
}
|
||||
/* END vUARTLoggerListen */
|
||||
|
||||
Reference in New Issue
Block a user