|
|
@@ -1,11 +1,11 @@
|
|
|
+#include "kernel.h"
|
|
|
#include "message_queue.h"
|
|
|
-#include "core/common_defines.h"
|
|
|
#include <FreeRTOS.h>
|
|
|
#include <queue.h>
|
|
|
#include "check.h"
|
|
|
|
|
|
FuriMessageQueue* furi_message_queue_alloc(uint32_t msg_count, uint32_t msg_size) {
|
|
|
- furi_assert((furi_is_irq_context() == 0U) && (msg_count > 0U) && (msg_size > 0U));
|
|
|
+ furi_assert((furi_kernel_is_irq_or_masked() == 0U) && (msg_count > 0U) && (msg_size > 0U));
|
|
|
|
|
|
QueueHandle_t handle = xQueueCreate(msg_count, msg_size);
|
|
|
furi_check(handle);
|
|
|
@@ -14,7 +14,7 @@ FuriMessageQueue* furi_message_queue_alloc(uint32_t msg_count, uint32_t msg_size
|
|
|
}
|
|
|
|
|
|
void furi_message_queue_free(FuriMessageQueue* instance) {
|
|
|
- furi_assert(furi_is_irq_context() == 0U);
|
|
|
+ furi_assert(furi_kernel_is_irq_or_masked() == 0U);
|
|
|
furi_assert(instance);
|
|
|
|
|
|
vQueueDelete((QueueHandle_t)instance);
|
|
|
@@ -28,7 +28,7 @@ FuriStatus
|
|
|
|
|
|
stat = FuriStatusOk;
|
|
|
|
|
|
- if(furi_is_irq_context() != 0U) {
|
|
|
+ if(furi_kernel_is_irq_or_masked() != 0U) {
|
|
|
if((hQueue == NULL) || (msg_ptr == NULL) || (timeout != 0U)) {
|
|
|
stat = FuriStatusErrorParameter;
|
|
|
} else {
|
|
|
@@ -65,7 +65,7 @@ FuriStatus furi_message_queue_get(FuriMessageQueue* instance, void* msg_ptr, uin
|
|
|
|
|
|
stat = FuriStatusOk;
|
|
|
|
|
|
- if(furi_is_irq_context() != 0U) {
|
|
|
+ if(furi_kernel_is_irq_or_masked() != 0U) {
|
|
|
if((hQueue == NULL) || (msg_ptr == NULL) || (timeout != 0U)) {
|
|
|
stat = FuriStatusErrorParameter;
|
|
|
} else {
|
|
|
@@ -131,7 +131,7 @@ uint32_t furi_message_queue_get_count(FuriMessageQueue* instance) {
|
|
|
|
|
|
if(hQueue == NULL) {
|
|
|
count = 0U;
|
|
|
- } else if(furi_is_irq_context() != 0U) {
|
|
|
+ } else if(furi_kernel_is_irq_or_masked() != 0U) {
|
|
|
count = uxQueueMessagesWaitingFromISR(hQueue);
|
|
|
} else {
|
|
|
count = uxQueueMessagesWaiting(hQueue);
|
|
|
@@ -148,7 +148,7 @@ uint32_t furi_message_queue_get_space(FuriMessageQueue* instance) {
|
|
|
|
|
|
if(mq == NULL) {
|
|
|
space = 0U;
|
|
|
- } else if(furi_is_irq_context() != 0U) {
|
|
|
+ } else if(furi_kernel_is_irq_or_masked() != 0U) {
|
|
|
isrm = taskENTER_CRITICAL_FROM_ISR();
|
|
|
|
|
|
/* space = pxQueue->uxLength - pxQueue->uxMessagesWaiting; */
|
|
|
@@ -167,7 +167,7 @@ FuriStatus furi_message_queue_reset(FuriMessageQueue* instance) {
|
|
|
QueueHandle_t hQueue = (QueueHandle_t)instance;
|
|
|
FuriStatus stat;
|
|
|
|
|
|
- if(furi_is_irq_context() != 0U) {
|
|
|
+ if(furi_kernel_is_irq_or_masked() != 0U) {
|
|
|
stat = FuriStatusErrorISR;
|
|
|
} else if(hQueue == NULL) {
|
|
|
stat = FuriStatusErrorParameter;
|