]> begriffs open source - cmsis/blob - CMSIS/DoxyGen/RTOS2/src/rtx_evr.txt
RTX5: Add Thread Entry wrapper to be compatible with GDB stack unwind (#1559)
[cmsis] / CMSIS / DoxyGen / RTOS2 / src / rtx_evr.txt
1 /** 
2 \defgroup rtx_evr Event functions
3 \ingroup rtx5_specific 
4 \brief RTX5 Event Recorder functions
5 \details
6 RTX5 interfaces to the <a href="https://www.keil.com/pack/doc/compiler/EventRecorder/html/index.html" target="_blank"><b>Event Recorder</b></a> 
7 to provide event information which helps you to understand and analyze the operation.
8
9 To use the Event Recorder together with RTX5, it is required to create an image that generates event information. 
10 The steps are described under \ref cre_rtx_proj_er.
11
12 @{
13 */
14
15 /**
16 \defgroup rtx_evr_memory Memory Functions
17 \brief Events generated memory functions 
18 \details
19 @{
20 */
21
22 /**
23 \fn void EvrRtxMemoryInit (void *mem, uint32_t size, uint32_t result)
24 \details
25 The event \b MemoryInit is generated when initialization of a variable size memory block completes.
26
27 \b Value in the Event Recorder shows:
28   - \b mem : memory address of memory pool.
29   - \b size : size of a memory pool in bytes.
30   - \b result : execution status: 1 - success, 0 - failure.
31 */
32
33 /**
34 \fn void EvrRtxMemoryAlloc (void *mem, uint32_t size, uint32_t type, void *block)
35 \details
36 The event \b MemoryAlloc is generated when allocation of a variable size memory block completes.
37
38 \b Value in the Event Recorder shows:
39   - \b mem : memory address of memory pool.
40   - \b size : size of a memory block in bytes.
41   - \b type : memory block type: 0 - generic, 1 - control block
42   - \b block : memory address of allocated memory block or 0 in case of no memory is available.
43 */
44
45 /**
46 \fn void EvrRtxMemoryFree (void *mem, void *block, uint32_t result)
47 \details
48 The event \b MemoryFree is generated when deallocation of a variable size memory block completes.
49
50 \b Value in the Event Recorder shows:
51   - \b mem : memory address of memory pool.
52   - \b block : memory address of block to be returned to the memory pool.
53   - \b result : execution status: 1 - success, 0 - failure.
54 */
55
56 /**
57 \fn void EvrRtxMemoryBlockInit (osRtxMpInfo_t *mp_info, uint32_t block_count, uint32_t block_size, void *block_mem)
58 \details
59 The event \b MemoryBlockInit is generated when initialization of a fixed size memory block completes.
60
61 \b Value in the Event Recorder shows:
62   - \b mp_info : memory address of memory pool info.
63   - \b block_count : maximum number of memory blocks in memory pool.
64   - \b block_size : size of a memory block in bytes.
65   - \b block_mem : memory address of memory for block storage.
66 */
67
68 /**
69 \fn void EvrRtxMemoryBlockAlloc (osRtxMpInfo_t *mp_info, void *block)
70 \details
71 The event \b MemoryBlockAlloc is generated when allocation of a fixed size memory block completes.
72
73 \b Value in the Event Recorder shows:
74   - \b mp_info : memory address of memory pool info.
75   - \b block : memory address of the allocated memory block or 0 in case of no memory is available.
76 */
77
78 /**
79 \fn void EvrRtxMemoryBlockFree (osRtxMpInfo_t *mp_info, void *block, int32_t status)
80 \details
81 The event \b MemoryBlockFree is generated when deallocation of a fixed size memory block completes.
82
83 \b Value in the Event Recorder shows:
84   - \b mp_info : memory address of memory pool info.
85   - \b block : memory address of the allocated memory block to be returned to the memory pool.
86   - \b status : execution status \ref osStatus_t
87 */
88
89 /**
90 @}
91 */
92
93 /**
94 \defgroup rtx_evr_kernel Kernel Functions
95 \brief Events generated by kernel functions 
96 \details
97 @{
98 */
99
100 /**
101 \fn void EvrRtxKernelError (int32_t status)
102 \details
103 The event \b KernelError is generated when \ref CMSIS_RTOS_KernelCtrl routines complete their execution due to an error.
104
105 The status parameter indicates the execution status and can be one of the \ref osStatus_t "osStatus_t codes" or one
106 of the extended execution status codes which are summarized in the table below.
107
108 |      Extended Status Code     | Description |
109 |:------------------------------|:------------|
110 | osRtxErrorKernelNotReady      | Kernel scheduler is not in Ready state. |
111 | osRtxErrorKernelNotRunning    | Kernel scheduler is not executing - there is no running thread. |
112 | osRtxErrorInvalidControlBlock | Object control block with invalid alignment or size was specified. |
113 | osRtxErrorInvalidDataMemory   | Object data memory with invalid alignment or size was specified. |
114 | osRtxErrorInvalidThreadStack  | Thread stack memory with invalid alignment or size was specified. |
115 | osRtxErrorInvalidPriority     | Invalid thread priority was specified. |
116 | osRtxErrorThreadNotJoinable   | Specified thread is not joinable. |
117 | osRtxErrorMutexNotOwned       | Specified mutex is not owned by the current running thread. |
118 | osRtxErrorMutexNotLocked      | Specified mutex is not locked. |
119 | osRtxErrorMutexLockLimit      | Maximum number of recursive mutex locks reached. |
120 | osRtxErrorSemaphoreCountLimit | Semaphore count limit reached. |
121 | osRtxErrorTZ_InitContext_S    | Secure context memory system initialization failed. |
122 | osRtxErrorTZ_AllocContext_S   | Secure context memory allocation failed. |
123 | osRtxErrorTZ_FreeContext_S    | Secure context memory deallocation failed. |
124 | osRtxErrorTZ_LoadContext_S    | Secure context load failed. |
125 | osRtxErrorTZ_SaveContext_S    | Secure context save failed. |
126
127 \b Value in the Event Recorder shows:
128   - \b status : execution status code.
129 */
130
131 /**
132 \fn void EvrRtxKernelInitialize (void)
133 \details
134 The event \b KernelInitialize is generated when the function \ref osKernelInitialize is called.
135 */
136
137 /**
138 \fn void EvrRtxKernelInitialized (void)
139 \details
140 The event \b KernelInitialized is generated when the function \ref osKernelInitialize successfully initializes the RTOS kernel.
141 */
142
143 /**
144 \fn void EvrRtxKernelGetInfo (osVersion_t *version, char *id_buf, uint32_t id_size)
145 \details
146 The event \b KernelGetInfo is generated when the function \ref osKernelGetInfo is called.
147
148 \b Value in the Event Recorder shows:
149   - \b version : memory address of buffer for retrieving version information.
150   - \b id_buf : memory address of buffer for retrieving kernel identification string.
151   - \b id_size : size of id_buf in bytes.
152 */
153
154 /**
155 \fn void EvrRtxKernelInfoRetrieved (const osVersion_t *version, const char *id_buf, uint32_t id_size)
156 \details
157 The event \b KernelInfoRetrieved is generated when the function \ref osKernelGetInfo successfully retrieves kernel information.
158
159 \b Value in the Event Recorder shows:
160   - \b ver_api : API version.
161   - \b ver_kernel : kernel version.
162   - \b id : kernel identification string (Detail).
163 */
164
165 /**
166 \fn void EvrRtxKernelGetState (osKernelState_t state)
167 \details
168 The event \b KernelGetState is generated when the function \ref osKernelGetState is called and its execution result is known.
169
170 \b Value in the Event Recorder shows:
171   - \b state : retrieved current \ref osKernelState_t "RTOS Kernel state".
172 */
173
174 /**
175 \fn void EvrRtxKernelStart (void)
176 \details
177 The event \b KernelStart is generated when the function \ref osKernelStart is called.
178 */
179
180 /**
181 \fn void EvrRtxKernelStarted (void)
182 \details
183 The event \b KernelStarted is generated when the function \ref osKernelStart successfully starts the RTOS kernel execution.
184 */
185
186 /**
187 \fn void EvrRtxKernelLock (void)
188 \details
189 The event \b KernelLock is generated when the function \ref osKernelLock is called.
190 */
191
192 /**
193 \fn void EvrRtxKernelLocked (int32_t lock)
194 \details
195 The event \b KernelLocked is generated when the functions \ref osKernelLock successfully completes its execution.
196
197 \b Value in the Event Recorder shows:
198   - \b lock : previous lock state (1 - locked, 0 - not locked).
199 */
200
201 /**
202 \fn void EvrRtxKernelUnlock (void)
203 \details
204 The event \b KernelUnlock is generated when the function \ref osKernelUnlock is called.
205 */
206
207 /**
208 \fn void EvrRtxKernelUnlocked (int32_t lock)
209 \details
210 The event \b KernelUnlocked is generated when the function \ref osKernelUnlock successfully completes its execution.
211
212 \b Value in the Event Recorder shows:
213   - \b lock : previous lock state (1 - locked, 0 - not locked).
214 */
215
216 /**
217 \fn void EvrRtxKernelRestoreLock (int32_t lock)
218 \details
219 The event \b KernelRestoreLock is generated when the function \ref osKernelRestoreLock is called.
220
221 \b Value in the Event Recorder shows:
222   - \b lock : lock state obtained by \ref osKernelLock or \ref osKernelUnlock.
223 */
224
225 /**
226 \fn void EvrRtxKernelLockRestored (int32_t lock)
227 \details
228 The event \b KernelLockRestored is generated when the function \ref osKernelRestoreLock successfully completes its execution.
229
230 \b Value in the Event Recorder shows:
231   - \b lock : new lock state (1 - locked, 0 - not locked).
232 */
233
234 /**
235 \fn void EvrRtxKernelSuspend (void)
236 \details
237 The event \b KernelSuspend is generated when the function \ref osKernelSuspend is called.
238 */
239
240 /**
241 \fn void EvrRtxKernelSuspended (uint32_t sleep_ticks)
242 \details
243 The event \b KernelSuspended is generated when the function \ref osKernelSuspend successfully suspends RTOS kernel execution.
244
245 \b Value in the Event Recorder shows:
246   - \b sleep_ticks : time in ticks, for how long the system can sleep or power-down.
247 */
248
249 /**
250 \fn void EvrRtxKernelResume (uint32_t sleep_ticks)
251 \details
252 The event \b KernelResume is generated when the function \ref osKernelResume is called.
253
254 \b Value in the Event Recorder shows:
255   - \b sleep_ticks : time in ticks, for how long the system was in sleep or power-down mode.
256 */
257
258 /**
259 \fn void EvrRtxKernelResumed (void)
260 \details
261 The event \b KernelResumed is generated when the function \ref osKernelResume successfully resumes RTOS kernel execution.
262 */
263
264 /**
265 \fn void EvrRtxKernelGetTickCount (uint32_t count)
266 \details
267 The event \b KernelGetTickCount is generated when the function \ref osKernelGetTickCount is called.
268
269 \b Value in the Event Recorder shows:
270   - \b count : retrieved kernel current tick count.
271 */
272
273 /**
274 \fn void EvrRtxKernelGetTickFreq (uint32_t freq)
275 \details
276 The event \b KernelGetTickFreq is generated when the function \ref osKernelGetTickFreq called.
277
278 \b Value in the Event Recorder shows:
279   - \b freq : retrieved frequency of the kernel tick in Hz.
280 */
281
282 /**
283 \fn void EvrRtxKernelGetSysTimerCount (uint32_t count)
284 \details
285 The event \b KernelGetSysTimerCount is generated when the function \ref osKernelGetSysTimerCount is called.
286
287 \b Value in the Event Recorder shows:
288   - \b count : retrieved kernel current system timer count as 32-bit value.
289 */
290
291 /**
292 \fn void EvrRtxKernelGetSysTimerFreq (uint32_t freq)
293 \details
294 The event \b KernelGetSysTimerFreq is generated when the function \ref osKernelGetSysTimerFreq is called.
295
296 \b Value in the Event Recorder shows:
297   - \b freq : retrieved frequency of the system timer in Hz.
298 */
299
300 /**
301 \fn void EvrRtxKernelErrorNotify (uint32_t code, void *object_id)
302 \details
303 The event \b KernelErrorNotify is generated when the function \ref osRtxErrorNotify is called.
304
305 \b Value in the Event Recorder shows:
306   - \b code : error code. 
307   - \b object_id : object that caused the error.
308 */
309 */
310
311 /**
312 @}
313 */
314
315 /**
316 \defgroup rtx_evr_thread Thread Functions
317 \brief Events generated by thread functions 
318 \details
319 @{
320 */
321
322 /**
323 \fn void EvrRtxThreadError (osThreadId_t thread_id, int32_t status)
324 \details
325 The event \b ThreadError is generated when \ref CMSIS_RTOS_ThreadMgmt routines complete their execution due to an error.
326
327 The status parameter indicates the execution status and can be one of the \ref osStatus_t "osStatus_t codes" or one
328 of the extended execution status codes which are summarized in the table below.
329
330 |      Extended Status Code     | Description |
331 |:------------------------------|:------------|
332 | osRtxErrorKernelNotReady      | Kernel scheduler is not in Ready state. |
333 | osRtxErrorKernelNotRunning    | Kernel scheduler is not executing - there is no running thread. |
334 | osRtxErrorInvalidControlBlock | Object control block with invalid alignment or size was specified. |
335 | osRtxErrorInvalidDataMemory   | Object data memory with invalid alignment or size was specified. |
336 | osRtxErrorInvalidThreadStack  | Thread stack memory with invalid alignment or size was specified. |
337 | osRtxErrorInvalidPriority     | Invalid thread priority was specified. |
338 | osRtxErrorThreadNotJoinable   | Specified thread is not joinable. |
339 | osRtxErrorMutexNotOwned       | Specified mutex is not owned by the current running thread. |
340 | osRtxErrorMutexNotLocked      | Specified mutex is not locked. |
341 | osRtxErrorMutexLockLimit      | Maximum number of recursive mutex locks reached. |
342 | osRtxErrorSemaphoreCountLimit | Semaphore count limit reached. |
343 | osRtxErrorTZ_InitContext_S    | Secure context memory system initialization failed. |
344 | osRtxErrorTZ_AllocContext_S   | Secure context memory allocation failed. |
345 | osRtxErrorTZ_FreeContext_S    | Secure context memory deallocation failed. |
346 | osRtxErrorTZ_LoadContext_S    | Secure context load failed. |
347 | osRtxErrorTZ_SaveContext_S    | Secure context save failed. |
348
349 \b Value in the Event Recorder shows:
350   - \b thread_id : thread ID.
351   - \b status : execution status code.
352 */
353
354 /**
355 \fn void EvrRtxThreadNew (osThreadFunc_t func, void *argument, const osThreadAttr_t *attr)
356 \details
357 The event \b ThreadNew is generated when the function \ref osThreadNew is called.
358
359 \b Value in the Event Recorder shows:
360   - \b func : memory address of thread function. 
361   - \b argument : memory address of thread function start argument.
362   - \b attr : memory address of Thread attributes or 0 when they are not specified.
363 */
364
365 /**
366 \fn void EvrRtxThreadCreated (osThreadId_t thread_id, uint32_t thread_addr, const char *name)
367 \details
368 The event \b ThreadCreated is generated when the function \ref osThreadNew successfully creates a thread object.
369
370 \b Value in the Event Recorder shows:
371   - \b thread_id : thread ID.
372 */
373
374 /**
375 \fn void EvrRtxThreadGetName (osThreadId_t thread_id, const char *name)
376 \details
377 The event \b ThreadGetName is generated when the function \ref osThreadGetName is called and its execution result is known.
378
379 \b Value in the Event Recorder shows:
380   - \b thread_id : thread ID.
381   - \b name : retrieved memory address of name string (0 in case of a failure).
382 */
383
384 /**
385 \fn void EvrRtxThreadGetId (osThreadId_t thread_id)
386 \details
387 The event \b ThreadGetId is generated when the function \ref osThreadGetId is called and its execution result is known.
388
389 \b Value in the Event Recorder shows:
390   - \b thread_id : retrieved thread (0 in case of a failure).
391 */
392
393 /**
394 \fn void EvrRtxThreadGetState (osThreadId_t thread_id, osThreadState_t state)
395 \details
396 The event \b ThreadGetState is generated when the function \ref osThreadGetState is called and its execution result is known.
397
398 \b Value in the Event Recorder shows:
399   - \b thread_id : thread ID.
400   - \b state : retrieved current thread state.
401 */
402
403 /**
404 \fn void EvrRtxThreadGetStackSize (osThreadId_t thread_id, uint32_t stack_size)
405 \details
406 The event \b ThreadGetStackSize is generated when the function \ref osThreadGetStackSize is called and its execution result is known.
407
408 \b Value in the Event Recorder shows:
409   - \b thread_id : thread ID.
410   - \b stack_size : retrieved remaining stack space in bytes (0 in case of a failure). 
411 */
412
413 /**
414 \fn void EvrRtxThreadGetStackSpace (osThreadId_t thread_id, uint32_t stack_space)
415 \details
416 The event \b ThreadGetStackSpace is generated when the function \ref osThreadGetStackSpace is called and its execution result is known.
417
418 \b Value in the Event Recorder shows:
419   - \b thread_id : thread ID.
420   - \b stack_space : retrieved remaining stack space in bytes (0 in case of a failure).
421 */
422
423 /**
424 \fn void EvrRtxThreadSetPriority (osThreadId_t thread_id, osPriority_t priority)
425 \details
426 The event \b ThreadSetPriority is generated when the function \ref osThreadSetPriority is called.
427
428 \b Value in the Event Recorder shows:
429   - \b thread_id : thread ID.
430   - \b priority : new priority value for the thread function. 
431 */
432
433 /**
434 \fn void EvrRtxThreadPriorityUpdated (osThreadId_t thread_id, osPriority_t priority)
435 \details
436 The event \b ThreadPriorityUpdated is generated when the function \ref osThreadSetPriority successfully updated the specified thread priority.
437
438 \b Value in the Event Recorder shows:
439   - \b thread_id : thread ID.
440   - \b priority : new priority value for the thread function. 
441 */
442
443 /**
444 \fn void EvrRtxThreadGetPriority (osThreadId_t thread_id, osPriority_t priority)
445 \details
446 The event \b ThreadGetPriority is generated when the function \ref osThreadGetPriority is called and its execution result is known.
447
448 \b Value in the Event Recorder shows:
449   - \b thread_id : thread ID.
450   - \b priority : current priority value of the specified thread.
451 */
452
453 /**
454 \fn void EvrRtxThreadYield (void)
455 \details
456 The event \b ThreadYield is generated when the function \ref osThreadYield is called.
457 */
458
459 /**
460 \fn void EvrRtxThreadSuspend (osThreadId_t thread_id)
461 \details
462 The event \b ThreadSuspend is generated when the function \ref osThreadSuspend is called.
463
464 \b Value in the Event Recorder shows:
465   - \b thread_id : thread ID.
466 */
467
468 /**
469 \fn void EvrRtxThreadSuspended (osThreadId_t thread_id)
470 \details
471 The event \b ThreadSuspended is generated when the function \ref osThreadSuspend successfully suspends the specified thread.
472
473 \b Value in the Event Recorder shows:
474   - \b thread_id : thread ID.
475 */
476
477 /**
478 \fn void EvrRtxThreadResume (osThreadId_t thread_id)
479 \details
480 The event \b ThreadResume is generated when the function \ref osThreadResume is called.
481
482 \b Value in the Event Recorder shows:
483   - \b thread_id : thread ID.
484 */
485
486 /**
487 \fn void EvrRtxThreadResumed (osThreadId_t thread_id)
488 \details
489 The event \b ThreadResumed is generated when the function \ref osThreadResume successfully resumes the specified thread.
490
491 \b Value in the Event Recorder shows:
492   - \b thread_id : thread ID.
493 */
494
495 /**
496 \fn void EvrRtxThreadDetach (osThreadId_t thread_id)
497 \details
498 The event \b ThreadDetach is generated when the function \ref osThreadDetach is called.
499
500 \b Value in the Event Recorder shows:
501   - \b thread_id : thread ID.
502 */
503
504 /**
505 \fn void EvrRtxThreadDetached (osThreadId_t thread_id)
506 \details
507 The event \b ThreadDetached is generated when the function \ref osThreadDetach successfully detaches the specified thread.
508
509 \b Value in the Event Recorder shows:
510   - \b thread_id : thread ID.
511 */
512
513 /**
514 \fn void EvrRtxThreadJoin (osThreadId_t thread_id)
515 \details
516 The event \b ThreadJoin is generated when the function \ref osThreadJoin is called.
517
518 \b Value in the Event Recorder shows:
519   - \b thread_id : thread ID.
520 */
521
522 /**
523 \fn void EvrRtxThreadJoinPending (osThreadId_t thread_id)
524 \details
525 The event \b ThreadJoinPending is generated when the function \ref osThreadJoin suspends current running thread until the specified thread terminates.
526
527 \b Value in the Event Recorder shows:
528   - \b thread_id : thread ID.
529 */
530
531 /**
532 \fn void EvrRtxThreadJoined (osThreadId_t thread_id)
533 \details
534 The event \b ThreadJoined is generated when the function \ref osThreadJoin successfully joins the specified thread.
535
536 \b Value in the Event Recorder shows:
537   - \b thread_id : thread ID.
538 */
539
540 /**
541 \fn void EvrRtxThreadBlocked (osThreadId_t thread_id, uint32_t timeout)
542 \details
543 The event \b ThreadBlocked is generated when the current running thread execution is blocked.
544
545 \b Value in the Event Recorder shows:
546   - \b thread_id : thread ID.
547   - \b timeout : \ref CMSIS_RTOS_TimeOutValue.
548 */
549
550 /**
551 \fn void EvrRtxThreadUnblocked (osThreadId_t thread_id, uint32_t ret_val)
552 \details
553 The event \b ThreadUnblocked is generated when the blocked thread execution is unblocked.
554
555 \b Value in the Event Recorder shows:
556   - \b thread_id : thread ID.
557   - \b ret_val : 
558 */
559
560 /**
561 \fn void EvrRtxThreadPreempted (osThreadId_t thread_id)
562 \details
563 The event \b ThreadPreempted is generated when current running thread execution is preempted.
564
565 \b Value in the Event Recorder shows:
566   - \b thread_id : thread ID.
567 */
568
569 /**
570 \fn void EvrRtxThreadSwitched (osThreadId_t thread_id)
571 \details
572 The event \b ThreadSwitched is generated when current running thread execution switches.
573
574 \b Value in the Event Recorder shows:
575   - \b thread_id : thread ID.
576 */
577
578 /**
579 \fn void EvrRtxThreadExit (void)
580 \details
581 The event \b ThreadExit is generated when the function \ref osThreadExit is called.
582 */
583
584 /**
585 \fn void EvrRtxThreadTerminate (osThreadId_t thread_id)
586 \details
587 The event \b ThreadTerminate is generated when the function \ref osThreadTerminate is called.
588
589 \b Value in the Event Recorder shows:
590   - \b thread_id : thread ID.
591 */
592
593 /**
594 \fn void EvrRtxThreadDestroyed (osThreadId_t thread_id)
595 \details
596 The event \b ThreadDestroyed is generated when the function \ref osThreadExit or \ref osThreadTerminate successfully terminates the thread.
597
598 \b Value in the Event Recorder shows:
599   - \b thread_id : thread ID.
600 */
601
602 /**
603 \fn void EvrRtxThreadGetCount (uint32_t count)
604 \details
605 The event \b ThreadGetCount is generated when the function \ref osThreadGetCount is called and its execution result is known.
606
607 \b Value in the Event Recorder shows:
608   - \b count : retrieved number of active threads (0 in case of a failure).
609 */
610
611 /**
612 \fn void EvrRtxThreadEnumerate (osThreadId_t *thread_array, uint32_t array_items, uint32_t count)
613 \details
614 The event \b ThreadEnumerate is generated when the function \ref osThreadEnumerate is called and its execution result is known.
615
616 \b Value in the Event Recorder shows:
617   - \b thread_array : memory address of array for retrieving thread IDs.
618   - \b array_items : maximum number of items in thread_array.
619   - \b count : number of enumerated threads (0 in case of a failure).
620 */
621
622 /**
623 @}
624 */
625
626 /**
627 \defgroup rtx_evr_wait Generic Wait Functions
628 \brief Events generated by generic wait functions 
629 \details
630 @{
631 */
632
633 /**
634 \fn void EvrRtxDelayError (int32_t status)
635 \details
636 The event \b DelayError is generated when \ref CMSIS_RTOS_Wait routines complete their execution due to an error.
637
638 The status parameter indicates the execution status and can be one of the \ref osStatus_t "osStatus_t codes" or one
639 of the extended execution status codes which are summarized in the table below.
640
641 |      Extended Status Code     | Description |
642 |:------------------------------|:------------|
643 | osRtxErrorKernelNotReady      | Kernel scheduler is not in Ready state. |
644 | osRtxErrorKernelNotRunning    | Kernel scheduler is not executing - there is no running thread. |
645 | osRtxErrorInvalidControlBlock | Object control block with invalid alignment or size was specified. |
646 | osRtxErrorInvalidDataMemory   | Object data memory with invalid alignment or size was specified. |
647 | osRtxErrorInvalidThreadStack  | Thread stack memory with invalid alignment or size was specified. |
648 | osRtxErrorInvalidPriority     | Invalid thread priority was specified. |
649 | osRtxErrorThreadNotJoinable   | Specified thread is not joinable. |
650 | osRtxErrorMutexNotOwned       | Specified mutex is not owned by the current running thread. |
651 | osRtxErrorMutexNotLocked      | Specified mutex is not locked. |
652 | osRtxErrorMutexLockLimit      | Maximum number of recursive mutex locks reached. |
653 | osRtxErrorSemaphoreCountLimit | Semaphore count limit reached. |
654 | osRtxErrorTZ_InitContext_S    | Secure context memory system initialization failed. |
655 | osRtxErrorTZ_AllocContext_S   | Secure context memory allocation failed. |
656 | osRtxErrorTZ_FreeContext_S    | Secure context memory deallocation failed. |
657 | osRtxErrorTZ_LoadContext_S    | Secure context load failed. |
658 | osRtxErrorTZ_SaveContext_S    | Secure context save failed. |
659
660 \b Value in the Event Recorder shows:
661   - \b status : execution status code.
662 */
663
664 /**
665 \fn void EvrRtxDelay (uint32_t ticks)
666 \details
667 The event \b Delay is generated when the function \ref osDelay is called.
668
669 \b Value in the Event Recorder shows:
670   - \b ticks : \ref CMSIS_RTOS_TimeOutValue "time ticks" value. 
671 */
672
673 /**
674 \fn void EvrRtxDelayUntil (uint32_t ticks)
675 \details
676 The event \b DelayUntil is generated when the function \ref osDelayUntil is called.
677
678 \b Value in the Event Recorder shows:
679   - \b ticks : absolute delay time in ticks.
680 */
681
682 /**
683 \fn void EvrRtxDelayStarted (uint32_t ticks)
684 \details
685 The event \b DelayStarted is generated when \ref osDelay delay starts.
686
687 \b Value in the Event Recorder shows:
688   - \b ticks : \ref CMSIS_RTOS_TimeOutValue "time ticks" value. 
689 */
690
691 /**
692 \fn void EvrRtxDelayUntilStarted (uint32_t ticks)
693 \details
694 The event \b DelayUntilStarted is generated when \ref osDelayUntil delay starts.
695
696 \b Value in the Event Recorder shows:
697   - \b ticks : \ref CMSIS_RTOS_TimeOutValue "time ticks" value. 
698 */
699
700 /**
701 \fn void EvrRtxDelayCompleted (osThreadId_t thread_id)
702 \details
703 The event \b DelayCompleted is generated when \ref osDelay or \ref osDelayUntil delay expires.
704
705 \b Value in the Event Recorder shows:
706   - \b thread_id : thread ID.
707 */
708
709 /**
710 @}
711 */
712
713 /**
714 \defgroup rtx_evr_thread_flags Thread Flags Functions
715 \brief Events generated by thread flags functions 
716 \details
717 @{
718 */
719
720 /**
721 \fn void EvrRtxThreadFlagsError (osThreadId_t thread_id, int32_t status)
722 \details
723 The event \b ThreadFlagsError is generated when \ref CMSIS_RTOS_ThreadFlagsMgmt routines complete their execution due to an error.
724
725 The status parameter indicates the execution status and can be one of the \ref osStatus_t "osStatus_t codes" or one
726 of the extended execution status codes which are summarized in the table below.
727
728 |      Extended Status Code     | Description |
729 |:------------------------------|:------------|
730 | osRtxErrorKernelNotReady      | Kernel scheduler is not in Ready state. |
731 | osRtxErrorKernelNotRunning    | Kernel scheduler is not executing - there is no running thread. |
732 | osRtxErrorInvalidControlBlock | Object control block with invalid alignment or size was specified. |
733 | osRtxErrorInvalidDataMemory   | Object data memory with invalid alignment or size was specified. |
734 | osRtxErrorInvalidThreadStack  | Thread stack memory with invalid alignment or size was specified. |
735 | osRtxErrorInvalidPriority     | Invalid thread priority was specified. |
736 | osRtxErrorThreadNotJoinable   | Specified thread is not joinable. |
737 | osRtxErrorMutexNotOwned       | Specified mutex is not owned by the current running thread. |
738 | osRtxErrorMutexNotLocked      | Specified mutex is not locked. |
739 | osRtxErrorMutexLockLimit      | Maximum number of recursive mutex locks reached. |
740 | osRtxErrorSemaphoreCountLimit | Semaphore count limit reached. |
741 | osRtxErrorTZ_InitContext_S    | Secure context memory system initialization failed. |
742 | osRtxErrorTZ_AllocContext_S   | Secure context memory allocation failed. |
743 | osRtxErrorTZ_FreeContext_S    | Secure context memory deallocation failed. |
744 | osRtxErrorTZ_LoadContext_S    | Secure context load failed. |
745 | osRtxErrorTZ_SaveContext_S    | Secure context save failed. |
746
747 \b Value in the Event Recorder shows:
748   - \b thread_id : thread ID.
749   - \b status : execution status code.
750 */
751
752 /**
753 \fn void EvrRtxThreadFlagsSet (osThreadId_t thread_id, uint32_t flags)
754 \details
755 The event \b ThreadFlagsSet is generated when the function \ref osThreadFlagsSet is called.
756
757 \b Value in the Event Recorder shows:
758   - \b thread_id : thread ID.
759   - \b flags : flags that shall be set.
760 */
761
762 /**
763 \fn void EvrRtxThreadFlagsSetDone (osThreadId_t thread_id, uint32_t thread_flags)
764 \details
765 The event \b ThreadFlagsSetDone is generated when thread flags are successfully set.
766
767 \b Value in the Event Recorder shows:
768   - \b thread_id : thread ID.
769   - \b thread_flags : thread flags after setting.
770 */
771
772 /**
773 \fn void EvrRtxThreadFlagsClear (uint32_t flags)
774 \details
775 The event \b ThreadFlagsClear is generated when the function \ref osThreadFlagsClear is called.
776
777 \b Value in the Event Recorder shows:
778   - \b flags : flags that shall be cleared. 
779 */
780
781 /**
782 \fn void EvrRtxThreadFlagsClearDone (uint32_t thread_flags)
783 \details
784 The event \b ThreadFlagsClearDone is generated when the function \ref osThreadFlagsClear successfully clears thread flags.
785
786 \b Value in the Event Recorder shows:
787   - \b thread_flags : thread flags before clearing.
788 */
789
790 /**
791 \fn void EvrRtxThreadFlagsGet (uint32_t thread_flags)
792 \details
793 The event \b ThreadFlagsGet is generated when the function \ref osThreadFlagsGet is called and its execution result is known.
794
795 \b Value in the Event Recorder shows:
796   - \b thread_flags : current thread flags.
797 */
798
799 /**
800 \fn void EvrRtxThreadFlagsWait (uint32_t flags, uint32_t options, uint32_t timeout)
801 \details
802 The event \b ThreadFlagsWait is generated when the function \ref osThreadFlagsWait is called.
803
804 \b Value in the Event Recorder shows:
805   - \b flags : flags to wait for.
806   - \b options : flags options (refer to \ref osThreadFlagsWait "thread flags options").
807   - \b timeout : \ref CMSIS_RTOS_TimeOutValue.
808 */
809
810 /**
811 \fn void EvrRtxThreadFlagsWaitPending (uint32_t flags, uint32_t options, uint32_t timeout)
812 \details
813 The event \b ThreadFlagsWaitPending is generated when the function \ref osThreadFlagsWait starts waiting for thread flags to become signaled.
814
815 \b Value in the Event Recorder shows:
816   - \b flags : flags to wait for.
817   - \b options : flags options (refer to \ref osThreadFlagsWait "thread flags options").
818   - \b timeout : \ref CMSIS_RTOS_TimeOutValue.
819 */
820
821 /**
822 \fn void EvrRtxThreadFlagsWaitTimeout (osThreadId_t thread_id)
823 \details
824 The event \b ThreadFlagsWaitTimeout is generated when wait for thread flags to become signaled is aborted due to expired wait timeout.
825
826 \b Value in the Event Recorder shows:
827   - \b thread_id : thread ID.
828 */
829
830 /**
831 \fn void EvrRtxThreadFlagsWaitCompleted (uint32_t flags, uint32_t options, uint32_t thread_flags, osThreadId_t thread_id)
832 \details
833 The event \b ThreadFlagsWaitCompleted is generated when waiting for thread flags ends because requested flags were signaled.
834
835 \b Value in the Event Recorder shows:
836   - \b flags : flags thread was waiting for.
837   - \b option : flags options (refer to \ref osThreadFlagsWait "thread flags options").
838   - \b thread_flags : thread flags before clearing.
839   - \b thread_id : thread ID.
840 */
841
842 /**
843 \fn void EvrRtxThreadFlagsWaitNotCompleted (uint32_t flags, uint32_t options)
844 \details
845 The event \b ThreadFlagsWaitNotCompleted is generated when the function \ref osThreadFlagsWait returns without timeout and specified thread flags were not signaled.
846
847 \b Value in the Event Recorder shows:
848   - \b flags : flags thread was waiting for.
849   - \b options : flags options (refer to \ref osThreadFlagsWait "thread flags options").
850 */
851
852 /**
853 @}
854 */
855
856 /**
857 \defgroup rtx_evr_event_flags Event Flags Functions
858 \brief Events generated by event flag functions 
859 \details
860 @{
861 */
862
863 /**
864 \fn void EvrRtxEventFlagsError (osEventFlagsId_t ef_id, int32_t status)
865 \details
866 The event \b EventFlagsError is generated when \ref CMSIS_RTOS_EventFlags routines complete their execution due to an error.
867
868 The status parameter indicates the execution status and can be one of the \ref osStatus_t "osStatus_t codes" or one
869 of the extended execution status codes which are summarized in the table below.
870
871 |      Extended Status Code     | Description |
872 |:------------------------------|:------------|
873 | osRtxErrorKernelNotReady      | Kernel scheduler is not in Ready state. |
874 | osRtxErrorKernelNotRunning    | Kernel scheduler is not executing - there is no running thread. |
875 | osRtxErrorInvalidControlBlock | Object control block with invalid alignment or size was specified. |
876 | osRtxErrorInvalidDataMemory   | Object data memory with invalid alignment or size was specified. |
877 | osRtxErrorInvalidThreadStack  | Thread stack memory with invalid alignment or size was specified. |
878 | osRtxErrorInvalidPriority     | Invalid thread priority was specified. |
879 | osRtxErrorThreadNotJoinable   | Specified thread is not joinable. |
880 | osRtxErrorMutexNotOwned       | Specified mutex is not owned by the current running thread. |
881 | osRtxErrorMutexNotLocked      | Specified mutex is not locked. |
882 | osRtxErrorMutexLockLimit      | Maximum number of recursive mutex locks reached. |
883 | osRtxErrorSemaphoreCountLimit | Semaphore count limit reached. |
884 | osRtxErrorTZ_InitContext_S    | Secure context memory system initialization failed. |
885 | osRtxErrorTZ_AllocContext_S   | Secure context memory allocation failed. |
886 | osRtxErrorTZ_FreeContext_S    | Secure context memory deallocation failed. |
887 | osRtxErrorTZ_LoadContext_S    | Secure context load failed. |
888 | osRtxErrorTZ_SaveContext_S    | Secure context save failed. |
889
890 \b Value in the Event Recorder shows:
891   - \b ef_id : event flags ID.
892   - \b status : execution status code.
893 */
894
895 /**
896 \fn void EvrRtxEventFlagsNew (const osEventFlagsAttr_t *attr)
897 \details
898 The event \b EventFlagsNew is generated when the function \ref osEventFlagsNew is called.
899
900 \b Value in the Event Recorder shows:
901   - \b attr : memory address of Event Flags attributes or 0 when they are not specified.
902 */
903
904 /**
905 \fn void EvrRtxEventFlagsCreated (osEventFlagsId_t ef_id, const char *name)
906 \details
907 The event \b EventFlagsCreated is generated when the function \ref osEventFlagsNew successfully creates a event flags object.
908
909 \b Value in the Event Recorder shows:
910   - \b ef_id : event flags ID.
911 */
912
913 /**
914 \fn void EvrRtxEventFlagsGetName (osEventFlagsId_t ef_id, const char *name)
915 \details
916 The event \b EventFlagsGetName is generated when the function \ref osEventFlagsGetName is called and its execution result is known.
917
918 \b Value in the Event Recorder shows:
919   - \b ef_id : event flags ID.
920   - \b name : retrieved memory address of name string (0 in case of a failure).
921 */
922
923 /**
924 \fn void EvrRtxEventFlagsSet (osEventFlagsId_t ef_id, uint32_t flags)
925 \details
926 The event \b EventFlagsSet is generated when the function \ref osEventFlagsSet is called.
927
928 \b Value in the Event Recorder shows:
929   - \b ef_id : event flags ID.
930   - \b flags : flags that shall be set.
931 */
932
933 /**
934 \fn void EvrRtxEventFlagsSetDone (osEventFlagsId_t ef_id, uint32_t event_flags)
935 \details
936 The event \b EventFlagsSetDone is generated when event flags are successfully set.
937
938 \b Value in the Event Recorder shows:
939   - \b ef_id : event flags ID.
940   - \b event_flags : event flags after setting.
941 */
942
943 /**
944 \fn void EvrRtxEventFlagsClear (osEventFlagsId_t ef_id, uint32_t flags)
945 \details
946 The event \b EventFlagsClear is generated when the function \ref osEventFlagsClear is called.
947
948 \b Value in the Event Recorder shows:
949   - \b ef_id : event flags ID.
950   - \b flags : flags that shall be cleared.
951 */
952
953 /**
954 \fn void EvrRtxEventFlagsClearDone (osEventFlagsId_t ef_id, uint32_t event_flags)
955 \details
956 The event \b EventFlagsClearDone is generated when the function \ref osEventFlagsClear successfully clears the event flags.
957
958 \b Value in the Event Recorder shows:
959   - \b ef_id : event flags ID.
960   - \b event_flags : event flags before clearing.
961 */
962
963 /**
964 \fn void EvrRtxEventFlagsGet (osEventFlagsId_t ef_id, uint32_t event_flags)
965 \details
966 The event \b EventFlagsGet is generated when the function \ref osEventFlagsGet is called and its execution result is known.
967
968 \b Value in the Event Recorder shows:
969   - \b ef_id : event flags ID.
970   - \b event_flags : retrieved current event flags.
971 */
972
973 /**
974 \fn void EvrRtxEventFlagsWait (osEventFlagsId_t ef_id, uint32_t flags, uint32_t options, uint32_t timeout)
975 \details
976 The event \b EventFlagsWait is generated when the function \ref osEventFlagsWait is called.
977
978 \b Value in the Event Recorder shows:
979   - \b ef_id : event flags ID.
980   - \b flags : flags to wait for. 
981   - \b options : flags options (refer to \ref osEventFlagsWait "event flags options").
982   - \b timeout : \ref CMSIS_RTOS_TimeOutValue.
983 */
984
985 /**
986 \fn void EvrRtxEventFlagsWaitPending (osEventFlagsId_t ef_id, uint32_t flags, uint32_t options, uint32_t timeout)
987 \details
988 The event \b EventFlagsWaitPending is generated when the function \ref osEventFlagsWait starts waiting for event flags to become signaled.
989
990 \b Value in the Event Recorder shows:
991   - \b ef_id : event flags ID.
992   - \b flags : flags to wait for.
993   - \b options : flags options (refer to \ref osEventFlagsWait "event flags options").
994   - \b timeout : \ref CMSIS_RTOS_TimeOutValue.
995 */
996
997 /**
998 \fn void EvrRtxEventFlagsWaitTimeout (osEventFlagsId_t ef_id)
999 \details
1000 The event \b EventFlagsWaitTimeout is generated when wait for event flags to become signaled is aborted due to expired wait timeout.
1001
1002 \b Value in the Event Recorder shows:
1003   - \b ef_id : event flags ID.
1004 */
1005
1006 /**
1007 \fn void EvrRtxEventFlagsWaitCompleted (osEventFlagsId_t ef_id, uint32_t flags, uint32_t options, uint32_t event_flags)
1008 \details
1009 The event \b EventFlagsWaitCompleted is generated when waiting for event flags ends because requested flags were signaled.
1010
1011 \b Value in the Event Recorder shows:
1012   - \b ef_id : event flags ID.
1013   - \b flags : flags to wait for.
1014   - \b options : flags option (refer to \ref osEventFlagsWait "event flags options").
1015   - \b event_flags : event flags before clearing or 0 if specified flags have not been set.
1016 */
1017
1018 /**
1019 \fn void EvrRtxEventFlagsWaitNotCompleted (osEventFlagsId_t ef_id, uint32_t flags, uint32_t options)
1020 \details
1021 The event \b EventFlagsWaitNotCompleted is generated when the function \ref osEventFlagsWait returns without timeout and specified event flags were not signaled.
1022
1023 \b Value in the Event Recorder shows:
1024   - \b ef_id : event flags ID.
1025   - \b flags : flags to wait for.
1026   - \b options : flags options (refer to \ref osEventFlagsWait "event flags options").
1027 */
1028
1029 /**
1030 \fn void EvrRtxEventFlagsDelete (osEventFlagsId_t ef_id)
1031 \details
1032 The event \b EventFlagsDelete is generated when the function \ref osEventFlagsDelete is called.
1033
1034 \b Value in the Event Recorder shows:
1035   - \b ef_id : event flags ID.
1036 */
1037
1038 /**
1039 \fn void EvrRtxEventFlagsDestroyed (osEventFlagsId_t ef_id)
1040 \details
1041 The event \b EventFlagsDestroyed is generated when the function \ref osEventFlagsDelete successfully deletes the event flags object.
1042
1043 \b Value in the Event Recorder shows:
1044   - \b ef_id : event flags ID.
1045 */
1046
1047 /**
1048 @}
1049 */
1050
1051 /**
1052 \defgroup rtx_evr_timer Timer Functions
1053 \brief Events generated by timer functions 
1054 \details
1055 @{
1056 */
1057
1058 /**
1059 \fn void EvrRtxTimerError (osTimerId_t timer_id, int32_t status)
1060 \details
1061 The event \b TimerError is generated when \ref CMSIS_RTOS_TimerMgmt routines complete their execution due to an error.
1062
1063 The status parameter indicates the execution status and can be one of the \ref osStatus_t "osStatus_t codes" or one
1064 of the extended execution status codes which are summarized in the table below.
1065
1066 |      Extended Status Code     | Description |
1067 |:------------------------------|:------------|
1068 | osRtxErrorKernelNotReady      | Kernel scheduler is not in Ready state. |
1069 | osRtxErrorKernelNotRunning    | Kernel scheduler is not executing - there is no running thread. |
1070 | osRtxErrorInvalidControlBlock | Object control block with invalid alignment or size was specified. |
1071 | osRtxErrorInvalidDataMemory   | Object data memory with invalid alignment or size was specified. |
1072 | osRtxErrorInvalidThreadStack  | Thread stack memory with invalid alignment or size was specified. |
1073 | osRtxErrorInvalidPriority     | Invalid thread priority was specified. |
1074 | osRtxErrorThreadNotJoinable   | Specified thread is not joinable. |
1075 | osRtxErrorMutexNotOwned       | Specified mutex is not owned by the current running thread. |
1076 | osRtxErrorMutexNotLocked      | Specified mutex is not locked. |
1077 | osRtxErrorMutexLockLimit      | Maximum number of recursive mutex locks reached. |
1078 | osRtxErrorSemaphoreCountLimit | Semaphore count limit reached. |
1079 | osRtxErrorTZ_InitContext_S    | Secure context memory system initialization failed. |
1080 | osRtxErrorTZ_AllocContext_S   | Secure context memory allocation failed. |
1081 | osRtxErrorTZ_FreeContext_S    | Secure context memory deallocation failed. |
1082 | osRtxErrorTZ_LoadContext_S    | Secure context load failed. |
1083 | osRtxErrorTZ_SaveContext_S    | Secure context save failed. |
1084
1085 \b Value in the Event Recorder shows:
1086   - \b timer_id : timer ID.
1087   - \b status : execution status code.
1088 */
1089
1090 /**
1091 \fn void EvrRtxTimerCallback (osTimerFunc_t func, void *argument)
1092 \details
1093 The event \b TimerCallback is generated when the timer callback function is called.
1094
1095 \b Value in the Event Recorder shows:
1096   - \b func : start address of a timer call back function. 
1097   - \b argument : memory address of argument to the timer call back function.
1098 */
1099
1100 /**
1101 \fn void EvrRtxTimerNew (osTimerFunc_t func, osTimerType_t type, void *argument, const osTimerAttr_t *attr)
1102 \details
1103 The event \b TimerNew is generated when the function \ref osTimerNew is called.
1104
1105 \b Value in the Event Recorder shows:
1106   - \b func : start address of a timer call back function.
1107   - \b type : timer type: osTimerOnce for one-shot or osTimerPeriodic for periodic behavior.
1108   - \b argument : memory address of argument to the timer call back function.
1109   - \b attr : memory address of Timer attributes or 0 when they are not specified.
1110 */
1111
1112 /**
1113 \fn void EvrRtxTimerCreated (osTimerId_t timer_id, const char *name)
1114 \details
1115 The event \b TimerCreated is generated when the function \ref osTimerNew successfully creates a timer object.
1116
1117 \b Value in the Event Recorder shows:
1118   - \b timer_id : timer ID.
1119 */
1120
1121 /**
1122 \fn void EvrRtxTimerGetName (osTimerId_t timer_id, const char *name)
1123 \details
1124 The event \b TimerGetName is generated when the function \ref osTimerGetName is called and its execution result is known.
1125
1126 \b Value in the Event Recorder shows:
1127   - \b timer_id : timer ID.
1128   - \b name : retrieved memory address of name string (0 in case of a failure).
1129 */
1130
1131 /**
1132 \fn void EvrRtxTimerStart (osTimerId_t timer_id, uint32_t ticks)
1133 \details
1134 The event \b TimerStart is generated when the function \ref osTimerStart is called.
1135
1136 \b Value in the Event Recorder shows:
1137   - \b timer_id : timer ID.
1138   - \b ticks : \ref CMSIS_RTOS_TimeOutValue "time ticks" value of the timer.
1139 */
1140
1141 /**
1142 \fn void EvrRtxTimerStarted (osTimerId_t timer_id)
1143 \details
1144 The event \b TimerStarted is generated when the function \ref osTimerStart successfully starts or restarts the timer operation.
1145
1146 \b Value in the Event Recorder shows:
1147   - \b timer_id : timer ID.
1148 */
1149
1150 /**
1151 \fn void EvrRtxTimerStop (osTimerId_t timer_id)
1152 \details
1153 The event \b TimerStop is generated when the function \ref osTimerStop is called.
1154
1155 \b Value in the Event Recorder shows:
1156   - \b timer_id : timer ID.
1157 */
1158
1159 /**
1160 \fn void EvrRtxTimerStopped (osTimerId_t timer_id)
1161 \details
1162 The event \b TimerStopped is generated when the function \ref osTimerStop successfully stops the timer operation.
1163
1164 \b Value in the Event Recorder shows:
1165   - \b timer_id : timer ID.
1166 */
1167
1168 /**
1169 \fn void EvrRtxTimerIsRunning (osTimerId_t timer_id, uint32_t running)
1170 \details
1171 The event \b TimerIsRunning is generated when the function \ref osTimerIsRunning is called and its execution result is known.
1172
1173 \b Value in the Event Recorder shows:
1174   - \b timer_id : timer ID.
1175   - \b running : timer running state: 0 not running, 1 running.
1176 */
1177
1178 /**
1179 \fn void EvrRtxTimerDelete (osTimerId_t timer_id)
1180 \details
1181 The event \b TimerDelete is generated when the function \ref osTimerDelete is called.
1182
1183 \b Value in the Event Recorder shows:
1184   - \b timer_id : timer ID.
1185 */
1186
1187 /**
1188 \fn void EvrRtxTimerDestroyed (osTimerId_t timer_id)
1189 \details
1190 The event \b TimerDestroyed is generated when the function \ref osTimerDelete successfully deletes the timer object.
1191
1192 \b Value in the Event Recorder shows:
1193   - \b timer_id : timer ID.
1194 */
1195
1196 /**
1197 @}
1198 */
1199
1200 /**
1201 \defgroup rtx_evr_mutex Mutex Functions
1202 \brief Events generated by mutex functions 
1203 \details
1204 @{
1205 */
1206
1207 /**
1208 \fn void EvrRtxMutexError (osMutexId_t mutex_id, int32_t status)
1209 \details
1210 The event \b MutexError is generated when \ref CMSIS_RTOS_MutexMgmt routines complete their execution due to an error.
1211
1212 The status parameter indicates the execution status and can be one of the \ref osStatus_t "osStatus_t codes" or one
1213 of the extended execution status codes which are summarized in the table below.
1214
1215 |      Extended Status Code     | Description |
1216 |:------------------------------|:------------|
1217 | osRtxErrorKernelNotReady      | Kernel scheduler is not in Ready state. |
1218 | osRtxErrorKernelNotRunning    | Kernel scheduler is not executing - there is no running thread. |
1219 | osRtxErrorInvalidControlBlock | Object control block with invalid alignment or size was specified. |
1220 | osRtxErrorInvalidDataMemory   | Object data memory with invalid alignment or size was specified. |
1221 | osRtxErrorInvalidThreadStack  | Thread stack memory with invalid alignment or size was specified. |
1222 | osRtxErrorInvalidPriority     | Invalid thread priority was specified. |
1223 | osRtxErrorThreadNotJoinable   | Specified thread is not joinable. |
1224 | osRtxErrorMutexNotOwned       | Specified mutex is not owned by the current running thread. |
1225 | osRtxErrorMutexNotLocked      | Specified mutex is not locked. |
1226 | osRtxErrorMutexLockLimit      | Maximum number of recursive mutex locks reached. |
1227 | osRtxErrorSemaphoreCountLimit | Semaphore count limit reached. |
1228 | osRtxErrorTZ_InitContext_S    | Secure context memory system initialization failed. |
1229 | osRtxErrorTZ_AllocContext_S   | Secure context memory allocation failed. |
1230 | osRtxErrorTZ_FreeContext_S    | Secure context memory deallocation failed. |
1231 | osRtxErrorTZ_LoadContext_S    | Secure context load failed. |
1232 | osRtxErrorTZ_SaveContext_S    | Secure context save failed. |
1233
1234 \b Value in the Event Recorder shows:
1235   - \b mutex_id : mutex ID.
1236   - \b status : execution status code.
1237 */
1238
1239 /**
1240 \fn void EvrRtxMutexNew (const osMutexAttr_t *attr)
1241 \details
1242 The event \b MutexNew is generated when the function \ref osMutexNew is called.
1243
1244 \b Value in the Event Recorder shows:
1245   - \b attr : memory address of Mutex attributes or 0 when they are not specified.
1246 */
1247
1248 /**
1249 \fn void EvrRtxMutexCreated (osMutexId_t mutex_id, const char *name)
1250 \details
1251 The event \b MutexCreated is generated when the function \ref osMutexNew successfully creates a mutex object.
1252
1253 \b Value in the Event Recorder shows:
1254   - \b mutex_id : mutex ID.
1255 */
1256
1257 /**
1258 \fn void EvrRtxMutexGetName (osMutexId_t mutex_id, const char *name)
1259 \details
1260 The event \b MutexGetName is generated when the function \ref osMutexGetName is called and its execution result is known.
1261
1262 \b Value in the Event Recorder shows:
1263   - \b mutex_id : mutex ID.
1264   - \b name : retrieved memory address of name string (0 in case of a failure).
1265 */
1266
1267 /**
1268 \fn void EvrRtxMutexAcquire (osMutexId_t mutex_id, uint32_t timeout)
1269 \details
1270 The event \b MutexAcquire is generated when the function \ref osMutexAcquire is called.
1271
1272 \b Value in the Event Recorder shows:
1273   - \b mutex_id : mutex ID.
1274   - \b timeout : \ref CMSIS_RTOS_TimeOutValue.
1275 */
1276
1277 /**
1278 \fn void EvrRtxMutexAcquirePending (osMutexId_t mutex_id, uint32_t timeout)
1279 \details
1280 The event \b MutexAcquirePending is generated when the function \ref osMutexAcquire blocks current running thread and waits for mutex to become available.
1281
1282 \b Value in the Event Recorder shows:
1283   - \b mutex_id : mutex ID.
1284   - \b timeout : \ref CMSIS_RTOS_TimeOutValue.
1285 */
1286
1287 /**
1288 \fn void EvrRtxMutexAcquireTimeout (osMutexId_t mutex_id)
1289 \details
1290 The event \b MutexAcquireTimeout is generated when wait for mutex to become available is aborted due to expired wait timeout.
1291
1292 \b Value in the Event Recorder shows:
1293   - \b mutex_id : mutex ID.
1294 */
1295
1296 /**
1297 \fn void EvrRtxMutexAcquired (osMutexId_t mutex_id, uint32_t lock)
1298 \details
1299 The event \b MutexAcquired is generated when the function \ref osMutexAcquire successfully acquires a mutex.
1300
1301 \b Value in the Event Recorder shows:
1302   - \b mutex_id : mutex ID.
1303   - \b lock : current lock counter state.
1304 */
1305
1306 /**
1307 \fn void EvrRtxMutexNotAcquired (osMutexId_t mutex_id)
1308 \details
1309 The event \b MutexNotAcquired is generated when the function \ref osMutexAcquire returns without timeout and mutex was not acquired.
1310
1311 \b Value in the Event Recorder shows:
1312   - \b mutex_id : mutex ID.
1313 */
1314
1315 /**
1316 \fn void EvrRtxMutexRelease (osMutexId_t mutex_id)
1317 \details
1318 The event \b MutexRelease is generated when the function \ref osMutexRelease is called.
1319
1320 \b Value in the Event Recorder shows:
1321   - \b mutex_id : mutex ID.
1322 */
1323
1324 /**
1325 \fn void EvrRtxMutexReleased (osMutexId_t mutex_id, uint32_t lock)
1326 \details
1327 The event \b MutexReleased is generated when the function \ref osMutexRelease successfully releases a mutex.
1328
1329 \b Value in the Event Recorder shows:
1330   - \b mutex_id : mutex ID.
1331   - \b lock : current lock counter state.
1332 */
1333
1334 /**
1335 \fn void EvrRtxMutexGetOwner (osMutexId_t mutex_id, osThreadId_t thread_id)
1336 \details
1337 The event \b MutexGetOwner is generated when the function \ref osMutexGetOwner is called and its execution result is known.
1338
1339 \b Value in the Event Recorder shows:
1340   - \b mutex_id : mutex ID.
1341   - \b thread_id : retrieved owner thread ID (0 in case of a failure or when mutex is not locked)
1342 */
1343
1344 /**
1345 \fn void EvrRtxMutexDelete (osMutexId_t mutex_id)
1346 \details
1347 The event \b MutexDelete is generated when the function \ref osMutexDelete is called.
1348
1349 \b Value in the Event Recorder shows:
1350   - \b mutex_id : mutex ID.
1351 */
1352
1353 /**
1354 \fn void EvrRtxMutexDestroyed (osMutexId_t mutex_id)
1355 \details
1356 The event \b MutexDestroyed is generated when the function \ref osMutexDelete successfully deletes the mutex object.
1357
1358 \b Value in the Event Recorder shows:
1359   - \b mutex_id : mutex ID.
1360 */
1361
1362 /**
1363 @}
1364 */
1365
1366 /**
1367 \defgroup rtx_evr_semaphore Semaphore Functions
1368 \brief Events generated by semaphore functions 
1369 \details
1370 @{
1371 */
1372
1373 /**
1374 \fn void EvrRtxSemaphoreError (osSemaphoreId_t semaphore_id, int32_t status)
1375 \details
1376 The event \b SemaphoreError is generated when \ref CMSIS_RTOS_SemaphoreMgmt routines complete their execution due to an error.
1377
1378 The status parameter indicates the execution status and can be one of the \ref osStatus_t "osStatus_t codes" or one
1379 of the extended execution status codes which are summarized in the table below.
1380
1381 |      Extended Status Code     | Description |
1382 |:------------------------------|:------------|
1383 | osRtxErrorKernelNotReady      | Kernel scheduler is not in Ready state. |
1384 | osRtxErrorKernelNotRunning    | Kernel scheduler is not executing - there is no running thread. |
1385 | osRtxErrorInvalidControlBlock | Object control block with invalid alignment or size was specified. |
1386 | osRtxErrorInvalidDataMemory   | Object data memory with invalid alignment or size was specified. |
1387 | osRtxErrorInvalidThreadStack  | Thread stack memory with invalid alignment or size was specified. |
1388 | osRtxErrorInvalidPriority     | Invalid thread priority was specified. |
1389 | osRtxErrorThreadNotJoinable   | Specified thread is not joinable. |
1390 | osRtxErrorMutexNotOwned       | Specified mutex is not owned by the current running thread. |
1391 | osRtxErrorMutexNotLocked      | Specified mutex is not locked. |
1392 | osRtxErrorMutexLockLimit      | Maximum number of recursive mutex locks reached. |
1393 | osRtxErrorSemaphoreCountLimit | Semaphore count limit reached. |
1394 | osRtxErrorTZ_InitContext_S    | Secure context memory system initialization failed. |
1395 | osRtxErrorTZ_AllocContext_S   | Secure context memory allocation failed. |
1396 | osRtxErrorTZ_FreeContext_S    | Secure context memory deallocation failed. |
1397 | osRtxErrorTZ_LoadContext_S    | Secure context load failed. |
1398 | osRtxErrorTZ_SaveContext_S    | Secure context save failed. |
1399
1400 \b Value in the Event Recorder shows:
1401   - \b semaphore_id : semaphore ID.
1402   - \b status : execution status code.
1403 */
1404
1405 /**
1406 \fn void EvrRtxSemaphoreNew (uint32_t max_count, uint32_t initial_count, const osSemaphoreAttr_t *attr)
1407 \details
1408 The event \b SemaphoreNew is generated when the function \ref osSemaphoreNew is called.
1409
1410 \b Value in the Event Recorder shows:
1411   - \b max_count : maximum number of available tokens. 
1412   - \b initial_count : initial number of available tokens.
1413   - \b attr : memory address of Semaphore attributes or 0 when they are not specified.
1414 */
1415
1416 /**
1417 \fn void EvrRtxSemaphoreCreated (osSemaphoreId_t semaphore_id, const char *name)
1418 \details
1419 The event \b SemaphoreCreated is generated when the function \ref osSemaphoreNew successfully creates a semaphore object.
1420
1421 \b Value in the Event Recorder shows:
1422   - \b semaphore_id : semaphore ID.
1423 */
1424
1425 /**
1426 \fn void EvrRtxSemaphoreGetName (osSemaphoreId_t semaphore_id, const char *name)
1427 \details
1428 The event \b SemaphoreGetName is generated when the function \ref osSemaphoreGetName is called and its execution result is known.
1429
1430 \b Value in the Event Recorder shows:
1431   - \b semaphore_id : semaphore ID.
1432   - \b name : retrieved memory address of name string (0 in case of a failure).
1433 */
1434
1435 /**
1436 \fn void EvrRtxSemaphoreAcquire (osSemaphoreId_t semaphore_id, uint32_t timeout)
1437 \details
1438 The event \b SemaphoreAcquire is generated when the function \ref osSemaphoreAcquire is called.
1439
1440 \b Value in the Event Recorder shows:
1441   - \b semaphore_id : semaphore ID.
1442   - \b timeout : \ref CMSIS_RTOS_TimeOutValue.
1443 */
1444
1445 /**
1446 \fn void EvrRtxSemaphoreAcquirePending (osSemaphoreId_t semaphore_id, uint32_t timeout)
1447 \details
1448 The event \b SemaphoreAcquirePending is generated when the function \ref osSemaphoreAcquire blocks current running thread and waits for semaphore token to become available.
1449
1450 \b Value in the Event Recorder shows:
1451   - \b semaphore_id : semaphore ID.
1452   - \b timeout : \ref CMSIS_RTOS_TimeOutValue.
1453 */
1454
1455 /**
1456 \fn void EvrRtxSemaphoreAcquireTimeout (osSemaphoreId_t semaphore_id)
1457 \details
1458 The event \b SemaphoreAcquireTimeout is generated when wait for semaphore to become available is aborted due to expired wait timeout.
1459
1460 \b Value in the Event Recorder shows:
1461   - \b semaphore_id : semaphore ID.
1462 */
1463
1464 /**
1465 \fn void EvrRtxSemaphoreAcquired (osSemaphoreId_t semaphore_id, uint32_t tokens)
1466 \details
1467 The event \b SemaphoreAcquired is generated when the function \ref osSemaphoreAcquire successfully acquires the semaphore token.
1468
1469 \b Value in the Event Recorder shows:
1470   - \b semaphore_id : semaphore ID.
1471   - \b tokens : available tokens.
1472 */
1473
1474 /**
1475 \fn void EvrRtxSemaphoreNotAcquired (osSemaphoreId_t semaphore_id)
1476 \details
1477 The event \b SemaphoreNotAcquired is generated when the function \ref osMutexAcquire returns without timeout and semaphore token was not acquired.
1478
1479 \b Value in the Event Recorder shows:
1480   - \b semaphore_id : semaphore ID.
1481 */
1482
1483 /**
1484 \fn void EvrRtxSemaphoreRelease (osSemaphoreId_t semaphore_id)
1485 \details
1486 The event \b SemaphoreRelease is generated when the function \ref osSemaphoreRelease is called.
1487
1488 \b Value in the Event Recorder shows:
1489   - \b semaphore_id : semaphore ID.
1490 */
1491
1492 /**
1493 \fn void EvrRtxSemaphoreReleased (osSemaphoreId_t semaphore_id, uint32_t tokens)
1494 \details
1495 The event \b SemaphoreReleased is generated when the function \ref osSemaphoreRelease successfully releases the semaphore token.
1496
1497 \b Value in the Event Recorder shows:
1498   - \b semaphore_id : semaphore ID.
1499   - \b tokens : available tokens.
1500 */
1501
1502 /**
1503 \fn void EvrRtxSemaphoreGetCount (osSemaphoreId_t semaphore_id, uint32_t count)
1504 \details
1505 The event \b SemaphoreGetCount is generated when the function \ref osSemaphoreGetCount is called and its execution result is known.
1506
1507 \b Value in the Event Recorder shows:
1508   - \b semaphore_id : semaphore ID.
1509   - \b count : retrieved current number of available tokens. 
1510 */
1511
1512 /**
1513 \fn void EvrRtxSemaphoreDelete (osSemaphoreId_t semaphore_id)
1514 \details
1515 The event \b SemaphoreDelete is generated when the function \ref osSemaphoreDelete is called.
1516
1517 \b Value in the Event Recorder shows:
1518   - \b semaphore_id : semaphore ID.
1519 */
1520
1521 /**
1522 \fn void EvrRtxSemaphoreDestroyed (osSemaphoreId_t semaphore_id)
1523 \details
1524 The event \b SemaphoreDestroyed is generated when the function \ref osSemaphoreDelete successfully deletes the semaphore object.
1525
1526 \b Value in the Event Recorder shows:
1527   - \b semaphore_id : semaphore ID.
1528 */
1529
1530 /**
1531 @}
1532 */
1533
1534 /**
1535 \defgroup rtx_evr_memory_pool Memory Pool Functions
1536 \brief Events generated by memory pool functions 
1537 \details
1538 @{
1539 */
1540
1541 /**
1542 \fn void EvrRtxMemoryPoolError (osMemoryPoolId_t mp_id, int32_t status)
1543 \details
1544 The event \b MemoryPoolError is generated when \ref CMSIS_RTOS_PoolMgmt routines complete their execution due to an error.
1545
1546 The status parameter indicates the execution status and can be one of the \ref osStatus_t "osStatus_t codes" or one
1547 of the extended execution status codes which are summarized in the table below.
1548
1549 |      Extended Status Code     | Description |
1550 |:------------------------------|:------------|
1551 | osRtxErrorKernelNotReady      | Kernel scheduler is not in Ready state. |
1552 | osRtxErrorKernelNotRunning    | Kernel scheduler is not executing - there is no running thread. |
1553 | osRtxErrorInvalidControlBlock | Object control block with invalid alignment or size was specified. |
1554 | osRtxErrorInvalidDataMemory   | Object data memory with invalid alignment or size was specified. |
1555 | osRtxErrorInvalidThreadStack  | Thread stack memory with invalid alignment or size was specified. |
1556 | osRtxErrorInvalidPriority     | Invalid thread priority was specified. |
1557 | osRtxErrorThreadNotJoinable   | Specified thread is not joinable. |
1558 | osRtxErrorMutexNotOwned       | Specified mutex is not owned by the current running thread. |
1559 | osRtxErrorMutexNotLocked      | Specified mutex is not locked. |
1560 | osRtxErrorMutexLockLimit      | Maximum number of recursive mutex locks reached. |
1561 | osRtxErrorSemaphoreCountLimit | Semaphore count limit reached. |
1562 | osRtxErrorTZ_InitContext_S    | Secure context memory system initialization failed. |
1563 | osRtxErrorTZ_AllocContext_S   | Secure context memory allocation failed. |
1564 | osRtxErrorTZ_FreeContext_S    | Secure context memory deallocation failed. |
1565 | osRtxErrorTZ_LoadContext_S    | Secure context load failed. |
1566 | osRtxErrorTZ_SaveContext_S    | Secure context save failed. |
1567
1568 \b Value in the Event Recorder shows:
1569   - \b mp_id : memory pool ID.
1570   - \b status : execution status code.
1571 */
1572
1573 /**
1574 \fn void EvrRtxMemoryPoolNew (uint32_t block_count, uint32_t block_size, const osMemoryPoolAttr_t *attr)
1575 \details
1576 The event \b MemoryPoolNew is generated when the function \ref osMemoryPoolNew is called.
1577
1578 \b Value in the Event Recorder shows:
1579   - \b block_count : maximum number of memory blocks in memory pool.
1580   - \b block_size : memory block size in bytes.
1581   - \b attr : memory address of Memory Pool attributes or 0 when they are not specified.
1582 */
1583
1584 /**
1585 \fn void EvrRtxMemoryPoolCreated (osMemoryPoolId_t mp_id, const char *name)
1586 \details
1587 The event \b MemoryPoolCreated is generated when the function \ref osMemoryPoolNew successfully creates a memory pool object.
1588
1589 \b Value in the Event Recorder shows:
1590   - \b mp_id : memory pool ID.
1591 */
1592
1593 /**
1594 \fn void EvrRtxMemoryPoolGetName (osMemoryPoolId_t mp_id, const char *name)
1595 \details
1596 The event \b MemoryPoolGetName is generated when the function \ref osMemoryPoolGetName is called and its execution result is known.
1597
1598 \b Value in the Event Recorder shows:
1599   - \b mp_id : memory pool ID.
1600   - \b name : retrieved memory address of name string (0 in case of a failure).
1601 */
1602
1603 /**
1604 \fn void EvrRtxMemoryPoolAlloc (osMemoryPoolId_t mp_id, uint32_t timeout)
1605 \details
1606 The event \b MemoryPoolAlloc is generated when the function \ref osMemoryPoolAlloc is called.
1607
1608 \b Value in the Event Recorder shows:
1609   - \b mp_id : memory pool ID.
1610   - \b timeout : \ref CMSIS_RTOS_TimeOutValue.
1611 */
1612
1613 /**
1614 \fn void EvrRtxMemoryPoolAllocPending (osMemoryPoolId_t mp_id, uint32_t timeout)
1615 \details
1616 The event \b MemoryPoolAllocPending is generated when the function \ref osMemoryPoolAlloc blocks current running thread and waits for memory block to become available.
1617
1618 \b Value in the Event Recorder shows:
1619   - \b mp_id : memory pool ID.
1620   - \b timeout : \ref CMSIS_RTOS_TimeOutValue.
1621 */
1622
1623 /**
1624 \fn void EvrRtxMemoryPoolAllocTimeout (osMemoryPoolId_t mp_id)
1625 \details
1626 The event \b MemoryPoolAllocTimeout is generated when wait for memory pool to become available is aborted due to expired wait timeout.
1627
1628 \b Value in the Event Recorder shows:
1629   - \b mp_id : memory pool ID.
1630 */
1631
1632 /**
1633 \fn void EvrRtxMemoryPoolAllocated (osMemoryPoolId_t mp_id, void *block)
1634 \details
1635 The event \b MemoryPoolAllocated is generated when the function \ref osMemoryPoolAlloc successfully allocates the memory block.
1636
1637 \b Value in the Event Recorder shows:
1638   - \b mp_id : memory pool ID.
1639   - \b block : memory address of the allocated memory block.
1640 */
1641
1642 /**
1643 \fn void EvrRtxMemoryPoolAllocFailed (osMemoryPoolId_t mp_id)
1644 \details
1645 The event \b MemoryPoolAllocFailed is generated when the function \ref osMemoryPoolAlloc fails to allocate the memory block due to out of available memory.
1646
1647 \b Value in the Event Recorder shows:
1648   - \b mp_id : memory pool ID.
1649 */
1650
1651 /**
1652 \fn void EvrRtxMemoryPoolFree (osMemoryPoolId_t mp_id, void *block)
1653 \details
1654 The event \b MemoryPoolFree is generated when the function \ref osMemoryPoolFree is called.
1655
1656 \b Value in the Event Recorder shows:
1657   - \b mp_id : memory pool ID.
1658   - \b block : memory address of the memory block to be returned to the memory pool.
1659 */
1660
1661 /**
1662 \fn void EvrRtxMemoryPoolDeallocated (osMemoryPoolId_t mp_id, void *block)
1663 \details
1664 The event \b MemoryPoolDeallocated is generated when the function \ref osMemoryPoolFree successfully deallocates the memory block.
1665
1666 \b Value in the Event Recorder shows:
1667   - \b mp_id : memory pool ID.
1668   - \b block : memory address of the memory block returned to the memory pool. 
1669 */
1670
1671 /**
1672 \fn void EvrRtxMemoryPoolFreeFailed (osMemoryPoolId_t mp_id, void *block)
1673 \details
1674 The event \b MemoryPoolFreeFailed is generated when the function \ref osMemoryPoolFree fails to deallocate the memory block.
1675
1676 \b Value in the Event Recorder shows:
1677   - \b mp_id : memory pool ID.
1678   - \b block : memory address of the memory block to be returned to the memory pool.
1679 */
1680
1681 /**
1682 \fn void EvrRtxMemoryPoolGetCapacity (osMemoryPoolId_t mp_id, uint32_t capacity)
1683 \details
1684 The event \b MemoryPoolGetCapacity is generated when the function \ref osMemoryPoolGetCapacity is called and its execution result is known.
1685
1686 \b Value in the Event Recorder shows:
1687   - \b mp_id : memory pool ID.
1688   - \b capacity : retrieved maximum number of memory blocks (0 in case of a failure). 
1689 */
1690
1691 /**
1692 \fn void EvrRtxMemoryPoolGetBlockSize (osMemoryPoolId_t mp_id, uint32_t block_size)
1693 \details
1694 The event \b MemoryPoolGetBlockSize is generated when the function \ref osMemoryPoolGetBlockSize is called and its execution result is known.
1695
1696 \b Value in the Event Recorder shows:
1697   - \b mp_id : memory pool ID.
1698   - \b block_size : retrieved memory block size in bytes (0 in case of a failure).
1699 */
1700
1701 /**
1702 \fn void EvrRtxMemoryPoolGetCount (osMemoryPoolId_t mp_id, uint32_t count)
1703 \details
1704 The event \b MemoryPoolGetCount is generated when the function \ref osMemoryPoolGetCount is called and its execution result is known.
1705
1706 \b Value in the Event Recorder shows:
1707   - \b mp_id : memory pool ID.
1708   - \b count : retrieved number of memory block used (0 in case of a failure).
1709 */
1710
1711 /**
1712 \fn void EvrRtxMemoryPoolGetSpace (osMemoryPoolId_t mp_id, uint32_t space)
1713 \details
1714 The event \b MemoryPoolGetSpace is generated when the function \ref osMemoryPoolGetSpace is called and its execution result is known.
1715
1716 \b Value in the Event Recorder shows:
1717   - \b mp_id : memory pool ID.
1718   - \b space : retrieved number of memory blocks available (0 in case of a failure).
1719 */
1720
1721 /**
1722 \fn void EvrRtxMemoryPoolDelete (osMemoryPoolId_t mp_id)
1723 \details
1724 The event \b MemoryPoolDelete is generated when the function \ref osMemoryPoolDelete is called.
1725
1726 \b Value in the Event Recorder shows:
1727   - \b mp_id : memory pool ID.
1728 */
1729
1730 /**
1731 \fn void EvrRtxMemoryPoolDestroyed (osMemoryPoolId_t mp_id)
1732 \details
1733 The event \b MemoryPoolDestroyed is generated when the function \ref osMemoryPoolDelete successfully deletes the memory pool object.
1734
1735 \b Value in the Event Recorder shows:
1736   - \b mp_id : memory pool ID.
1737 */
1738
1739 /**
1740 @}
1741 */
1742
1743 /**
1744 \defgroup rtx_evr_message_queue Message Queue Functions
1745 \brief Events generated by message queue functions 
1746 \details
1747 @{
1748 */
1749
1750 /**
1751 \fn void EvrRtxMessageQueueError (osMessageQueueId_t mq_id, int32_t status)
1752 \details
1753 The event \b MessageQueueError is generated when \ref CMSIS_RTOS_Message routines complete their execution due to an error.
1754
1755 The status parameter indicates the execution status and can be one of the \ref osStatus_t "osStatus_t codes" or one
1756 of the extended execution status codes which are summarized in the table below.
1757
1758 |      Extended Status Code     | Description |
1759 |:------------------------------|:------------|
1760 | osRtxErrorKernelNotReady      | Kernel scheduler is not in Ready state. |
1761 | osRtxErrorKernelNotRunning    | Kernel scheduler is not executing - there is no running thread. |
1762 | osRtxErrorInvalidControlBlock | Object control block with invalid alignment or size was specified. |
1763 | osRtxErrorInvalidDataMemory   | Object data memory with invalid alignment or size was specified. |
1764 | osRtxErrorInvalidThreadStack  | Thread stack memory with invalid alignment or size was specified. |
1765 | osRtxErrorInvalidPriority     | Invalid thread priority was specified. |
1766 | osRtxErrorThreadNotJoinable   | Specified thread is not joinable. |
1767 | osRtxErrorMutexNotOwned       | Specified mutex is not owned by the current running thread. |
1768 | osRtxErrorMutexNotLocked      | Specified mutex is not locked. |
1769 | osRtxErrorMutexLockLimit      | Maximum number of recursive mutex locks reached. |
1770 | osRtxErrorSemaphoreCountLimit | Semaphore count limit reached. |
1771 | osRtxErrorTZ_InitContext_S    | Secure context memory system initialization failed. |
1772 | osRtxErrorTZ_AllocContext_S   | Secure context memory allocation failed. |
1773 | osRtxErrorTZ_FreeContext_S    | Secure context memory deallocation failed. |
1774 | osRtxErrorTZ_LoadContext_S    | Secure context load failed. |
1775 | osRtxErrorTZ_SaveContext_S    | Secure context save failed. |
1776
1777 \b Value in the Event Recorder shows:
1778   - \b mq_id : message queue ID.
1779   - \b status : execution status code.
1780 */
1781
1782 /**
1783 \fn void EvrRtxMessageQueueNew (uint32_t msg_count, uint32_t msg_size, const osMessageQueueAttr_t *attr)
1784 \details
1785 The event \b MessageQueueNew is generated when the function \ref osMessageQueueNew is called.
1786
1787 \b Value in the Event Recorder shows:
1788   - \b msg_count : maximum number of messages in queue.
1789   - \b msg_size : maximum message size in bytes.
1790   - \b attr : memory address of Message Queue attributes or 0 when they are not specified.
1791 */
1792
1793 /**
1794 \fn void EvrRtxMessageQueueCreated (osMessageQueueId_t mq_id, const char *name)
1795 \details
1796 The event \b MessageQueueCreated is generated when the function \ref osMessageQueueNew successfully creates a message queue object.
1797
1798 \b Value in the Event Recorder shows:
1799   - \b mq_id : message queue ID.
1800 */
1801
1802 /**
1803 \fn void EvrRtxMessageQueueGetName (osMessageQueueId_t mq_id, const char *name)
1804 \details
1805 The event \b MessageQueueGetName is generated when the function \ref osMessageQueueGetName is called and its execution result is known.
1806
1807 \b Value in the Event Recorder shows:
1808   - \b mq_id : message queue ID.
1809   - \b name : retrieved memory address of name string (0 in case of a failure).
1810 */
1811
1812 /**
1813 \fn void EvrRtxMessageQueuePut (osMessageQueueId_t mq_id, const void *msg_ptr, uint8_t msg_prio, uint32_t timeout)
1814 \details
1815 The event \b MessageQueuePut is generated when the function \ref osMessageQueuePut is called.
1816
1817 \b Value in the Event Recorder shows:
1818   - \b mq_id : message queue ID.
1819   - \b msg_ptr : memory address of message buffer.
1820   - \b msg_prio : message priority.
1821   - \b timeout : \ref CMSIS_RTOS_TimeOutValue.
1822 */
1823
1824 /**
1825 \fn void EvrRtxMessageQueuePutPending (osMessageQueueId_t mq_id, const void *msg_ptr, uint32_t timeout)
1826 \details
1827 The event \b MessageQueuePutPending is generated when the function \ref osMessageQueuePut starts waiting to put message into the queue.
1828
1829 \b Value in the Event Recorder shows:
1830   - \b mq_id : message queue ID.
1831   - \b msg_ptr : memory address of message buffer.
1832   - \b timeout : \ref CMSIS_RTOS_TimeOutValue.
1833 */
1834
1835 /**
1836 \fn void EvrRtxMessageQueuePutTimeout (osMessageQueueId_t mq_id)
1837 \details
1838 The event \b MessageQueuePutTimeout is generated when the function \ref osMessageQueuePut fails to insert a message into the queue until timeout expires.
1839
1840 \b Value in the Event Recorder shows:
1841   - \b mq_id : message queue ID.
1842 */
1843
1844 /**
1845 \fn void EvrRtxMessageQueueInsertPending (osMessageQueueId_t mq_id, const void *msg_ptr)
1846 \details
1847 The event \b MessageQueueInsertPending is generated when the function \ref osMessageQueuePut is called from ISR and message is registered to be put into the queue. 
1848
1849 \b Value in the Event Recorder shows:
1850   - \b mq_id : message queue ID.
1851   - \b msg_ptr : memory address of message buffer.
1852 */
1853
1854 /**
1855 \fn void EvrRtxMessageQueueInserted (osMessageQueueId_t mq_id, const void *msg_ptr)
1856 \details
1857 The event \b MessageQueueInserted is generated when a message is successfully inserted into the queue.
1858
1859 \b Value in the Event Recorder shows:
1860   - \b mq_id : message queue ID.
1861   - \b msg_ptr : memory address of message buffer.
1862 */
1863
1864 /**
1865 \fn void EvrRtxMessageQueueNotInserted (osMessageQueueId_t mq_id, const void *msg_ptr)
1866 \details
1867 The event \b MessageQueueNotInserted is generated when the function \ref osMessageQueuePut fails to insert a message into the queue.
1868 Usually this happens when queue is out of memory.
1869
1870 \b Value in the Event Recorder shows:
1871   - \b mq_id : message queue ID.
1872   - \b msg_ptr : memory address of message buffer.
1873 */
1874
1875 /**
1876 \fn void EvrRtxMessageQueueGet (osMessageQueueId_t mq_id, void *msg_ptr, uint8_t *msg_prio, uint32_t timeout)
1877 \details
1878 The event \b MessageQueueGet is generated when the function \ref osMessageQueueGet is called.
1879
1880 \b Value in the Event Recorder shows:
1881   - \b mq_id : message queue ID.
1882   - \b msg_ptr : memory address of buffer for message.
1883   - \b msg_prio : memory address of buffer for message priority.
1884   - \b timeout : \ref CMSIS_RTOS_TimeOutValue.
1885 */
1886
1887 /**
1888 \fn void EvrRtxMessageQueueGetPending (osMessageQueueId_t mq_id, void *msg_ptr, uint32_t timeout)
1889 \details
1890 The event \b MessageQueueGetPending is generated when the function \ref osMessageQueueGet starts waiting for message to be retrieved from the queue.
1891
1892 \b Value in the Event Recorder shows:
1893   - \b mq_id : message queue ID.
1894   - \b msg_ptr : memory address of buffer for message.
1895   - \b timeout : \ref CMSIS_RTOS_TimeOutValue.
1896 */
1897
1898 /**
1899 \fn void EvrRtxMessageQueueGetTimeout (osMessageQueueId_t mq_id)
1900 \details
1901 The event \b MessageQueueGetTimeout is generated when the function \ref osMessageQueueGet is called and there is no message available in queue until timeout expires.
1902
1903 \b Value in the Event Recorder shows:
1904   - \b mq_id : message queue ID.
1905 */
1906
1907 /**
1908 \fn void EvrRtxMessageQueueRetrieved (osMessageQueueId_t mq_id, void *msg_ptr)
1909 \details
1910 The event \b MessageQueueRetrieved is generated when message is retrieved from the message queue.
1911
1912 \b Value in the Event Recorder shows:
1913   - \b mq_id : message queue ID.
1914   - \b msg_ptr : memory address of buffer for message.
1915 */
1916
1917 /**
1918 \fn void EvrRtxMessageQueueNotRetrieved (osMessageQueueId_t mq_id, void *msg_ptr)
1919 \details
1920 The event \b MessageQueueNotRetrieved is generated when the function \ref osMessageQueueGet is called without the wait timeout and there is no message available in queue.
1921
1922 \b Value in the Event Recorder shows:
1923   - \b mq_id : message queue ID.
1924   - \b msg_ptr : memory address of buffer for message.
1925 */
1926
1927 /**
1928 \fn void EvrRtxMessageQueueGetCapacity (osMessageQueueId_t mq_id, uint32_t capacity)
1929 \details
1930 The event \b MessageQueueGetCapacity is generated when the function \ref osMessageQueueGetCapacity is called and its execution result is known.
1931
1932 \b Value in the Event Recorder shows:
1933   - \b mq_id : message queue ID.
1934   - \b capacity : retrieved maximum number of messages (0 in case of a failure).
1935 */
1936
1937 /**
1938 \fn void EvrRtxMessageQueueGetMsgSize (osMessageQueueId_t mq_id, uint32_t msg_size)
1939 \details
1940 The event \b MessageQueueGetMsgSize is generated when the function \ref osMessageQueueGetMsgSize is called and its execution result is known.
1941
1942 \b Value in the Event Recorder shows:
1943   - \b mq_id : message queue ID.
1944   - \b msg_size : retrieved maximum message size in bytes (0 in case of a failure).
1945 */
1946
1947 /**
1948 \fn void EvrRtxMessageQueueGetCount (osMessageQueueId_t mq_id, uint32_t count)
1949 \details
1950 The event \b MessageQueueGetCount is generated when the function \ref osMessageQueueGetCount is called and its execution result is known.
1951
1952 \b Value in the Event Recorder shows:
1953   - \b mq_id : message queue ID.
1954   - \b count : retrieved number of queued messages (0 in case of a failure).
1955 */
1956
1957 /**
1958 \fn void EvrRtxMessageQueueGetSpace (osMessageQueueId_t mq_id, uint32_t space)
1959 \details
1960 The event \b MessageQueueGetSpace is generated when the function \ref osMessageQueueGetSpace is called and its execution result is known.
1961
1962 \b Value in the Event Recorder shows:
1963   - \b mq_id : message queue ID.
1964   - \b space : retrieved number of available slots for messages (0 in case of a failure).
1965 */
1966
1967 /**
1968 \fn void EvrRtxMessageQueueReset (osMessageQueueId_t mq_id)
1969 \details
1970 The event \b MessageQueueReset is generated when the function \ref osMessageQueueReset is called.
1971
1972 \b Value in the Event Recorder shows:
1973   - \b mq_id : message queue ID.
1974 */
1975
1976 /**
1977 \fn void EvrRtxMessageQueueResetDone (osMessageQueueId_t mq_id)
1978 \details
1979 The event \b MessageQueueResetDone is generated when the function \ref osMessageQueueReset successfully completes message queue reset.
1980
1981 \b Value in the Event Recorder shows:
1982   - \b mq_id : message queue ID.
1983 */
1984
1985 /**
1986 \fn void EvrRtxMessageQueueDelete (osMessageQueueId_t mq_id)
1987 \details
1988 The event \b MessageQueueDelete is generated when the function \ref osMessageQueueDelete is called.
1989
1990 \b Value in the Event Recorder shows:
1991   - \b mq_id : message queue ID.
1992 */
1993
1994 /**
1995 \fn void EvrRtxMessageQueueDestroyed (osMessageQueueId_t mq_id)
1996 \details
1997 The event \b MessageQueueDestroyed is generated when the function \ref osMessageQueueDelete successfully deletes the message queue object.
1998
1999 \b Value in the Event Recorder shows:
2000   - \b mq_id : message queue ID.
2001 */
2002
2003 /**
2004 @}
2005 */
2006
2007 /**
2008 @} 
2009 */
2010 // end group Event Recorder