Closed agerasev closed 1 year ago
Looks great! Glad to see a lot more alignment with the FreeRTOS API. Thanks!
As an idea for the future, one thing I noticed is that the existing code in the shim layer returns 0 or 1 as a proxy for a boolean. I wonder if there's opportunity to change those to bool
. It seems based on this PR that bool
is effectively the FFI type for itself, which is why there's nothing in ffi
for it. I'm not 100% sure, but I'm having a hard time imagining a situation where this could cause any problems. Although, on second glance the 0 and 1 values are (at least sometimes) reversed - where 0 means success and 1 means failure. So we'd have to be careful to get the logic correct.
As a further idea for the future, it looks like these two functions are missing from the shim layer. We might want to add them someday. There are also FromISR variants for them.
xSemaphoreGetMutexHolder()
uxSemaphoreGetCount()
Shim functions related to semaphores and mutexes affected:
*_mutex
to*_semaphore
(except mutex creation functions) to match FreeRTOS API names.QueueHandle_t
toSemaphoreHandle_t
and fromFreeRtosQueueHandle
toFreeRtosSemaphoreHandle
.mutex
tosemaphore
.