In WICED/RTOS/<ThreadX or FreeRTOS>/WICED/rtos.h there are such comments :
/* Configuration of Built-in Worker Threads
* 1. wiced_hardware_io_worker_thread is designed to handle deferred execution of quick, non-blocking hardware I/O operations.
* - priority : higher than that of wiced_networking_worker_thread
* - stack size : small. Consequently, no printf is allowed here.
* - event queue size : the events are quick; therefore, large queue isn't required.
* 2. wiced_networking_worker_thread is designed to handle deferred execution of networking operations
* - priority : lower to allow wiced_hardware_io_worker_thread to preempt and run
* - stack size : considerably larger than that of wiced_hardware_io_worker_thread because of the networking functions.
* - event queue size : larger than that of wiced_hardware_io_worker_thread because networking operation may block
But in WICED/RTOS/wiced_rtos_common.c, wiced_result_t wiced_rtos_init( void ) creates those worker threads as this :
result = wiced_rtos_create_worker_thread( WICED_HARDWARE_IO_WORKER_THREAD, WICED_DEFAULT_WORKER_PRIORITY, HARDWARE_IO_WORKER_THREAD_STACK_SIZE, HARDWARE_IO_WORKER_THREAD_QUEUE_SIZE );
result = wiced_rtos_create_worker_thread( WICED_NETWORKING_WORKER_THREAD, WICED_NETWORK_WORKER_PRIORITY, NETWORKING_WORKER_THREAD_STACK_SIZE, NETWORKING_WORKER_THREAD_QUEUE_SIZE );
And the priority macros are defined in include/wiced_defaults.h
#define WICED_NETWORK_WORKER_PRIORITY (3)
#define WICED_DEFAULT_WORKER_PRIORITY (5)
All above are the same for both SDK-3.5.2 & 3.7.0, (also both for ThreadX & FreeRTOS).
Got confused about those RED sections above, they doesn't look consistent to me.
To follow the "design" I think it should be modified that WICED_HARDWARE_IO_WORKER_THREAD is created with priority < 3.
Or the comments should be modified so people are not misled and can use them correctly.
(It's interesting that this is not mentioned in this old post : Worker IO Thread Priority is lower than Network IO thread priority ? .
Iis a bug introduced in recent SDK versions?)