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.
Take the mutex from ISR context.
Give the mutex.
Give the mutex from ISR context.
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
73
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
95
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
121
of file rtos/freertos_wrapper/rsi_os_wrapper.c
rsi_mutex_lock_from_isr#
void rsi_mutex_lock_from_isr (volatile rsi_mutex_handle_t * mutex)
Take the mutex from ISR context.
[in] | mutex | - Mutex handle pointer |
Returns
0 - Success Negative Value - Failure
148
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
163
of file rtos/freertos_wrapper/rsi_os_wrapper.c
rsi_mutex_unlock_from_isr#
void rsi_mutex_unlock_from_isr (volatile rsi_mutex_handle_t * mutex)
Give the mutex from ISR context.
[in] | mutex | - Mutex handle pointer |
Returns
none
183
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
198
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
220
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
245
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
265
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
291
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
319
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
344
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
369
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
400
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
432
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
444
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
456
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
467
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
483
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
509
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
530
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
553
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
566
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
585
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
648
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
664
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
679
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
692
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
704
of file rtos/freertos_wrapper/rsi_os_wrapper.c