![]() |
STM32F769IDiscovery
1.00
uDANTE Audio Networking with STM32F7 DISCO board
|
Header of cmsis_os.c A new set of APIs are added in addition to existing ones, these APIs are specific to FreeRTOS. More...
#include <stdint.h>
#include <stddef.h>
#include "core_cmFunc.h"
#include "FreeRTOS.h"
#include "task.h"
#include "timers.h"
#include "queue.h"
#include "semphr.h"
#include "event_groups.h"
Go to the source code of this file.
Data Structures | |
struct | os_thread_def |
struct | os_timer_def |
struct | os_mutex_def |
struct | os_semaphore_def |
struct | os_pool_def |
struct | os_messageQ_def |
struct | os_mailQ_def |
struct | osEvent |
Macros | |
#define | _CMSIS_OS_H |
#define | osCMSIS 0x10002 |
API version (main [31:16] .sub [15:0]) More... | |
#define | osCMSIS_KERNEL 0x10000 |
RTOS identification and version (main [31:16] .sub [15:0]) More... | |
#define | osKernelSystemId "KERNEL V1.00" |
RTOS identification string. More... | |
#define | osFeature_MainThread 1 |
main thread 1=main can be thread, 0=not available More... | |
#define | osFeature_Pool 1 |
Memory Pools: 1=available, 0=not available. More... | |
#define | osFeature_MailQ 1 |
Mail Queues: 1=available, 0=not available. More... | |
#define | osFeature_MessageQ 1 |
Message Queues: 1=available, 0=not available. More... | |
#define | osFeature_Signals 8 |
maximum number of Signal Flags available per thread More... | |
#define | osFeature_Semaphore 1 |
osFeature_Semaphore function: 1=available, 0=not available More... | |
#define | osFeature_Wait 0 |
osWait function: 1=available, 0=not available More... | |
#define | osFeature_SysTick 1 |
osKernelSysTick functions: 1=available, 0=not available More... | |
#define | osWaitForever 0xFFFFFFFF |
wait forever timeout value More... | |
#define | osKernelSysTickFrequency (configTICK_RATE_HZ) |
#define | osKernelSysTickMicroSec(microsec) (((uint64_t)microsec * (osKernelSysTickFrequency)) / 1000000) |
#define | osThreadDef(name, thread, priority, instances, stacksz) |
#define | osThread(name) &os_thread_def_##name |
#define | osTimerDef(name, function) |
#define | osTimer(name) &os_timer_def_##name |
#define | osMutexDef(name) const osMutexDef_t os_mutex_def_##name = { 0 } |
#define | osMutex(name) &os_mutex_def_##name |
#define | osSemaphoreDef(name) const osSemaphoreDef_t os_semaphore_def_##name = { 0 } |
#define | osSemaphore(name) &os_semaphore_def_##name |
#define | osPoolDef(name, no, type) |
Define a Memory Pool. More... | |
#define | osPool(name) &os_pool_def_##name |
Access a Memory Pool definition. More... | |
#define | osMessageQDef(name, queue_sz, type) |
Create a Message Queue Definition. More... | |
#define | osMessageQ(name) &os_messageQ_def_##name |
Access a Message Queue Definition. More... | |
#define | osMailQDef(name, queue_sz, type) |
Create a Mail Queue Definition. More... | |
#define | osMailQ(name) &os_mailQ_def_##name |
Access a Mail Queue Definition. More... | |
Typedefs | |
typedef void(* | os_pthread) (void const *argument) |
typedef void(* | os_ptimer) (void const *argument) |
typedef TaskHandle_t | osThreadId |
typedef TimerHandle_t | osTimerId |
typedef SemaphoreHandle_t | osMutexId |
typedef SemaphoreHandle_t | osSemaphoreId |
typedef struct os_pool_cb * | osPoolId |
typedef QueueHandle_t | osMessageQId |
typedef struct os_mailQ_cb * | osMailQId |
typedef struct os_thread_def | osThreadDef_t |
typedef struct os_timer_def | osTimerDef_t |
typedef struct os_mutex_def | osMutexDef_t |
typedef struct os_semaphore_def | osSemaphoreDef_t |
typedef struct os_pool_def | osPoolDef_t |
typedef struct os_messageQ_def | osMessageQDef_t |
typedef struct os_mailQ_def | osMailQDef_t |
Enumerations | |
enum | osPriority { osPriorityIdle = -3, osPriorityLow = -2, osPriorityBelowNormal = -1, osPriorityNormal = 0, osPriorityAboveNormal = +1, osPriorityHigh = +2, osPriorityRealtime = +3, osPriorityError = 0x84 } |
enum | osStatus { osOK = 0, osEventSignal = 0x08, osEventMessage = 0x10, osEventMail = 0x20, osEventTimeout = 0x40, osErrorParameter = 0x80, osErrorResource = 0x81, osErrorTimeoutResource = 0xC1, osErrorISR = 0x82, osErrorISRRecursive = 0x83, osErrorPriority = 0x84, osErrorNoMemory = 0x85, osErrorValue = 0x86, osErrorOS = 0xFF, os_status_reserved = 0x7FFFFFFF } |
enum | os_timer_type { osTimerOnce = 0, osTimerPeriodic = 1 } |
Functions | |
osStatus | osKernelInitialize (void) |
osStatus | osKernelStart (void) |
Start the RTOS Kernel with executing the specified thread. More... | |
int32_t | osKernelRunning (void) |
Check if the RTOS kernel is already started. More... | |
uint32_t | osKernelSysTick (void) |
Get the value of the Kernel SysTick timer. More... | |
osThreadId | osThreadCreate (const osThreadDef_t *thread_def, void *argument) |
Create a thread and add it to Active Threads and set it to state READY. More... | |
osThreadId | osThreadGetId (void) |
Return the thread ID of the current running thread. More... | |
osStatus | osThreadTerminate (osThreadId thread_id) |
Terminate execution of a thread and remove it from Active Threads. More... | |
osStatus | osThreadYield (void) |
Pass control to next thread that is in state READY. More... | |
osStatus | osThreadSetPriority (osThreadId thread_id, osPriority priority) |
Change priority of an active thread. More... | |
osPriority | osThreadGetPriority (osThreadId thread_id) |
Get current priority of an active thread. More... | |
osStatus | osDelay (uint32_t millisec) |
Wait for Timeout (Time Delay) More... | |
osTimerId | osTimerCreate (const osTimerDef_t *timer_def, os_timer_type type, void *argument) |
Create a timer. More... | |
osStatus | osTimerStart (osTimerId timer_id, uint32_t millisec) |
Start or restart a timer. More... | |
osStatus | osTimerStop (osTimerId timer_id) |
Stop a timer. More... | |
osStatus | osTimerDelete (osTimerId timer_id) |
Delete a timer. More... | |
int32_t | osSignalSet (osThreadId thread_id, int32_t signals) |
Set the specified Signal Flags of an active thread. More... | |
int32_t | osSignalClear (osThreadId thread_id, int32_t signals) |
osEvent | osSignalWait (int32_t signals, uint32_t millisec) |
Wait for one or more Signal Flags to become signaled for the current RUNNING thread. More... | |
osMutexId | osMutexCreate (const osMutexDef_t *mutex_def) |
Create and Initialize a Mutex object. More... | |
osStatus | osMutexWait (osMutexId mutex_id, uint32_t millisec) |
Wait until a Mutex becomes available. More... | |
osStatus | osMutexRelease (osMutexId mutex_id) |
Release a Mutex that was obtained by osMutexWait. More... | |
osStatus | osMutexDelete (osMutexId mutex_id) |
Delete a Mutex. More... | |
osSemaphoreId | osSemaphoreCreate (const osSemaphoreDef_t *semaphore_def, int32_t count) |
Create and Initialize a Semaphore object used for managing resources. More... | |
int32_t | osSemaphoreWait (osSemaphoreId semaphore_id, uint32_t millisec) |
Wait until a Semaphore token becomes available. More... | |
osStatus | osSemaphoreRelease (osSemaphoreId semaphore_id) |
Release a Semaphore token. More... | |
osStatus | osSemaphoreDelete (osSemaphoreId semaphore_id) |
Delete a Semaphore. More... | |
osPoolId | osPoolCreate (const osPoolDef_t *pool_def) |
Create and Initialize a memory pool. More... | |
void * | osPoolAlloc (osPoolId pool_id) |
Allocate a memory block from a memory pool. More... | |
void * | osPoolCAlloc (osPoolId pool_id) |
Allocate a memory block from a memory pool and set memory block to zero. More... | |
osStatus | osPoolFree (osPoolId pool_id, void *block) |
Return an allocated memory block back to a specific memory pool. More... | |
osMessageQId | osMessageCreate (const osMessageQDef_t *queue_def, osThreadId thread_id) |
Create and Initialize a Message Queue. More... | |
osStatus | osMessagePut (osMessageQId queue_id, uint32_t info, uint32_t millisec) |
Put a Message to a Queue. More... | |
osEvent | osMessageGet (osMessageQId queue_id, uint32_t millisec) |
Get a Message or Wait for a Message from a Queue. More... | |
osMailQId | osMailCreate (const osMailQDef_t *queue_def, osThreadId thread_id) |
Create and Initialize mail queue. More... | |
void * | osMailAlloc (osMailQId queue_id, uint32_t millisec) |
Allocate a memory block from a mail. More... | |
void * | osMailCAlloc (osMailQId queue_id, uint32_t millisec) |
Allocate a memory block from a mail and set memory block to zero. More... | |
osStatus | osMailPut (osMailQId queue_id, void *mail) |
Put a mail to a queue. More... | |
osEvent | osMailGet (osMailQId queue_id, uint32_t millisec) |
Get a mail from a queue. More... | |
osStatus | osMailFree (osMailQId queue_id, void *mail) |
Free a memory block from a mail. More... | |
void | osSystickHandler (void) |
Handles the tick increment. More... | |
osStatus | osThreadSuspend (osThreadId thread_id) |
Suspend execution of a thread. More... | |
osStatus | osThreadResume (osThreadId thread_id) |
Resume execution of a suspended thread. More... | |
osStatus | osThreadSuspendAll (void) |
Suspend execution of a all active threads. More... | |
osStatus | osThreadResumeAll (void) |
Resume execution of a all suspended threads. More... | |
osStatus | osDelayUntil (uint32_t *PreviousWakeTime, uint32_t millisec) |
Delay a task until a specified time. More... | |
osStatus | osThreadList (uint8_t *buffer) |
Lists all the current threads, along with their current state and stack usage high water mark. More... | |
osEvent | osMessagePeek (osMessageQId queue_id, uint32_t millisec) |
Receive an item from a queue without removing the item from the queue. More... | |
osMutexId | osRecursiveMutexCreate (const osMutexDef_t *mutex_def) |
Create and Initialize a Recursive Mutex. More... | |
osStatus | osRecursiveMutexRelease (osMutexId mutex_id) |
Release a Recursive Mutex. More... | |
osStatus | osRecursiveMutexWait (osMutexId mutex_id, uint32_t millisec) |
Release a Recursive Mutex. More... | |
Header of cmsis_os.c A new set of APIs are added in addition to existing ones, these APIs are specific to FreeRTOS.
Redistribution and use in source and binary forms, with or without modification, are permitted, provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Definition in file cmsis_os.h.
#define _CMSIS_OS_H |
Definition at line 204 of file cmsis_os.h.
#define osCMSIS 0x10002 |
API version (main [31:16] .sub [15:0])
Definition at line 207 of file cmsis_os.h.
#define osCMSIS_KERNEL 0x10000 |
RTOS identification and version (main [31:16] .sub [15:0])
Definition at line 210 of file cmsis_os.h.
#define osFeature_MailQ 1 |
Mail Queues: 1=available, 0=not available.
Definition at line 218 of file cmsis_os.h.
#define osFeature_MainThread 1 |
main thread 1=main can be thread, 0=not available
Definition at line 216 of file cmsis_os.h.
#define osFeature_MessageQ 1 |
Message Queues: 1=available, 0=not available.
Definition at line 219 of file cmsis_os.h.
#define osFeature_Pool 1 |
Memory Pools: 1=available, 0=not available.
Definition at line 217 of file cmsis_os.h.
#define osFeature_Semaphore 1 |
osFeature_Semaphore function: 1=available, 0=not available
Definition at line 221 of file cmsis_os.h.
#define osFeature_Signals 8 |
maximum number of Signal Flags available per thread
Definition at line 220 of file cmsis_os.h.
#define osFeature_SysTick 1 |
osKernelSysTick functions: 1=available, 0=not available
Definition at line 223 of file cmsis_os.h.
#define osFeature_Wait 0 |
osWait function: 1=available, 0=not available
Definition at line 222 of file cmsis_os.h.
#define osKernelSystemId "KERNEL V1.00" |
RTOS identification string.
Definition at line 213 of file cmsis_os.h.
#define osKernelSysTickFrequency (configTICK_RATE_HZ) |
The RTOS kernel system timer frequency in Hz
Definition at line 423 of file cmsis_os.h.
#define osKernelSysTickMicroSec | ( | microsec | ) | (((uint64_t)microsec * (osKernelSysTickFrequency)) / 1000000) |
Convert a microseconds value to a RTOS kernel system timer value.
microsec | time value in microseconds. |
Definition at line 428 of file cmsis_os.h.
#define osMailQ | ( | name | ) | &os_mailQ_def_##name |
Access a Mail Queue Definition.
name | name of the queue |
Definition at line 815 of file cmsis_os.h.
#define osMailQDef | ( | name, | |
queue_sz, | |||
type | |||
) |
Create a Mail Queue Definition.
name | name of the queue |
queue_sz | maximum number of messages in queue |
type | data type of a single message element |
Definition at line 805 of file cmsis_os.h.
#define osMessageQ | ( | name | ) | &os_messageQ_def_##name |
Access a Message Queue Definition.
name | name of the queue |
Definition at line 762 of file cmsis_os.h.
#define osMessageQDef | ( | name, | |
queue_sz, | |||
type | |||
) |
Create a Message Queue Definition.
name | name of the queue. |
queue_sz | maximum number of messages in the queue. |
type | data type of a single message element (for debugger). |
Definition at line 753 of file cmsis_os.h.
#define osMutex | ( | name | ) | &os_mutex_def_##name |
Access a Mutex definition.
name | name of the mutex object. |
Definition at line 604 of file cmsis_os.h.
#define osMutexDef | ( | name | ) | const osMutexDef_t os_mutex_def_##name = { 0 } |
Define a Mutex.
name | name of the mutex object. |
Definition at line 596 of file cmsis_os.h.
#define osPool | ( | name | ) | &os_pool_def_##name |
Access a Memory Pool definition.
name | name of the memory pool |
Definition at line 708 of file cmsis_os.h.
#define osPoolDef | ( | name, | |
no, | |||
type | |||
) |
Define a Memory Pool.
name | name of the memory pool. |
no | maximum number of blocks (objects) in the memory pool. |
type | data type of a single block (object). |
Definition at line 699 of file cmsis_os.h.
#define osSemaphore | ( | name | ) | &os_semaphore_def_##name |
Access a Semaphore definition.
name | name of the semaphore object. |
Definition at line 653 of file cmsis_os.h.
#define osSemaphoreDef | ( | name | ) | const osSemaphoreDef_t os_semaphore_def_##name = { 0 } |
Define a Semaphore object.
name | name of the semaphore object. |
Definition at line 645 of file cmsis_os.h.
#define osThread | ( | name | ) | &os_thread_def_##name |
Access a Thread definition.
name | name of the thread definition object. |
Definition at line 454 of file cmsis_os.h.
#define osThreadDef | ( | name, | |
thread, | |||
priority, | |||
instances, | |||
stacksz | |||
) |
Create a Thread Definition with function, priority, and stack requirements.
name | name of the thread function. |
priority | initial priority of the thread function. |
instances | number of possible thread instances. |
stacksz | stack size (in bytes) requirements for the thread function. |
Definition at line 445 of file cmsis_os.h.
#define osTimer | ( | name | ) | &os_timer_def_##name |
Access a Timer definition.
name | name of the timer object. |
Definition at line 531 of file cmsis_os.h.
#define osTimerDef | ( | name, | |
function | |||
) |
Define a Timer object.
name | name of the timer object. |
function | name of the timer call back function. |
Definition at line 522 of file cmsis_os.h.
#define osWaitForever 0xFFFFFFFF |
wait forever timeout value
Timeout value.
Definition at line 248 of file cmsis_os.h.
typedef void(* os_pthread) (void const *argument) |
Entry point of a thread.
Definition at line 291 of file cmsis_os.h.
typedef void(* os_ptimer) (void const *argument) |
Entry point of a timer call back function.
Definition at line 295 of file cmsis_os.h.
typedef struct os_mailQ_def osMailQDef_t |
Definition structure for mail queue.
typedef struct os_mailQ_cb* osMailQId |
Mail ID identifies the mail queue (pointer to a mail queue control block).
Definition at line 325 of file cmsis_os.h.
typedef struct os_messageQ_def osMessageQDef_t |
Definition structure for message queue.
typedef QueueHandle_t osMessageQId |
Message ID identifies the message queue (pointer to a message queue control block).
Definition at line 321 of file cmsis_os.h.
typedef struct os_mutex_def osMutexDef_t |
Mutex Definition structure contains setup information for a mutex.
typedef SemaphoreHandle_t osMutexId |
Mutex ID identifies the mutex (pointer to a mutex control block).
Definition at line 309 of file cmsis_os.h.
typedef struct os_pool_def osPoolDef_t |
Definition structure for memory block allocation.
typedef struct os_pool_cb* osPoolId |
Pool ID identifies the memory pool (pointer to a memory pool control block).
Definition at line 317 of file cmsis_os.h.
typedef struct os_semaphore_def osSemaphoreDef_t |
Semaphore Definition structure contains setup information for a semaphore.
typedef SemaphoreHandle_t osSemaphoreId |
Semaphore ID identifies the semaphore (pointer to a semaphore control block).
Definition at line 313 of file cmsis_os.h.
typedef struct os_thread_def osThreadDef_t |
Thread Definition structure contains startup information of a thread.
typedef TaskHandle_t osThreadId |
Thread ID identifies the thread (pointer to a thread control block).
Definition at line 301 of file cmsis_os.h.
typedef struct os_timer_def osTimerDef_t |
Timer Definition structure contains timer parameters.
typedef TimerHandle_t osTimerId |
Timer ID identifies the timer (pointer to a timer control block).
Definition at line 305 of file cmsis_os.h.
enum os_timer_type |
Timer type value for the timer definition.
Enumerator | |
---|---|
osTimerOnce |
one-shot timer |
osTimerPeriodic |
repeating timer |
Definition at line 284 of file cmsis_os.h.
enum osPriority |
Priority used for thread control.
Definition at line 235 of file cmsis_os.h.
enum osStatus |
Status code values returned by CMSIS-RTOS functions.
Definition at line 252 of file cmsis_os.h.
osStatus osDelay | ( | uint32_t | millisec | ) |
Wait for Timeout (Time Delay)
Wait for Timeout (Time Delay).
[in] | millisec | time delay value |
millisec | time delay value |
status | code that indicates the execution status of the function. |
Definition at line 305 of file cmsis_os.c.
osStatus osDelayUntil | ( | uint32_t * | PreviousWakeTime, |
uint32_t | millisec | ||
) |
Delay a task until a specified time.
PreviousWakeTime | Pointer to a variable that holds the time at which the task was last unblocked. PreviousWakeTime must be initialised with the current time prior to its first use (PreviousWakeTime = osKernelSysTick() ) |
millisec | time delay value |
status | code that indicates the execution status of the function. |
Definition at line 1377 of file cmsis_os.c.
osStatus osKernelInitialize | ( | void | ) |
Initialize the RTOS Kernel for creating objects.
int32_t osKernelRunning | ( | void | ) |
Check if the RTOS kernel is already started.
Check if the RTOS kernel is already started.
None |
(0) | RTOS is not started (1) RTOS is started (-1) if this feature is disabled in FreeRTOSConfig.h |
Definition at line 167 of file cmsis_os.c.
osStatus osKernelStart | ( | void | ) |
Start the RTOS Kernel with executing the specified thread.
Start the RTOS Kernel.
thread_def | thread definition referenced with osThread. |
argument | pointer that is passed to the thread function as start argument. |
status | code that indicates the execution status of the function |
Definition at line 152 of file cmsis_os.c.
uint32_t osKernelSysTick | ( | void | ) |
Get the value of the Kernel SysTick timer.
Get the RTOS kernel system timer counter
None |
None |
Definition at line 186 of file cmsis_os.c.
void* osMailAlloc | ( | osMailQId | queue_id, |
uint32_t | millisec | ||
) |
Allocate a memory block from a mail.
Allocate a memory block from a mail.
[in] | queue_id | mail queue ID obtained with osMailCreate. |
[in] | millisec | timeout value or 0 in case of no time-out |
queue_id | mail queue ID obtained with osMailCreate. |
millisec | timeout value or 0 in case of no time-out. |
pointer | to memory block that can be filled with mail or NULL in case error. |
Definition at line 1091 of file cmsis_os.c.
void* osMailCAlloc | ( | osMailQId | queue_id, |
uint32_t | millisec | ||
) |
Allocate a memory block from a mail and set memory block to zero.
Allocate a memory block from a mail and set memory block to zero.
[in] | queue_id | mail queue ID obtained with osMailCreate. |
[in] | millisec | timeout value or 0 in case of no time-out |
queue_id | mail queue ID obtained with osMailCreate. |
millisec | timeout value or 0 in case of no time-out. |
pointer | to memory block that can be filled with mail or NULL in case error. |
Definition at line 1113 of file cmsis_os.c.
osMailQId osMailCreate | ( | const osMailQDef_t * | queue_def, |
osThreadId | thread_id | ||
) |
Create and Initialize mail queue.
Create and Initialize mail queue.
[in] | queue_def | reference to the mail queue definition obtain with osMailQ |
[in] | thread_id | thread ID (obtained by osThreadCreate or osThreadGetId) or NULL. |
queue_def | reference to the mail queue definition obtain with osMailQ |
thread_id | thread ID (obtained by osThreadCreate or osThreadGetId) or NULL. |
queue ID for reference by other functions or NULL in case of error. |
Definition at line 1052 of file cmsis_os.c.
Free a memory block from a mail.
Free a memory block from a mail.
[in] | queue_id | mail queue ID obtained with osMailCreate. |
[in] | pointer to the memory block that was obtained with osMailGet. |
queue_id | mail queue ID obtained with osMailCreate. |
pointer to the memory block that was obtained with osMailGet. |
status | code that indicates the execution status of the function. |
Definition at line 1223 of file cmsis_os.c.
Get a mail from a queue.
Get a mail from a queue.
[in] | queue_id | mail queue ID obtained with osMailCreate. |
[in] | millisec | timeout value or 0 in case of no time-out |
queue_id | mail queue ID obtained with osMailCreate. |
millisec | timeout value or 0 in case of no time-out |
event | that contains mail information or error code. |
Definition at line 1167 of file cmsis_os.c.
Put a mail to a queue.
Put a mail to a queue.
[in] | queue_id | mail queue ID obtained with osMailCreate. |
[in] | memory block previously allocated with osMailAlloc or osMailCAlloc. |
queue_id | mail queue ID obtained with osMailCreate. |
memory block previously allocated with osMailAlloc or osMailCAlloc. |
status | code that indicates the execution status of the function. |
Definition at line 1134 of file cmsis_os.c.
osMessageQId osMessageCreate | ( | const osMessageQDef_t * | queue_def, |
osThreadId | thread_id | ||
) |
Create and Initialize a Message Queue.
Create and Initialize a Message Queue.
[in] | queue_def | queue definition referenced with osMessageQ. |
[in] | thread_id | thread ID (obtained by osThreadCreate or osThreadGetId) or NULL. |
queue_def | queue definition referenced with osMessageQ. |
thread_id | thread ID (obtained by osThreadCreate or osThreadGetId) or NULL. |
message | queue ID for reference by other functions or NULL in case of error. |
Definition at line 936 of file cmsis_os.c.
osEvent osMessageGet | ( | osMessageQId | queue_id, |
uint32_t | millisec | ||
) |
Get a Message or Wait for a Message from a Queue.
Get a Message or Wait for a Message from a Queue.
[in] | queue_id | message queue ID obtained with osMessageCreate. |
[in] | millisec | timeout value or 0 in case of no time-out. |
queue_id | message queue ID obtained with osMessageCreate. |
millisec | timeout value or 0 in case of no time-out. |
event | information that includes status code. |
Definition at line 983 of file cmsis_os.c.
osEvent osMessagePeek | ( | osMessageQId | queue_id, |
uint32_t | millisec | ||
) |
Receive an item from a queue without removing the item from the queue.
queue_id | message queue ID obtained with osMessageCreate. |
millisec | timeout value or 0 in case of no time-out. |
event | information that includes status code. |
Definition at line 1413 of file cmsis_os.c.
osStatus osMessagePut | ( | osMessageQId | queue_id, |
uint32_t | info, | ||
uint32_t | millisec | ||
) |
Put a Message to a Queue.
Put a Message to a Queue.
[in] | queue_id | message queue ID obtained with osMessageCreate. |
[in] | info | message information. |
[in] | millisec | timeout value or 0 in case of no time-out. |
queue_id | message queue ID obtained with osMessageCreate. |
info | message information. |
millisec | timeout value or 0 in case of no time-out. |
status | code that indicates the execution status of the function. |
Definition at line 951 of file cmsis_os.c.
osMutexId osMutexCreate | ( | const osMutexDef_t * | mutex_def | ) |
Create and Initialize a Mutex object.
Create and Initialize a Mutex object.
[in] | mutex_def | mutex definition referenced with osMutex. |
mutex_def | mutex definition referenced with osMutex. |
mutex | ID for reference by other functions or NULL in case of error. |
Definition at line 554 of file cmsis_os.c.
Delete a Mutex.
Delete a Mutex that was created by osMutexCreate.
[in] | mutex_id | mutex ID obtained by osMutexCreate. |
mutex_id | mutex ID obtained by osMutexCreate. |
status | code that indicates the execution status of the function. |
Definition at line 634 of file cmsis_os.c.
Release a Mutex that was obtained by osMutexWait.
Release a Mutex that was obtained by osMutexWait.
[in] | mutex_id | mutex ID obtained by osMutexCreate. |
mutex_id | mutex ID obtained by osMutexCreate. |
status | code that indicates the execution status of the function. |
Definition at line 610 of file cmsis_os.c.
Wait until a Mutex becomes available.
Wait until a Mutex becomes available.
[in] | mutex_id | mutex ID obtained by osMutexCreate. |
[in] | millisec | timeout value or 0 in case of no time-out. |
mutex_id | mutex ID obtained by osMutexCreate. |
millisec | timeout value or 0 in case of no time-out. |
status | code that indicates the execution status of the function. |
Definition at line 570 of file cmsis_os.c.
void* osPoolAlloc | ( | osPoolId | pool_id | ) |
Allocate a memory block from a memory pool.
Allocate a memory block from a memory pool.
[in] | pool_id | memory pool ID obtain referenced with osPoolCreate. |
pool_id | memory pool ID obtain referenced with osPoolCreate. |
address | of the allocated memory block or NULL in case of no memory available. |
Definition at line 829 of file cmsis_os.c.
void* osPoolCAlloc | ( | osPoolId | pool_id | ) |
Allocate a memory block from a memory pool and set memory block to zero.
Allocate a memory block from a memory pool and set memory block to zero.
[in] | pool_id | memory pool ID obtain referenced with osPoolCreate. |
pool_id | memory pool ID obtain referenced with osPoolCreate. |
address | of the allocated memory block or NULL in case of no memory available. |
Definition at line 873 of file cmsis_os.c.
osPoolId osPoolCreate | ( | const osPoolDef_t * | pool_def | ) |
Create and Initialize a memory pool.
Create and Initialize a memory pool.
[in] | pool_def | memory pool definition referenced with osPool. |
pool_def | memory pool definition referenced with osPool. |
memory | pool ID for reference by other functions or NULL in case of error. |
Definition at line 784 of file cmsis_os.c.
Return an allocated memory block back to a specific memory pool.
Return an allocated memory block back to a specific memory pool.
[in] | pool_id | memory pool ID obtain referenced with osPoolCreate. |
[in] | block | address of the allocated memory block that is returned to the memory pool. |
pool_id | memory pool ID obtain referenced with osPoolCreate. |
block | address of the allocated memory block that is returned to the memory pool. |
status | code that indicates the execution status of the function. |
Definition at line 892 of file cmsis_os.c.
osMutexId osRecursiveMutexCreate | ( | const osMutexDef_t * | mutex_def | ) |
Create and Initialize a Recursive Mutex.
mutex_def | mutex definition referenced with osMutex. |
mutex | ID for reference by other functions or NULL in case of error.. |
Definition at line 1454 of file cmsis_os.c.
Release a Recursive Mutex.
mutex_id | mutex ID obtained by osRecursiveMutexCreate. |
status | code that indicates the execution status of the function. |
Definition at line 1469 of file cmsis_os.c.
Release a Recursive Mutex.
mutex_id | mutex ID obtained by osRecursiveMutexCreate. |
millisec | timeout value or 0 in case of no time-out. |
status | code that indicates the execution status of the function. |
Definition at line 1490 of file cmsis_os.c.
osSemaphoreId osSemaphoreCreate | ( | const osSemaphoreDef_t * | semaphore_def, |
int32_t | count | ||
) |
Create and Initialize a Semaphore object used for managing resources.
Create and Initialize a Semaphore object used for managing resources.
[in] | semaphore_def | semaphore definition referenced with osSemaphore. |
[in] | count | number of available resources. |
semaphore_def | semaphore definition referenced with osSemaphore. |
count | number of available resources. |
semaphore | ID for reference by other functions or NULL in case of error. |
Definition at line 656 of file cmsis_os.c.
osStatus osSemaphoreDelete | ( | osSemaphoreId | semaphore_id | ) |
Delete a Semaphore.
Delete a Semaphore that was created by osSemaphoreCreate.
[in] | semaphore_id | semaphore object referenced with osSemaphoreCreate. |
semaphore_id | semaphore object referenced with osSemaphore. |
status | code that indicates the execution status of the function. |
Definition at line 747 of file cmsis_os.c.
osStatus osSemaphoreRelease | ( | osSemaphoreId | semaphore_id | ) |
Release a Semaphore token.
Release a Semaphore token.
[in] | semaphore_id | semaphore object referenced with osSemaphoreCreate. |
semaphore_id | semaphore object referenced with osSemaphore. |
status | code that indicates the execution status of the function. |
Definition at line 720 of file cmsis_os.c.
int32_t osSemaphoreWait | ( | osSemaphoreId | semaphore_id, |
uint32_t | millisec | ||
) |
Wait until a Semaphore token becomes available.
Wait until a Semaphore token becomes available.
[in] | semaphore_id | semaphore object referenced with osSemaphoreCreate. |
[in] | millisec | timeout value or 0 in case of no time-out. |
semaphore_id | semaphore object referenced with osSemaphore. |
millisec | timeout value or 0 in case of no time-out. |
number | of available tokens, or -1 in case of incorrect parameters. |
Definition at line 680 of file cmsis_os.c.
int32_t osSignalClear | ( | osThreadId | thread_id, |
int32_t | signals | ||
) |
Clear the specified Signal Flags of an active thread.
[in] | thread_id | thread ID obtained by osThreadCreate or osThreadGetId. |
[in] | signals | specifies the signal flags of the thread that shall be cleared. |
int32_t osSignalSet | ( | osThreadId | thread_id, |
int32_t | signal | ||
) |
Set the specified Signal Flags of an active thread.
Set the specified Signal Flags of an active thread.
[in] | thread_id | thread ID obtained by osThreadCreate or osThreadGetId. |
[in] | signals | specifies the signal flags of the thread that should be set. |
thread_id | thread ID obtained by osThreadCreate or osThreadGetId. |
signals | specifies the signal flags of the thread that should be set. |
osOK | if successful, osErrorOS if failed . |
Definition at line 458 of file cmsis_os.c.
osEvent osSignalWait | ( | int32_t | signals, |
uint32_t | millisec | ||
) |
Wait for one or more Signal Flags to become signaled for the current RUNNING thread.
Wait for one or more Signal Flags to become signaled for the current RUNNING thread.
[in] | signals | wait until all specified signal flags set or 0 for any single signal flag. |
[in] | millisec | timeout value or 0 in case of no time-out. |
signals | wait until all specified signal flags set or 0 for any single signal flag. |
millisec | timeout value or 0 in case of no time-out. |
event | flag information or error code. |
Definition at line 500 of file cmsis_os.c.
void osSystickHandler | ( | void | ) |
Handles the tick increment.
none. |
none. |
Definition at line 1239 of file cmsis_os.c.
osThreadId osThreadCreate | ( | const osThreadDef_t * | thread_def, |
void * | argument | ||
) |
Create a thread and add it to Active Threads and set it to state READY.
Create a thread and add it to Active Threads and set it to state READY.
[in] | thread_def | thread definition referenced with osThread. |
[in] | argument | pointer that is passed to the thread function as start argument. |
thread_def | thread definition referenced with osThread. |
argument | pointer that is passed to the thread function as start argument. |
thread | ID for reference by other functions or NULL in case of error. |
Definition at line 204 of file cmsis_os.c.
osThreadId osThreadGetId | ( | void | ) |
Return the thread ID of the current running thread.
Return the thread ID of the current running thread.
thread | ID for reference by other functions or NULL in case of error. |
Definition at line 223 of file cmsis_os.c.
osPriority osThreadGetPriority | ( | osThreadId | thread_id | ) |
Get current priority of an active thread.
Get current priority of an active thread.
[in] | thread_id | thread ID obtained by osThreadCreate or osThreadGetId. |
thread_id | thread ID obtained by osThreadCreate or osThreadGetId. |
current | priority value of the thread function. |
Definition at line 283 of file cmsis_os.c.
osStatus osThreadList | ( | uint8_t * | buffer | ) |
Lists all the current threads, along with their current state and stack usage high water mark.
buffer | A buffer into which the above mentioned details will be written |
status | code that indicates the execution status of the function. |
Definition at line 1399 of file cmsis_os.c.
osStatus osThreadResume | ( | osThreadId | thread_id | ) |
Resume execution of a suspended thread.
thread_id | thread ID obtained by osThreadCreate or osThreadGetId. |
status | code that indicates the execution status of the function. |
Definition at line 1325 of file cmsis_os.c.
osStatus osThreadResumeAll | ( | void | ) |
Resume execution of a all suspended threads.
status | code that indicates the execution status of the function. |
Definition at line 1360 of file cmsis_os.c.
osStatus osThreadSetPriority | ( | osThreadId | thread_id, |
osPriority | priority | ||
) |
Change priority of an active thread.
Change priority of an active thread.
[in] | thread_id | thread ID obtained by osThreadCreate or osThreadGetId. |
[in] | priority | new priority value for the thread function. |
thread_id | thread ID obtained by osThreadCreate or osThreadGetId. |
priority | new priority value for the thread function. |
status | code that indicates the execution status of the function. |
Definition at line 267 of file cmsis_os.c.
osStatus osThreadSuspend | ( | osThreadId | thread_id | ) |
Suspend execution of a thread.
thread_id | thread ID obtained by osThreadCreate or osThreadGetId. |
status | code that indicates the execution status of the function. |
Definition at line 1309 of file cmsis_os.c.
osStatus osThreadSuspendAll | ( | void | ) |
Suspend execution of a all active threads.
status | code that indicates the execution status of the function. |
Definition at line 1349 of file cmsis_os.c.
osStatus osThreadTerminate | ( | osThreadId | thread_id | ) |
Terminate execution of a thread and remove it from Active Threads.
Terminate execution of a thread and remove it from Active Threads.
[in] | thread_id | thread ID obtained by osThreadCreate or osThreadGetId. |
thread_id | thread ID obtained by osThreadCreate or osThreadGetId. |
status | code that indicates the execution status of the function. |
Definition at line 238 of file cmsis_os.c.
osStatus osThreadYield | ( | void | ) |
Pass control to next thread that is in state READY.
Pass control to next thread that is in state READY.
status | code that indicates the execution status of the function. |
Definition at line 253 of file cmsis_os.c.
osTimerId osTimerCreate | ( | const osTimerDef_t * | timer_def, |
os_timer_type | type, | ||
void * | argument | ||
) |
Create a timer.
Create a timer.
[in] | timer_def | timer object referenced with osTimer. |
[in] | type | osTimerOnce for one-shot or osTimerPeriodic for periodic behavior. |
[in] | argument | argument to the timer call back function. |
timer_def | timer object referenced with osTimer. |
type | osTimerOnce for one-shot or osTimerPeriodic for periodic behavior. |
argument | argument to the timer call back function. |
timer | ID for reference by other functions or NULL in case of error. |
Definition at line 340 of file cmsis_os.c.
Delete a timer.
Delete a timer that was created by osTimerCreate.
[in] | timer_id | timer ID obtained by osTimerCreate. |
timer_id | timer ID obtained by osTimerCreate |
status | code that indicates the execution status of the function. |
Definition at line 428 of file cmsis_os.c.
Start or restart a timer.
Start or restart a timer.
[in] | timer_id | timer ID obtained by osTimerCreate. |
[in] | millisec | time delay value of the timer. |
timer_id | timer ID obtained by osTimerCreate. |
millisec | time delay value of the timer. |
status | code that indicates the execution status of the function |
Definition at line 360 of file cmsis_os.c.
Stop a timer.
Stop the timer.
[in] | timer_id | timer ID obtained by osTimerCreate. |
timer_id | timer ID obtained by osTimerCreate |
status | code that indicates the execution status of the function. |
Definition at line 399 of file cmsis_os.c.