RTOS APIs#
This section describes the RTOS APIs
Functions#
Disable interrupt to enter crtical section.
Exit critical section by restoring interrupts.
Create and initialize the mutex.
Take the mutex.
Give the mutex.
Destroye the mutex.
Create and initialize the semaphore instance.
Destroy the semaphore instance.
Check whether semaphore is created or not, It destroys the semaphore instance,if its created, otherwise should return Success.
Wireless library to acquire or wait for semaphore.
Wireless library to release semaphore, which was acquired.
Wireless library to release semaphore, which was acquired.
Used by Wireless Library to reset the semaphore.
Wireless Library to create platform specific OS task/thread.
Delete the task created.
Induce required delay in milli seconds.
Schedule the tasks created.
Sets the os error .
Allow a task to wait with optional timeout.
Notify to a task.
Notification directly to a task and should be used in ISR only.
Allow a task in wait in blocked state for its notification value >0.
Notify to a task.
Return wlan status.
Allocate memory from the buffer which is maintained by freertos
Free the memory pointed by 'ptr'.
Enter into critical section.
Enter into exit section.
Exit into critical section.
Function Documentation#
rsi_critical_section_entry#
rsi_reg_flags_t rsi_critical_section_entry (void )
Disable interrupt to enter crtical section.
[in] |
Returns
flags - interrupt status before entering critical section
45
of file rtos/freertos_wrapper/rsi_os_wrapper.c
rsi_critical_section_exit#
void rsi_critical_section_exit (rsi_reg_flags_t xflags)
Exit critical section by restoring interrupts.
[in] | xflags | - interrupt status to restore interrupt on exit from critical section |
Returns
Void
71
of file rtos/freertos_wrapper/rsi_os_wrapper.c
rsi_mutex_create#
rsi_error_t rsi_mutex_create (rsi_mutex_handle_t * mutex)
Create and initialize the mutex.
[in] | mutex | - Mutex handle pointer |
Returns
0 - Success Negative Value - Failure
90
of file rtos/freertos_wrapper/rsi_os_wrapper.c
rsi_mutex_lock#
rsi_error_t rsi_mutex_lock (volatile rsi_mutex_handle_t * mutex)
Take the mutex.
[in] | mutex | - Mutex handle pointer |
Returns
0 - Success Negative Value - Failure
116
of file rtos/freertos_wrapper/rsi_os_wrapper.c
rsi_mutex_unlock#
rsi_error_t rsi_mutex_unlock (volatile rsi_mutex_handle_t * mutex)
Give the mutex.
[in] | mutex | - Mutex handle pointer |
Returns
0 - Success Negative Value - Failure
143
of file rtos/freertos_wrapper/rsi_os_wrapper.c
rsi_mutex_destroy#
rsi_error_t rsi_mutex_destroy (rsi_mutex_handle_t * mutex)
Destroye the mutex.
[in] | mutex | - Mutex handle pointer |
Returns
0 - Success Negative Value - Failure
165
of file rtos/freertos_wrapper/rsi_os_wrapper.c
rsi_semaphore_create#
rsi_error_t rsi_semaphore_create (rsi_semaphore_handle_t * semaphore, uint32_t count)
Create and initialize the semaphore instance.
[in] | semaphore | - Semaphore handle pointer |
[in] | count | - Resource count |
Returns
0 - Success Negative Value - Failure
187
of file rtos/freertos_wrapper/rsi_os_wrapper.c
rsi_semaphore_destroy#
rsi_error_t rsi_semaphore_destroy (rsi_semaphore_handle_t * semaphore)
Destroy the semaphore instance.
[in] | semaphore | - Semaphore handle pointer |
Returns
0 - Success Negative Value - Failure
212
of file rtos/freertos_wrapper/rsi_os_wrapper.c
rsi_semaphore_check_and_destroy#
rsi_error_t rsi_semaphore_check_and_destroy (rsi_semaphore_handle_t * semaphore)
Check whether semaphore is created or not, It destroys the semaphore instance,if its created, otherwise should return Success.
[in] | semaphore | - Semaphore handle pointer |
Returns
0 - Success Negative Value - Failure
232
of file rtos/freertos_wrapper/rsi_os_wrapper.c
rsi_semaphore_wait#
rsi_error_t rsi_semaphore_wait (rsi_semaphore_handle_t * semaphore, uint32_t timeout_ms)
Wireless library to acquire or wait for semaphore.
[in] | semaphore | - Semaphore handle pointer |
[in] | timeout_ms | - Maximum time to wait to acquire semaphore. If timeout_ms is 0 then wait till acquire semaphore. |
Returns
0 - Success Negative Value - Failure
258
of file rtos/freertos_wrapper/rsi_os_wrapper.c
rsi_semaphore_post#
rsi_error_t rsi_semaphore_post (rsi_semaphore_handle_t * semaphore)
Wireless library to release semaphore, which was acquired.
[in] | semaphore | - Semaphore handle pointer |
Returns
0 - Success Negative Value - Failure
286
of file rtos/freertos_wrapper/rsi_os_wrapper.c
rsi_semaphore_post_from_isr#
rsi_error_t rsi_semaphore_post_from_isr (rsi_semaphore_handle_t * semaphore)
Wireless library to release semaphore, which was acquired.
[in] | semaphore | - Semaphore handle pointer |
Returns
0 - Success Negative Value - Failure
311
of file rtos/freertos_wrapper/rsi_os_wrapper.c
rsi_semaphore_reset#
rsi_error_t rsi_semaphore_reset (rsi_semaphore_handle_t * semaphore)
Used by Wireless Library to reset the semaphore.
[in] | semaphore | - Semaphore handle pointer |
Returns
0 - Success Negative Value - Failure
336
of file rtos/freertos_wrapper/rsi_os_wrapper.c
rsi_task_create#
rsi_error_t rsi_task_create (rsi_task_function_t task_function, uint8_t * task_name, uint32_t stack_size, void * parameters, uint32_t task_priority, rsi_task_handle_t * task_handle)
Wireless Library to create platform specific OS task/thread.
[in] | task_function | - Pointer to function to be executed by created thread. Prototype of the function |
[in] | task_name | - Name of the created task |
[in] | stack_size | - Stack size given to the created task |
[in] | parameters | - Pointer to the parameters to be passed to task function |
[in] | task_priority | - task priority |
[in] | task_handle | - task handle/instance created |
Returns
0 - Success Negative Value - Failure
367
of file rtos/freertos_wrapper/rsi_os_wrapper.c
rsi_task_destroy#
void rsi_task_destroy (rsi_task_handle_t * task_handle)
Delete the task created.
[in] | task_handle | - Task handle/instance to be deleted |
Returns
void
399
of file rtos/freertos_wrapper/rsi_os_wrapper.c
rsi_os_task_delay#
void rsi_os_task_delay (uint32_t timeout_ms)
Induce required delay in milli seconds.
[in] | timeout_ms | - Expected delay in milli seconds |
Returns
void
411
of file rtos/freertos_wrapper/rsi_os_wrapper.c
rsi_start_os_scheduler#
void rsi_start_os_scheduler (void )
Schedule the tasks created.
[in] |
Returns
void
423
of file rtos/freertos_wrapper/rsi_os_wrapper.c
rsi_set_os_errno#
void rsi_set_os_errno (int32_t error)
Sets the os error .
[in] | error | - Error |
Returns
void
434
of file rtos/freertos_wrapper/rsi_os_wrapper.c
rsi_task_notify_wait#
rsi_base_type_t rsi_task_notify_wait (uint32_t ulBitsToClearOnEntry, uint32_t ulBitsToClearOnExit, uint32_t * pulNotificationValue, uint32_t timeout)
Allow a task to wait with optional timeout.
[in] | ulBitsToClearOnEntry | - bits set here will be cleared in the task’s notification value on entry to the function. |
[in] | ulBitsToClearOnExit | - used to pass out the task notification value and an optional paramter |
[in] | pulNotificationValue | - bits to clear on exit |
[in] | timeout | - maximum amount of time the calling task should remain in blocked state |
Returns
0 - Success Negative Value - Failure
450
of file rtos/freertos_wrapper/rsi_os_wrapper.c
rsi_task_notify#
rsi_base_type_t rsi_task_notify (rsi_task_handle_t xTaskToNotify, uint32_t ulValue)
Notify to a task.
[in] | xTaskToNotify | - The handle of the task to which the notification is being sent |
[in] | ulValue | - How ulValue is used is dependent on the eNotifyAction value |
Returns
0 - Success Non-Zero Value - Failure
476
of file rtos/freertos_wrapper/rsi_os_wrapper.c
rsi_task_notify_from_isr#
rsi_base_type_t rsi_task_notify_from_isr (rsi_task_handle_t xTaskToNotify, uint32_t ulValue, rsi_base_type_t * pxHigherPriorityTaskWoken)
Notification directly to a task and should be used in ISR only.
[in] | xTaskToNotify | - The handle of the task to which the notification is being sent |
[in] | ulValue | - How ulValue is used is dependent on the eNotifyAction value |
[in] | pxHigherPriorityTaskWoken | - Sets,if sending the notification caused a task to unblock, and the unblocked task has a priority higher than the currently running task. |
Returns
0 - Success Non-Zero Value - Failure
497
of file rtos/freertos_wrapper/rsi_os_wrapper.c
rsi_os_task_notify_take#
uint32_t rsi_os_task_notify_take (BaseType_t xClearCountOnExit, TickType_t xTicksToWait)
Allow a task in wait in blocked state for its notification value >0.
[in] | xClearCountOnExit | - Based on this value calling task notification value will be decremented/zero |
[in] | xTicksToWait | - maximum amount of time calling task should remain in blocked state |
Returns
0 - Success Non-Zero Value - Failure
520
of file rtos/freertos_wrapper/rsi_os_wrapper.c
rsi_os_task_notify_give#
BaseType_t rsi_os_task_notify_give (rsi_task_handle_t xTaskToNotify)
Notify to a task.
[in] | xTaskToNotify | - Task handle to notify |
Returns
Task notification value -1 - Failure
533
of file rtos/freertos_wrapper/rsi_os_wrapper.c
rsi_get_error#
int32_t rsi_get_error (int32_t sockID)
Return wlan status.
[in] | sockID | - Socket Id |
Returns
wlan status
552
of file rtos/freertos_wrapper/rsi_os_wrapper.c
rsi_malloc#
void* rsi_malloc (uint32_t size)
Allocate memory from the buffer which is maintained by freertos
[in] | size | - required bytes in size |
Returns
void
615
of file rtos/freertos_wrapper/rsi_os_wrapper.c
rsi_free#
void rsi_free (void * ptr)
Free the memory pointed by 'ptr'.
[in] | ptr | - starting address of the memory to be freed |
Returns
void
631
of file rtos/freertos_wrapper/rsi_os_wrapper.c
rsi_vport_enter_critical#
void rsi_vport_enter_critical (void )
Enter into critical section.
[in] |
Returns
void
646
of file rtos/freertos_wrapper/rsi_os_wrapper.c
rsi_vport_exit_critical#
void rsi_vport_exit_critical (void )
Enter into exit section.
[in] |
Returns
void
659
of file rtos/freertos_wrapper/rsi_os_wrapper.c
rsi_task_suspend#
void rsi_task_suspend (rsi_task_handle_t * task_handle)
Exit into critical section.
[in] | task_handle | - Task handle to be suspended |
Returns
void
671
of file rtos/freertos_wrapper/rsi_os_wrapper.c