| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115 |
- /*
- * Copyright (c) 2013-2023 Arm Limited. All rights reserved.
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Licensed under the Apache License, Version 2.0 (the License); you may
- * not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * -----------------------------------------------------------------------------
- *
- * Project: CMSIS-RTOS RTX
- * Title: RTX Event Recorder definitions
- *
- * -----------------------------------------------------------------------------
- */
- #ifndef RTX_EVR_H_
- #define RTX_EVR_H_
- #include "rtx_os.h" // RTX OS definitions
- // Initial Thread configuration covered also Thread Flags and Generic Wait
- #ifndef OS_EVR_THFLAGS
- #define OS_EVR_THFLAGS OS_EVR_THREAD
- #endif
- #ifndef OS_EVR_WAIT
- #define OS_EVR_WAIT OS_EVR_THREAD
- #endif
- #ifdef _RTE_
- #include "RTE_Components.h"
- #endif
- #ifdef RTE_Compiler_EventRecorder
- //lint -emacro((835,845),EventID) [MISRA Note 13]
- #include "EventRecorder.h"
- #include "EventRecorderConf.h"
- #if ((defined(OS_EVR_INIT) && (OS_EVR_INIT != 0)) || (EVENT_TIMESTAMP_SOURCE == 2))
- #ifndef EVR_RTX_KERNEL_GET_STATE_DISABLE
- #define EVR_RTX_KERNEL_GET_STATE_DISABLE
- #endif
- #endif
- #if (EVENT_TIMESTAMP_SOURCE == 2)
- #ifndef EVR_RTX_KERNEL_GET_SYS_TIMER_COUNT_DISABLE
- #define EVR_RTX_KERNEL_GET_SYS_TIMER_COUNT_DISABLE
- #endif
- #ifndef EVR_RTX_KERNEL_GET_SYS_TIMER_FREQ_DISABLE
- #define EVR_RTX_KERNEL_GET_SYS_TIMER_FREQ_DISABLE
- #endif
- #endif
- /// RTOS component number
- #define EvtRtxMemoryNo (0xF0U)
- #define EvtRtxKernelNo (0xF1U)
- #define EvtRtxThreadNo (0xF2U)
- #define EvtRtxThreadFlagsNo (0xF4U)
- #define EvtRtxWaitNo (0xF3U)
- #define EvtRtxTimerNo (0xF6U)
- #define EvtRtxEventFlagsNo (0xF5U)
- #define EvtRtxMutexNo (0xF7U)
- #define EvtRtxSemaphoreNo (0xF8U)
- #define EvtRtxMemoryPoolNo (0xF9U)
- #define EvtRtxMessageQueueNo (0xFAU)
- #endif // RTE_Compiler_EventRecorder
- /// Extended Status codes
- #define osRtxErrorKernelNotReady (-8)
- #define osRtxErrorKernelNotRunning (-9)
- #define osRtxErrorInvalidControlBlock (-10)
- #define osRtxErrorInvalidDataMemory (-11)
- #define osRtxErrorInvalidThreadStack (-12)
- #define osRtxErrorInvalidPriority (-13)
- #define osRtxErrorInvalidPrivilegedMode (-14)
- #define osRtxErrorThreadNotJoinable (-15)
- #define osRtxErrorMutexNotOwned (-16)
- #define osRtxErrorMutexNotLocked (-17)
- #define osRtxErrorMutexLockLimit (-18)
- #define osRtxErrorSemaphoreCountLimit (-19)
- #define osRtxErrorTZ_InitContext_S (-20)
- #define osRtxErrorTZ_AllocContext_S (-21)
- #define osRtxErrorTZ_FreeContext_S (-22)
- #define osRtxErrorTZ_LoadContext_S (-23)
- #define osRtxErrorTZ_SaveContext_S (-24)
- // ==== Memory Events ====
- /**
- \brief Event on memory initialization (Op)
- \param[in] mem pointer to memory pool.
- \param[in] size size of a memory pool in bytes.
- \param[in] result execution status: 1 - success, 0 - failure.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMORY != 0) && !defined(EVR_RTX_MEMORY_INIT_DISABLE))
- extern void EvrRtxMemoryInit (void *mem, uint32_t size, uint32_t result);
- #else
- #define EvrRtxMemoryInit(mem, size, result)
- #endif
- /**
- \brief Event on memory allocate (Op)
- \param[in] mem pointer to memory pool.
- \param[in] size size of a memory block in bytes.
- \param[in] type memory block type: 0 - generic, 1 - control block.
- \param[in] block pointer to allocated memory block or NULL in case of no memory is available.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMORY != 0) && !defined(EVR_RTX_MEMORY_ALLOC_DISABLE))
- extern void EvrRtxMemoryAlloc (void *mem, uint32_t size, uint32_t type, void *block);
- #else
- #define EvrRtxMemoryAlloc(mem, size, type, block)
- #endif
- /**
- \brief Event on memory free (Op)
- \param[in] mem pointer to memory pool.
- \param[in] block memory block to be returned to the memory pool.
- \param[in] result execution status: 1 - success, 0 - failure.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMORY != 0) && !defined(EVR_RTX_MEMORY_FREE_DISABLE))
- extern void EvrRtxMemoryFree (void *mem, void *block, uint32_t result);
- #else
- #define EvrRtxMemoryFree(mem, block, result)
- #endif
- /**
- \brief Event on memory block initialization (Op)
- \param[in] mp_info memory pool info.
- \param[in] block_count maximum number of memory blocks in memory pool.
- \param[in] block_size size of a memory block in bytes.
- \param[in] block_mem pointer to memory for block storage.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMORY != 0) && !defined(EVR_RTX_MEMORY_BLOCK_INIT_DISABLE))
- extern void EvrRtxMemoryBlockInit (osRtxMpInfo_t *mp_info, uint32_t block_count, uint32_t block_size, void *block_mem);
- #else
- #define EvrRtxMemoryBlockInit(mp_info, block_count, block_size, block_mem)
- #endif
- /**
- \brief Event on memory block alloc (Op)
- \param[in] mp_info memory pool info.
- \param[in] block address of the allocated memory block or NULL in case of no memory is available.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMORY != 0) && !defined(EVR_RTX_MEMORY_BLOCK_ALLOC_DISABLE))
- extern void EvrRtxMemoryBlockAlloc (osRtxMpInfo_t *mp_info, void *block);
- #else
- #define EvrRtxMemoryBlockAlloc(mp_info, block)
- #endif
- /**
- \brief Event on memory block free (Op)
- \param[in] mp_info memory pool info.
- \param[in] block address of the allocated memory block to be returned to the memory pool.
- \param[in] status extended execution status.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMORY != 0) && !defined(EVR_RTX_MEMORY_BLOCK_FREE_DISABLE))
- extern void EvrRtxMemoryBlockFree (osRtxMpInfo_t *mp_info, void *block, int32_t status);
- #else
- #define EvrRtxMemoryBlockFree(mp_info, block, status)
- #endif
- // ==== Kernel Events ====
- /**
- \brief Event on RTOS kernel error (Error)
- \param[in] status extended execution status.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_ERROR_DISABLE))
- extern void EvrRtxKernelError (int32_t status);
- #else
- #define EvrRtxKernelError(status)
- #endif
- /**
- \brief Event on RTOS kernel initialize (API)
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_INITIALIZE_DISABLE))
- extern void EvrRtxKernelInitialize (void);
- #else
- #define EvrRtxKernelInitialize()
- #endif
- /**
- \brief Event on successful RTOS kernel initialize (Op)
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_INITIALIZED_DISABLE))
- extern void EvrRtxKernelInitialized (void);
- #else
- #define EvrRtxKernelInitialized()
- #endif
- /**
- \brief Event on RTOS kernel information retrieve (API)
- \param[in] version pointer to buffer for retrieving version information.
- \param[in] id_buf pointer to buffer for retrieving kernel identification string.
- \param[in] id_size size of buffer for kernel identification string.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_GET_INFO_DISABLE))
- extern void EvrRtxKernelGetInfo (osVersion_t *version, char *id_buf, uint32_t id_size);
- #else
- #define EvrRtxKernelGetInfo(version, id_buf, id_size)
- #endif
- /**
- \brief Event on successful RTOS kernel information retrieve (Op)
- \param[in] version pointer to buffer for retrieving version information.
- \param[in] id_buf pointer to buffer for retrieving kernel identification string.
- \param[in] id_size size of buffer for kernel identification string.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_INFO_RETRIEVED_DISABLE))
- extern void EvrRtxKernelInfoRetrieved (const osVersion_t *version, const char *id_buf, uint32_t id_size);
- #else
- #define EvrRtxKernelInfoRetrieved(version, id_buf, id_size)
- #endif
- /**
- \brief Event on current RTOS Kernel state retrieve (API)
- \param[in] state current RTOS Kernel state.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_GET_STATE_DISABLE))
- extern void EvrRtxKernelGetState (osKernelState_t state);
- #else
- #define EvrRtxKernelGetState(state)
- #endif
- /**
- \brief Event on RTOS Kernel scheduler start (API)
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_START_DISABLE))
- extern void EvrRtxKernelStart (void);
- #else
- #define EvrRtxKernelStart()
- #endif
- /**
- \brief Event on successful RTOS Kernel scheduler start (Op)
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_STARTED_DISABLE))
- extern void EvrRtxKernelStarted (void);
- #else
- #define EvrRtxKernelStarted()
- #endif
- /**
- \brief Event on RTOS Kernel scheduler lock (API)
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_LOCK_DISABLE))
- extern void EvrRtxKernelLock (void);
- #else
- #define EvrRtxKernelLock()
- #endif
- /**
- \brief Event on successful RTOS Kernel scheduler lock (Op)
- \param[in] lock previous lock state (1 - locked, 0 - not locked).
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_LOCKED_DISABLE))
- extern void EvrRtxKernelLocked (int32_t lock);
- #else
- #define EvrRtxKernelLocked(lock)
- #endif
- /**
- \brief Event on RTOS Kernel scheduler unlock (API)
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_UNLOCK_DISABLE))
- extern void EvrRtxKernelUnlock (void);
- #else
- #define EvrRtxKernelUnlock()
- #endif
- /**
- \brief Event on successful RTOS Kernel scheduler unlock (Op)
- \param[in] lock previous lock state (1 - locked, 0 - not locked).
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_UNLOCKED_DISABLE))
- extern void EvrRtxKernelUnlocked (int32_t lock);
- #else
- #define EvrRtxKernelUnlocked(lock)
- #endif
- /**
- \brief Event on RTOS Kernel scheduler lock state restore (API)
- \param[in] lock lock state obtained by \ref osKernelLock or \ref osKernelUnlock.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_RESTORE_LOCK_DISABLE))
- extern void EvrRtxKernelRestoreLock (int32_t lock);
- #else
- #define EvrRtxKernelRestoreLock(lock)
- #endif
- /**
- \brief Event on successful RTOS Kernel scheduler lock state restore (Op)
- \param[in] lock new lock state (1 - locked, 0 - not locked).
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_LOCK_RESTORED_DISABLE))
- extern void EvrRtxKernelLockRestored (int32_t lock);
- #else
- #define EvrRtxKernelLockRestored(lock)
- #endif
- /**
- \brief Event on RTOS Kernel scheduler suspend (API)
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_SUSPEND_DISABLE))
- extern void EvrRtxKernelSuspend (void);
- #else
- #define EvrRtxKernelSuspend()
- #endif
- /**
- \brief Event on successful RTOS Kernel scheduler suspend (Op)
- \param[in] sleep_ticks time in ticks, for how long the system can sleep or power-down.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_SUSPENDED_DISABLE))
- extern void EvrRtxKernelSuspended (uint32_t sleep_ticks);
- #else
- #define EvrRtxKernelSuspended(sleep_ticks)
- #endif
- /**
- \brief Event on RTOS Kernel scheduler resume (API)
- \param[in] sleep_ticks time in ticks, for how long the system was in sleep or power-down mode.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_RESUME_DISABLE))
- extern void EvrRtxKernelResume (uint32_t sleep_ticks);
- #else
- #define EvrRtxKernelResume(sleep_ticks)
- #endif
- /**
- \brief Event on successful RTOS Kernel scheduler resume (Op)
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_RESUMED_DISABLE))
- extern void EvrRtxKernelResumed (void);
- #else
- #define EvrRtxKernelResumed()
- #endif
- /**
- \brief Event on protect the RTOS Kernel scheduler access (API)
- \param[in] safety_class safety class.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_PROTECT_DISABLE))
- extern void EvrRtxKernelProtect (uint32_t safety_class);
- #else
- #define EvrRtxKernelProtect(safety_class)
- #endif
- /**
- \brief Event on successful RTOS Kernel scheduler protect (API)
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_PROTECTED_DISABLE))
- extern void EvrRtxKernelProtected (void);
- #else
- #define EvrRtxKernelProtected()
- #endif
- /**
- \brief Event on RTOS kernel tick count retrieve (API)
- \param[in] count RTOS kernel current tick count.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_GET_TICK_COUNT_DISABLE))
- extern void EvrRtxKernelGetTickCount (uint32_t count);
- #else
- #define EvrRtxKernelGetTickCount(count)
- #endif
- /**
- \brief Event on RTOS kernel tick frequency retrieve (API)
- \param[in] freq frequency of the kernel tick.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_GET_TICK_FREQ_DISABLE))
- extern void EvrRtxKernelGetTickFreq (uint32_t freq);
- #else
- #define EvrRtxKernelGetTickFreq(freq)
- #endif
- /**
- \brief Event on RTOS kernel system timer count retrieve (API)
- \param[in] count RTOS kernel current system timer count as 32-bit value.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_GET_SYS_TIMER_COUNT_DISABLE))
- extern void EvrRtxKernelGetSysTimerCount (uint32_t count);
- #else
- #define EvrRtxKernelGetSysTimerCount(count)
- #endif
- /**
- \brief Event on RTOS kernel system timer frequency retrieve (API)
- \param[in] freq frequency of the system timer.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_GET_SYS_TIMER_FREQ_DISABLE))
- extern void EvrRtxKernelGetSysTimerFreq (uint32_t freq);
- #else
- #define EvrRtxKernelGetSysTimerFreq(freq)
- #endif
- /**
- \brief Event on RTOS kernel system error (Error)
- \param[in] code error code.
- \param[in] object_id object that caused the error.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_ERROR_NOTIFY_DISABLE))
- extern void EvrRtxKernelErrorNotify (uint32_t code, void *object_id);
- #else
- #define EvrRtxKernelErrorNotify(code, object_id)
- #endif
- /**
- \brief Event on destroy safety class objects (API)
- \param[in] safety_class safety class.
- \param[in] mode safety mode.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_KERNEL != 0) && !defined(EVR_RTX_KERNEL_DESTROY_CLASS_DISABLE))
- extern void EvrRtxKernelDestroyClass (uint32_t safety_class, uint32_t mode);
- #else
- #define EvrRtxKernelDestroyClass(safety_class, mode)
- #endif
- // ==== Thread Events ====
- /**
- \brief Event on thread error (Error)
- \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId or NULL when ID is unknown.
- \param[in] status extended execution status.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_ERROR_DISABLE))
- extern void EvrRtxThreadError (osThreadId_t thread_id, int32_t status);
- #else
- #define EvrRtxThreadError(thread_id, status)
- #endif
- /**
- \brief Event on thread create and intialize (API)
- \param[in] func thread function.
- \param[in] argument pointer that is passed to the thread function as start argument.
- \param[in] attr thread attributes.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_NEW_DISABLE))
- extern void EvrRtxThreadNew (osThreadFunc_t func, void *argument, const osThreadAttr_t *attr);
- #else
- #define EvrRtxThreadNew(func, argument, attr)
- #endif
- /**
- \brief Event on successful thread create (Op)
- \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId.
- \param[in] thread_addr thread entry address.
- \param[in] name pointer to thread object name.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_CREATED_DISABLE))
- extern void EvrRtxThreadCreated (osThreadId_t thread_id, uint32_t thread_addr, const char *name);
- #else
- #define EvrRtxThreadCreated(thread_id, thread_addr, name)
- #endif
- /**
- \brief Event on thread name retrieve (API)
- \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId.
- \param[in] name pointer to thread object name.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_GET_NAME_DISABLE))
- extern void EvrRtxThreadGetName (osThreadId_t thread_id, const char *name);
- #else
- #define EvrRtxThreadGetName(thread_id, name)
- #endif
- /**
- \brief Event on thread safety class retrieve (API)
- \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId.
- \param[in] safety_class thread safety class.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_GET_CLASS_DISABLE))
- extern void EvrRtxThreadGetClass (osThreadId_t thread_id, uint32_t safety_class);
- #else
- #define EvrRtxThreadGetClass(thread_id, safety_class)
- #endif
- /**
- \brief Event on thread zone retrieve (API)
- \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId.
- \param[in] zone thread zone.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_GET_ZONE_DISABLE))
- extern void EvrRtxThreadGetZone (osThreadId_t thread_id, uint32_t zone);
- #else
- #define EvrRtxThreadGetZone(thread_id, zone)
- #endif
- /**
- \brief Event on current running thread ID retrieve (API)
- \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_GET_ID_DISABLE))
- extern void EvrRtxThreadGetId (osThreadId_t thread_id);
- #else
- #define EvrRtxThreadGetId(thread_id)
- #endif
- /**
- \brief Event on thread state retrieve (API)
- \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId.
- \param[in] state current thread state of the specified thread.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_GET_STATE_DISABLE))
- extern void EvrRtxThreadGetState (osThreadId_t thread_id, osThreadState_t state);
- #else
- #define EvrRtxThreadGetState(thread_id, state)
- #endif
- /**
- \brief Event on thread stack size retrieve (API)
- \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId.
- \param[in] stack_size stack size in bytes.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_GET_STACK_SIZE_DISABLE))
- extern void EvrRtxThreadGetStackSize (osThreadId_t thread_id, uint32_t stack_size);
- #else
- #define EvrRtxThreadGetStackSize(thread_id, stack_size)
- #endif
- /**
- \brief Event on available stack space retrieve (API)
- \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId.
- \param[in] stack_space remaining stack space in bytes.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_GET_STACK_SPACE_DISABLE))
- extern void EvrRtxThreadGetStackSpace (osThreadId_t thread_id, uint32_t stack_space);
- #else
- #define EvrRtxThreadGetStackSpace(thread_id, stack_space)
- #endif
- /**
- \brief Event on thread priority set (API)
- \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId.
- \param[in] priority new priority value for the thread function.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_SET_PRIORITY_DISABLE))
- extern void EvrRtxThreadSetPriority (osThreadId_t thread_id, osPriority_t priority);
- #else
- #define EvrRtxThreadSetPriority(thread_id, priority)
- #endif
- /**
- \brief Event on thread priority updated (Op)
- \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId.
- \param[in] priority new priority value for the thread function.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_PRIORITY_UPDATED_DISABLE))
- extern void EvrRtxThreadPriorityUpdated (osThreadId_t thread_id, osPriority_t priority);
- #else
- #define EvrRtxThreadPriorityUpdated(thread_id, priority)
- #endif
- /**
- \brief Event on thread priority retrieve (API)
- \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId.
- \param[in] priority current priority value of the specified thread.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_GET_PRIORITY_DISABLE))
- extern void EvrRtxThreadGetPriority (osThreadId_t thread_id, osPriority_t priority);
- #else
- #define EvrRtxThreadGetPriority(thread_id, priority)
- #endif
- /**
- \brief Event on thread yield (API)
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_YIELD_DISABLE))
- extern void EvrRtxThreadYield (void);
- #else
- #define EvrRtxThreadYield()
- #endif
- /**
- \brief Event on thread suspend (API)
- \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_SUSPEND_DISABLE))
- extern void EvrRtxThreadSuspend (osThreadId_t thread_id);
- #else
- #define EvrRtxThreadSuspend(thread_id)
- #endif
- /**
- \brief Event on successful thread suspend (Op)
- \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_SUSPENDED_DISABLE))
- extern void EvrRtxThreadSuspended (osThreadId_t thread_id);
- #else
- #define EvrRtxThreadSuspended(thread_id)
- #endif
- /**
- \brief Event on thread resume (API)
- \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_RESUME_DISABLE))
- extern void EvrRtxThreadResume (osThreadId_t thread_id);
- #else
- #define EvrRtxThreadResume(thread_id)
- #endif
- /**
- \brief Event on successful thread resume (Op)
- \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_RESUMED_DISABLE))
- extern void EvrRtxThreadResumed (osThreadId_t thread_id);
- #else
- #define EvrRtxThreadResumed(thread_id)
- #endif
- /**
- \brief Event on thread detach (API)
- \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_DETACH_DISABLE))
- extern void EvrRtxThreadDetach (osThreadId_t thread_id);
- #else
- #define EvrRtxThreadDetach(thread_id)
- #endif
- /**
- \brief Event on successful thread detach (Op)
- \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_DETACHED_DISABLE))
- extern void EvrRtxThreadDetached (osThreadId_t thread_id);
- #else
- #define EvrRtxThreadDetached(thread_id)
- #endif
- /**
- \brief Event on thread join (API)
- \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_JOIN_DISABLE))
- extern void EvrRtxThreadJoin (osThreadId_t thread_id);
- #else
- #define EvrRtxThreadJoin(thread_id)
- #endif
- /**
- \brief Event on pending thread join (Op)
- \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_JOIN_PENDING_DISABLE))
- extern void EvrRtxThreadJoinPending (osThreadId_t thread_id);
- #else
- #define EvrRtxThreadJoinPending(thread_id)
- #endif
- /**
- \brief Event on successful thread join (Op)
- \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_JOINED_DISABLE))
- extern void EvrRtxThreadJoined (osThreadId_t thread_id);
- #else
- #define EvrRtxThreadJoined(thread_id)
- #endif
- /**
- \brief Event on thread execution block (Detail)
- \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId.
- \param[in] timeout \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_BLOCKED_DISABLE))
- extern void EvrRtxThreadBlocked (osThreadId_t thread_id, uint32_t timeout);
- #else
- #define EvrRtxThreadBlocked(thread_id, timeout)
- #endif
- /**
- \brief Event on thread execution unblock (Detail)
- \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId.
- \param[in] ret_val extended execution status of the thread.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_UNBLOCKED_DISABLE))
- extern void EvrRtxThreadUnblocked (osThreadId_t thread_id, uint32_t ret_val);
- #else
- #define EvrRtxThreadUnblocked(thread_id, ret_val)
- #endif
- /**
- \brief Event on running thread pre-emption (Detail)
- \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_PREEMPTED_DISABLE))
- extern void EvrRtxThreadPreempted (osThreadId_t thread_id);
- #else
- #define EvrRtxThreadPreempted(thread_id)
- #endif
- /**
- \brief Event on running thread switch (Op)
- \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_SWITCHED_DISABLE))
- extern void EvrRtxThreadSwitched (osThreadId_t thread_id);
- #else
- #define EvrRtxThreadSwitched(thread_id)
- #endif
- /**
- \brief Event on thread exit (API)
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_EXIT_DISABLE))
- extern void EvrRtxThreadExit (void);
- #else
- #define EvrRtxThreadExit()
- #endif
- /**
- \brief Event on thread terminate (API)
- \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_TERMINATE_DISABLE))
- extern void EvrRtxThreadTerminate (osThreadId_t thread_id);
- #else
- #define EvrRtxThreadTerminate(thread_id)
- #endif
- /**
- \brief Event on successful thread terminate (Op)
- \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_DESTROYED_DISABLE))
- extern void EvrRtxThreadDestroyed (osThreadId_t thread_id);
- #else
- #define EvrRtxThreadDestroyed(thread_id)
- #endif
- /**
- \brief Event on thread feed watchdog (API)
- \param[in] ticks timeout in number of ticks.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_FEED_WATCHDOG_DISABLE))
- extern void EvrRtxThreadFeedWatchdog (uint32_t ticks);
- #else
- #define EvrRtxThreadFeedWatchdog(ticks)
- #endif
- /**
- \brief Event on thread feed watchdog done (Op)
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_FEED_WATCHDOG_DONE_DISABLE))
- extern void EvrRtxThreadFeedWatchdogDone (void);
- #else
- #define EvrRtxThreadFeedWatchdogDone()
- #endif
- /**
- \brief Event on protect the creation of privileged threads (API)
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_PROTECT_PRIVILEGED_DISABLE))
- extern void EvrRtxThreadProtectPrivileged (void);
- #else
- #define EvrRtxThreadProtectPrivileged()
- #endif
- /**
- \brief Event on successful protect the creation of privileged threads (Op)
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_PRIVILEGED_PROTECTED_DISABLE))
- extern void EvrRtxThreadPrivilegedProtected (void);
- #else
- #define EvrRtxThreadPrivilegedProtected()
- #endif
- /**
- \brief Event on active thread count retrieve (API)
- \param[in] count number of active threads.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_GET_COUNT_DISABLE))
- extern void EvrRtxThreadGetCount (uint32_t count);
- #else
- #define EvrRtxThreadGetCount(count)
- #endif
- /**
- \brief Event on active threads enumerate (API)
- \param[in] thread_array pointer to array for retrieving thread IDs.
- \param[in] array_items maximum number of items in array for retrieving thread IDs.
- \param[in] count number of enumerated threads.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_ENUMERATE_DISABLE))
- extern void EvrRtxThreadEnumerate (osThreadId_t *thread_array, uint32_t array_items, uint32_t count);
- #else
- #define EvrRtxThreadEnumerate(thread_array, array_items, count)
- #endif
- /**
- \brief Event on thread safety class suspend (API)
- \param[in] safety_class safety class.
- \param[in] mode safety mode.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_SUSPEND_CLASS_DISABLE))
- extern void EvrRtxThreadSuspendClass (uint32_t safety_class, uint32_t mode);
- #else
- #define EvrRtxThreadSuspendClass(safety_class, mode)
- #endif
- /**
- \brief Event on thread safety class resume (API)
- \param[in] safety_class safety class.
- \param[in] mode safety mode.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_RESUME_CLASS_DISABLE))
- extern void EvrRtxThreadResumeClass (uint32_t safety_class, uint32_t mode);
- #else
- #define EvrRtxThreadResumeClass(safety_class, mode)
- #endif
- /**
- \brief Event on thread zone terminate (API)
- \param[in] zone thread zone.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_TERMINATE_ZONE_DISABLE))
- extern void EvrRtxThreadTerminateZone (uint32_t zone);
- #else
- #define EvrRtxThreadTerminateZone(zone)
- #endif
- /**
- \brief Event on thread watchdog expired (Error)
- \param[in] thread_id thread ID obtained by \ref osThreadNew.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THREAD != 0) && !defined(EVR_RTX_THREAD_WATCHDOG_EXPIRED_DISABLE))
- extern void EvrRtxThreadWatchdogExpired (osThreadId_t thread_id);
- #else
- #define EvrRtxThreadWatchdogExpired(thread_id)
- #endif
- // ==== Thread Flags Events ====
- /**
- \brief Event on thread flags error (Error)
- \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId or NULL when ID is unknown.
- \param[in] status extended execution status.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THFLAGS != 0) && !defined(EVR_RTX_THREAD_FLAGS_ERROR_DISABLE))
- extern void EvrRtxThreadFlagsError (osThreadId_t thread_id, int32_t status);
- #else
- #define EvrRtxThreadFlagsError(thread_id, status)
- #endif
- /**
- \brief Event on thread flags set (API)
- \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId.
- \param[in] flags flags of the thread that shall be set.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THFLAGS != 0) && !defined(EVR_RTX_THREAD_FLAGS_SET_DISABLE))
- extern void EvrRtxThreadFlagsSet (osThreadId_t thread_id, uint32_t flags);
- #else
- #define EvrRtxThreadFlagsSet(thread_id, flags)
- #endif
- /**
- \brief Event on successful thread flags set (Op)
- \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId.
- \param[in] thread_flags thread flags after setting.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THFLAGS != 0) && !defined(EVR_RTX_THREAD_FLAGS_SET_DONE_DISABLE))
- extern void EvrRtxThreadFlagsSetDone (osThreadId_t thread_id, uint32_t thread_flags);
- #else
- #define EvrRtxThreadFlagsSetDone(thread_id, thread_flags)
- #endif
- /**
- \brief Event on thread flags clear (API)
- \param[in] flags flags of the thread that shall be cleared.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THFLAGS != 0) && !defined(EVR_RTX_THREAD_FLAGS_CLEAR_DISABLE))
- extern void EvrRtxThreadFlagsClear (uint32_t flags);
- #else
- #define EvrRtxThreadFlagsClear(flags)
- #endif
- /**
- \brief Event on successful thread flags clear (Op)
- \param[in] thread_flags thread flags before clearing.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THFLAGS != 0) && !defined(EVR_RTX_THREAD_FLAGS_CLEAR_DONE_DISABLE))
- extern void EvrRtxThreadFlagsClearDone (uint32_t thread_flags);
- #else
- #define EvrRtxThreadFlagsClearDone(thread_flags)
- #endif
- /**
- \brief Event on thread flags retrieve (API)
- \param[in] thread_flags current thread flags.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THFLAGS != 0) && !defined(EVR_RTX_THREAD_FLAGS_GET_DISABLE))
- extern void EvrRtxThreadFlagsGet (uint32_t thread_flags);
- #else
- #define EvrRtxThreadFlagsGet(thread_flags)
- #endif
- /**
- \brief Event on wait for thread flags (API)
- \param[in] flags flags to wait for.
- \param[in] options flags options (osFlagsXxxx).
- \param[in] timeout \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THFLAGS != 0) && !defined(EVR_RTX_THREAD_FLAGS_WAIT_DISABLE))
- extern void EvrRtxThreadFlagsWait (uint32_t flags, uint32_t options, uint32_t timeout);
- #else
- #define EvrRtxThreadFlagsWait(flags, options, timeout)
- #endif
- /**
- \brief Event on pending wait for thread flags (Op)
- \param[in] flags flags to wait for.
- \param[in] options flags options (osFlagsXxxx).
- \param[in] timeout \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THFLAGS != 0) && !defined(EVR_RTX_THREAD_FLAGS_WAIT_PENDING_DISABLE))
- extern void EvrRtxThreadFlagsWaitPending (uint32_t flags, uint32_t options, uint32_t timeout);
- #else
- #define EvrRtxThreadFlagsWaitPending(flags, options, timeout)
- #endif
- /**
- \brief Event on wait timeout for thread flags (Op)
- \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THFLAGS != 0) && !defined(EVR_RTX_THREAD_FLAGS_WAIT_TIMEOUT_DISABLE))
- extern void EvrRtxThreadFlagsWaitTimeout (osThreadId_t thread_id);
- #else
- #define EvrRtxThreadFlagsWaitTimeout(thread_id)
- #endif
- /**
- \brief Event on successful wait for thread flags (Op)
- \param[in] flags flags to wait for.
- \param[in] options flags options (osFlagsXxxx).
- \param[in] thread_flags thread flags before clearing.
- \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THFLAGS != 0) && !defined(EVR_RTX_THREAD_FLAGS_WAIT_COMPLETED_DISABLE))
- extern void EvrRtxThreadFlagsWaitCompleted (uint32_t flags, uint32_t options, uint32_t thread_flags, osThreadId_t thread_id);
- #else
- #define EvrRtxThreadFlagsWaitCompleted(flags, options, thread_flags, thread_id)
- #endif
- /**
- \brief Event on unsuccessful wait for thread flags (Op)
- \param[in] flags flags to wait for.
- \param[in] options flags options (osFlagsXxxx).
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_THFLAGS != 0) && !defined(EVR_RTX_THREAD_FLAGS_WAIT_NOT_COMPLETED_DISABLE))
- extern void EvrRtxThreadFlagsWaitNotCompleted (uint32_t flags, uint32_t options);
- #else
- #define EvrRtxThreadFlagsWaitNotCompleted(flags, options)
- #endif
- // ==== Generic Wait Events ====
- /**
- \brief Event on delay error (Error)
- \param[in] status extended execution status.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_WAIT != 0) && !defined(EVR_RTX_DELAY_ERROR_DISABLE))
- extern void EvrRtxDelayError (int32_t status);
- #else
- #define EvrRtxDelayError(status)
- #endif
- /**
- \brief Event on delay for specified time (API)
- \param[in] ticks \ref CMSIS_RTOS_TimeOutValue "time ticks" value.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_WAIT != 0) && !defined(EVR_RTX_DELAY_DISABLE))
- extern void EvrRtxDelay (uint32_t ticks);
- #else
- #define EvrRtxDelay(ticks)
- #endif
- /**
- \brief Event on delay until specified time (API)
- \param[in] ticks absolute time in ticks.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_WAIT != 0) && !defined(EVR_RTX_DELAY_UNTIL_DISABLE))
- extern void EvrRtxDelayUntil (uint32_t ticks);
- #else
- #define EvrRtxDelayUntil(ticks)
- #endif
- /**
- \brief Event on delay started (Op)
- \param[in] ticks \ref CMSIS_RTOS_TimeOutValue "time ticks" value.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_WAIT != 0) && !defined(EVR_RTX_DELAY_STARTED_DISABLE))
- extern void EvrRtxDelayStarted (uint32_t ticks);
- #else
- #define EvrRtxDelayStarted(ticks)
- #endif
- /**
- \brief Event on delay until specified time started (Op)
- \param[in] ticks \ref CMSIS_RTOS_TimeOutValue "time ticks" value.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_WAIT != 0) && !defined(EVR_RTX_DELAY_UNTIL_STARTED_DISABLE))
- extern void EvrRtxDelayUntilStarted (uint32_t ticks);
- #else
- #define EvrRtxDelayUntilStarted(ticks)
- #endif
- /**
- \brief Event on delay completed (Op)
- \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_WAIT != 0) && !defined(EVR_RTX_DELAY_COMPLETED_DISABLE))
- extern void EvrRtxDelayCompleted (osThreadId_t thread_id);
- #else
- #define EvrRtxDelayCompleted(thread_id)
- #endif
- // ==== Timer Events ====
- /**
- \brief Event on timer error (Error)
- \param[in] timer_id timer ID obtained by \ref osTimerNew or NULL when ID is unknown.
- \param[in] status extended execution status.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_TIMER != 0) && !defined(EVR_RTX_TIMER_ERROR_DISABLE))
- extern void EvrRtxTimerError (osTimerId_t timer_id, int32_t status);
- #else
- #define EvrRtxTimerError(timer_id, status)
- #endif
- /**
- \brief Event on timer callback call (Op)
- \param[in] func start address of a timer call back function.
- \param[in] argument argument to the timer call back function.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_TIMER != 0) && !defined(EVR_RTX_TIMER_CALLBACK_DISABLE))
- extern void EvrRtxTimerCallback (osTimerFunc_t func, void *argument);
- #else
- #define EvrRtxTimerCallback(func, argument)
- #endif
- /**
- \brief Event on timer create and initialize (API)
- \param[in] func start address of a timer call back function.
- \param[in] type osTimerOnce for one-shot or osTimerPeriodic for periodic behavior.
- \param[in] argument argument to the timer call back function.
- \param[in] attr timer attributes.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_TIMER != 0) && !defined(EVR_RTX_TIMER_NEW_DISABLE))
- extern void EvrRtxTimerNew (osTimerFunc_t func, osTimerType_t type, void *argument, const osTimerAttr_t *attr);
- #else
- #define EvrRtxTimerNew(func, type, argument, attr)
- #endif
- /**
- \brief Event on successful timer create (Op)
- \param[in] timer_id timer ID obtained by \ref osTimerNew.
- \param[in] name pointer to timer object name.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_TIMER != 0) && !defined(EVR_RTX_TIMER_CREATED_DISABLE))
- extern void EvrRtxTimerCreated (osTimerId_t timer_id, const char *name);
- #else
- #define EvrRtxTimerCreated(timer_id, name)
- #endif
- /**
- \brief Event on timer name retrieve (API)
- \param[in] timer_id timer ID obtained by \ref osTimerNew.
- \param[in] name pointer to timer object name.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_TIMER != 0) && !defined(EVR_RTX_TIMER_GET_NAME_DISABLE))
- extern void EvrRtxTimerGetName (osTimerId_t timer_id, const char *name);
- #else
- #define EvrRtxTimerGetName(timer_id, name)
- #endif
- /**
- \brief Event on timer start (API)
- \param[in] timer_id timer ID obtained by \ref osTimerNew.
- \param[in] ticks \ref CMSIS_RTOS_TimeOutValue "time ticks" value of the timer.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_TIMER != 0) && !defined(EVR_RTX_TIMER_START_DISABLE))
- extern void EvrRtxTimerStart (osTimerId_t timer_id, uint32_t ticks);
- #else
- #define EvrRtxTimerStart(timer_id, ticks)
- #endif
- /**
- \brief Event on successful timer start (Op)
- \param[in] timer_id timer ID obtained by \ref osTimerNew.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_TIMER != 0) && !defined(EVR_RTX_TIMER_STARTED_DISABLE))
- extern void EvrRtxTimerStarted (osTimerId_t timer_id);
- #else
- #define EvrRtxTimerStarted(timer_id)
- #endif
- /**
- \brief Event on timer stop (API)
- \param[in] timer_id timer ID obtained by \ref osTimerNew.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_TIMER != 0) && !defined(EVR_RTX_TIMER_STOP_DISABLE))
- extern void EvrRtxTimerStop (osTimerId_t timer_id);
- #else
- #define EvrRtxTimerStop(timer_id)
- #endif
- /**
- \brief Event on successful timer stop (Op)
- \param[in] timer_id timer ID obtained by \ref osTimerNew.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_TIMER != 0) && !defined(EVR_RTX_TIMER_STOPPED_DISABLE))
- extern void EvrRtxTimerStopped (osTimerId_t timer_id);
- #else
- #define EvrRtxTimerStopped(timer_id)
- #endif
- /**
- \brief Event on timer running state check (API)
- \param[in] timer_id timer ID obtained by \ref osTimerNew.
- \param[in] running running state: 0 not running, 1 running.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_TIMER != 0) && !defined(EVR_RTX_TIMER_IS_RUNNING_DISABLE))
- extern void EvrRtxTimerIsRunning (osTimerId_t timer_id, uint32_t running);
- #else
- #define EvrRtxTimerIsRunning(timer_id, running)
- #endif
- /**
- \brief Event on timer delete (API)
- \param[in] timer_id timer ID obtained by \ref osTimerNew.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_TIMER != 0) && !defined(EVR_RTX_TIMER_DELETE_DISABLE))
- extern void EvrRtxTimerDelete (osTimerId_t timer_id);
- #else
- #define EvrRtxTimerDelete(timer_id)
- #endif
- /**
- \brief Event on successful timer delete (Op)
- \param[in] timer_id timer ID obtained by \ref osTimerNew.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_TIMER != 0) && !defined(EVR_RTX_TIMER_DESTROYED_DISABLE))
- extern void EvrRtxTimerDestroyed (osTimerId_t timer_id);
- #else
- #define EvrRtxTimerDestroyed(timer_id)
- #endif
- // ==== Event Flags Events ====
- /**
- \brief Event on event flags error (Error)
- \param[in] ef_id event flags ID obtained by \ref osEventFlagsNew or NULL when ID is unknown.
- \param[in] status extended execution status.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_EVFLAGS != 0) && !defined(EVR_RTX_EVENT_FLAGS_ERROR_DISABLE))
- extern void EvrRtxEventFlagsError (osEventFlagsId_t ef_id, int32_t status);
- #else
- #define EvrRtxEventFlagsError(ef_id, status)
- #endif
- /**
- \brief Event on event flags create and initialize (API)
- \param[in] attr event flags attributes.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_EVFLAGS != 0) && !defined(EVR_RTX_EVENT_FLAGS_NEW_DISABLE))
- extern void EvrRtxEventFlagsNew (const osEventFlagsAttr_t *attr);
- #else
- #define EvrRtxEventFlagsNew(attr)
- #endif
- /**
- \brief Event on successful event flags create (Op)
- \param[in] ef_id event flags ID obtained by \ref osEventFlagsNew.
- \param[in] name pointer to event flags object name.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_EVFLAGS != 0) && !defined(EVR_RTX_EVENT_FLAGS_CREATED_DISABLE))
- extern void EvrRtxEventFlagsCreated (osEventFlagsId_t ef_id, const char *name);
- #else
- #define EvrRtxEventFlagsCreated(ef_id, name)
- #endif
- /**
- \brief Event on event flags name retrieve (API)
- \param[in] ef_id event flags ID obtained by \ref osEventFlagsNew.
- \param[in] name pointer to event flags object name.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_EVFLAGS != 0) && !defined(EVR_RTX_EVENT_FLAGS_GET_NAME_DISABLE))
- extern void EvrRtxEventFlagsGetName (osEventFlagsId_t ef_id, const char *name);
- #else
- #define EvrRtxEventFlagsGetName(ef_id, name)
- #endif
- /**
- \brief Event on event flags set (API)
- \param[in] ef_id event flags ID obtained by \ref osEventFlagsNew.
- \param[in] flags flags that shall be set.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_EVFLAGS != 0) && !defined(EVR_RTX_EVENT_FLAGS_SET_DISABLE))
- extern void EvrRtxEventFlagsSet (osEventFlagsId_t ef_id, uint32_t flags);
- #else
- #define EvrRtxEventFlagsSet(ef_id, flags)
- #endif
- /**
- \brief Event on successful event flags set (Op)
- \param[in] ef_id event flags ID obtained by \ref osEventFlagsNew.
- \param[in] event_flags event flags after setting.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_EVFLAGS != 0) && !defined(EVR_RTX_EVENT_FLAGS_SET_DONE_DISABLE))
- extern void EvrRtxEventFlagsSetDone (osEventFlagsId_t ef_id, uint32_t event_flags);
- #else
- #define EvrRtxEventFlagsSetDone(ef_id, event_flags)
- #endif
- /**
- \brief Event on event flags clear (API)
- \param[in] ef_id event flags ID obtained by \ref osEventFlagsNew.
- \param[in] flags flags that shall be cleared.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_EVFLAGS != 0) && !defined(EVR_RTX_EVENT_FLAGS_CLEAR_DISABLE))
- extern void EvrRtxEventFlagsClear (osEventFlagsId_t ef_id, uint32_t flags);
- #else
- #define EvrRtxEventFlagsClear(ef_id, flags)
- #endif
- /**
- \brief Event on successful event flags clear (Op)
- \param[in] ef_id event flags ID obtained by \ref osEventFlagsNew.
- \param[in] event_flags event flags before clearing.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_EVFLAGS != 0) && !defined(EVR_RTX_EVENT_FLAGS_CLEAR_DONE_DISABLE))
- extern void EvrRtxEventFlagsClearDone (osEventFlagsId_t ef_id, uint32_t event_flags);
- #else
- #define EvrRtxEventFlagsClearDone(ef_id, event_flags)
- #endif
- /**
- \brief Event on event flags retrieve (API)
- \param[in] ef_id event flags ID obtained by \ref osEventFlagsNew.
- \param[in] event_flags current event flags.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_EVFLAGS != 0) && !defined(EVR_RTX_EVENT_FLAGS_GET_DISABLE))
- extern void EvrRtxEventFlagsGet (osEventFlagsId_t ef_id, uint32_t event_flags);
- #else
- #define EvrRtxEventFlagsGet(ef_id, event_flags)
- #endif
- /**
- \brief Event on wait for event flags (API)
- \param[in] ef_id event flags ID obtained by \ref osEventFlagsNew.
- \param[in] flags flags to wait for.
- \param[in] options flags options (osFlagsXxxx).
- \param[in] timeout \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_EVFLAGS != 0) && !defined(EVR_RTX_EVENT_FLAGS_WAIT_DISABLE))
- extern void EvrRtxEventFlagsWait (osEventFlagsId_t ef_id, uint32_t flags, uint32_t options, uint32_t timeout);
- #else
- #define EvrRtxEventFlagsWait(ef_id, flags, options, timeout)
- #endif
- /**
- \brief Event on pending wait for event flags (Op)
- \param[in] ef_id event flags ID obtained by \ref osEventFlagsNew.
- \param[in] flags flags to wait for.
- \param[in] options flags options (osFlagsXxxx).
- \param[in] timeout \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_EVFLAGS != 0) && !defined(EVR_RTX_EVENT_FLAGS_WAIT_PENDING_DISABLE))
- extern void EvrRtxEventFlagsWaitPending (osEventFlagsId_t ef_id, uint32_t flags, uint32_t options, uint32_t timeout);
- #else
- #define EvrRtxEventFlagsWaitPending(ef_id, flags, options, timeout)
- #endif
- /**
- \brief Event on wait timeout for event flags (Op)
- \param[in] ef_id event flags ID obtained by \ref osEventFlagsNew.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_EVFLAGS != 0) && !defined(EVR_RTX_EVENT_FLAGS_WAIT_TIMEOUT_DISABLE))
- extern void EvrRtxEventFlagsWaitTimeout (osEventFlagsId_t ef_id);
- #else
- #define EvrRtxEventFlagsWaitTimeout(ef_id)
- #endif
- /**
- \brief Event on successful wait for event flags (Op)
- \param[in] ef_id event flags ID obtained by \ref osEventFlagsNew.
- \param[in] flags flags to wait for.
- \param[in] options flags options (osFlagsXxxx).
- \param[in] event_flags event flags before clearing or 0 if specified flags have not been set.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_EVFLAGS != 0) && !defined(EVR_RTX_EVENT_FLAGS_WAIT_COMPLETED_DISABLE))
- extern void EvrRtxEventFlagsWaitCompleted (osEventFlagsId_t ef_id, uint32_t flags, uint32_t options, uint32_t event_flags);
- #else
- #define EvrRtxEventFlagsWaitCompleted(ef_id, flags, options, event_flags)
- #endif
- /**
- \brief Event on unsuccessful wait for event flags (Op)
- \param[in] ef_id event flags ID obtained by \ref osEventFlagsNew.
- \param[in] flags flags to wait for.
- \param[in] options flags options (osFlagsXxxx).
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_EVFLAGS != 0) && !defined(EVR_RTX_EVENT_FLAGS_WAIT_NOT_COMPLETED_DISABLE))
- extern void EvrRtxEventFlagsWaitNotCompleted (osEventFlagsId_t ef_id, uint32_t flags, uint32_t options);
- #else
- #define EvrRtxEventFlagsWaitNotCompleted(ef_id, flags, options)
- #endif
- /**
- \brief Event on event flags delete (API)
- \param[in] ef_id event flags ID obtained by \ref osEventFlagsNew.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_EVFLAGS != 0) && !defined(EVR_RTX_EVENT_FLAGS_DELETE_DISABLE))
- extern void EvrRtxEventFlagsDelete (osEventFlagsId_t ef_id);
- #else
- #define EvrRtxEventFlagsDelete(ef_id)
- #endif
- /**
- \brief Event on successful event flags delete (Op)
- \param[in] ef_id event flags ID obtained by \ref osEventFlagsNew.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_EVFLAGS != 0) && !defined(EVR_RTX_EVENT_FLAGS_DESTROYED_DISABLE))
- extern void EvrRtxEventFlagsDestroyed (osEventFlagsId_t ef_id);
- #else
- #define EvrRtxEventFlagsDestroyed(ef_id)
- #endif
- // ==== Mutex Events ====
- /**
- \brief Event on mutex error (Error)
- \param[in] mutex_id mutex ID obtained by \ref osMutexNew or NULL when ID is unknown.
- \param[in] status extended execution status.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MUTEX != 0) && !defined(EVR_RTX_MUTEX_ERROR_DISABLE))
- extern void EvrRtxMutexError (osMutexId_t mutex_id, int32_t status);
- #else
- #define EvrRtxMutexError(mutex_id, status)
- #endif
- /**
- \brief Event on mutex create and initialize (API)
- \param[in] attr mutex attributes.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MUTEX != 0) && !defined(EVR_RTX_MUTEX_NEW_DISABLE))
- extern void EvrRtxMutexNew (const osMutexAttr_t *attr);
- #else
- #define EvrRtxMutexNew(attr)
- #endif
- /**
- \brief Event on successful mutex create (Op)
- \param[in] mutex_id mutex ID obtained by \ref osMutexNew.
- \param[in] name pointer to mutex object name.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MUTEX != 0) && !defined(EVR_RTX_MUTEX_CREATED_DISABLE))
- extern void EvrRtxMutexCreated (osMutexId_t mutex_id, const char *name);
- #else
- #define EvrRtxMutexCreated(mutex_id, name)
- #endif
- /**
- \brief Event on mutex name retrieve (API)
- \param[in] mutex_id mutex ID obtained by \ref osMutexNew.
- \param[in] name pointer to mutex object name.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MUTEX != 0) && !defined(EVR_RTX_MUTEX_GET_NAME_DISABLE))
- extern void EvrRtxMutexGetName (osMutexId_t mutex_id, const char *name);
- #else
- #define EvrRtxMutexGetName(mutex_id, name)
- #endif
- /**
- \brief Event on mutex acquire (API)
- \param[in] mutex_id mutex ID obtained by \ref osMutexNew.
- \param[in] timeout \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MUTEX != 0) && !defined(EVR_RTX_MUTEX_ACQUIRE_DISABLE))
- extern void EvrRtxMutexAcquire (osMutexId_t mutex_id, uint32_t timeout);
- #else
- #define EvrRtxMutexAcquire(mutex_id, timeout)
- #endif
- /**
- \brief Event on pending mutex acquire (Op)
- \param[in] mutex_id mutex ID obtained by \ref osMutexNew.
- \param[in] timeout \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MUTEX != 0) && !defined(EVR_RTX_MUTEX_ACQUIRE_PENDING_DISABLE))
- extern void EvrRtxMutexAcquirePending (osMutexId_t mutex_id, uint32_t timeout);
- #else
- #define EvrRtxMutexAcquirePending(mutex_id, timeout)
- #endif
- /**
- \brief Event on mutex acquire timeout (Op)
- \param[in] mutex_id mutex ID obtained by \ref osMutexNew.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MUTEX != 0) && !defined(EVR_RTX_MUTEX_ACQUIRE_TIMEOUT_DISABLE))
- extern void EvrRtxMutexAcquireTimeout (osMutexId_t mutex_id);
- #else
- #define EvrRtxMutexAcquireTimeout(mutex_id)
- #endif
- /**
- \brief Event on successful mutex acquire (Op)
- \param[in] mutex_id mutex ID obtained by \ref osMutexNew.
- \param[in] lock current number of times mutex object is locked.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MUTEX != 0) && !defined(EVR_RTX_MUTEX_ACQUIRED_DISABLE))
- extern void EvrRtxMutexAcquired (osMutexId_t mutex_id, uint32_t lock);
- #else
- #define EvrRtxMutexAcquired(mutex_id, lock)
- #endif
- /**
- \brief Event on unsuccessful mutex acquire (Op)
- \param[in] mutex_id mutex ID obtained by \ref osMutexNew.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MUTEX != 0) && !defined(EVR_RTX_MUTEX_NOT_ACQUIRED_DISABLE))
- extern void EvrRtxMutexNotAcquired (osMutexId_t mutex_id);
- #else
- #define EvrRtxMutexNotAcquired(mutex_id)
- #endif
- /**
- \brief Event on mutex release (API)
- \param[in] mutex_id mutex ID obtained by \ref osMutexNew.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MUTEX != 0) && !defined(EVR_RTX_MUTEX_RELEASE_DISABLE))
- extern void EvrRtxMutexRelease (osMutexId_t mutex_id);
- #else
- #define EvrRtxMutexRelease(mutex_id)
- #endif
- /**
- \brief Event on successful mutex release (Op)
- \param[in] mutex_id mutex ID obtained by \ref osMutexNew.
- \param[in] lock current number of times mutex object is locked.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MUTEX != 0) && !defined(EVR_RTX_MUTEX_RELEASED_DISABLE))
- extern void EvrRtxMutexReleased (osMutexId_t mutex_id, uint32_t lock);
- #else
- #define EvrRtxMutexReleased(mutex_id, lock)
- #endif
- /**
- \brief Event on mutex owner retrieve (API)
- \param[in] mutex_id mutex ID obtained by \ref osMutexNew.
- \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MUTEX != 0) && !defined(EVR_RTX_MUTEX_GET_OWNER_DISABLE))
- extern void EvrRtxMutexGetOwner (osMutexId_t mutex_id, osThreadId_t thread_id);
- #else
- #define EvrRtxMutexGetOwner(mutex_id, thread_id)
- #endif
- /**
- \brief Event on mutex delete (API)
- \param[in] mutex_id mutex ID obtained by \ref osMutexNew.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MUTEX != 0) && !defined(EVR_RTX_MUTEX_DELETE_DISABLE))
- extern void EvrRtxMutexDelete (osMutexId_t mutex_id);
- #else
- #define EvrRtxMutexDelete(mutex_id)
- #endif
- /**
- \brief Event on successful mutex delete (Op)
- \param[in] mutex_id mutex ID obtained by \ref osMutexNew.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MUTEX != 0) && !defined(EVR_RTX_MUTEX_DESTROYED_DISABLE))
- extern void EvrRtxMutexDestroyed (osMutexId_t mutex_id);
- #else
- #define EvrRtxMutexDestroyed(mutex_id)
- #endif
- // ==== Semaphore Events ====
- /**
- \brief Event on semaphore error (Error)
- \param[in] semaphore_id semaphore ID obtained by \ref osSemaphoreNew or NULL when ID is unknown.
- \param[in] status extended execution status.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_SEMAPHORE != 0) && !defined(EVR_RTX_SEMAPHORE_ERROR_DISABLE))
- extern void EvrRtxSemaphoreError (osSemaphoreId_t semaphore_id, int32_t status);
- #else
- #define EvrRtxSemaphoreError(semaphore_id, status)
- #endif
- /**
- \brief Event on semaphore create and initialize (API)
- \param[in] max_count maximum number of available tokens.
- \param[in] initial_count initial number of available tokens.
- \param[in] attr semaphore attributes.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_SEMAPHORE != 0) && !defined(EVR_RTX_SEMAPHORE_NEW_DISABLE))
- extern void EvrRtxSemaphoreNew (uint32_t max_count, uint32_t initial_count, const osSemaphoreAttr_t *attr);
- #else
- #define EvrRtxSemaphoreNew(max_count, initial_count, attr)
- #endif
- /**
- \brief Event on successful semaphore create (Op)
- \param[in] semaphore_id semaphore ID obtained by \ref osSemaphoreNew.
- \param[in] name pointer to semaphore object name.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_SEMAPHORE != 0) && !defined(EVR_RTX_SEMAPHORE_CREATED_DISABLE))
- extern void EvrRtxSemaphoreCreated (osSemaphoreId_t semaphore_id, const char *name);
- #else
- #define EvrRtxSemaphoreCreated(semaphore_id, name)
- #endif
- /**
- \brief Event on semaphore name retrieve (API)
- \param[in] semaphore_id semaphore ID obtained by \ref osSemaphoreNew.
- \param[in] name pointer to semaphore object name.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_SEMAPHORE != 0) && !defined(EVR_RTX_SEMAPHORE_GET_NAME_DISABLE))
- extern void EvrRtxSemaphoreGetName (osSemaphoreId_t semaphore_id, const char *name);
- #else
- #define EvrRtxSemaphoreGetName(semaphore_id, name)
- #endif
- /**
- \brief Event on semaphore acquire (API)
- \param[in] semaphore_id semaphore ID obtained by \ref osSemaphoreNew.
- \param[in] timeout \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_SEMAPHORE != 0) && !defined(EVR_RTX_SEMAPHORE_ACQUIRE_DISABLE))
- extern void EvrRtxSemaphoreAcquire (osSemaphoreId_t semaphore_id, uint32_t timeout);
- #else
- #define EvrRtxSemaphoreAcquire(semaphore_id, timeout)
- #endif
- /**
- \brief Event on pending semaphore acquire (Op)
- \param[in] semaphore_id semaphore ID obtained by \ref osSemaphoreNew.
- \param[in] timeout \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_SEMAPHORE != 0) && !defined(EVR_RTX_SEMAPHORE_ACQUIRE_PENDING_DISABLE))
- extern void EvrRtxSemaphoreAcquirePending (osSemaphoreId_t semaphore_id, uint32_t timeout);
- #else
- #define EvrRtxSemaphoreAcquirePending(semaphore_id, timeout)
- #endif
- /**
- \brief Event on semaphore acquire timeout (Op)
- \param[in] semaphore_id semaphore ID obtained by \ref osSemaphoreNew.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_SEMAPHORE != 0) && !defined(EVR_RTX_SEMAPHORE_ACQUIRE_TIMEOUT_DISABLE))
- extern void EvrRtxSemaphoreAcquireTimeout (osSemaphoreId_t semaphore_id);
- #else
- #define EvrRtxSemaphoreAcquireTimeout(semaphore_id)
- #endif
- /**
- \brief Event on successful semaphore acquire (Op)
- \param[in] semaphore_id semaphore ID obtained by \ref osSemaphoreNew.
- \param[in] tokens number of available tokens.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_SEMAPHORE != 0) && !defined(EVR_RTX_SEMAPHORE_ACQUIRED_DISABLE))
- extern void EvrRtxSemaphoreAcquired (osSemaphoreId_t semaphore_id, uint32_t tokens);
- #else
- #define EvrRtxSemaphoreAcquired(semaphore_id, tokens)
- #endif
- /**
- \brief Event on unsuccessful semaphore acquire (Op)
- \param[in] semaphore_id semaphore ID obtained by \ref osSemaphoreNew.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_SEMAPHORE != 0) && !defined(EVR_RTX_SEMAPHORE_NOT_ACQUIRED_DISABLE))
- extern void EvrRtxSemaphoreNotAcquired (osSemaphoreId_t semaphore_id);
- #else
- #define EvrRtxSemaphoreNotAcquired(semaphore_id)
- #endif
- /**
- \brief Event on semaphore release (API)
- \param[in] semaphore_id semaphore ID obtained by \ref osSemaphoreNew.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_SEMAPHORE != 0) && !defined(EVR_RTX_SEMAPHORE_RELEASE_DISABLE))
- extern void EvrRtxSemaphoreRelease (osSemaphoreId_t semaphore_id);
- #else
- #define EvrRtxSemaphoreRelease(semaphore_id)
- #endif
- /**
- \brief Event on successful semaphore release (Op)
- \param[in] semaphore_id semaphore ID obtained by \ref osSemaphoreNew.
- \param[in] tokens number of available tokens.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_SEMAPHORE != 0) && !defined(EVR_RTX_SEMAPHORE_RELEASED_DISABLE))
- extern void EvrRtxSemaphoreReleased (osSemaphoreId_t semaphore_id, uint32_t tokens);
- #else
- #define EvrRtxSemaphoreReleased(semaphore_id, tokens)
- #endif
- /**
- \brief Event on semaphore token count retrieval (API)
- \param[in] semaphore_id semaphore ID obtained by \ref osSemaphoreNew.
- \param[in] count current number of available tokens.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_SEMAPHORE != 0) && !defined(EVR_RTX_SEMAPHORE_GET_COUNT_DISABLE))
- extern void EvrRtxSemaphoreGetCount (osSemaphoreId_t semaphore_id, uint32_t count);
- #else
- #define EvrRtxSemaphoreGetCount(semaphore_id, count)
- #endif
- /**
- \brief Event on semaphore delete (API)
- \param[in] semaphore_id semaphore ID obtained by \ref osSemaphoreNew.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_SEMAPHORE != 0) && !defined(EVR_RTX_SEMAPHORE_DELETE_DISABLE))
- extern void EvrRtxSemaphoreDelete (osSemaphoreId_t semaphore_id);
- #else
- #define EvrRtxSemaphoreDelete(semaphore_id)
- #endif
- /**
- \brief Event on successful semaphore delete (Op)
- \param[in] semaphore_id semaphore ID obtained by \ref osSemaphoreNew.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_SEMAPHORE != 0) && !defined(EVR_RTX_SEMAPHORE_DESTROYED_DISABLE))
- extern void EvrRtxSemaphoreDestroyed (osSemaphoreId_t semaphore_id);
- #else
- #define EvrRtxSemaphoreDestroyed(semaphore_id)
- #endif
- // ==== Memory Pool Events ====
- /**
- \brief Event on memory pool error (Error)
- \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew or NULL when ID is unknown.
- \param[in] status extended execution status.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMPOOL != 0) && !defined(EVR_RTX_MEMORY_POOL_ERROR_DISABLE))
- extern void EvrRtxMemoryPoolError (osMemoryPoolId_t mp_id, int32_t status);
- #else
- #define EvrRtxMemoryPoolError(mp_id, status)
- #endif
- /**
- \brief Event on memory pool create and initialize (API)
- \param[in] block_count maximum number of memory blocks in memory pool.
- \param[in] block_size memory block size in bytes.
- \param[in] attr memory pool attributes; NULL: default values.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMPOOL != 0) && !defined(EVR_RTX_MEMORY_POOL_NEW_DISABLE))
- extern void EvrRtxMemoryPoolNew (uint32_t block_count, uint32_t block_size, const osMemoryPoolAttr_t *attr);
- #else
- #define EvrRtxMemoryPoolNew(block_count, block_size, attr)
- #endif
- /**
- \brief Event on successful memory pool create (Op)
- \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew.
- \param[in] name pointer to memory pool object name.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMPOOL != 0) && !defined(EVR_RTX_MEMORY_POOL_CREATED_DISABLE))
- extern void EvrRtxMemoryPoolCreated (osMemoryPoolId_t mp_id, const char *name);
- #else
- #define EvrRtxMemoryPoolCreated(mp_id, name)
- #endif
- /**
- \brief Event on memory pool name retrieve (API)
- \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew.
- \param[in] name pointer to memory pool object name.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMPOOL != 0) && !defined(EVR_RTX_MEMORY_POOL_GET_NAME_DISABLE))
- extern void EvrRtxMemoryPoolGetName (osMemoryPoolId_t mp_id, const char *name);
- #else
- #define EvrRtxMemoryPoolGetName(mp_id, name)
- #endif
- /**
- \brief Event on memory pool allocation (API)
- \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew.
- \param[in] timeout \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMPOOL != 0) && !defined(EVR_RTX_MEMORY_POOL_ALLOC_DISABLE))
- extern void EvrRtxMemoryPoolAlloc (osMemoryPoolId_t mp_id, uint32_t timeout);
- #else
- #define EvrRtxMemoryPoolAlloc(mp_id, timeout)
- #endif
- /**
- \brief Event on pending memory pool allocation (Op)
- \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew.
- \param[in] timeout \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMPOOL != 0) && !defined(EVR_RTX_MEMORY_POOL_ALLOC_PENDING_DISABLE))
- extern void EvrRtxMemoryPoolAllocPending (osMemoryPoolId_t mp_id, uint32_t timeout);
- #else
- #define EvrRtxMemoryPoolAllocPending(mp_id, timeout)
- #endif
- /**
- \brief Event on memory pool allocation timeout (Op)
- \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMPOOL != 0) && !defined(EVR_RTX_MEMORY_POOL_ALLOC_TIMEOUT_DISABLE))
- extern void EvrRtxMemoryPoolAllocTimeout (osMemoryPoolId_t mp_id);
- #else
- #define EvrRtxMemoryPoolAllocTimeout(mp_id)
- #endif
- /**
- \brief Event on successful memory pool allocation (Op)
- \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew.
- \param[in] block address of the allocated memory block.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMPOOL != 0) && !defined(EVR_RTX_MEMORY_POOL_ALLOCATED_DISABLE))
- extern void EvrRtxMemoryPoolAllocated (osMemoryPoolId_t mp_id, void *block);
- #else
- #define EvrRtxMemoryPoolAllocated(mp_id, block)
- #endif
- /**
- \brief Event on unsuccessful memory pool allocation (Op)
- \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMPOOL != 0) && !defined(EVR_RTX_MEMORY_POOL_ALLOC_FAILED_DISABLE))
- extern void EvrRtxMemoryPoolAllocFailed (osMemoryPoolId_t mp_id);
- #else
- #define EvrRtxMemoryPoolAllocFailed(mp_id)
- #endif
- /**
- \brief Event on memory pool free (API)
- \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew.
- \param[in] block address of the allocated memory block to be returned to the memory pool.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMPOOL != 0) && !defined(EVR_RTX_MEMORY_POOL_FREE_DISABLE))
- extern void EvrRtxMemoryPoolFree (osMemoryPoolId_t mp_id, void *block);
- #else
- #define EvrRtxMemoryPoolFree(mp_id, block)
- #endif
- /**
- \brief Event on successful memory pool free (Op)
- \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew.
- \param[in] block address of the allocated memory block to be returned to the memory pool.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMPOOL != 0) && !defined(EVR_RTX_MEMORY_POOL_DEALLOCATED_DISABLE))
- extern void EvrRtxMemoryPoolDeallocated (osMemoryPoolId_t mp_id, void *block);
- #else
- #define EvrRtxMemoryPoolDeallocated(mp_id, block)
- #endif
- /**
- \brief Event on unsuccessful memory pool free (Op)
- \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew.
- \param[in] block address of the allocated memory block to be returned to the memory pool.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMPOOL != 0) && !defined(EVR_RTX_MEMORY_POOL_FREE_FAILED_DISABLE))
- extern void EvrRtxMemoryPoolFreeFailed (osMemoryPoolId_t mp_id, void *block);
- #else
- #define EvrRtxMemoryPoolFreeFailed(mp_id, block)
- #endif
- /**
- \brief Event on memory pool capacity retrieve (API)
- \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew.
- \param[in] capacity maximum number of memory blocks.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMPOOL != 0) && !defined(EVR_RTX_MEMORY_POOL_GET_CAPACITY_DISABLE))
- extern void EvrRtxMemoryPoolGetCapacity (osMemoryPoolId_t mp_id, uint32_t capacity);
- #else
- #define EvrRtxMemoryPoolGetCapacity(mp_id, capacity)
- #endif
- /**
- \brief Event on memory pool block size retrieve (API)
- \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew.
- \param[in] block_size memory block size in bytes.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMPOOL != 0) && !defined(EVR_RTX_MEMORY_POOL_GET_BLOCK_SZIE_DISABLE))
- extern void EvrRtxMemoryPoolGetBlockSize (osMemoryPoolId_t mp_id, uint32_t block_size);
- #else
- #define EvrRtxMemoryPoolGetBlockSize(mp_id, block_size)
- #endif
- /**
- \brief Event on used memory pool blocks retrieve (API)
- \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew.
- \param[in] count number of memory blocks used.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMPOOL != 0) && !defined(EVR_RTX_MEMORY_POOL_GET_COUNT_DISABLE))
- extern void EvrRtxMemoryPoolGetCount (osMemoryPoolId_t mp_id, uint32_t count);
- #else
- #define EvrRtxMemoryPoolGetCount(mp_id, count)
- #endif
- /**
- \brief Event on available memory pool blocks retrieve (API)
- \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew.
- \param[in] space number of memory blocks available.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMPOOL != 0) && !defined(EVR_RTX_MEMORY_POOL_GET_SPACE_DISABLE))
- extern void EvrRtxMemoryPoolGetSpace (osMemoryPoolId_t mp_id, uint32_t space);
- #else
- #define EvrRtxMemoryPoolGetSpace(mp_id, space)
- #endif
- /**
- \brief Event on memory pool delete (API)
- \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMPOOL != 0) && !defined(EVR_RTX_MEMORY_POOL_DELETE_DISABLE))
- extern void EvrRtxMemoryPoolDelete (osMemoryPoolId_t mp_id);
- #else
- #define EvrRtxMemoryPoolDelete(mp_id)
- #endif
- /**
- \brief Event on successful memory pool delete (Op)
- \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MEMPOOL != 0) && !defined(EVR_RTX_MEMORY_POOL_DESTROYED_DISABLE))
- extern void EvrRtxMemoryPoolDestroyed (osMemoryPoolId_t mp_id);
- #else
- #define EvrRtxMemoryPoolDestroyed(mp_id)
- #endif
- // ==== Message Queue Events ====
- /**
- \brief Event on message queue error (Error)
- \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew or NULL when ID is unknown.
- \param[in] status extended execution status.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_ERROR_DISABLE))
- extern void EvrRtxMessageQueueError (osMessageQueueId_t mq_id, int32_t status);
- #else
- #define EvrRtxMessageQueueError(mq_id, status)
- #endif
- /**
- \brief Event on message queue create and initialization (API)
- \param[in] msg_count maximum number of messages in queue.
- \param[in] msg_size maximum message size in bytes.
- \param[in] attr message queue attributes; NULL: default values.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_NEW_DISABLE))
- extern void EvrRtxMessageQueueNew (uint32_t msg_count, uint32_t msg_size, const osMessageQueueAttr_t *attr);
- #else
- #define EvrRtxMessageQueueNew(msg_count, msg_size, attr)
- #endif
- /**
- \brief Event on successful message queue create (Op)
- \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew.
- \param[in] name pointer to message queue object name.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_CREATED_DISABLE))
- extern void EvrRtxMessageQueueCreated (osMessageQueueId_t mq_id, const char *name);
- #else
- #define EvrRtxMessageQueueCreated(mq_id, name)
- #endif
- /**
- \brief Event on message queue name retrieve(API)
- \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew.
- \param[in] name pointer to message queue object name.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_GET_NAME_DISABLE))
- extern void EvrRtxMessageQueueGetName (osMessageQueueId_t mq_id, const char *name);
- #else
- #define EvrRtxMessageQueueGetName(mq_id, name)
- #endif
- /**
- \brief Event on message put (API)
- \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew.
- \param[in] msg_ptr pointer to buffer with message to put into a queue.
- \param[in] msg_prio message priority.
- \param[in] timeout \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_PUT_DISABLE))
- extern void EvrRtxMessageQueuePut (osMessageQueueId_t mq_id, const void *msg_ptr, uint8_t msg_prio, uint32_t timeout);
- #else
- #define EvrRtxMessageQueuePut(mq_id, msg_ptr, msg_prio, timeout)
- #endif
- /**
- \brief Event on pending message put (Op)
- \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew.
- \param[in] msg_ptr pointer to buffer with message to put into a queue.
- \param[in] timeout \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_PUT_PENDING_DISABLE))
- extern void EvrRtxMessageQueuePutPending (osMessageQueueId_t mq_id, const void *msg_ptr, uint32_t timeout);
- #else
- #define EvrRtxMessageQueuePutPending(mq_id, msg_ptr, timeout)
- #endif
- /**
- \brief Event on message put timeout (Op)
- \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_PUT_TIMEOUT_DISABLE))
- extern void EvrRtxMessageQueuePutTimeout (osMessageQueueId_t mq_id);
- #else
- #define EvrRtxMessageQueuePutTimeout(mq_id)
- #endif
- /**
- \brief Event on pending message insert (Op)
- \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew.
- \param[in] msg_ptr pointer to buffer with message to put into a queue.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_INSERT_PENDING_DISABLE))
- extern void EvrRtxMessageQueueInsertPending (osMessageQueueId_t mq_id, const void *msg_ptr);
- #else
- #define EvrRtxMessageQueueInsertPending(mq_id, msg_ptr)
- #endif
- /**
- \brief Event on successful message insert (Op)
- \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew.
- \param[in] msg_ptr pointer to buffer with message to put into a queue.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_INSERTED_DISABLE))
- extern void EvrRtxMessageQueueInserted (osMessageQueueId_t mq_id, const void *msg_ptr);
- #else
- #define EvrRtxMessageQueueInserted(mq_id, msg_ptr)
- #endif
- /**
- \brief Event on unsuccessful message insert (Op)
- \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew.
- \param[in] msg_ptr pointer to buffer with message to put into a queue.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_NOT_INSERTED_DISABLE))
- extern void EvrRtxMessageQueueNotInserted (osMessageQueueId_t mq_id, const void *msg_ptr);
- #else
- #define EvrRtxMessageQueueNotInserted(mq_id, msg_ptr)
- #endif
- /**
- \brief Event on message get (API)
- \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew.
- \param[in] msg_ptr pointer to buffer for message to get from a queue.
- \param[in] msg_prio message priority.
- \param[in] timeout \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_GET_DISABLE))
- extern void EvrRtxMessageQueueGet (osMessageQueueId_t mq_id, void *msg_ptr, uint8_t *msg_prio, uint32_t timeout);
- #else
- #define EvrRtxMessageQueueGet(mq_id, msg_ptr, msg_prio, timeout)
- #endif
- /**
- \brief Event on pending message get (Op)
- \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew.
- \param[in] msg_ptr pointer to buffer for message to get from a queue.
- \param[in] timeout \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_GET_PENDING_DISABLE))
- extern void EvrRtxMessageQueueGetPending (osMessageQueueId_t mq_id, void *msg_ptr, uint32_t timeout);
- #else
- #define EvrRtxMessageQueueGetPending(mq_id, msg_ptr, timeout)
- #endif
- /**
- \brief Event on message get timeout (Op)
- \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_GET_TIMEOUT_DISABLE))
- extern void EvrRtxMessageQueueGetTimeout (osMessageQueueId_t mq_id);
- #else
- #define EvrRtxMessageQueueGetTimeout(mq_id)
- #endif
- /**
- \brief Event on successful message get (Op)
- \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew.
- \param[in] msg_ptr pointer to buffer for message to get from a queue.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_RETRIEVED_DISABLE))
- extern void EvrRtxMessageQueueRetrieved (osMessageQueueId_t mq_id, void *msg_ptr);
- #else
- #define EvrRtxMessageQueueRetrieved(mq_id, msg_ptr)
- #endif
- /**
- \brief Event on unsuccessful message get (Op)
- \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew.
- \param[in] msg_ptr pointer to buffer for message to get from a queue.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_NOT_RETRIEVED_DISABLE))
- extern void EvrRtxMessageQueueNotRetrieved (osMessageQueueId_t mq_id, void *msg_ptr);
- #else
- #define EvrRtxMessageQueueNotRetrieved(mq_id, msg_ptr)
- #endif
- /**
- \brief Event on message queue capacity retrieve (API)
- \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew.
- \param[in] capacity maximum number of messages.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_GET_CAPACITY_DISABLE))
- extern void EvrRtxMessageQueueGetCapacity (osMessageQueueId_t mq_id, uint32_t capacity);
- #else
- #define EvrRtxMessageQueueGetCapacity(mq_id, capacity)
- #endif
- /**
- \brief Event on message queue message size retrieve (API)
- \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew.
- \param[in] msg_size maximum message size in bytes.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_GET_MSG_SIZE_DISABLE))
- extern void EvrRtxMessageQueueGetMsgSize (osMessageQueueId_t mq_id, uint32_t msg_size);
- #else
- #define EvrRtxMessageQueueGetMsgSize(mq_id, msg_size)
- #endif
- /**
- \brief Event on message queue message count retrieve (API)
- \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew.
- \param[in] count number of queued messages.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_GET_COUNT_DISABLE))
- extern void EvrRtxMessageQueueGetCount (osMessageQueueId_t mq_id, uint32_t count);
- #else
- #define EvrRtxMessageQueueGetCount(mq_id, count)
- #endif
- /**
- \brief Event on message queue message slots retrieve (API)
- \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew.
- \param[in] space number of available slots for messages.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_GET_SPACE_DISABLE))
- extern void EvrRtxMessageQueueGetSpace (osMessageQueueId_t mq_id, uint32_t space);
- #else
- #define EvrRtxMessageQueueGetSpace(mq_id, space)
- #endif
- /**
- \brief Event on message queue reset (API)
- \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_RESET_DISABLE))
- extern void EvrRtxMessageQueueReset (osMessageQueueId_t mq_id);
- #else
- #define EvrRtxMessageQueueReset(mq_id)
- #endif
- /**
- \brief Event on successful message queue reset (Op)
- \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_RESET_DONE_DISABLE))
- extern void EvrRtxMessageQueueResetDone (osMessageQueueId_t mq_id);
- #else
- #define EvrRtxMessageQueueResetDone(mq_id)
- #endif
- /**
- \brief Event on message queue delete (API)
- \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_DELETE_DISABLE))
- extern void EvrRtxMessageQueueDelete (osMessageQueueId_t mq_id);
- #else
- #define EvrRtxMessageQueueDelete(mq_id)
- #endif
- /**
- \brief Event on successful message queue delete (Op)
- \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew.
- */
- #if (!defined(EVR_RTX_DISABLE) && (OS_EVR_MSGQUEUE != 0) && !defined(EVR_RTX_MESSAGE_QUEUE_DESTROYED_DISABLE))
- extern void EvrRtxMessageQueueDestroyed (osMessageQueueId_t mq_id);
- #else
- #define EvrRtxMessageQueueDestroyed(mq_id)
- #endif
- #endif // RTX_EVR_H_
|