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