1 /* 2 * Copyright (c) 2013-2019 Arm Limited. All rights reserved. 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 * 6 * Licensed under the Apache License, Version 2.0 (the License); you may 7 * not use this file except in compliance with the License. 8 * You may obtain a copy of the License at 9 * 10 * www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, software 13 * distributed under the License is distributed on an AS IS BASIS, WITHOUT 14 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 * See the License for the specific language governing permissions and 16 * limitations under the License. 17 * 18 * ----------------------------------------------------------------------------- 19 * 20 * Project: CMSIS-RTOS RTX 21 * Title: RTX Event Recorder definitions 22 * 23 * ----------------------------------------------------------------------------- 24 */ 25 26 #ifndef RTX_EVR_H_ 27 #define RTX_EVR_H_ 28 29 #include "cmsis_os2.h" // CMSIS RTOS API 30 #include "RTX_Config.h" // RTX Configuration 31 #include "rtx_os.h" // RTX OS definitions 32 33 // Initial Thread configuration covered also Thread Flags and Generic Wait 34 #ifndef OS_EVR_THFLAGS 35 #define OS_EVR_THFLAGS OS_EVR_THREAD 36 #endif 37 #ifndef OS_EVR_WAIT 38 #define OS_EVR_WAIT OS_EVR_THREAD 39 #endif 40 41 #ifdef _RTE_ 42 #include "RTE_Components.h" 43 #endif 44 45 #ifdef RTE_Compiler_EventRecorder 46 47 //lint -emacro((835,845),EventID) [MISRA Note 13] 48 49 #include "EventRecorder.h" 50 #include "EventRecorderConf.h" 51 52 #if ((defined(OS_EVR_INIT) && (OS_EVR_INIT != 0)) || (EVENT_TIMESTAMP_SOURCE == 2)) 53 #ifndef EVR_RTX_KERNEL_GET_STATE_DISABLE 54 #define EVR_RTX_KERNEL_GET_STATE_DISABLE 55 #endif 56 #endif 57 58 #if (EVENT_TIMESTAMP_SOURCE == 2) 59 #ifndef EVR_RTX_KERNEL_GET_SYS_TIMER_COUNT_DISABLE 60 #define EVR_RTX_KERNEL_GET_SYS_TIMER_COUNT_DISABLE 61 #endif 62 #ifndef EVR_RTX_KERNEL_GET_SYS_TIMER_FREQ_DISABLE 63 #define EVR_RTX_KERNEL_GET_SYS_TIMER_FREQ_DISABLE 64 #endif 65 #endif 66 67 /// RTOS component number 68 #define EvtRtxMemoryNo (0xF0U) 69 #define EvtRtxKernelNo (0xF1U) 70 #define EvtRtxThreadNo (0xF2U) 71 #define EvtRtxThreadFlagsNo (0xF4U) 72 #define EvtRtxWaitNo (0xF3U) 73 #define EvtRtxTimerNo (0xF6U) 74 #define EvtRtxEventFlagsNo (0xF5U) 75 #define EvtRtxMutexNo (0xF7U) 76 #define EvtRtxSemaphoreNo (0xF8U) 77 #define EvtRtxMemoryPoolNo (0xF9U) 78 #define EvtRtxMessageQueueNo (0xFAU) 79 80 #endif // RTE_Compiler_EventRecorder 81 82 83 /// Extended Status codes 84 #define osRtxErrorKernelNotReady (-7) 85 #define osRtxErrorKernelNotRunning (-8) 86 #define osRtxErrorInvalidControlBlock (-9) 87 #define osRtxErrorInvalidDataMemory (-10) 88 #define osRtxErrorInvalidThreadStack (-11) 89 #define osRtxErrorInvalidPriority (-12) 90 #define osRtxErrorThreadNotJoinable (-13) 91 #define osRtxErrorMutexNotOwned (-14) 92 #define osRtxErrorMutexNotLocked (-15) 93 #define osRtxErrorMutexLockLimit (-16) 94 #define osRtxErrorSemaphoreCountLimit (-17) 95 #define osRtxErrorTZ_InitContext_S (-18) 96 #define osRtxErrorTZ_AllocContext_S (-19) 97 #define osRtxErrorTZ_FreeContext_S (-20) 98 #define osRtxErrorTZ_LoadContext_S (-21) 99 #define osRtxErrorTZ_SaveContext_S (-22) 100 101 102 // ==== Memory Events ==== 103 104 /** 105 \brief Event on memory initialization (Op) 106 \param[in] mem pointer to memory pool. 107 \param[in] size size of a memory pool in bytes. 108 \param[in] result execution status: 1 - success, 0 - failure. 109 */ 110 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMORY != 0) && !defined(EVR_RTX_MEMORY_INIT_DISABLE)) 111 extern void EvrRtxMemoryInit (void *mem, uint32_t size, uint32_t result); 112 #else 113 #define EvrRtxMemoryInit(mem, size, result) 114 #endif 115 116 /** 117 \brief Event on memory allocate (Op) 118 \param[in] mem pointer to memory pool. 119 \param[in] size size of a memory block in bytes. 120 \param[in] type memory block type: 0 - generic, 1 - control block. 121 \param[in] block pointer to allocated memory block or NULL in case of no memory is available. 122 */ 123 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMORY != 0) && !defined(EVR_RTX_MEMORY_ALLOC_DISABLE)) 124 extern void EvrRtxMemoryAlloc (void *mem, uint32_t size, uint32_t type, void *block); 125 #else 126 #define EvrRtxMemoryAlloc(mem, size, type, block) 127 #endif 128 129 /** 130 \brief Event on memory free (Op) 131 \param[in] mem pointer to memory pool. 132 \param[in] block memory block to be returned to the memory pool. 133 \param[in] result execution status: 1 - success, 0 - failure. 134 */ 135 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMORY != 0) && !defined(EVR_RTX_MEMORY_FREE_DISABLE)) 136 extern void EvrRtxMemoryFree (void *mem, void *block, uint32_t result); 137 #else 138 #define EvrRtxMemoryFree(mem, block, result) 139 #endif 140 141 /** 142 \brief Event on memory block initialization (Op) 143 \param[in] mp_info memory pool info. 144 \param[in] block_count maximum number of memory blocks in memory pool. 145 \param[in] block_size size of a memory block in bytes. 146 \param[in] block_mem pointer to memory for block storage. 147 */ 148 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMORY != 0) && !defined(EVR_RTX_MEMORY_BLOCK_INIT_DISABLE)) 149 extern void EvrRtxMemoryBlockInit (osRtxMpInfo_t *mp_info, uint32_t block_count, uint32_t block_size, void *block_mem); 150 #else 151 #define EvrRtxMemoryBlockInit(mp_info, block_count, block_size, block_mem) 152 #endif 153 154 /** 155 \brief Event on memory block alloc (Op) 156 \param[in] mp_info memory pool info. 157 \param[in] block address of the allocated memory block or NULL in case of no memory is available. 158 */ 159 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMORY != 0) && !defined(EVR_RTX_MEMORY_BLOCK_ALLOC_DISABLE)) 160 extern void EvrRtxMemoryBlockAlloc (osRtxMpInfo_t *mp_info, void *block); 161 #else 162 #define EvrRtxMemoryBlockAlloc(mp_info, block) 163 #endif 164 165 /** 166 \brief Event on memory block free (Op) 167 \param[in] mp_info memory pool info. 168 \param[in] block address of the allocated memory block to be returned to the memory pool. 169 \param[in] status extended execution status. 170 */ 171 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMORY != 0) && !defined(EVR_RTX_MEMORY_BLOCK_FREE_DISABLE)) 172 extern void EvrRtxMemoryBlockFree (osRtxMpInfo_t *mp_info, void *block, int32_t status); 173 #else 174 #define EvrRtxMemoryBlockFree(mp_info, block, status) 175 #endif 176 177 178 // ==== Kernel Events ==== 179 180 /** 181 \brief Event on RTOS kernel error (Error) 182 \param[in] status extended execution status. 183 */ 184 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_ERROR_DISABLE)) 185 extern void EvrRtxKernelError (int32_t status); 186 #else 187 #define EvrRtxKernelError(status) 188 #endif 189 190 /** 191 \brief Event on RTOS kernel initialize (API) 192 */ 193 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_INITIALIZE_DISABLE)) 194 extern void EvrRtxKernelInitialize (void); 195 #else 196 #define EvrRtxKernelInitialize() 197 #endif 198 199 /** 200 \brief Event on successful RTOS kernel initialize (Op) 201 */ 202 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_INITIALIZED_DISABLE)) 203 extern void EvrRtxKernelInitialized (void); 204 #else 205 #define EvrRtxKernelInitialized() 206 #endif 207 208 /** 209 \brief Event on RTOS kernel information retrieve (API) 210 \param[in] version pointer to buffer for retrieving version information. 211 \param[in] id_buf pointer to buffer for retrieving kernel identification string. 212 \param[in] id_size size of buffer for kernel identification string. 213 */ 214 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_GET_INFO_DISABLE)) 215 extern void EvrRtxKernelGetInfo (osVersion_t *version, char *id_buf, uint32_t id_size); 216 #else 217 #define EvrRtxKernelGetInfo(version, id_buf, id_size) 218 #endif 219 220 /** 221 \brief Event on successful RTOS kernel information retrieve (Op) 222 \param[in] version pointer to buffer for retrieving version information. 223 \param[in] id_buf pointer to buffer for retrieving kernel identification string. 224 \param[in] id_size size of buffer for kernel identification string. 225 */ 226 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_INFO_RETRIEVED_DISABLE)) 227 extern void EvrRtxKernelInfoRetrieved (const osVersion_t *version, const char *id_buf, uint32_t id_size); 228 #else 229 #define EvrRtxKernelInfoRetrieved(version, id_buf, id_size) 230 #endif 231 232 /** 233 \brief Event on current RTOS Kernel state retrieve (API) 234 \param[in] state current RTOS Kernel state. 235 */ 236 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_GET_STATE_DISABLE)) 237 extern void EvrRtxKernelGetState (osKernelState_t state); 238 #else 239 #define EvrRtxKernelGetState(state) 240 #endif 241 242 /** 243 \brief Event on RTOS Kernel scheduler start (API) 244 */ 245 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_START_DISABLE)) 246 extern void EvrRtxKernelStart (void); 247 #else 248 #define EvrRtxKernelStart() 249 #endif 250 251 /** 252 \brief Event on successful RTOS Kernel scheduler start (Op) 253 */ 254 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_STARTED_DISABLE)) 255 extern void EvrRtxKernelStarted (void); 256 #else 257 #define EvrRtxKernelStarted() 258 #endif 259 260 /** 261 \brief Event on RTOS Kernel scheduler lock (API) 262 */ 263 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_LOCK_DISABLE)) 264 extern void EvrRtxKernelLock (void); 265 #else 266 #define EvrRtxKernelLock() 267 #endif 268 269 /** 270 \brief Event on successful RTOS Kernel scheduler lock (Op) 271 \param[in] lock previous lock state (1 - locked, 0 - not locked). 272 */ 273 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_LOCKED_DISABLE)) 274 extern void EvrRtxKernelLocked (int32_t lock); 275 #else 276 #define EvrRtxKernelLocked(lock) 277 #endif 278 279 /** 280 \brief Event on RTOS Kernel scheduler unlock (API) 281 */ 282 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_UNLOCK_DISABLE)) 283 extern void EvrRtxKernelUnlock (void); 284 #else 285 #define EvrRtxKernelUnlock() 286 #endif 287 288 /** 289 \brief Event on successful RTOS Kernel scheduler unlock (Op) 290 \param[in] lock previous lock state (1 - locked, 0 - not locked). 291 */ 292 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_UNLOCKED_DISABLE)) 293 extern void EvrRtxKernelUnlocked (int32_t lock); 294 #else 295 #define EvrRtxKernelUnlocked(lock) 296 #endif 297 298 /** 299 \brief Event on RTOS Kernel scheduler lock state restore (API) 300 \param[in] lock lock state obtained by \ref osKernelLock or \ref osKernelUnlock. 301 */ 302 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_RESTORE_LOCK_DISABLE)) 303 extern void EvrRtxKernelRestoreLock (int32_t lock); 304 #else 305 #define EvrRtxKernelRestoreLock(lock) 306 #endif 307 308 /** 309 \brief Event on successful RTOS Kernel scheduler lock state restore (Op) 310 \param[in] lock new lock state (1 - locked, 0 - not locked). 311 */ 312 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_LOCK_RESTORED_DISABLE)) 313 extern void EvrRtxKernelLockRestored (int32_t lock); 314 #else 315 #define EvrRtxKernelLockRestored(lock) 316 #endif 317 318 /** 319 \brief Event on RTOS Kernel scheduler suspend (API) 320 */ 321 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_SUSPEND_DISABLE)) 322 extern void EvrRtxKernelSuspend (void); 323 #else 324 #define EvrRtxKernelSuspend() 325 #endif 326 327 /** 328 \brief Event on successful RTOS Kernel scheduler suspend (Op) 329 \param[in] sleep_ticks time in ticks, for how long the system can sleep or power-down. 330 */ 331 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_SUSPENDED_DISABLE)) 332 extern void EvrRtxKernelSuspended (uint32_t sleep_ticks); 333 #else 334 #define EvrRtxKernelSuspended(sleep_ticks) 335 #endif 336 337 /** 338 \brief Event on RTOS Kernel scheduler resume (API) 339 \param[in] sleep_ticks time in ticks, for how long the system was in sleep or power-down mode. 340 */ 341 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_RESUME_DISABLE)) 342 extern void EvrRtxKernelResume (uint32_t sleep_ticks); 343 #else 344 #define EvrRtxKernelResume(sleep_ticks) 345 #endif 346 347 /** 348 \brief Event on successful RTOS Kernel scheduler resume (Op) 349 */ 350 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_RESUMED_DISABLE)) 351 extern void EvrRtxKernelResumed (void); 352 #else 353 #define EvrRtxKernelResumed() 354 #endif 355 356 /** 357 \brief Event on RTOS kernel tick count retrieve (API) 358 \param[in] count RTOS kernel current tick count. 359 */ 360 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_GET_TICK_COUNT_DISABLE)) 361 extern void EvrRtxKernelGetTickCount (uint32_t count); 362 #else 363 #define EvrRtxKernelGetTickCount(count) 364 #endif 365 366 /** 367 \brief Event on RTOS kernel tick frequency retrieve (API) 368 \param[in] freq frequency of the kernel tick. 369 */ 370 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_GET_TICK_FREQ_DISABLE)) 371 extern void EvrRtxKernelGetTickFreq (uint32_t freq); 372 #else 373 #define EvrRtxKernelGetTickFreq(freq) 374 #endif 375 376 /** 377 \brief Event on RTOS kernel system timer count retrieve (API) 378 \param[in] count RTOS kernel current system timer count as 32-bit value. 379 */ 380 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_GET_SYS_TIMER_COUNT_DISABLE)) 381 extern void EvrRtxKernelGetSysTimerCount (uint32_t count); 382 #else 383 #define EvrRtxKernelGetSysTimerCount(count) 384 #endif 385 386 /** 387 \brief Event on RTOS kernel system timer frequency retrieve (API) 388 \param[in] freq frequency of the system timer. 389 */ 390 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_GET_SYS_TIMER_FREQ_DISABLE)) 391 extern void EvrRtxKernelGetSysTimerFreq (uint32_t freq); 392 #else 393 #define EvrRtxKernelGetSysTimerFreq(freq) 394 #endif 395 396 397 // ==== Thread Events ==== 398 399 /** 400 \brief Event on thread error (Error) 401 \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId or NULL when ID is unknown. 402 \param[in] status extended execution status. 403 */ 404 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_ERROR_DISABLE)) 405 extern void EvrRtxThreadError (osThreadId_t thread_id, int32_t status); 406 #else 407 #define EvrRtxThreadError(thread_id, status) 408 #endif 409 410 /** 411 \brief Event on thread create and intialize (API) 412 \param[in] func thread function. 413 \param[in] argument pointer that is passed to the thread function as start argument. 414 \param[in] attr thread attributes. 415 */ 416 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_NEW_DISABLE)) 417 extern void EvrRtxThreadNew (osThreadFunc_t func, void *argument, const osThreadAttr_t *attr); 418 #else 419 #define EvrRtxThreadNew(func, argument, attr) 420 #endif 421 422 /** 423 \brief Event on successful thread create (Op) 424 \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. 425 \param[in] thread_addr thread entry address. 426 \param[in] name pointer to thread object name. 427 */ 428 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_CREATED_DISABLE)) 429 extern void EvrRtxThreadCreated (osThreadId_t thread_id, uint32_t thread_addr, const char *name); 430 #else 431 #define EvrRtxThreadCreated(thread_id, thread_addr, name) 432 #endif 433 434 /** 435 \brief Event on thread name retrieve (API) 436 \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. 437 \param[in] name pointer to thread object name. 438 */ 439 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_GET_NAME_DISABLE)) 440 extern void EvrRtxThreadGetName (osThreadId_t thread_id, const char *name); 441 #else 442 #define EvrRtxThreadGetName(thread_id, name) 443 #endif 444 445 /** 446 \brief Event on current running thread ID retrieve (API) 447 \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. 448 */ 449 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_GET_ID_DISABLE)) 450 extern void EvrRtxThreadGetId (osThreadId_t thread_id); 451 #else 452 #define EvrRtxThreadGetId(thread_id) 453 #endif 454 455 /** 456 \brief Event on thread state retrieve (API) 457 \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. 458 \param[in] state current thread state of the specified thread. 459 */ 460 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_GET_STATE_DISABLE)) 461 extern void EvrRtxThreadGetState (osThreadId_t thread_id, osThreadState_t state); 462 #else 463 #define EvrRtxThreadGetState(thread_id, state) 464 #endif 465 466 /** 467 \brief Event on thread stack size retrieve (API) 468 \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. 469 \param[in] stack_size stack size in bytes. 470 */ 471 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_GET_STACK_SIZE_DISABLE)) 472 extern void EvrRtxThreadGetStackSize (osThreadId_t thread_id, uint32_t stack_size); 473 #else 474 #define EvrRtxThreadGetStackSize(thread_id, stack_size) 475 #endif 476 477 /** 478 \brief Event on available stack space retrieve (API) 479 \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. 480 \param[in] stack_space remaining stack space in bytes. 481 */ 482 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_GET_STACK_SPACE_DISABLE)) 483 extern void EvrRtxThreadGetStackSpace (osThreadId_t thread_id, uint32_t stack_space); 484 #else 485 #define EvrRtxThreadGetStackSpace(thread_id, stack_space) 486 #endif 487 488 /** 489 \brief Event on thread priority set (API) 490 \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. 491 \param[in] priority new priority value for the thread function. 492 */ 493 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_SET_PRIORITY_DISABLE)) 494 extern void EvrRtxThreadSetPriority (osThreadId_t thread_id, osPriority_t priority); 495 #else 496 #define EvrRtxThreadSetPriority(thread_id, priority) 497 #endif 498 499 /** 500 \brief Event on thread priority updated (Op) 501 \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. 502 \param[in] priority new priority value for the thread function. 503 */ 504 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_PRIORITY_UPDATED_DISABLE)) 505 extern void EvrRtxThreadPriorityUpdated (osThreadId_t thread_id, osPriority_t priority); 506 #else 507 #define EvrRtxThreadPriorityUpdated(thread_id, priority) 508 #endif 509 510 /** 511 \brief Event on thread priority retrieve (API) 512 \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. 513 \param[in] priority current priority value of the specified thread. 514 */ 515 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_GET_PRIORITY_DISABLE)) 516 extern void EvrRtxThreadGetPriority (osThreadId_t thread_id, osPriority_t priority); 517 #else 518 #define EvrRtxThreadGetPriority(thread_id, priority) 519 #endif 520 521 /** 522 \brief Event on thread yield (API) 523 */ 524 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_YIELD_DISABLE)) 525 extern void EvrRtxThreadYield (void); 526 #else 527 #define EvrRtxThreadYield() 528 #endif 529 530 /** 531 \brief Event on thread suspend (API) 532 \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. 533 */ 534 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_SUSPEND_DISABLE)) 535 extern void EvrRtxThreadSuspend (osThreadId_t thread_id); 536 #else 537 #define EvrRtxThreadSuspend(thread_id) 538 #endif 539 540 /** 541 \brief Event on successful thread suspend (Op) 542 \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. 543 */ 544 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_SUSPENDED_DISABLE)) 545 extern void EvrRtxThreadSuspended (osThreadId_t thread_id); 546 #else 547 #define EvrRtxThreadSuspended(thread_id) 548 #endif 549 550 /** 551 \brief Event on thread resume (API) 552 \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. 553 */ 554 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_RESUME_DISABLE)) 555 extern void EvrRtxThreadResume (osThreadId_t thread_id); 556 #else 557 #define EvrRtxThreadResume(thread_id) 558 #endif 559 560 /** 561 \brief Event on successful thread resume (Op) 562 \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. 563 */ 564 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_RESUMED_DISABLE)) 565 extern void EvrRtxThreadResumed (osThreadId_t thread_id); 566 #else 567 #define EvrRtxThreadResumed(thread_id) 568 #endif 569 570 /** 571 \brief Event on thread detach (API) 572 \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. 573 */ 574 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_DETACH_DISABLE)) 575 extern void EvrRtxThreadDetach (osThreadId_t thread_id); 576 #else 577 #define EvrRtxThreadDetach(thread_id) 578 #endif 579 580 /** 581 \brief Event on successful thread detach (Op) 582 \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. 583 */ 584 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_DETACHED_DISABLE)) 585 extern void EvrRtxThreadDetached (osThreadId_t thread_id); 586 #else 587 #define EvrRtxThreadDetached(thread_id) 588 #endif 589 590 /** 591 \brief Event on thread join (API) 592 \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. 593 */ 594 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_JOIN_DISABLE)) 595 extern void EvrRtxThreadJoin (osThreadId_t thread_id); 596 #else 597 #define EvrRtxThreadJoin(thread_id) 598 #endif 599 600 /** 601 \brief Event on pending thread join (Op) 602 \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. 603 */ 604 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_JOIN_PENDING_DISABLE)) 605 extern void EvrRtxThreadJoinPending (osThreadId_t thread_id); 606 #else 607 #define EvrRtxThreadJoinPending(thread_id) 608 #endif 609 610 /** 611 \brief Event on successful thread join (Op) 612 \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. 613 */ 614 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_JOINED_DISABLE)) 615 extern void EvrRtxThreadJoined (osThreadId_t thread_id); 616 #else 617 #define EvrRtxThreadJoined(thread_id) 618 #endif 619 620 /** 621 \brief Event on thread execution block (Detail) 622 \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. 623 \param[in] timeout \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out. 624 */ 625 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_BLOCKED_DISABLE)) 626 extern void EvrRtxThreadBlocked (osThreadId_t thread_id, uint32_t timeout); 627 #else 628 #define EvrRtxThreadBlocked(thread_id, timeout) 629 #endif 630 631 /** 632 \brief Event on thread execution unblock (Detail) 633 \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. 634 \param[in] ret_val extended execution status of the thread. 635 */ 636 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_UNBLOCKED_DISABLE)) 637 extern void EvrRtxThreadUnblocked (osThreadId_t thread_id, uint32_t ret_val); 638 #else 639 #define EvrRtxThreadUnblocked(thread_id, ret_val) 640 #endif 641 642 /** 643 \brief Event on running thread pre-emption (Detail) 644 \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. 645 */ 646 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_PREEMPTED_DISABLE)) 647 extern void EvrRtxThreadPreempted (osThreadId_t thread_id); 648 #else 649 #define EvrRtxThreadPreempted(thread_id) 650 #endif 651 652 /** 653 \brief Event on running thread switch (Op) 654 \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. 655 */ 656 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_SWITCHED_DISABLE)) 657 extern void EvrRtxThreadSwitched (osThreadId_t thread_id); 658 #else 659 #define EvrRtxThreadSwitched(thread_id) 660 #endif 661 662 /** 663 \brief Event on thread exit (API) 664 */ 665 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_EXIT_DISABLE)) 666 extern void EvrRtxThreadExit (void); 667 #else 668 #define EvrRtxThreadExit() 669 #endif 670 671 /** 672 \brief Event on thread terminate (API) 673 \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. 674 */ 675 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_TERMINATE_DISABLE)) 676 extern void EvrRtxThreadTerminate (osThreadId_t thread_id); 677 #else 678 #define EvrRtxThreadTerminate(thread_id) 679 #endif 680 681 /** 682 \brief Event on successful thread terminate (Op) 683 \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. 684 */ 685 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_DESTROYED_DISABLE)) 686 extern void EvrRtxThreadDestroyed (osThreadId_t thread_id); 687 #else 688 #define EvrRtxThreadDestroyed(thread_id) 689 #endif 690 691 /** 692 \brief Event on active thread count retrieve (API) 693 \param[in] count number of active threads. 694 */ 695 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_GET_COUNT_DISABLE)) 696 extern void EvrRtxThreadGetCount (uint32_t count); 697 #else 698 #define EvrRtxThreadGetCount(count) 699 #endif 700 701 /** 702 \brief Event on active threads enumerate (API) 703 \param[in] thread_array pointer to array for retrieving thread IDs. 704 \param[in] array_items maximum number of items in array for retrieving thread IDs. 705 \param[in] count number of enumerated threads. 706 */ 707 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_ENUMERATE_DISABLE)) 708 extern void EvrRtxThreadEnumerate (osThreadId_t *thread_array, uint32_t array_items, uint32_t count); 709 #else 710 #define EvrRtxThreadEnumerate(thread_array, array_items, count) 711 #endif 712 713 714 // ==== Thread Flags Events ==== 715 716 /** 717 \brief Event on thread flags error (Error) 718 \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId or NULL when ID is unknown. 719 \param[in] status extended execution status. 720 */ 721 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THFLAGS != 0) && !defined(EVR_RTX_THREAD_FLAGS_ERROR_DISABLE)) 722 extern void EvrRtxThreadFlagsError (osThreadId_t thread_id, int32_t status); 723 #else 724 #define EvrRtxThreadFlagsError(thread_id, status) 725 #endif 726 727 /** 728 \brief Event on thread flags set (API) 729 \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. 730 \param[in] flags flags of the thread that shall be set. 731 */ 732 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THFLAGS != 0) && !defined(EVR_RTX_THREAD_FLAGS_SET_DISABLE)) 733 extern void EvrRtxThreadFlagsSet (osThreadId_t thread_id, uint32_t flags); 734 #else 735 #define EvrRtxThreadFlagsSet(thread_id, flags) 736 #endif 737 738 /** 739 \brief Event on successful thread flags set (Op) 740 \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. 741 \param[in] thread_flags thread flags after setting. 742 */ 743 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THFLAGS != 0) && !defined(EVR_RTX_THREAD_FLAGS_SET_DONE_DISABLE)) 744 extern void EvrRtxThreadFlagsSetDone (osThreadId_t thread_id, uint32_t thread_flags); 745 #else 746 #define EvrRtxThreadFlagsSetDone(thread_id, thread_flags) 747 #endif 748 749 /** 750 \brief Event on thread flags clear (API) 751 \param[in] flags flags of the thread that shall be cleared. 752 */ 753 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THFLAGS != 0) && !defined(EVR_RTX_THREAD_FLAGS_CLEAR_DISABLE)) 754 extern void EvrRtxThreadFlagsClear (uint32_t flags); 755 #else 756 #define EvrRtxThreadFlagsClear(flags) 757 #endif 758 759 /** 760 \brief Event on successful thread flags clear (Op) 761 \param[in] thread_flags thread flags before clearing. 762 */ 763 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THFLAGS != 0) && !defined(EVR_RTX_THREAD_FLAGS_CLEAR_DONE_DISABLE)) 764 extern void EvrRtxThreadFlagsClearDone (uint32_t thread_flags); 765 #else 766 #define EvrRtxThreadFlagsClearDone(thread_flags) 767 #endif 768 769 /** 770 \brief Event on thread flags retrieve (API) 771 \param[in] thread_flags current thread flags. 772 */ 773 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THFLAGS != 0) && !defined(EVR_RTX_THREAD_FLAGS_GET_DISABLE)) 774 extern void EvrRtxThreadFlagsGet (uint32_t thread_flags); 775 #else 776 #define EvrRtxThreadFlagsGet(thread_flags) 777 #endif 778 779 /** 780 \brief Event on wait for thread flags (API) 781 \param[in] flags flags to wait for. 782 \param[in] options flags options (osFlagsXxxx). 783 \param[in] timeout \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out. 784 */ 785 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THFLAGS != 0) && !defined(EVR_RTX_THREAD_FLAGS_WAIT_DISABLE)) 786 extern void EvrRtxThreadFlagsWait (uint32_t flags, uint32_t options, uint32_t timeout); 787 #else 788 #define EvrRtxThreadFlagsWait(flags, options, timeout) 789 #endif 790 791 /** 792 \brief Event on pending wait for thread flags (Op) 793 \param[in] flags flags to wait for. 794 \param[in] options flags options (osFlagsXxxx). 795 \param[in] timeout \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out. 796 */ 797 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THFLAGS != 0) && !defined(EVR_RTX_THREAD_FLAGS_WAIT_PENDING_DISABLE)) 798 extern void EvrRtxThreadFlagsWaitPending (uint32_t flags, uint32_t options, uint32_t timeout); 799 #else 800 #define EvrRtxThreadFlagsWaitPending(flags, options, timeout) 801 #endif 802 803 /** 804 \brief Event on wait timeout for thread flags (Op) 805 \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. 806 */ 807 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THFLAGS != 0) && !defined(EVR_RTX_THREAD_FLAGS_WAIT_TIMEOUT_DISABLE)) 808 extern void EvrRtxThreadFlagsWaitTimeout (osThreadId_t thread_id); 809 #else 810 #define EvrRtxThreadFlagsWaitTimeout(thread_id) 811 #endif 812 813 /** 814 \brief Event on successful wait for thread flags (Op) 815 \param[in] flags flags to wait for. 816 \param[in] options flags options (osFlagsXxxx). 817 \param[in] thread_flags thread flags before clearing. 818 \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. 819 */ 820 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THFLAGS != 0) && !defined(EVR_RTX_THREAD_FLAGS_WAIT_COMPLETED_DISABLE)) 821 extern void EvrRtxThreadFlagsWaitCompleted (uint32_t flags, uint32_t options, uint32_t thread_flags, osThreadId_t thread_id); 822 #else 823 #define EvrRtxThreadFlagsWaitCompleted(flags, options, thread_flags, thread_id) 824 #endif 825 826 /** 827 \brief Event on unsuccessful wait for thread flags (Op) 828 \param[in] flags flags to wait for. 829 \param[in] options flags options (osFlagsXxxx). 830 */ 831 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THFLAGS != 0) && !defined(EVR_RTX_THREAD_FLAGS_WAIT_NOT_COMPLETED_DISABLE)) 832 extern void EvrRtxThreadFlagsWaitNotCompleted (uint32_t flags, uint32_t options); 833 #else 834 #define EvrRtxThreadFlagsWaitNotCompleted(flags, options) 835 #endif 836 837 838 // ==== Generic Wait Events ==== 839 840 /** 841 \brief Event on delay error (Error) 842 \param[in] status extended execution status. 843 */ 844 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_WAIT != 0) && !defined(EVR_RTX_DELAY_ERROR_DISABLE)) 845 extern void EvrRtxDelayError (int32_t status); 846 #else 847 #define EvrRtxDelayError(status) 848 #endif 849 850 /** 851 \brief Event on delay for specified time (API) 852 \param[in] ticks \ref CMSIS_RTOS_TimeOutValue "time ticks" value. 853 */ 854 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_WAIT != 0) && !defined(EVR_RTX_DELAY_DISABLE)) 855 extern void EvrRtxDelay (uint32_t ticks); 856 #else 857 #define EvrRtxDelay(ticks) 858 #endif 859 860 /** 861 \brief Event on delay until specified time (API) 862 \param[in] ticks absolute time in ticks. 863 */ 864 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_WAIT != 0) && !defined(EVR_RTX_DELAY_UNTIL_DISABLE)) 865 extern void EvrRtxDelayUntil (uint32_t ticks); 866 #else 867 #define EvrRtxDelayUntil(ticks) 868 #endif 869 870 /** 871 \brief Event on delay started (Op) 872 \param[in] ticks \ref CMSIS_RTOS_TimeOutValue "time ticks" value. 873 */ 874 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_WAIT != 0) && !defined(EVR_RTX_DELAY_STARTED_DISABLE)) 875 extern void EvrRtxDelayStarted (uint32_t ticks); 876 #else 877 #define EvrRtxDelayStarted(ticks) 878 #endif 879 880 /** 881 \brief Event on delay until specified time started (Op) 882 \param[in] ticks \ref CMSIS_RTOS_TimeOutValue "time ticks" value. 883 */ 884 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_WAIT != 0) && !defined(EVR_RTX_DELAY_UNTIL_STARTED_DISABLE)) 885 extern void EvrRtxDelayUntilStarted (uint32_t ticks); 886 #else 887 #define EvrRtxDelayUntilStarted(ticks) 888 #endif 889 890 /** 891 \brief Event on delay completed (Op) 892 \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. 893 */ 894 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_WAIT != 0) && !defined(EVR_RTX_DELAY_COMPLETED_DISABLE)) 895 extern void EvrRtxDelayCompleted (osThreadId_t thread_id); 896 #else 897 #define EvrRtxDelayCompleted(thread_id) 898 #endif 899 900 901 // ==== Timer Events ==== 902 903 /** 904 \brief Event on timer error (Error) 905 \param[in] timer_id timer ID obtained by \ref osTimerNew or NULL when ID is unknown. 906 \param[in] status extended execution status. 907 */ 908 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_TIMER != 0) && !defined(EVR_RTX_TIMER_ERROR_DISABLE)) 909 extern void EvrRtxTimerError (osTimerId_t timer_id, int32_t status); 910 #else 911 #define EvrRtxTimerError(timer_id, status) 912 #endif 913 914 /** 915 \brief Event on timer callback call (Op) 916 \param[in] func start address of a timer call back function. 917 \param[in] argument argument to the timer call back function. 918 */ 919 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_TIMER != 0) && !defined(EVR_RTX_TIMER_CALLBACK_DISABLE)) 920 extern void EvrRtxTimerCallback (osTimerFunc_t func, void *argument); 921 #else 922 #define EvrRtxTimerCallback(func, argument) 923 #endif 924 925 /** 926 \brief Event on timer create and initialize (API) 927 \param[in] func start address of a timer call back function. 928 \param[in] type osTimerOnce for one-shot or osTimerPeriodic for periodic behavior. 929 \param[in] argument argument to the timer call back function. 930 \param[in] attr timer attributes. 931 */ 932 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_TIMER != 0) && !defined(EVR_RTX_TIMER_NEW_DISABLE)) 933 extern void EvrRtxTimerNew (osTimerFunc_t func, osTimerType_t type, void *argument, const osTimerAttr_t *attr); 934 #else 935 #define EvrRtxTimerNew(func, type, argument, attr) 936 #endif 937 938 /** 939 \brief Event on successful timer create (Op) 940 \param[in] timer_id timer ID obtained by \ref osTimerNew. 941 \param[in] name pointer to timer object name. 942 */ 943 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_TIMER != 0) && !defined(EVR_RTX_TIMER_CREATED_DISABLE)) 944 extern void EvrRtxTimerCreated (osTimerId_t timer_id, const char *name); 945 #else 946 #define EvrRtxTimerCreated(timer_id, name) 947 #endif 948 949 /** 950 \brief Event on timer name retrieve (API) 951 \param[in] timer_id timer ID obtained by \ref osTimerNew. 952 \param[in] name pointer to timer object name. 953 */ 954 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_TIMER != 0) && !defined(EVR_RTX_TIMER_GET_NAME_DISABLE)) 955 extern void EvrRtxTimerGetName (osTimerId_t timer_id, const char *name); 956 #else 957 #define EvrRtxTimerGetName(timer_id, name) 958 #endif 959 960 /** 961 \brief Event on timer start (API) 962 \param[in] timer_id timer ID obtained by \ref osTimerNew. 963 \param[in] ticks \ref CMSIS_RTOS_TimeOutValue "time ticks" value of the timer. 964 */ 965 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_TIMER != 0) && !defined(EVR_RTX_TIMER_START_DISABLE)) 966 extern void EvrRtxTimerStart (osTimerId_t timer_id, uint32_t ticks); 967 #else 968 #define EvrRtxTimerStart(timer_id, ticks) 969 #endif 970 971 /** 972 \brief Event on successful timer start (Op) 973 \param[in] timer_id timer ID obtained by \ref osTimerNew. 974 */ 975 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_TIMER != 0) && !defined(EVR_RTX_TIMER_STARTED_DISABLE)) 976 extern void EvrRtxTimerStarted (osTimerId_t timer_id); 977 #else 978 #define EvrRtxTimerStarted(timer_id) 979 #endif 980 981 /** 982 \brief Event on timer stop (API) 983 \param[in] timer_id timer ID obtained by \ref osTimerNew. 984 */ 985 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_TIMER != 0) && !defined(EVR_RTX_TIMER_STOP_DISABLE)) 986 extern void EvrRtxTimerStop (osTimerId_t timer_id); 987 #else 988 #define EvrRtxTimerStop(timer_id) 989 #endif 990 991 /** 992 \brief Event on successful timer stop (Op) 993 \param[in] timer_id timer ID obtained by \ref osTimerNew. 994 */ 995 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_TIMER != 0) && !defined(EVR_RTX_TIMER_STOPPED_DISABLE)) 996 extern void EvrRtxTimerStopped (osTimerId_t timer_id); 997 #else 998 #define EvrRtxTimerStopped(timer_id) 999 #endif 1000 1001 /** 1002 \brief Event on timer running state check (API) 1003 \param[in] timer_id timer ID obtained by \ref osTimerNew. 1004 \param[in] running running state: 0 not running, 1 running. 1005 */ 1006 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_TIMER != 0) && !defined(EVR_RTX_TIMER_IS_RUNNING_DISABLE)) 1007 extern void EvrRtxTimerIsRunning (osTimerId_t timer_id, uint32_t running); 1008 #else 1009 #define EvrRtxTimerIsRunning(timer_id, running) 1010 #endif 1011 1012 /** 1013 \brief Event on timer delete (API) 1014 \param[in] timer_id timer ID obtained by \ref osTimerNew. 1015 */ 1016 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_TIMER != 0) && !defined(EVR_RTX_TIMER_DELETE_DISABLE)) 1017 extern void EvrRtxTimerDelete (osTimerId_t timer_id); 1018 #else 1019 #define EvrRtxTimerDelete(timer_id) 1020 #endif 1021 1022 /** 1023 \brief Event on successful timer delete (Op) 1024 \param[in] timer_id timer ID obtained by \ref osTimerNew. 1025 */ 1026 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_TIMER != 0) && !defined(EVR_RTX_TIMER_DESTROYED_DISABLE)) 1027 extern void EvrRtxTimerDestroyed (osTimerId_t timer_id); 1028 #else 1029 #define EvrRtxTimerDestroyed(timer_id) 1030 #endif 1031 1032 1033 // ==== Event Flags Events ==== 1034 1035 /** 1036 \brief Event on event flags error (Error) 1037 \param[in] ef_id event flags ID obtained by \ref osEventFlagsNew or NULL when ID is unknown. 1038 \param[in] status extended execution status. 1039 */ 1040 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_EVFLAGS != 0) && !defined(EVR_RTX_EVENT_FLAGS_ERROR_DISABLE)) 1041 extern void EvrRtxEventFlagsError (osEventFlagsId_t ef_id, int32_t status); 1042 #else 1043 #define EvrRtxEventFlagsError(ef_id, status) 1044 #endif 1045 1046 /** 1047 \brief Event on event flags create and initialize (API) 1048 \param[in] attr event flags attributes. 1049 */ 1050 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_EVFLAGS != 0) && !defined(EVR_RTX_EVENT_FLAGS_NEW_DISABLE)) 1051 extern void EvrRtxEventFlagsNew (const osEventFlagsAttr_t *attr); 1052 #else 1053 #define EvrRtxEventFlagsNew(attr) 1054 #endif 1055 1056 /** 1057 \brief Event on successful event flags create (Op) 1058 \param[in] ef_id event flags ID obtained by \ref osEventFlagsNew. 1059 \param[in] name pointer to event flags object name. 1060 */ 1061 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_EVFLAGS != 0) && !defined(EVR_RTX_EVENT_FLAGS_CREATED_DISABLE)) 1062 extern void EvrRtxEventFlagsCreated (osEventFlagsId_t ef_id, const char *name); 1063 #else 1064 #define EvrRtxEventFlagsCreated(ef_id, name) 1065 #endif 1066 1067 /** 1068 \brief Event on event flags name retrieve (API) 1069 \param[in] ef_id event flags ID obtained by \ref osEventFlagsNew. 1070 \param[in] name pointer to event flags object name. 1071 */ 1072 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_EVFLAGS != 0) && !defined(EVR_RTX_EVENT_FLAGS_GET_NAME_DISABLE)) 1073 extern void EvrRtxEventFlagsGetName (osEventFlagsId_t ef_id, const char *name); 1074 #else 1075 #define EvrRtxEventFlagsGetName(ef_id, name) 1076 #endif 1077 1078 /** 1079 \brief Event on event flags set (API) 1080 \param[in] ef_id event flags ID obtained by \ref osEventFlagsNew. 1081 \param[in] flags flags that shall be set. 1082 */ 1083 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_EVFLAGS != 0) && !defined(EVR_RTX_EVENT_FLAGS_SET_DISABLE)) 1084 extern void EvrRtxEventFlagsSet (osEventFlagsId_t ef_id, uint32_t flags); 1085 #else 1086 #define EvrRtxEventFlagsSet(ef_id, flags) 1087 #endif 1088 1089 /** 1090 \brief Event on successful event flags set (Op) 1091 \param[in] ef_id event flags ID obtained by \ref osEventFlagsNew. 1092 \param[in] event_flags event flags after setting. 1093 */ 1094 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_EVFLAGS != 0) && !defined(EVR_RTX_EVENT_FLAGS_SET_DONE_DISABLE)) 1095 extern void EvrRtxEventFlagsSetDone (osEventFlagsId_t ef_id, uint32_t event_flags); 1096 #else 1097 #define EvrRtxEventFlagsSetDone(ef_id, event_flags) 1098 #endif 1099 1100 /** 1101 \brief Event on event flags clear (API) 1102 \param[in] ef_id event flags ID obtained by \ref osEventFlagsNew. 1103 \param[in] flags flags that shall be cleared. 1104 */ 1105 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_EVFLAGS != 0) && !defined(EVR_RTX_EVENT_FLAGS_CLEAR_DISABLE)) 1106 extern void EvrRtxEventFlagsClear (osEventFlagsId_t ef_id, uint32_t flags); 1107 #else 1108 #define EvrRtxEventFlagsClear(ef_id, flags) 1109 #endif 1110 1111 /** 1112 \brief Event on successful event flags clear (Op) 1113 \param[in] ef_id event flags ID obtained by \ref osEventFlagsNew. 1114 \param[in] event_flags event flags before clearing. 1115 */ 1116 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_EVFLAGS != 0) && !defined(EVR_RTX_EVENT_FLAGS_CLEAR_DONE_DISABLE)) 1117 extern void EvrRtxEventFlagsClearDone (osEventFlagsId_t ef_id, uint32_t event_flags); 1118 #else 1119 #define EvrRtxEventFlagsClearDone(ef_id, event_flags) 1120 #endif 1121 1122 /** 1123 \brief Event on event flags retrieve (API) 1124 \param[in] ef_id event flags ID obtained by \ref osEventFlagsNew. 1125 \param[in] event_flags current event flags. 1126 */ 1127 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_EVFLAGS != 0) && !defined(EVR_RTX_EVENT_FLAGS_GET_DISABLE)) 1128 extern void EvrRtxEventFlagsGet (osEventFlagsId_t ef_id, uint32_t event_flags); 1129 #else 1130 #define EvrRtxEventFlagsGet(ef_id, event_flags) 1131 #endif 1132 1133 /** 1134 \brief Event on wait for event flags (API) 1135 \param[in] ef_id event flags ID obtained by \ref osEventFlagsNew. 1136 \param[in] flags flags to wait for. 1137 \param[in] options flags options (osFlagsXxxx). 1138 \param[in] timeout \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out. 1139 */ 1140 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_EVFLAGS != 0) && !defined(EVR_RTX_EVENT_FLAGS_WAIT_DISABLE)) 1141 extern void EvrRtxEventFlagsWait (osEventFlagsId_t ef_id, uint32_t flags, uint32_t options, uint32_t timeout); 1142 #else 1143 #define EvrRtxEventFlagsWait(ef_id, flags, options, timeout) 1144 #endif 1145 1146 /** 1147 \brief Event on pending wait for event flags (Op) 1148 \param[in] ef_id event flags ID obtained by \ref osEventFlagsNew. 1149 \param[in] flags flags to wait for. 1150 \param[in] options flags options (osFlagsXxxx). 1151 \param[in] timeout \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out. 1152 */ 1153 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_EVFLAGS != 0) && !defined(EVR_RTX_EVENT_FLAGS_WAIT_PENDING_DISABLE)) 1154 extern void EvrRtxEventFlagsWaitPending (osEventFlagsId_t ef_id, uint32_t flags, uint32_t options, uint32_t timeout); 1155 #else 1156 #define EvrRtxEventFlagsWaitPending(ef_id, flags, options, timeout) 1157 #endif 1158 1159 /** 1160 \brief Event on wait timeout for event flags (Op) 1161 \param[in] ef_id event flags ID obtained by \ref osEventFlagsNew. 1162 */ 1163 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_EVFLAGS != 0) && !defined(EVR_RTX_EVENT_FLAGS_WAIT_TIMEOUT_DISABLE)) 1164 extern void EvrRtxEventFlagsWaitTimeout (osEventFlagsId_t ef_id); 1165 #else 1166 #define EvrRtxEventFlagsWaitTimeout(ef_id) 1167 #endif 1168 1169 /** 1170 \brief Event on successful wait for event flags (Op) 1171 \param[in] ef_id event flags ID obtained by \ref osEventFlagsNew. 1172 \param[in] flags flags to wait for. 1173 \param[in] options flags options (osFlagsXxxx). 1174 \param[in] event_flags event flags before clearing or 0 if specified flags have not been set. 1175 */ 1176 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_EVFLAGS != 0) && !defined(EVR_RTX_EVENT_FLAGS_WAIT_COMPLETED_DISABLE)) 1177 extern void EvrRtxEventFlagsWaitCompleted (osEventFlagsId_t ef_id, uint32_t flags, uint32_t options, uint32_t event_flags); 1178 #else 1179 #define EvrRtxEventFlagsWaitCompleted(ef_id, flags, options, event_flags) 1180 #endif 1181 1182 /** 1183 \brief Event on unsuccessful wait for event flags (Op) 1184 \param[in] ef_id event flags ID obtained by \ref osEventFlagsNew. 1185 \param[in] flags flags to wait for. 1186 \param[in] options flags options (osFlagsXxxx). 1187 */ 1188 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_EVFLAGS != 0) && !defined(EVR_RTX_EVENT_FLAGS_WAIT_NOT_COMPLETED_DISABLE)) 1189 extern void EvrRtxEventFlagsWaitNotCompleted (osEventFlagsId_t ef_id, uint32_t flags, uint32_t options); 1190 #else 1191 #define EvrRtxEventFlagsWaitNotCompleted(ef_id, flags, options) 1192 #endif 1193 1194 /** 1195 \brief Event on event flags delete (API) 1196 \param[in] ef_id event flags ID obtained by \ref osEventFlagsNew. 1197 */ 1198 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_EVFLAGS != 0) && !defined(EVR_RTX_EVENT_FLAGS_DELETE_DISABLE)) 1199 extern void EvrRtxEventFlagsDelete (osEventFlagsId_t ef_id); 1200 #else 1201 #define EvrRtxEventFlagsDelete(ef_id) 1202 #endif 1203 1204 /** 1205 \brief Event on successful event flags delete (Op) 1206 \param[in] ef_id event flags ID obtained by \ref osEventFlagsNew. 1207 */ 1208 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_EVFLAGS != 0) && !defined(EVR_RTX_EVENT_FLAGS_DESTROYED_DISABLE)) 1209 extern void EvrRtxEventFlagsDestroyed (osEventFlagsId_t ef_id); 1210 #else 1211 #define EvrRtxEventFlagsDestroyed(ef_id) 1212 #endif 1213 1214 1215 // ==== Mutex Events ==== 1216 1217 /** 1218 \brief Event on mutex error (Error) 1219 \param[in] mutex_id mutex ID obtained by \ref osMutexNew or NULL when ID is unknown. 1220 \param[in] status extended execution status. 1221 */ 1222 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MUTEX != 0) && !defined(EVR_RTX_MUTEX_ERROR_DISABLE)) 1223 extern void EvrRtxMutexError (osMutexId_t mutex_id, int32_t status); 1224 #else 1225 #define EvrRtxMutexError(mutex_id, status) 1226 #endif 1227 1228 /** 1229 \brief Event on mutex create and initialize (API) 1230 \param[in] attr mutex attributes. 1231 */ 1232 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MUTEX != 0) && !defined(EVR_RTX_MUTEX_NEW_DISABLE)) 1233 extern void EvrRtxMutexNew (const osMutexAttr_t *attr); 1234 #else 1235 #define EvrRtxMutexNew(attr) 1236 #endif 1237 1238 /** 1239 \brief Event on successful mutex create (Op) 1240 \param[in] mutex_id mutex ID obtained by \ref osMutexNew. 1241 \param[in] name pointer to mutex object name. 1242 */ 1243 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MUTEX != 0) && !defined(EVR_RTX_MUTEX_CREATED_DISABLE)) 1244 extern void EvrRtxMutexCreated (osMutexId_t mutex_id, const char *name); 1245 #else 1246 #define EvrRtxMutexCreated(mutex_id, name) 1247 #endif 1248 1249 /** 1250 \brief Event on mutex name retrieve (API) 1251 \param[in] mutex_id mutex ID obtained by \ref osMutexNew. 1252 \param[in] name pointer to mutex object name. 1253 */ 1254 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MUTEX != 0) && !defined(EVR_RTX_MUTEX_GET_NAME_DISABLE)) 1255 extern void EvrRtxMutexGetName (osMutexId_t mutex_id, const char *name); 1256 #else 1257 #define EvrRtxMutexGetName(mutex_id, name) 1258 #endif 1259 1260 /** 1261 \brief Event on mutex acquire (API) 1262 \param[in] mutex_id mutex ID obtained by \ref osMutexNew. 1263 \param[in] timeout \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out. 1264 */ 1265 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MUTEX != 0) && !defined(EVR_RTX_MUTEX_ACQUIRE_DISABLE)) 1266 extern void EvrRtxMutexAcquire (osMutexId_t mutex_id, uint32_t timeout); 1267 #else 1268 #define EvrRtxMutexAcquire(mutex_id, timeout) 1269 #endif 1270 1271 /** 1272 \brief Event on pending mutex acquire (Op) 1273 \param[in] mutex_id mutex ID obtained by \ref osMutexNew. 1274 \param[in] timeout \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out. 1275 */ 1276 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MUTEX != 0) && !defined(EVR_RTX_MUTEX_ACQUIRE_PENDING_DISABLE)) 1277 extern void EvrRtxMutexAcquirePending (osMutexId_t mutex_id, uint32_t timeout); 1278 #else 1279 #define EvrRtxMutexAcquirePending(mutex_id, timeout); 1280 #endif 1281 1282 /** 1283 \brief Event on mutex acquire timeout (Op) 1284 \param[in] mutex_id mutex ID obtained by \ref osMutexNew. 1285 */ 1286 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MUTEX != 0) && !defined(EVR_RTX_MUTEX_ACQUIRE_TIMEOUT_DISABLE)) 1287 extern void EvrRtxMutexAcquireTimeout (osMutexId_t mutex_id); 1288 #else 1289 #define EvrRtxMutexAcquireTimeout(mutex_id) 1290 #endif 1291 1292 /** 1293 \brief Event on successful mutex acquire (Op) 1294 \param[in] mutex_id mutex ID obtained by \ref osMutexNew. 1295 \param[in] lock current number of times mutex object is locked. 1296 */ 1297 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MUTEX != 0) && !defined(EVR_RTX_MUTEX_ACQUIRED_DISABLE)) 1298 extern void EvrRtxMutexAcquired (osMutexId_t mutex_id, uint32_t lock); 1299 #else 1300 #define EvrRtxMutexAcquired(mutex_id, lock) 1301 #endif 1302 1303 /** 1304 \brief Event on unsuccessful mutex acquire (Op) 1305 \param[in] mutex_id mutex ID obtained by \ref osMutexNew. 1306 */ 1307 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MUTEX != 0) && !defined(EVR_RTX_MUTEX_NOT_ACQUIRED_DISABLE)) 1308 extern void EvrRtxMutexNotAcquired (osMutexId_t mutex_id); 1309 #else 1310 #define EvrRtxMutexNotAcquired(mutex_id) 1311 #endif 1312 1313 /** 1314 \brief Event on mutex release (API) 1315 \param[in] mutex_id mutex ID obtained by \ref osMutexNew. 1316 */ 1317 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MUTEX != 0) && !defined(EVR_RTX_MUTEX_RELEASE_DISABLE)) 1318 extern void EvrRtxMutexRelease (osMutexId_t mutex_id); 1319 #else 1320 #define EvrRtxMutexRelease(mutex_id) 1321 #endif 1322 1323 /** 1324 \brief Event on successful mutex release (Op) 1325 \param[in] mutex_id mutex ID obtained by \ref osMutexNew. 1326 \param[in] lock current number of times mutex object is locked. 1327 */ 1328 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MUTEX != 0) && !defined(EVR_RTX_MUTEX_RELEASED_DISABLE)) 1329 extern void EvrRtxMutexReleased (osMutexId_t mutex_id, uint32_t lock); 1330 #else 1331 #define EvrRtxMutexReleased(mutex_id, lock) 1332 #endif 1333 1334 /** 1335 \brief Event on mutex owner retrieve (API) 1336 \param[in] mutex_id mutex ID obtained by \ref osMutexNew. 1337 \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. 1338 */ 1339 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MUTEX != 0) && !defined(EVR_RTX_MUTEX_GET_OWNER_DISABLE)) 1340 extern void EvrRtxMutexGetOwner (osMutexId_t mutex_id, osThreadId_t thread_id); 1341 #else 1342 #define EvrRtxMutexGetOwner(mutex_id, thread_id) 1343 #endif 1344 1345 /** 1346 \brief Event on mutex delete (API) 1347 \param[in] mutex_id mutex ID obtained by \ref osMutexNew. 1348 */ 1349 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MUTEX != 0) && !defined(EVR_RTX_MUTEX_DELETE_DISABLE)) 1350 extern void EvrRtxMutexDelete (osMutexId_t mutex_id); 1351 #else 1352 #define EvrRtxMutexDelete(mutex_id) 1353 #endif 1354 1355 /** 1356 \brief Event on successful mutex delete (Op) 1357 \param[in] mutex_id mutex ID obtained by \ref osMutexNew. 1358 */ 1359 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MUTEX != 0) && !defined(EVR_RTX_MUTEX_DESTROYED_DISABLE)) 1360 extern void EvrRtxMutexDestroyed (osMutexId_t mutex_id); 1361 #else 1362 #define EvrRtxMutexDestroyed(mutex_id) 1363 #endif 1364 1365 1366 // ==== Semaphore Events ==== 1367 1368 /** 1369 \brief Event on semaphore error (Error) 1370 \param[in] semaphore_id semaphore ID obtained by \ref osSemaphoreNew or NULL when ID is unknown. 1371 \param[in] status extended execution status. 1372 */ 1373 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_SEMAPHORE != 0) && !defined(EVR_RTX_SEMAPHORE_ERROR_DISABLE)) 1374 extern void EvrRtxSemaphoreError (osSemaphoreId_t semaphore_id, int32_t status); 1375 #else 1376 #define EvrRtxSemaphoreError(semaphore_id, status) 1377 #endif 1378 1379 /** 1380 \brief Event on semaphore create and initialize (API) 1381 \param[in] max_count maximum number of available tokens. 1382 \param[in] initial_count initial number of available tokens. 1383 \param[in] attr semaphore attributes. 1384 */ 1385 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_SEMAPHORE != 0) && !defined(EVR_RTX_SEMAPHORE_NEW_DISABLE)) 1386 extern void EvrRtxSemaphoreNew (uint32_t max_count, uint32_t initial_count, const osSemaphoreAttr_t *attr); 1387 #else 1388 #define EvrRtxSemaphoreNew(max_count, initial_count, attr) 1389 #endif 1390 1391 /** 1392 \brief Event on successful semaphore create (Op) 1393 \param[in] semaphore_id semaphore ID obtained by \ref osSemaphoreNew. 1394 \param[in] name pointer to semaphore object name. 1395 */ 1396 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_SEMAPHORE != 0) && !defined(EVR_RTX_SEMAPHORE_CREATED_DISABLE)) 1397 extern void EvrRtxSemaphoreCreated (osSemaphoreId_t semaphore_id, const char *name); 1398 #else 1399 #define EvrRtxSemaphoreCreated(semaphore_id, name) 1400 #endif 1401 1402 /** 1403 \brief Event on semaphore name retrieve (API) 1404 \param[in] semaphore_id semaphore ID obtained by \ref osSemaphoreNew. 1405 \param[in] name pointer to semaphore object name. 1406 */ 1407 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_SEMAPHORE != 0) && !defined(EVR_RTX_SEMAPHORE_GET_NAME_DISABLE)) 1408 extern void EvrRtxSemaphoreGetName (osSemaphoreId_t semaphore_id, const char *name); 1409 #else 1410 #define EvrRtxSemaphoreGetName(semaphore_id, name) 1411 #endif 1412 1413 /** 1414 \brief Event on semaphore acquire (API) 1415 \param[in] semaphore_id semaphore ID obtained by \ref osSemaphoreNew. 1416 \param[in] timeout \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out. 1417 */ 1418 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_SEMAPHORE != 0) && !defined(EVR_RTX_SEMAPHORE_ACQUIRE_DISABLE)) 1419 extern void EvrRtxSemaphoreAcquire (osSemaphoreId_t semaphore_id, uint32_t timeout); 1420 #else 1421 #define EvrRtxSemaphoreAcquire(semaphore_id, timeout) 1422 #endif 1423 1424 /** 1425 \brief Event on pending semaphore acquire (Op) 1426 \param[in] semaphore_id semaphore ID obtained by \ref osSemaphoreNew. 1427 \param[in] timeout \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out. 1428 */ 1429 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_SEMAPHORE != 0) && !defined(EVR_RTX_SEMAPHORE_ACQUIRE_PENDING_DISABLE)) 1430 extern void EvrRtxSemaphoreAcquirePending (osSemaphoreId_t semaphore_id, uint32_t timeout); 1431 #else 1432 #define EvrRtxSemaphoreAcquirePending(semaphore_id, timeout); 1433 #endif 1434 1435 /** 1436 \brief Event on semaphore acquire timeout (Op) 1437 \param[in] semaphore_id semaphore ID obtained by \ref osSemaphoreNew. 1438 */ 1439 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_SEMAPHORE != 0) && !defined(EVR_RTX_SEMAPHORE_ACQUIRE_TIMEOUT_DISABLE)) 1440 extern void EvrRtxSemaphoreAcquireTimeout (osSemaphoreId_t semaphore_id); 1441 #else 1442 #define EvrRtxSemaphoreAcquireTimeout(semaphore_id) 1443 #endif 1444 1445 /** 1446 \brief Event on successful semaphore acquire (Op) 1447 \param[in] semaphore_id semaphore ID obtained by \ref osSemaphoreNew. 1448 \param[in] tokens number of available tokens. 1449 */ 1450 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_SEMAPHORE != 0) && !defined(EVR_RTX_SEMAPHORE_ACQUIRED_DISABLE)) 1451 extern void EvrRtxSemaphoreAcquired (osSemaphoreId_t semaphore_id, uint32_t tokens); 1452 #else 1453 #define EvrRtxSemaphoreAcquired(semaphore_id, tokens) 1454 #endif 1455 1456 /** 1457 \brief Event on unsuccessful semaphore acquire (Op) 1458 \param[in] semaphore_id semaphore ID obtained by \ref osSemaphoreNew. 1459 */ 1460 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_SEMAPHORE != 0) && !defined(EVR_RTX_SEMAPHORE_NOT_ACQUIRED_DISABLE)) 1461 extern void EvrRtxSemaphoreNotAcquired (osSemaphoreId_t semaphore_id); 1462 #else 1463 #define EvrRtxSemaphoreNotAcquired(semaphore_id) 1464 #endif 1465 1466 /** 1467 \brief Event on semaphore release (API) 1468 \param[in] semaphore_id semaphore ID obtained by \ref osSemaphoreNew. 1469 */ 1470 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_SEMAPHORE != 0) && !defined(EVR_RTX_SEMAPHORE_RELEASE_DISABLE)) 1471 extern void EvrRtxSemaphoreRelease (osSemaphoreId_t semaphore_id); 1472 #else 1473 #define EvrRtxSemaphoreRelease(semaphore_id) 1474 #endif 1475 1476 /** 1477 \brief Event on successful semaphore release (Op) 1478 \param[in] semaphore_id semaphore ID obtained by \ref osSemaphoreNew. 1479 \param[in] tokens number of available tokens. 1480 */ 1481 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_SEMAPHORE != 0) && !defined(EVR_RTX_SEMAPHORE_RELEASED_DISABLE)) 1482 extern void EvrRtxSemaphoreReleased (osSemaphoreId_t semaphore_id, uint32_t tokens); 1483 #else 1484 #define EvrRtxSemaphoreReleased(semaphore_id, tokens) 1485 #endif 1486 1487 /** 1488 \brief Event on semaphore token count retrieval (API) 1489 \param[in] semaphore_id semaphore ID obtained by \ref osSemaphoreNew. 1490 \param[in] count current number of available tokens. 1491 */ 1492 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_SEMAPHORE != 0) && !defined(EVR_RTX_SEMAPHORE_GET_COUNT_DISABLE)) 1493 extern void EvrRtxSemaphoreGetCount (osSemaphoreId_t semaphore_id, uint32_t count); 1494 #else 1495 #define EvrRtxSemaphoreGetCount(semaphore_id, count) 1496 #endif 1497 1498 /** 1499 \brief Event on semaphore delete (API) 1500 \param[in] semaphore_id semaphore ID obtained by \ref osSemaphoreNew. 1501 */ 1502 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_SEMAPHORE != 0) && !defined(EVR_RTX_SEMAPHORE_DELETE_DISABLE)) 1503 extern void EvrRtxSemaphoreDelete (osSemaphoreId_t semaphore_id); 1504 #else 1505 #define EvrRtxSemaphoreDelete(semaphore_id) 1506 #endif 1507 1508 /** 1509 \brief Event on successful semaphore delete (Op) 1510 \param[in] semaphore_id semaphore ID obtained by \ref osSemaphoreNew. 1511 */ 1512 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_SEMAPHORE != 0) && !defined(EVR_RTX_SEMAPHORE_DESTROYED_DISABLE)) 1513 extern void EvrRtxSemaphoreDestroyed (osSemaphoreId_t semaphore_id); 1514 #else 1515 #define EvrRtxSemaphoreDestroyed(semaphore_id) 1516 #endif 1517 1518 1519 // ==== Memory Pool Events ==== 1520 1521 /** 1522 \brief Event on memory pool error (Error) 1523 \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew or NULL when ID is unknown. 1524 \param[in] status extended execution status. 1525 */ 1526 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMPOOL != 0) && !defined(EVR_RTX_MEMORY_POOL_ERROR_DISABLE)) 1527 extern void EvrRtxMemoryPoolError (osMemoryPoolId_t mp_id, int32_t status); 1528 #else 1529 #define EvrRtxMemoryPoolError(mp_id, status) 1530 #endif 1531 1532 /** 1533 \brief Event on memory pool create and initialize (API) 1534 \param[in] block_count maximum number of memory blocks in memory pool. 1535 \param[in] block_size memory block size in bytes. 1536 \param[in] attr memory pool attributes; NULL: default values. 1537 */ 1538 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMPOOL != 0) && !defined(EVR_RTX_MEMORY_POOL_NEW_DISABLE)) 1539 extern void EvrRtxMemoryPoolNew (uint32_t block_count, uint32_t block_size, const osMemoryPoolAttr_t *attr); 1540 #else 1541 #define EvrRtxMemoryPoolNew(block_count, block_size, attr) 1542 #endif 1543 1544 /** 1545 \brief Event on successful memory pool create (Op) 1546 \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew. 1547 \param[in] name pointer to memory pool object name. 1548 */ 1549 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMPOOL != 0) && !defined(EVR_RTX_MEMORY_POOL_CREATED_DISABLE)) 1550 extern void EvrRtxMemoryPoolCreated (osMemoryPoolId_t mp_id, const char *name); 1551 #else 1552 #define EvrRtxMemoryPoolCreated(mp_id, name) 1553 #endif 1554 1555 /** 1556 \brief Event on memory pool name retrieve (API) 1557 \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew. 1558 \param[in] name pointer to memory pool object name. 1559 */ 1560 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMPOOL != 0) && !defined(EVR_RTX_MEMORY_POOL_GET_NAME_DISABLE)) 1561 extern void EvrRtxMemoryPoolGetName (osMemoryPoolId_t mp_id, const char *name); 1562 #else 1563 #define EvrRtxMemoryPoolGetName(mp_id, name) 1564 #endif 1565 1566 /** 1567 \brief Event on memory pool allocation (API) 1568 \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew. 1569 \param[in] timeout \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out. 1570 */ 1571 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMPOOL != 0) && !defined(EVR_RTX_MEMORY_POOL_ALLOC_DISABLE)) 1572 extern void EvrRtxMemoryPoolAlloc (osMemoryPoolId_t mp_id, uint32_t timeout); 1573 #else 1574 #define EvrRtxMemoryPoolAlloc(mp_id, timeout) 1575 #endif 1576 1577 /** 1578 \brief Event on pending memory pool allocation (Op) 1579 \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew. 1580 \param[in] timeout \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out. 1581 */ 1582 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMPOOL != 0) && !defined(EVR_RTX_MEMORY_POOL_ALLOC_PENDING_DISABLE)) 1583 extern void EvrRtxMemoryPoolAllocPending (osMemoryPoolId_t mp_id, uint32_t timeout); 1584 #else 1585 #define EvrRtxMemoryPoolAllocPending(mp_id, timeout) 1586 #endif 1587 1588 /** 1589 \brief Event on memory pool allocation timeout (Op) 1590 \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew. 1591 */ 1592 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMPOOL != 0) && !defined(EVR_RTX_MEMORY_POOL_ALLOC_TIMEOUT_DISABLE)) 1593 extern void EvrRtxMemoryPoolAllocTimeout (osMemoryPoolId_t mp_id); 1594 #else 1595 #define EvrRtxMemoryPoolAllocTimeout(mp_id) 1596 #endif 1597 1598 /** 1599 \brief Event on successful memory pool allocation (Op) 1600 \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew. 1601 \param[in] block address of the allocated memory block. 1602 */ 1603 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMPOOL != 0) && !defined(EVR_RTX_MEMORY_POOL_ALLOCATED_DISABLE)) 1604 extern void EvrRtxMemoryPoolAllocated (osMemoryPoolId_t mp_id, void *block); 1605 #else 1606 #define EvrRtxMemoryPoolAllocated(mp_id, block) 1607 #endif 1608 1609 /** 1610 \brief Event on unsuccessful memory pool allocation (Op) 1611 \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew. 1612 */ 1613 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMPOOL != 0) && !defined(EVR_RTX_MEMORY_POOL_ALLOC_FAILED_DISABLE)) 1614 extern void EvrRtxMemoryPoolAllocFailed (osMemoryPoolId_t mp_id); 1615 #else 1616 #define EvrRtxMemoryPoolAllocFailed(mp_id) 1617 #endif 1618 1619 /** 1620 \brief Event on memory pool free (API) 1621 \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew. 1622 \param[in] block address of the allocated memory block to be returned to the memory pool. 1623 */ 1624 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMPOOL != 0) && !defined(EVR_RTX_MEMORY_POOL_FREE_DISABLE)) 1625 extern void EvrRtxMemoryPoolFree (osMemoryPoolId_t mp_id, void *block); 1626 #else 1627 #define EvrRtxMemoryPoolFree(mp_id, block) 1628 #endif 1629 1630 /** 1631 \brief Event on successful memory pool free (Op) 1632 \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew. 1633 \param[in] block address of the allocated memory block to be returned to the memory pool. 1634 */ 1635 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMPOOL != 0) && !defined(EVR_RTX_MEMORY_POOL_DEALLOCATED_DISABLE)) 1636 extern void EvrRtxMemoryPoolDeallocated (osMemoryPoolId_t mp_id, void *block); 1637 #else 1638 #define EvrRtxMemoryPoolDeallocated(mp_id, block) 1639 #endif 1640 1641 /** 1642 \brief Event on unsuccessful memory pool free (Op) 1643 \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew. 1644 \param[in] block address of the allocated memory block to be returned to the memory pool. 1645 */ 1646 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMPOOL != 0) && !defined(EVR_RTX_MEMORY_POOL_FREE_FAILED_DISABLE)) 1647 extern void EvrRtxMemoryPoolFreeFailed (osMemoryPoolId_t mp_id, void *block); 1648 #else 1649 #define EvrRtxMemoryPoolFreeFailed(mp_id, block) 1650 #endif 1651 1652 /** 1653 \brief Event on memory pool capacity retrieve (API) 1654 \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew. 1655 \param[in] capacity maximum number of memory blocks. 1656 */ 1657 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMPOOL != 0) && !defined(EVR_RTX_MEMORY_POOL_GET_CAPACITY_DISABLE)) 1658 extern void EvrRtxMemoryPoolGetCapacity (osMemoryPoolId_t mp_id, uint32_t capacity); 1659 #else 1660 #define EvrRtxMemoryPoolGetCapacity(mp_id, capacity) 1661 #endif 1662 1663 /** 1664 \brief Event on memory pool block size retrieve (API) 1665 \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew. 1666 \param[in] block_size memory block size in bytes. 1667 */ 1668 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMPOOL != 0) && !defined(EVR_RTX_MEMORY_POOL_GET_BLOCK_SZIE_DISABLE)) 1669 extern void EvrRtxMemoryPoolGetBlockSize (osMemoryPoolId_t mp_id, uint32_t block_size); 1670 #else 1671 #define EvrRtxMemoryPoolGetBlockSize(mp_id, block_size) 1672 #endif 1673 1674 /** 1675 \brief Event on used memory pool blocks retrieve (API) 1676 \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew. 1677 \param[in] count number of memory blocks used. 1678 */ 1679 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMPOOL != 0) && !defined(EVR_RTX_MEMORY_POOL_GET_COUNT_DISABLE)) 1680 extern void EvrRtxMemoryPoolGetCount (osMemoryPoolId_t mp_id, uint32_t count); 1681 #else 1682 #define EvrRtxMemoryPoolGetCount(mp_id, count) 1683 #endif 1684 1685 /** 1686 \brief Event on available memory pool blocks retrieve (API) 1687 \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew. 1688 \param[in] space number of memory blocks available. 1689 */ 1690 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMPOOL != 0) && !defined(EVR_RTX_MEMORY_POOL_GET_SPACE_DISABLE)) 1691 extern void EvrRtxMemoryPoolGetSpace (osMemoryPoolId_t mp_id, uint32_t space); 1692 #else 1693 #define EvrRtxMemoryPoolGetSpace(mp_id, space) 1694 #endif 1695 1696 /** 1697 \brief Event on memory pool delete (API) 1698 \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew. 1699 */ 1700 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMPOOL != 0) && !defined(EVR_RTX_MEMORY_POOL_DELETE_DISABLE)) 1701 extern void EvrRtxMemoryPoolDelete (osMemoryPoolId_t mp_id); 1702 #else 1703 #define EvrRtxMemoryPoolDelete(mp_id) 1704 #endif 1705 1706 /** 1707 \brief Event on successful memory pool delete (Op) 1708 \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew. 1709 */ 1710 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMPOOL != 0) && !defined(EVR_RTX_MEMORY_POOL_DESTROYED_DISABLE)) 1711 extern void EvrRtxMemoryPoolDestroyed (osMemoryPoolId_t mp_id); 1712 #else 1713 #define EvrRtxMemoryPoolDestroyed(mp_id) 1714 #endif 1715 1716 1717 // ==== Message Queue Events ==== 1718 1719 /** 1720 \brief Event on message queue error (Error) 1721 \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew or NULL when ID is unknown. 1722 \param[in] status extended execution status. 1723 */ 1724 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_ERROR_DISABLE)) 1725 extern void EvrRtxMessageQueueError (osMessageQueueId_t mq_id, int32_t status); 1726 #else 1727 #define EvrRtxMessageQueueError(mq_id, status) 1728 #endif 1729 1730 /** 1731 \brief Event on message queue create and initialization (API) 1732 \param[in] msg_count maximum number of messages in queue. 1733 \param[in] msg_size maximum message size in bytes. 1734 \param[in] attr message queue attributes; NULL: default values. 1735 */ 1736 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_NEW_DISABLE)) 1737 extern void EvrRtxMessageQueueNew (uint32_t msg_count, uint32_t msg_size, const osMessageQueueAttr_t *attr); 1738 #else 1739 #define EvrRtxMessageQueueNew(msg_count, msg_size, attr) 1740 #endif 1741 1742 /** 1743 \brief Event on successful message queue create (Op) 1744 \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew. 1745 \param[in] name pointer to message queue object name. 1746 */ 1747 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_CREATED_DISABLE)) 1748 extern void EvrRtxMessageQueueCreated (osMessageQueueId_t mq_id, const char *name); 1749 #else 1750 #define EvrRtxMessageQueueCreated(mq_id, name) 1751 #endif 1752 1753 /** 1754 \brief Event on message queue name retrieve(API) 1755 \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew. 1756 \param[in] name pointer to message queue object name. 1757 */ 1758 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_GET_NAME_DISABLE)) 1759 extern void EvrRtxMessageQueueGetName (osMessageQueueId_t mq_id, const char *name); 1760 #else 1761 #define EvrRtxMessageQueueGetName(mq_id, name) 1762 #endif 1763 1764 /** 1765 \brief Event on message put (API) 1766 \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew. 1767 \param[in] msg_ptr pointer to buffer with message to put into a queue. 1768 \param[in] msg_prio message priority. 1769 \param[in] timeout \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out. 1770 */ 1771 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_PUT_DISABLE)) 1772 extern void EvrRtxMessageQueuePut (osMessageQueueId_t mq_id, const void *msg_ptr, uint8_t msg_prio, uint32_t timeout); 1773 #else 1774 #define EvrRtxMessageQueuePut(mq_id, msg_ptr, msg_prio, timeout) 1775 #endif 1776 1777 /** 1778 \brief Event on pending message put (Op) 1779 \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew. 1780 \param[in] msg_ptr pointer to buffer with message to put into a queue. 1781 \param[in] timeout \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out. 1782 */ 1783 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_PUT_PENDING_DISABLE)) 1784 extern void EvrRtxMessageQueuePutPending (osMessageQueueId_t mq_id, const void *msg_ptr, uint32_t timeout); 1785 #else 1786 #define EvrRtxMessageQueuePutPending(mq_id, msg_ptr, timeout) 1787 #endif 1788 1789 /** 1790 \brief Event on message put timeout (Op) 1791 \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew. 1792 */ 1793 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_PUT_TIMEOUT_DISABLE)) 1794 extern void EvrRtxMessageQueuePutTimeout (osMessageQueueId_t mq_id); 1795 #else 1796 #define EvrRtxMessageQueuePutTimeout(mq_id) 1797 #endif 1798 1799 /** 1800 \brief Event on pending message insert (Op) 1801 \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew. 1802 \param[in] msg_ptr pointer to buffer with message to put into a queue. 1803 */ 1804 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_INSERT_PENDING_DISABLE)) 1805 extern void EvrRtxMessageQueueInsertPending (osMessageQueueId_t mq_id, const void *msg_ptr); 1806 #else 1807 #define EvrRtxMessageQueueInsertPending(mq_id, msg_ptr) 1808 #endif 1809 1810 /** 1811 \brief Event on successful message insert (Op) 1812 \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew. 1813 \param[in] msg_ptr pointer to buffer with message to put into a queue. 1814 */ 1815 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_INSERTED_DISABLE)) 1816 extern void EvrRtxMessageQueueInserted (osMessageQueueId_t mq_id, const void *msg_ptr); 1817 #else 1818 #define EvrRtxMessageQueueInserted(mq_id, msg_ptr) 1819 #endif 1820 1821 /** 1822 \brief Event on unsuccessful message insert (Op) 1823 \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew. 1824 \param[in] msg_ptr pointer to buffer with message to put into a queue. 1825 */ 1826 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_NOT_INSERTED_DISABLE)) 1827 extern void EvrRtxMessageQueueNotInserted (osMessageQueueId_t mq_id, const void *msg_ptr); 1828 #else 1829 #define EvrRtxMessageQueueNotInserted(mq_id, msg_ptr) 1830 #endif 1831 1832 /** 1833 \brief Event on message get (API) 1834 \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew. 1835 \param[in] msg_ptr pointer to buffer for message to get from a queue. 1836 \param[in] msg_prio message priority. 1837 \param[in] timeout \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out. 1838 */ 1839 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_GET_DISABLE)) 1840 extern void EvrRtxMessageQueueGet (osMessageQueueId_t mq_id, void *msg_ptr, uint8_t *msg_prio, uint32_t timeout); 1841 #else 1842 #define EvrRtxMessageQueueGet(mq_id, msg_ptr, msg_prio, timeout) 1843 #endif 1844 1845 /** 1846 \brief Event on pending message get (Op) 1847 \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew. 1848 \param[in] msg_ptr pointer to buffer for message to get from a queue. 1849 \param[in] timeout \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out. 1850 */ 1851 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_GET_PENDING_DISABLE)) 1852 extern void EvrRtxMessageQueueGetPending (osMessageQueueId_t mq_id, void *msg_ptr, uint32_t timeout); 1853 #else 1854 #define EvrRtxMessageQueueGetPending(mq_id, msg_ptr, timeout) 1855 #endif 1856 1857 /** 1858 \brief Event on message get timeout (Op) 1859 \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew. 1860 */ 1861 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_GET_TIMEOUT_DISABLE)) 1862 extern void EvrRtxMessageQueueGetTimeout (osMessageQueueId_t mq_id); 1863 #else 1864 #define EvrRtxMessageQueueGetTimeout(mq_id) 1865 #endif 1866 1867 /** 1868 \brief Event on successful message get (Op) 1869 \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew. 1870 \param[in] msg_ptr pointer to buffer for message to get from a queue. 1871 */ 1872 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_RETRIEVED_DISABLE)) 1873 extern void EvrRtxMessageQueueRetrieved (osMessageQueueId_t mq_id, void *msg_ptr); 1874 #else 1875 #define EvrRtxMessageQueueRetrieved(mq_id, msg_ptr) 1876 #endif 1877 1878 /** 1879 \brief Event on unsuccessful message get (Op) 1880 \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew. 1881 \param[in] msg_ptr pointer to buffer for message to get from a queue. 1882 */ 1883 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_NOT_RETRIEVED_DISABLE)) 1884 extern void EvrRtxMessageQueueNotRetrieved (osMessageQueueId_t mq_id, void *msg_ptr); 1885 #else 1886 #define EvrRtxMessageQueueNotRetrieved(mq_id, msg_ptr) 1887 #endif 1888 1889 /** 1890 \brief Event on message queue capacity retrieve (API) 1891 \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew. 1892 \param[in] capacity maximum number of messages. 1893 */ 1894 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_GET_CAPACITY_DISABLE)) 1895 extern void EvrRtxMessageQueueGetCapacity (osMessageQueueId_t mq_id, uint32_t capacity); 1896 #else 1897 #define EvrRtxMessageQueueGetCapacity(mq_id, capacity) 1898 #endif 1899 1900 /** 1901 \brief Event on message queue message size retrieve (API) 1902 \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew. 1903 \param[in] msg_size maximum message size in bytes. 1904 */ 1905 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_GET_MSG_SIZE_DISABLE)) 1906 extern void EvrRtxMessageQueueGetMsgSize (osMessageQueueId_t mq_id, uint32_t msg_size); 1907 #else 1908 #define EvrRtxMessageQueueGetMsgSize(mq_id, msg_size) 1909 #endif 1910 1911 /** 1912 \brief Event on message queue message count retrieve (API) 1913 \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew. 1914 \param[in] count number of queued messages. 1915 */ 1916 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_GET_COUNT_DISABLE)) 1917 extern void EvrRtxMessageQueueGetCount (osMessageQueueId_t mq_id, uint32_t count); 1918 #else 1919 #define EvrRtxMessageQueueGetCount(mq_id, count) 1920 #endif 1921 1922 /** 1923 \brief Event on message queue message slots retrieve (API) 1924 \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew. 1925 \param[in] space number of available slots for messages. 1926 */ 1927 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_GET_SPACE_DISABLE)) 1928 extern void EvrRtxMessageQueueGetSpace (osMessageQueueId_t mq_id, uint32_t space); 1929 #else 1930 #define EvrRtxMessageQueueGetSpace(mq_id, space) 1931 #endif 1932 1933 /** 1934 \brief Event on message queue reset (API) 1935 \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew. 1936 */ 1937 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_RESET_DISABLE)) 1938 extern void EvrRtxMessageQueueReset (osMessageQueueId_t mq_id); 1939 #else 1940 #define EvrRtxMessageQueueReset(mq_id) 1941 #endif 1942 1943 /** 1944 \brief Event on successful message queue reset (Op) 1945 \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew. 1946 */ 1947 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_RESET_DONE_DISABLE)) 1948 extern void EvrRtxMessageQueueResetDone (osMessageQueueId_t mq_id); 1949 #else 1950 #define EvrRtxMessageQueueResetDone(mq_id) 1951 #endif 1952 1953 /** 1954 \brief Event on message queue delete (API) 1955 \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew. 1956 */ 1957 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_DELETE_DISABLE)) 1958 extern void EvrRtxMessageQueueDelete (osMessageQueueId_t mq_id); 1959 #else 1960 #define EvrRtxMessageQueueDelete(mq_id) 1961 #endif 1962 1963 /** 1964 \brief Event on successful message queue delete (Op) 1965 \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew. 1966 */ 1967 #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_DESTROYED_DISABLE)) 1968 extern void EvrRtxMessageQueueDestroyed (osMessageQueueId_t mq_id); 1969 #else 1970 #define EvrRtxMessageQueueDestroyed(mq_id) 1971 #endif 1972 1973 1974 #endif // RTX_EVR_H_ 1975