Strictly necessary cookies are on by default and cannot be turned off. Functional, Performance and Tracking/targeting/sharing cookies can be turned on below based on your preferences (this banner will remain available for you to accept cookies). You may change your cookie settings by deleting cookies from your browser. Then this banner will appear again. You can learn more details about cookies HERE.
Strictly necessary (always on)
Functional, Performance and Tracking/targeting/sharing (default off)
In WICED® BT SDK v1.4 still missing some basic RTOS functionality incl. reported before in the WICED community forum, but neither I see them fixed in v1.4 nor are listed as known issues in the BT SDK 1.4 Release Notes.pdf:
wiced_rtos.h (and API docs) says:
wiced_rtos_delete_thread( wiced_thread_t* thread ); Deletes a terminated thread.
wiced_rtos_thread_join(wiced_thread_t * thread) Sleeps until another thread has terminated
In wiced_rtos API there is no any function exposed for terminating a thread
If we refer to ThreadX manual: "A thread is in a terminated state because another thread or the thread itself called the tx_thread_terminate service"
So in order wiced_rtos_delete_thread and wiced_rtos_thread_join to work they require first thread to be terminated and according to ThreadX documentation this could be done only through tx_thread_terminate, which means that tx_thread_terminate need also to be exposed through wiced_rtos.
Also need some function or macro in order to terminate the current thread within itself: there was macro WICED_END_OF_CURRENT_THREAD(), but it is available only for 43xx platforms and no alternative for CYW2*
Other important functionality missing in the wiced_rtos:
Missing basic often used functionality to add to the head of the queue like tx_queue_front_send() and to read the head element without to remove it from the queue like xQueuePeek() in FreeRTOS
clear event flags – in original ThreadX function tx_event_flags_set has additional flag set_option which give functionality either to set or clear desired event bits, in wiced_rtos_set_event_flags this option is missing and the functionality is limited ONLY to set event bits. BTW there is a work around the last issue, but is quite cumbersome.