Lines Matching +full:current +full:- +full:reference +full:- +full:control

1 /* ----------------------------------------------------------------------
5 * Project: CMSIS-RTOS API
17 * - const attribute removed from the osXxxxDef_t typedef's
18 * - const attribute added to the osXxxxDef macros
22 * Control functions for short timeouts in microsecond resolution:
25 *----------------------------------------------------------------------------
27 * Copyright (c) 2013-2017 ARM LIMITED
29 * SPDX-License-Identifier: Apache-2.0
35 * www.apache.org/licenses/LICENSE-2.0
42 *---------------------------------------------------------------------------*/
48 /// \note MUST REMAIN UNCHANGED: \b osCMSIS identifies the CMSIS-RTOS API version.
54 /// \note MUST REMAIN UNCHANGED: \b osKernelSystemId shall be consistent in every CMSIS-RTOS.
57 /// \note MUST REMAIN UNCHANGED: \b osFeature_xxx shall be consistent in every CMSIS-RTOS.
80 /// Priority used for thread control.
81 /// \note MUST REMAIN UNCHANGED: \b osPriority shall be consistent in every CMSIS-RTOS.
83 osPriorityIdle = -3, ///< priority: idle (lowest)
84 osPriorityLow = -2, ///< priority: low
85 osPriorityBelowNormal = -1, ///< priority: below normal
94 /// \note MUST REMAIN UNCHANGED: \b osWaitForever shall be consistent in every CMSIS-RTOS.
97 /// Status code values returned by CMSIS-RTOS functions.
98 /// \note MUST REMAIN UNCHANGED: \b osStatus shall be consistent in every CMSIS-RTOS.
113 …osErrorOS = 0xFF, ///< unspecified RTOS error: run-time error but no other er…
114 os_status_reserved = 0x7FFFFFFF ///< prevent from enum down-size compiler optimization.
119 /// \note MUST REMAIN UNCHANGED: \b os_timer_type shall be consistent in every CMSIS-RTOS.
121 osTimerOnce = 0, ///< one-shot timer
126 /// \note MUST REMAIN UNCHANGED: \b os_pthread shall be consistent in every CMSIS-RTOS.
130 /// \note MUST REMAIN UNCHANGED: \b os_ptimer shall be consistent in every CMSIS-RTOS.
135 /// Thread ID identifies the thread (pointer to a thread control block).
136 /// \note CAN BE CHANGED: \b os_thread_cb is implementation specific in every CMSIS-RTOS.
139 /// Timer ID identifies the timer (pointer to a timer control block).
140 /// \note CAN BE CHANGED: \b os_timer_cb is implementation specific in every CMSIS-RTOS.
143 /// Mutex ID identifies the mutex (pointer to a mutex control block).
144 /// \note CAN BE CHANGED: \b os_mutex_cb is implementation specific in every CMSIS-RTOS.
147 /// Semaphore ID identifies the semaphore (pointer to a semaphore control block).
148 /// \note CAN BE CHANGED: \b os_semaphore_cb is implementation specific in every CMSIS-RTOS.
151 /// Pool ID identifies the memory pool (pointer to a memory pool control block).
152 /// \note CAN BE CHANGED: \b os_pool_cb is implementation specific in every CMSIS-RTOS.
155 /// Message ID identifies the message queue (pointer to a message queue control block).
156 /// \note CAN BE CHANGED: \b os_messageQ_cb is implementation specific in every CMSIS-RTOS.
159 /// Mail ID identifies the mail queue (pointer to a mail queue control block).
160 /// \note CAN BE CHANGED: \b os_mailQ_cb is implementation specific in every CMSIS-RTOS.
165 /// \note CAN BE CHANGED: \b os_thread_def is implementation specific in every CMSIS-RTOS.
181 /// \note CAN BE CHANGED: \b os_timer_def is implementation specific in every CMSIS-RTOS.
187 /// \note CAN BE CHANGED: \b os_mutex_def is implementation specific in every CMSIS-RTOS.
193 /// \note CAN BE CHANGED: \b os_semaphore_def is implementation specific in every CMSIS-RTOS.
199 /// \note CAN BE CHANGED: \b os_pool_def is implementation specific in every CMSIS-RTOS.
207 /// \note CAN BE CHANGED: \b os_messageQ_def is implementation specific in every CMSIS-RTOS.
216 /// \note CAN BE CHANGED: \b os_mailQ_def is implementation specific in every CMSIS-RTOS.
225 /// \note MUST REMAIN UNCHANGED: \b os_event shall be consistent in every CMSIS-RTOS.
230 uint32_t v; ///< message as 32-bit value
241 // ==== Kernel Control Functions ====
245 /// \note MUST REMAIN UNCHANGED: \b osKernelInitialize shall be consistent in every CMSIS-RTOS.
250 /// \note MUST REMAIN UNCHANGED: \b osKernelStart shall be consistent in every CMSIS-RTOS.
254 /// \note MUST REMAIN UNCHANGED: \b osKernelRunning shall be consistent in every CMSIS-RTOS.
261 /// \note MUST REMAIN UNCHANGED: \b osKernelSysTick shall be consistent in every CMSIS-RTOS.
262 /// \return RTOS kernel system timer as 32-bit value
284 /// macro body is implementation specific in every CMSIS-RTOS.
304 /// macro body is implementation specific in every CMSIS-RTOS.
311 /// \return thread ID for reference by other functions or NULL in case of error.
312 /// \note MUST REMAIN UNCHANGED: \b osThreadCreate shall be consistent in every CMSIS-RTOS.
315 /// Return the thread ID of the current running thread.
316 /// \return thread ID for reference by other functions or NULL in case of error.
317 /// \note MUST REMAIN UNCHANGED: \b osThreadGetId shall be consistent in every CMSIS-RTOS.
323 /// \note MUST REMAIN UNCHANGED: \b osThreadTerminate shall be consistent in every CMSIS-RTOS.
326 /// Pass control to next thread that is in state \b READY.
328 /// \note MUST REMAIN UNCHANGED: \b osThreadYield shall be consistent in every CMSIS-RTOS.
335 /// \note MUST REMAIN UNCHANGED: \b osThreadSetPriority shall be consistent in every CMSIS-RTOS.
338 /// Get current priority of an active thread.
340 /// \return current priority value of the thread function.
341 /// \note MUST REMAIN UNCHANGED: \b osThreadGetPriority shall be consistent in every CMSIS-RTOS.
355 /// \param[in] millisec \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out
357 /// \note MUST REMAIN UNCHANGED: \b osWait shall be consistent in every CMSIS-RTOS.
368 /// macro body is implementation specific in every CMSIS-RTOS.
381 /// macro body is implementation specific in every CMSIS-RTOS.
387 /// \param[in] type osTimerOnce for one-shot or osTimerPeriodic for periodic behavior.
389 /// \return timer ID for reference by other functions or NULL in case of error.
390 /// \note MUST REMAIN UNCHANGED: \b osTimerCreate shall be consistent in every CMSIS-RTOS.
397 /// \note MUST REMAIN UNCHANGED: \b osTimerStart shall be consistent in every CMSIS-RTOS.
403 /// \note MUST REMAIN UNCHANGED: \b osTimerStop shall be consistent in every CMSIS-RTOS.
409 /// \note MUST REMAIN UNCHANGED: \b osTimerDelete shall be consistent in every CMSIS-RTOS.
419 /// \note MUST REMAIN UNCHANGED: \b osSignalSet shall be consistent in every CMSIS-RTOS.
426 /// \note MUST REMAIN UNCHANGED: \b osSignalClear shall be consistent in every CMSIS-RTOS.
429 /// Wait for one or more Signal Flags to become signaled for the current \b RUNNING thread.
431 /// \param[in] millisec \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out.
433 /// \note MUST REMAIN UNCHANGED: \b osSignalWait shall be consistent in every CMSIS-RTOS.
442 /// macro body is implementation specific in every CMSIS-RTOS.
454 /// macro body is implementation specific in every CMSIS-RTOS.
460 /// \return mutex ID for reference by other functions or NULL in case of error.
461 /// \note MUST REMAIN UNCHANGED: \b osMutexCreate shall be consistent in every CMSIS-RTOS.
466 /// \param[in] millisec \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out.
468 /// \note MUST REMAIN UNCHANGED: \b osMutexWait shall be consistent in every CMSIS-RTOS.
474 /// \note MUST REMAIN UNCHANGED: \b osMutexRelease shall be consistent in every CMSIS-RTOS.
480 /// \note MUST REMAIN UNCHANGED: \b osMutexDelete shall be consistent in every CMSIS-RTOS.
491 /// macro body is implementation specific in every CMSIS-RTOS.
503 /// macro body is implementation specific in every CMSIS-RTOS.
510 /// \return semaphore ID for reference by other functions or NULL in case of error.
511 /// \note MUST REMAIN UNCHANGED: \b osSemaphoreCreate shall be consistent in every CMSIS-RTOS.
516 /// \param[in] millisec \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out.
517 /// \return number of available tokens, or -1 in case of incorrect parameters.
518 /// \note MUST REMAIN UNCHANGED: \b osSemaphoreWait shall be consistent in every CMSIS-RTOS.
524 /// \note MUST REMAIN UNCHANGED: \b osSemaphoreRelease shall be consistent in every CMSIS-RTOS.
530 /// \note MUST REMAIN UNCHANGED: \b osSemaphoreDelete shall be consistent in every CMSIS-RTOS.
545 /// macro body is implementation specific in every CMSIS-RTOS.
559 /// macro body is implementation specific in every CMSIS-RTOS.
565 /// \return memory pool ID for reference by other functions or NULL in case of error.
566 /// \note MUST REMAIN UNCHANGED: \b osPoolCreate shall be consistent in every CMSIS-RTOS.
572 /// \note MUST REMAIN UNCHANGED: \b osPoolAlloc shall be consistent in every CMSIS-RTOS.
578 /// \note MUST REMAIN UNCHANGED: \b osPoolCAlloc shall be consistent in every CMSIS-RTOS.
585 /// \note MUST REMAIN UNCHANGED: \b osPoolFree shall be consistent in every CMSIS-RTOS.
600 /// macro body is implementation specific in every CMSIS-RTOS.
615 /// macro body is implementation specific in every CMSIS-RTOS.
622 /// \return message queue ID for reference by other functions or NULL in case of error.
623 /// \note MUST REMAIN UNCHANGED: \b osMessageCreate shall be consistent in every CMSIS-RTOS.
629 /// \param[in] millisec \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out.
631 /// \note MUST REMAIN UNCHANGED: \b osMessagePut shall be consistent in every CMSIS-RTOS.
636 /// \param[in] millisec \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out.
638 /// \note MUST REMAIN UNCHANGED: \b osMessageGet shall be consistent in every CMSIS-RTOS.
653 /// macro body is implementation specific in every CMSIS-RTOS.
668 /// macro body is implementation specific in every CMSIS-RTOS.
673 /// \param[in] queue_def reference to the mail queue definition obtain with \ref osMailQ
675 /// \return mail queue ID for reference by other functions or NULL in case of error.
676 /// \note MUST REMAIN UNCHANGED: \b osMailCreate shall be consistent in every CMSIS-RTOS.
681 /// \param[in] millisec \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out
683 /// \note MUST REMAIN UNCHANGED: \b osMailAlloc shall be consistent in every CMSIS-RTOS.
688 /// \param[in] millisec \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out
690 /// \note MUST REMAIN UNCHANGED: \b osMailCAlloc shall be consistent in every CMSIS-RTOS.
697 /// \note MUST REMAIN UNCHANGED: \b osMailPut shall be consistent in every CMSIS-RTOS.
702 /// \param[in] millisec \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out
704 /// \note MUST REMAIN UNCHANGED: \b osMailGet shall be consistent in every CMSIS-RTOS.
711 /// \note MUST REMAIN UNCHANGED: \b osMailFree shall be consistent in every CMSIS-RTOS.