Skip to content

Commit 4b846f0

Browse files
authored
adapt to rt-thread v5.0.1 message queue (#35)
1 parent 105187e commit 4b846f0

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

FreeRTOS/queue.c

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -479,7 +479,13 @@ BaseType_t xQueueReceive( QueueHandle_t xQueue,
479479
type = rt_object_get_type( &pipc->parent );
480480
if ( type == RT_Object_Class_MessageQueue )
481481
{
482-
err = rt_mq_recv( ( rt_mq_t ) pipc, pvBuffer, ( ( rt_mq_t ) pipc )->msg_size, ( rt_int32_t ) xTicksToWait );
482+
err = ( rt_err_t ) rt_mq_recv( ( rt_mq_t ) pipc, pvBuffer, ( ( rt_mq_t ) pipc )->msg_size, ( rt_int32_t ) xTicksToWait );
483+
#if RT_VER_NUM >= 0x50001
484+
if (( rt_ssize_t ) err >= 0)
485+
{
486+
err = RT_EOK;
487+
}
488+
#endif
483489
}
484490

485491
return rt_err_to_freertos( err );
@@ -541,7 +547,13 @@ BaseType_t xQueueReceiveFromISR( QueueHandle_t xQueue,
541547
}
542548
else if ( type == RT_Object_Class_MessageQueue )
543549
{
544-
err = rt_mq_recv( ( rt_mq_t ) pipc, pvBuffer, ( ( rt_mq_t ) pipc )->msg_size, RT_WAITING_NO );
550+
err = ( rt_err_t ) rt_mq_recv( ( rt_mq_t ) pipc, pvBuffer, ( ( rt_mq_t ) pipc )->msg_size, RT_WAITING_NO );
551+
#if RT_VER_NUM >= 0x50001
552+
if (( rt_ssize_t ) err >= 0)
553+
{
554+
err = RT_EOK;
555+
}
556+
#endif
545557
}
546558
if ( pxHigherPriorityTaskWoken != NULL )
547559
{

0 commit comments

Comments
 (0)