summaryrefslogtreecommitdiff
path: root/docs/RTOS2/html
diff options
context:
space:
mode:
authorAli Labbene <ali.labbene@st.com>2019-12-11 08:59:21 +0100
committerAli Labbene <ali.labbene@st.com>2019-12-16 16:35:24 +0100
commit9f95ff5b6ba01db09552b84a0ab79607060a2666 (patch)
tree8a6e0dda832555c692307869aed49d07ee7facfe /docs/RTOS2/html
parent76177aa280494bb36d7a0bcbda1078d4db717020 (diff)
downloadst-cmsis-core-lowfat-9f95ff5b6ba01db09552b84a0ab79607060a2666.tar.gz
st-cmsis-core-lowfat-9f95ff5b6ba01db09552b84a0ab79607060a2666.tar.bz2
st-cmsis-core-lowfat-9f95ff5b6ba01db09552b84a0ab79607060a2666.zip
Official ARM version: v5.4.0
Add CMSIS V5.4.0, please refer to index.html available under \docs folder. Note: content of \CMSIS\Core\Include has been copied under \Include to keep the same structure used in existing projects, and thus avoid projects mass update Note: the following components have been removed from ARM original delivery (as not used in ST packages) - CMSIS_EW2018.pdf - .gitattributes - .gitignore - \Device - \CMSIS - \CoreValidation - \DAP - \Documentation - \DoxyGen - \Driver - \Pack - \RTOS\CMSIS_RTOS_Tutorial.pdf - \RTOS\RTX - \RTOS\Template - \RTOS2\RTX - \Utilities - All ARM/GCC projects files are deleted from \DSP, \RTOS and \RTOS2 Change-Id: Ia026c3f0f0d016627a4fb5a9032852c33d24b4d3
Diffstat (limited to 'docs/RTOS2/html')
-rw-r--r--docs/RTOS2/html/API_Structure.pngbin0 -> 7494 bytes
-rw-r--r--docs/RTOS2/html/CMSIS_Logo_Final.pngbin0 -> 12402 bytes
-rw-r--r--docs/RTOS2/html/CMSIS_RTOS_Files.pngbin0 -> 20340 bytes
-rw-r--r--docs/RTOS2/html/CodingRules.html141
-rw-r--r--docs/RTOS2/html/MemAllocGlob.pngbin0 -> 6082 bytes
-rw-r--r--docs/RTOS2/html/MemAllocSpec.pngbin0 -> 11293 bytes
-rw-r--r--docs/RTOS2/html/MemAllocStat.pngbin0 -> 5012 bytes
-rw-r--r--docs/RTOS2/html/MessageQueue.pngbin0 -> 12122 bytes
-rw-r--r--docs/RTOS2/html/Mutex.pngbin0 -> 11737 bytes
-rw-r--r--docs/RTOS2/html/PC-Lint.pngbin0 -> 47030 bytes
-rw-r--r--docs/RTOS2/html/RTX5_Migrate1.PNGbin0 -> 26196 bytes
-rw-r--r--docs/RTOS2/html/Semaphore.pngbin0 -> 26906 bytes
-rw-r--r--docs/RTOS2/html/ThreadStatus.pngbin0 -> 31308 bytes
-rw-r--r--docs/RTOS2/html/Timer.pngbin0 -> 13428 bytes
-rw-r--r--docs/RTOS2/html/TimerValues.pngbin0 -> 4039 bytes
-rw-r--r--docs/RTOS2/html/add_item.pngbin0 -> 31105 bytes
-rw-r--r--docs/RTOS2/html/annotated.html173
-rw-r--r--docs/RTOS2/html/annotated.js37
-rw-r--r--docs/RTOS2/html/bc_s.pngbin0 -> 670 bytes
-rw-r--r--docs/RTOS2/html/bdwn.pngbin0 -> 147 bytes
-rw-r--r--docs/RTOS2/html/classes.html149
-rw-r--r--docs/RTOS2/html/closed.pngbin0 -> 132 bytes
-rw-r--r--docs/RTOS2/html/cmsis.css1282
-rw-r--r--docs/RTOS2/html/cmsis__os2_8h.html724
-rw-r--r--docs/RTOS2/html/cmsis__os2_8txt.html129
-rw-r--r--docs/RTOS2/html/cmsis__os2__Event_8txt.html129
-rw-r--r--docs/RTOS2/html/cmsis__os2__Kernel_8txt.html129
-rw-r--r--docs/RTOS2/html/cmsis__os2__MemPool_8txt.html129
-rw-r--r--docs/RTOS2/html/cmsis__os2__Message_8txt.html129
-rw-r--r--docs/RTOS2/html/cmsis__os2__MigrationGuide_8txt.html129
-rw-r--r--docs/RTOS2/html/cmsis__os2__Migration_8txt.html129
-rw-r--r--docs/RTOS2/html/cmsis__os2__Mutex_8txt.html129
-rw-r--r--docs/RTOS2/html/cmsis__os2__Sema_8txt.html129
-rw-r--r--docs/RTOS2/html/cmsis__os2__Status_8txt.html129
-rw-r--r--docs/RTOS2/html/cmsis__os2__ThreadFlags_8txt.html129
-rw-r--r--docs/RTOS2/html/cmsis__os2__Thread_8txt.html129
-rw-r--r--docs/RTOS2/html/cmsis__os2__Timer_8txt.html129
-rw-r--r--docs/RTOS2/html/cmsis__os2__Wait_8txt.html129
-rw-r--r--docs/RTOS2/html/cmsis__os2__tick_8txt.html129
-rw-r--r--docs/RTOS2/html/config_rtx5.html537
-rw-r--r--docs/RTOS2/html/config_wizard.pngbin0 -> 10239 bytes
-rw-r--r--docs/RTOS2/html/config_wizard_eventFlags.pngbin0 -> 6800 bytes
-rw-r--r--docs/RTOS2/html/config_wizard_evtrecGeneration.pngbin0 -> 6470 bytes
-rw-r--r--docs/RTOS2/html/config_wizard_evtrecGlobEvtFiltSetup.pngbin0 -> 3195 bytes
-rw-r--r--docs/RTOS2/html/config_wizard_evtrecGlobIni.pngbin0 -> 3308 bytes
-rw-r--r--docs/RTOS2/html/config_wizard_evtrecRTOSEvtFilterSetup.pngbin0 -> 9519 bytes
-rw-r--r--docs/RTOS2/html/config_wizard_memPool.pngbin0 -> 8846 bytes
-rw-r--r--docs/RTOS2/html/config_wizard_msgQueue.pngbin0 -> 9134 bytes
-rw-r--r--docs/RTOS2/html/config_wizard_mutex.pngbin0 -> 6678 bytes
-rw-r--r--docs/RTOS2/html/config_wizard_semaphore.pngbin0 -> 6851 bytes
-rw-r--r--docs/RTOS2/html/config_wizard_system.pngbin0 -> 8645 bytes
-rw-r--r--docs/RTOS2/html/config_wizard_threads.pngbin0 -> 11296 bytes
-rw-r--r--docs/RTOS2/html/config_wizard_timer.pngbin0 -> 11055 bytes
-rw-r--r--docs/RTOS2/html/cre_rtx_proj.html208
-rw-r--r--docs/RTOS2/html/creating_RTX5_LIB.html142
-rw-r--r--docs/RTOS2/html/dir_002cf2dd0f795cc97a8d08cc3fa6e516.html135
-rw-r--r--docs/RTOS2/html/dir_061ad8d12aa7dc7d03c29112cd6e086d.html137
-rw-r--r--docs/RTOS2/html/dir_899d076620cccde5757c1c1ca5de63cc.html136
-rw-r--r--docs/RTOS2/html/dir_a43355fbfff7212ac2193223a73d577c.html137
-rw-r--r--docs/RTOS2/html/dir_f5870d36a7061bb81e1a64a750696f2d.html138
-rw-r--r--docs/RTOS2/html/dirstructfiles5.html200
-rw-r--r--docs/RTOS2/html/doxygen.css1366
-rw-r--r--docs/RTOS2/html/doxygen.pngbin0 -> 3846 bytes
-rw-r--r--docs/RTOS2/html/dynsections.js97
-rw-r--r--docs/RTOS2/html/event_recorder_rte.pngbin0 -> 41621 bytes
-rw-r--r--docs/RTOS2/html/files.html136
-rw-r--r--docs/RTOS2/html/ftv2blank.pngbin0 -> 86 bytes
-rw-r--r--docs/RTOS2/html/ftv2cl.pngbin0 -> 451 bytes
-rw-r--r--docs/RTOS2/html/ftv2doc.pngbin0 -> 758 bytes
-rw-r--r--docs/RTOS2/html/ftv2folderclosed.pngbin0 -> 595 bytes
-rw-r--r--docs/RTOS2/html/ftv2folderopen.pngbin0 -> 604 bytes
-rw-r--r--docs/RTOS2/html/ftv2lastnode.pngbin0 -> 86 bytes
-rw-r--r--docs/RTOS2/html/ftv2link.pngbin0 -> 758 bytes
-rw-r--r--docs/RTOS2/html/ftv2mlastnode.pngbin0 -> 245 bytes
-rw-r--r--docs/RTOS2/html/ftv2mnode.pngbin0 -> 245 bytes
-rw-r--r--docs/RTOS2/html/ftv2mo.pngbin0 -> 404 bytes
-rw-r--r--docs/RTOS2/html/ftv2node.pngbin0 -> 86 bytes
-rw-r--r--docs/RTOS2/html/ftv2ns.pngbin0 -> 385 bytes
-rw-r--r--docs/RTOS2/html/ftv2plastnode.pngbin0 -> 232 bytes
-rw-r--r--docs/RTOS2/html/ftv2pnode.pngbin0 -> 232 bytes
-rw-r--r--docs/RTOS2/html/ftv2splitbar.pngbin0 -> 315 bytes
-rw-r--r--docs/RTOS2/html/ftv2vertline.pngbin0 -> 86 bytes
-rw-r--r--docs/RTOS2/html/functionOverview.html140
-rw-r--r--docs/RTOS2/html/functionOverview.js9
-rw-r--r--docs/RTOS2/html/functions.html560
-rw-r--r--docs/RTOS2/html/functions_vars.html560
-rw-r--r--docs/RTOS2/html/genRTOS2IF.html212
-rw-r--r--docs/RTOS2/html/globals.html153
-rw-r--r--docs/RTOS2/html/globals_defs.html447
-rw-r--r--docs/RTOS2/html/globals_e.html651
-rw-r--r--docs/RTOS2/html/globals_enum.html152
-rw-r--r--docs/RTOS2/html/globals_eval.html375
-rw-r--r--docs/RTOS2/html/globals_func.html648
-rw-r--r--docs/RTOS2/html/globals_func_o.html420
-rw-r--r--docs/RTOS2/html/globals_func_p.html150
-rw-r--r--docs/RTOS2/html/globals_func_s.html153
-rw-r--r--docs/RTOS2/html/globals_i.html156
-rw-r--r--docs/RTOS2/html/globals_o.html1002
-rw-r--r--docs/RTOS2/html/globals_p.html153
-rw-r--r--docs/RTOS2/html/globals_s.html156
-rw-r--r--docs/RTOS2/html/globals_t.html156
-rw-r--r--docs/RTOS2/html/globals_type.html170
-rw-r--r--docs/RTOS2/html/globals_vars.html164
-rw-r--r--docs/RTOS2/html/group__CMSIS__RTOS.html178
-rw-r--r--docs/RTOS2/html/group__CMSIS__RTOS.js15
-rw-r--r--docs/RTOS2/html/group__CMSIS__RTOS__Definitions.html297
-rw-r--r--docs/RTOS2/html/group__CMSIS__RTOS__Definitions.js18
-rw-r--r--docs/RTOS2/html/group__CMSIS__RTOS__EventFlags.html656
-rw-r--r--docs/RTOS2/html/group__CMSIS__RTOS__EventFlags.js17
-rw-r--r--docs/RTOS2/html/group__CMSIS__RTOS__EventFlags_structosEventFlagsAttr__t.js7
-rw-r--r--docs/RTOS2/html/group__CMSIS__RTOS__KernelCtrl.html813
-rw-r--r--docs/RTOS2/html/group__CMSIS__RTOS__KernelCtrl.js29
-rw-r--r--docs/RTOS2/html/group__CMSIS__RTOS__KernelCtrl_structosVersion__t.js5
-rw-r--r--docs/RTOS2/html/group__CMSIS__RTOS__MemoryMgmt.html183
-rw-r--r--docs/RTOS2/html/group__CMSIS__RTOS__Message.html675
-rw-r--r--docs/RTOS2/html/group__CMSIS__RTOS__Message.js21
-rw-r--r--docs/RTOS2/html/group__CMSIS__RTOS__Message_structosMessageQueueAttr__t.js9
-rw-r--r--docs/RTOS2/html/group__CMSIS__RTOS__MutexMgmt.html655
-rw-r--r--docs/RTOS2/html/group__CMSIS__RTOS__MutexMgmt.js19
-rw-r--r--docs/RTOS2/html/group__CMSIS__RTOS__MutexMgmt_structosMutexAttr__t.js7
-rw-r--r--docs/RTOS2/html/group__CMSIS__RTOS__PoolMgmt.html638
-rw-r--r--docs/RTOS2/html/group__CMSIS__RTOS__PoolMgmt.js21
-rw-r--r--docs/RTOS2/html/group__CMSIS__RTOS__PoolMgmt_structosMemoryPoolAttr__t.js9
-rw-r--r--docs/RTOS2/html/group__CMSIS__RTOS__SemaphoreMgmt.html554
-rw-r--r--docs/RTOS2/html/group__CMSIS__RTOS__SemaphoreMgmt.js16
-rw-r--r--docs/RTOS2/html/group__CMSIS__RTOS__SemaphoreMgmt_structosSemaphoreAttr__t.js7
-rw-r--r--docs/RTOS2/html/group__CMSIS__RTOS__ThreadFlagsMgmt.html376
-rw-r--r--docs/RTOS2/html/group__CMSIS__RTOS__ThreadFlagsMgmt.js7
-rw-r--r--docs/RTOS2/html/group__CMSIS__RTOS__ThreadMgmt.html1467
-rw-r--r--docs/RTOS2/html/group__CMSIS__RTOS__ThreadMgmt.js107
-rw-r--r--docs/RTOS2/html/group__CMSIS__RTOS__ThreadMgmt_structosThreadAttr__t.js12
-rw-r--r--docs/RTOS2/html/group__CMSIS__RTOS__TickAPI.html446
-rw-r--r--docs/RTOS2/html/group__CMSIS__RTOS__TickAPI.js12
-rw-r--r--docs/RTOS2/html/group__CMSIS__RTOS__TimerMgmt.html646
-rw-r--r--docs/RTOS2/html/group__CMSIS__RTOS__TimerMgmt.js23
-rw-r--r--docs/RTOS2/html/group__CMSIS__RTOS__TimerMgmt_structosTimerAttr__t.js7
-rw-r--r--docs/RTOS2/html/group__CMSIS__RTOS__Wait.html234
-rw-r--r--docs/RTOS2/html/group__CMSIS__RTOS__Wait.js5
-rw-r--r--docs/RTOS2/html/group__flags__error__codes.html265
-rw-r--r--docs/RTOS2/html/group__flags__error__codes.js8
-rw-r--r--docs/RTOS2/html/group__rtx5__specific.html153
-rw-r--r--docs/RTOS2/html/group__rtx5__specific.js6
-rw-r--r--docs/RTOS2/html/group__rtx5__specific__defines.html457
-rw-r--r--docs/RTOS2/html/group__rtx5__specific__defines.js17
-rw-r--r--docs/RTOS2/html/group__rtx5__specific__functions.html265
-rw-r--r--docs/RTOS2/html/group__rtx5__specific__functions.js5
-rw-r--r--docs/RTOS2/html/group__rtx5__specific__structs.html757
-rw-r--r--docs/RTOS2/html/group__rtx5__specific__structs.js98
-rw-r--r--docs/RTOS2/html/group__rtx5__specific__structs_structosRtxEventFlags__t.js10
-rw-r--r--docs/RTOS2/html/group__rtx5__specific__structs_structosRtxMemoryPool__t.js10
-rw-r--r--docs/RTOS2/html/group__rtx5__specific__structs_structosRtxMessageQueue__t.js14
-rw-r--r--docs/RTOS2/html/group__rtx5__specific__structs_structosRtxMutex__t.js14
-rw-r--r--docs/RTOS2/html/group__rtx5__specific__structs_structosRtxSemaphore__t.js11
-rw-r--r--docs/RTOS2/html/group__rtx5__specific__structs_structosRtxThread__t.js26
-rw-r--r--docs/RTOS2/html/group__rtx5__specific__structs_structosRtxTimerFinfo__t.js5
-rw-r--r--docs/RTOS2/html/group__rtx5__specific__structs_structosRtxTimer__t.js13
-rw-r--r--docs/RTOS2/html/group__rtx__evr.html167
-rw-r--r--docs/RTOS2/html/group__rtx__evr.js12
-rw-r--r--docs/RTOS2/html/group__rtx__evr__event__flasg.html422
-rw-r--r--docs/RTOS2/html/group__rtx__evr__event__flasg.js10
-rw-r--r--docs/RTOS2/html/group__rtx__evr__kernel.html788
-rw-r--r--docs/RTOS2/html/group__rtx__evr__kernel.js25
-rw-r--r--docs/RTOS2/html/group__rtx__evr__memory.html447
-rw-r--r--docs/RTOS2/html/group__rtx__evr__memory.js9
-rw-r--r--docs/RTOS2/html/group__rtx__evr__memory__pool.html892
-rw-r--r--docs/RTOS2/html/group__rtx__evr__memory__pool.js21
-rw-r--r--docs/RTOS2/html/group__rtx__evr__message__queue.html1126
-rw-r--r--docs/RTOS2/html/group__rtx__evr__message__queue.js26
-rw-r--r--docs/RTOS2/html/group__rtx__evr__mutex.html692
-rw-r--r--docs/RTOS2/html/group__rtx__evr__mutex.js17
-rw-r--r--docs/RTOS2/html/group__rtx__evr__semaphore.html712
-rw-r--r--docs/RTOS2/html/group__rtx__evr__semaphore.js17
-rw-r--r--docs/RTOS2/html/group__rtx__evr__thread.html1293
-rw-r--r--docs/RTOS2/html/group__rtx__evr__thread.js36
-rw-r--r--docs/RTOS2/html/group__rtx__evr__timer.html636
-rw-r--r--docs/RTOS2/html/group__rtx__evr__timer.js15
-rw-r--r--docs/RTOS2/html/history_8txt.html129
-rw-r--r--docs/RTOS2/html/index.html181
-rw-r--r--docs/RTOS2/html/jquery.js72
-rw-r--r--docs/RTOS2/html/mainpage_8txt.html129
-rw-r--r--docs/RTOS2/html/manage_rte_cortex-a.pngbin0 -> 111780 bytes
-rw-r--r--docs/RTOS2/html/manage_rte_output.pngbin0 -> 53886 bytes
-rw-r--r--docs/RTOS2/html/mempool.pngbin0 -> 13062 bytes
-rw-r--r--docs/RTOS2/html/misraCompliance5.html412
-rw-r--r--docs/RTOS2/html/modules.html160
-rw-r--r--docs/RTOS2/html/modules.js6
-rw-r--r--docs/RTOS2/html/mutex_states.pngbin0 -> 31189 bytes
-rw-r--r--docs/RTOS2/html/nav_f.pngbin0 -> 151 bytes
-rw-r--r--docs/RTOS2/html/nav_g.pngbin0 -> 95 bytes
-rw-r--r--docs/RTOS2/html/nav_h.pngbin0 -> 99 bytes
-rw-r--r--docs/RTOS2/html/navtree.css143
-rw-r--r--docs/RTOS2/html/navtree.js553
-rw-r--r--docs/RTOS2/html/navtreeindex0.js253
-rw-r--r--docs/RTOS2/html/navtreeindex1.js253
-rw-r--r--docs/RTOS2/html/navtreeindex2.js253
-rw-r--r--docs/RTOS2/html/navtreeindex3.js23
-rw-r--r--docs/RTOS2/html/open.pngbin0 -> 122 bytes
-rw-r--r--docs/RTOS2/html/os2Migration.html134
-rw-r--r--docs/RTOS2/html/os2Migration.js22
-rw-r--r--docs/RTOS2/html/os2MigrationFunctions.html766
-rw-r--r--docs/RTOS2/html/os2MigrationGuide.html282
-rw-r--r--docs/RTOS2/html/os__systick_8c.html135
-rw-r--r--docs/RTOS2/html/os__tick_8h.html207
-rw-r--r--docs/RTOS2/html/own_lib_projwin.pngbin0 -> 14703 bytes
-rw-r--r--docs/RTOS2/html/pControlBlockSizes.html151
-rw-r--r--docs/RTOS2/html/pDirectory_Files.html202
-rw-r--r--docs/RTOS2/html/pHardwareRequirements.html221
-rw-r--r--docs/RTOS2/html/pToolchains.html161
-rw-r--r--docs/RTOS2/html/pages.html133
-rw-r--r--docs/RTOS2/html/printComponentTabs.js39
-rw-r--r--docs/RTOS2/html/project_window.pngbin0 -> 13275 bytes
-rw-r--r--docs/RTOS2/html/resize.js97
-rw-r--r--docs/RTOS2/html/rtosValidation.html172
-rw-r--r--docs/RTOS2/html/rtos_api2.html275
-rw-r--r--docs/RTOS2/html/rtos_apicpp.html130
-rw-r--r--docs/RTOS2/html/rtos_os_tick_api.html144
-rw-r--r--docs/RTOS2/html/rtos_revisionHistory.html265
-rw-r--r--docs/RTOS2/html/rtx5_impl.html139
-rw-r--r--docs/RTOS2/html/rtx5_impl.js81
-rw-r--r--docs/RTOS2/html/rtx__evr_8h.html1498
-rw-r--r--docs/RTOS2/html/rtx__evr_8txt.html129
-rw-r--r--docs/RTOS2/html/rtx__os_8h.html2561
-rw-r--r--docs/RTOS2/html/rtx__os_8h_structosRtxConfig__t.js14
-rw-r--r--docs/RTOS2/html/rtx__os_8h_structosRtxConfig__t_8isr__queue.js6
-rw-r--r--docs/RTOS2/html/rtx__os_8h_structosRtxConfig__t_8mem.js11
-rw-r--r--docs/RTOS2/html/rtx__os_8h_structosRtxConfig__t_8mpi.js11
-rw-r--r--docs/RTOS2/html/rtx__os_8h_structosRtxEventFlags__t.js10
-rw-r--r--docs/RTOS2/html/rtx__os_8h_structosRtxInfo__t.js13
-rw-r--r--docs/RTOS2/html/rtx__os_8h_structosRtxInfo__t_8isr__queue.js8
-rw-r--r--docs/RTOS2/html/rtx__os_8h_structosRtxInfo__t_8kernel.js8
-rw-r--r--docs/RTOS2/html/rtx__os_8h_structosRtxInfo__t_8mem.js7
-rw-r--r--docs/RTOS2/html/rtx__os_8h_structosRtxInfo__t_8mpi.js11
-rw-r--r--docs/RTOS2/html/rtx__os_8h_structosRtxInfo__t_8thread.js10
-rw-r--r--docs/RTOS2/html/rtx__os_8h_structosRtxInfo__t_8thread_8robin.js6
-rw-r--r--docs/RTOS2/html/rtx__os_8h_structosRtxInfo__t_8thread_8run.js5
-rw-r--r--docs/RTOS2/html/rtx__os_8h_structosRtxInfo__t_8timer.js6
-rw-r--r--docs/RTOS2/html/rtx__os_8h_structosRtxMemoryPool__t.js10
-rw-r--r--docs/RTOS2/html/rtx__os_8h_structosRtxMessageQueue__t.js14
-rw-r--r--docs/RTOS2/html/rtx__os_8h_structosRtxMessage__t.js9
-rw-r--r--docs/RTOS2/html/rtx__os_8h_structosRtxMpInfo__t.js9
-rw-r--r--docs/RTOS2/html/rtx__os_8h_structosRtxMutex__t.js14
-rw-r--r--docs/RTOS2/html/rtx__os_8h_structosRtxObjectMemUsage__t.js6
-rw-r--r--docs/RTOS2/html/rtx__os_8h_structosRtxObject__t.js9
-rw-r--r--docs/RTOS2/html/rtx__os_8h_structosRtxSemaphore__t.js11
-rw-r--r--docs/RTOS2/html/rtx__os_8h_structosRtxThread__t.js26
-rw-r--r--docs/RTOS2/html/rtx__os_8h_structosRtxTimerFinfo__t.js5
-rw-r--r--docs/RTOS2/html/rtx__os_8h_structosRtxTimer__t.js13
-rw-r--r--docs/RTOS2/html/rtx__os_8txt.html129
-rw-r--r--docs/RTOS2/html/scheduling.pngbin0 -> 35038 bytes
-rw-r--r--docs/RTOS2/html/search.css240
-rw-r--r--docs/RTOS2/html/search/all_0.html26
-rw-r--r--docs/RTOS2/html/search/all_0.js4
-rw-r--r--docs/RTOS2/html/search/all_1.html26
-rw-r--r--docs/RTOS2/html/search/all_1.js7
-rw-r--r--docs/RTOS2/html/search/all_10.html26
-rw-r--r--docs/RTOS2/html/search/all_10.js15
-rw-r--r--docs/RTOS2/html/search/all_11.html26
-rw-r--r--docs/RTOS2/html/search/all_11.js13
-rw-r--r--docs/RTOS2/html/search/all_12.html26
-rw-r--r--docs/RTOS2/html/search/all_12.js30
-rw-r--r--docs/RTOS2/html/search/all_13.html26
-rw-r--r--docs/RTOS2/html/search/all_13.js4
-rw-r--r--docs/RTOS2/html/search/all_14.html26
-rw-r--r--docs/RTOS2/html/search/all_14.js5
-rw-r--r--docs/RTOS2/html/search/all_15.html26
-rw-r--r--docs/RTOS2/html/search/all_15.js4
-rw-r--r--docs/RTOS2/html/search/all_2.html26
-rw-r--r--docs/RTOS2/html/search/all_2.js8
-rw-r--r--docs/RTOS2/html/search/all_3.html26
-rw-r--r--docs/RTOS2/html/search/all_3.js30
-rw-r--r--docs/RTOS2/html/search/all_4.html26
-rw-r--r--docs/RTOS2/html/search/all_4.js9
-rw-r--r--docs/RTOS2/html/search/all_5.html26
-rw-r--r--docs/RTOS2/html/search/all_5.js174
-rw-r--r--docs/RTOS2/html/search/all_6.html26
-rw-r--r--docs/RTOS2/html/search/all_6.js10
-rw-r--r--docs/RTOS2/html/search/all_7.html26
-rw-r--r--docs/RTOS2/html/search/all_7.js5
-rw-r--r--docs/RTOS2/html/search/all_8.html26
-rw-r--r--docs/RTOS2/html/search/all_8.js5
-rw-r--r--docs/RTOS2/html/search/all_9.html26
-rw-r--r--docs/RTOS2/html/search/all_9.js7
-rw-r--r--docs/RTOS2/html/search/all_a.html26
-rw-r--r--docs/RTOS2/html/search/all_a.js6
-rw-r--r--docs/RTOS2/html/search/all_b.html26
-rw-r--r--docs/RTOS2/html/search/all_b.js5
-rw-r--r--docs/RTOS2/html/search/all_c.html26
-rw-r--r--docs/RTOS2/html/search/all_c.js30
-rw-r--r--docs/RTOS2/html/search/all_d.html26
-rw-r--r--docs/RTOS2/html/search/all_d.js5
-rw-r--r--docs/RTOS2/html/search/all_e.html26
-rw-r--r--docs/RTOS2/html/search/all_e.js328
-rw-r--r--docs/RTOS2/html/search/all_f.html26
-rw-r--r--docs/RTOS2/html/search/all_f.js9
-rw-r--r--docs/RTOS2/html/search/classes_0.html26
-rw-r--r--docs/RTOS2/html/search/classes_0.js37
-rw-r--r--docs/RTOS2/html/search/close.pngbin0 -> 273 bytes
-rw-r--r--docs/RTOS2/html/search/defines_0.html26
-rw-r--r--docs/RTOS2/html/search/defines_0.js4
-rw-r--r--docs/RTOS2/html/search/defines_1.html26
-rw-r--r--docs/RTOS2/html/search/defines_1.js4
-rw-r--r--docs/RTOS2/html/search/defines_2.html26
-rw-r--r--docs/RTOS2/html/search/defines_2.js68
-rw-r--r--docs/RTOS2/html/search/defines_3.html26
-rw-r--r--docs/RTOS2/html/search/defines_3.js4
-rw-r--r--docs/RTOS2/html/search/enums_0.html26
-rw-r--r--docs/RTOS2/html/search/enums_0.js8
-rw-r--r--docs/RTOS2/html/search/enumvalues_0.html26
-rw-r--r--docs/RTOS2/html/search/enumvalues_0.js80
-rw-r--r--docs/RTOS2/html/search/files_0.html26
-rw-r--r--docs/RTOS2/html/search/files_0.js19
-rw-r--r--docs/RTOS2/html/search/files_1.html26
-rw-r--r--docs/RTOS2/html/search/files_1.js4
-rw-r--r--docs/RTOS2/html/search/files_2.html26
-rw-r--r--docs/RTOS2/html/search/files_2.js4
-rw-r--r--docs/RTOS2/html/search/files_3.html26
-rw-r--r--docs/RTOS2/html/search/files_3.js4
-rw-r--r--docs/RTOS2/html/search/files_4.html26
-rw-r--r--docs/RTOS2/html/search/files_4.js7
-rw-r--r--docs/RTOS2/html/search/files_5.html26
-rw-r--r--docs/RTOS2/html/search/files_5.js4
-rw-r--r--docs/RTOS2/html/search/functions_0.html26
-rw-r--r--docs/RTOS2/html/search/functions_0.js170
-rw-r--r--docs/RTOS2/html/search/functions_1.html26
-rw-r--r--docs/RTOS2/html/search/functions_1.js94
-rw-r--r--docs/RTOS2/html/search/functions_2.html26
-rw-r--r--docs/RTOS2/html/search/functions_2.js4
-rw-r--r--docs/RTOS2/html/search/functions_3.html26
-rw-r--r--docs/RTOS2/html/search/functions_3.js5
-rw-r--r--docs/RTOS2/html/search/groups_0.html26
-rw-r--r--docs/RTOS2/html/search/groups_0.js4
-rw-r--r--docs/RTOS2/html/search/groups_1.html26
-rw-r--r--docs/RTOS2/html/search/groups_1.js4
-rw-r--r--docs/RTOS2/html/search/groups_2.html26
-rw-r--r--docs/RTOS2/html/search/groups_2.js6
-rw-r--r--docs/RTOS2/html/search/groups_3.html26
-rw-r--r--docs/RTOS2/html/search/groups_3.js5
-rw-r--r--docs/RTOS2/html/search/groups_4.html26
-rw-r--r--docs/RTOS2/html/search/groups_4.js4
-rw-r--r--docs/RTOS2/html/search/groups_5.html26
-rw-r--r--docs/RTOS2/html/search/groups_5.js5
-rw-r--r--docs/RTOS2/html/search/groups_6.html26
-rw-r--r--docs/RTOS2/html/search/groups_6.js12
-rw-r--r--docs/RTOS2/html/search/groups_7.html26
-rw-r--r--docs/RTOS2/html/search/groups_7.js4
-rw-r--r--docs/RTOS2/html/search/groups_8.html26
-rw-r--r--docs/RTOS2/html/search/groups_8.js4
-rw-r--r--docs/RTOS2/html/search/groups_9.html26
-rw-r--r--docs/RTOS2/html/search/groups_9.js5
-rw-r--r--docs/RTOS2/html/search/groups_a.html26
-rw-r--r--docs/RTOS2/html/search/groups_a.js8
-rw-r--r--docs/RTOS2/html/search/mag_sel.pngbin0 -> 563 bytes
-rw-r--r--docs/RTOS2/html/search/nomatches.html12
-rw-r--r--docs/RTOS2/html/search/pages_0.html26
-rw-r--r--docs/RTOS2/html/search/pages_0.js4
-rw-r--r--docs/RTOS2/html/search/pages_1.html26
-rw-r--r--docs/RTOS2/html/search/pages_1.js9
-rw-r--r--docs/RTOS2/html/search/pages_2.html26
-rw-r--r--docs/RTOS2/html/search/pages_2.js5
-rw-r--r--docs/RTOS2/html/search/pages_3.html26
-rw-r--r--docs/RTOS2/html/search/pages_3.js4
-rw-r--r--docs/RTOS2/html/search/pages_4.html26
-rw-r--r--docs/RTOS2/html/search/pages_4.js4
-rw-r--r--docs/RTOS2/html/search/pages_5.html26
-rw-r--r--docs/RTOS2/html/search/pages_5.js4
-rw-r--r--docs/RTOS2/html/search/pages_6.html26
-rw-r--r--docs/RTOS2/html/search/pages_6.js5
-rw-r--r--docs/RTOS2/html/search/pages_7.html26
-rw-r--r--docs/RTOS2/html/search/pages_7.js4
-rw-r--r--docs/RTOS2/html/search/pages_8.html26
-rw-r--r--docs/RTOS2/html/search/pages_8.js7
-rw-r--r--docs/RTOS2/html/search/pages_9.html26
-rw-r--r--docs/RTOS2/html/search/pages_9.js4
-rw-r--r--docs/RTOS2/html/search/pages_a.html26
-rw-r--r--docs/RTOS2/html/search/pages_a.js5
-rw-r--r--docs/RTOS2/html/search/search.css271
-rw-r--r--docs/RTOS2/html/search/search.js813
-rw-r--r--docs/RTOS2/html/search/search_l.pngbin0 -> 604 bytes
-rw-r--r--docs/RTOS2/html/search/search_m.pngbin0 -> 158 bytes
-rw-r--r--docs/RTOS2/html/search/search_r.pngbin0 -> 612 bytes
-rw-r--r--docs/RTOS2/html/search/typedefs_0.html26
-rw-r--r--docs/RTOS2/html/search/typedefs_0.js4
-rw-r--r--docs/RTOS2/html/search/typedefs_1.html26
-rw-r--r--docs/RTOS2/html/search/typedefs_1.js12
-rw-r--r--docs/RTOS2/html/search/typedefs_2.html26
-rw-r--r--docs/RTOS2/html/search/typedefs_2.js4
-rw-r--r--docs/RTOS2/html/search/variables_0.html26
-rw-r--r--docs/RTOS2/html/search/variables_0.js7
-rw-r--r--docs/RTOS2/html/search/variables_1.html26
-rw-r--r--docs/RTOS2/html/search/variables_1.js7
-rw-r--r--docs/RTOS2/html/search/variables_10.html26
-rw-r--r--docs/RTOS2/html/search/variables_10.js4
-rw-r--r--docs/RTOS2/html/search/variables_11.html26
-rw-r--r--docs/RTOS2/html/search/variables_11.js4
-rw-r--r--docs/RTOS2/html/search/variables_12.html26
-rw-r--r--docs/RTOS2/html/search/variables_12.js4
-rw-r--r--docs/RTOS2/html/search/variables_2.html26
-rw-r--r--docs/RTOS2/html/search/variables_2.js7
-rw-r--r--docs/RTOS2/html/search/variables_3.html26
-rw-r--r--docs/RTOS2/html/search/variables_3.js6
-rw-r--r--docs/RTOS2/html/search/variables_4.html26
-rw-r--r--docs/RTOS2/html/search/variables_4.js4
-rw-r--r--docs/RTOS2/html/search/variables_5.html26
-rw-r--r--docs/RTOS2/html/search/variables_5.js7
-rw-r--r--docs/RTOS2/html/search/variables_6.html26
-rw-r--r--docs/RTOS2/html/search/variables_6.js6
-rw-r--r--docs/RTOS2/html/search/variables_7.html26
-rw-r--r--docs/RTOS2/html/search/variables_7.js4
-rw-r--r--docs/RTOS2/html/search/variables_8.html26
-rw-r--r--docs/RTOS2/html/search/variables_8.js5
-rw-r--r--docs/RTOS2/html/search/variables_9.html26
-rw-r--r--docs/RTOS2/html/search/variables_9.js18
-rw-r--r--docs/RTOS2/html/search/variables_a.html26
-rw-r--r--docs/RTOS2/html/search/variables_a.js5
-rw-r--r--docs/RTOS2/html/search/variables_b.html26
-rw-r--r--docs/RTOS2/html/search/variables_b.js16
-rw-r--r--docs/RTOS2/html/search/variables_c.html26
-rw-r--r--docs/RTOS2/html/search/variables_c.js8
-rw-r--r--docs/RTOS2/html/search/variables_d.html26
-rw-r--r--docs/RTOS2/html/search/variables_d.js6
-rw-r--r--docs/RTOS2/html/search/variables_e.html26
-rw-r--r--docs/RTOS2/html/search/variables_e.js8
-rw-r--r--docs/RTOS2/html/search/variables_f.html26
-rw-r--r--docs/RTOS2/html/search/variables_f.js22
-rw-r--r--docs/RTOS2/html/semaphore_states.pngbin0 -> 28048 bytes
-rw-r--r--docs/RTOS2/html/simple_signal.pngbin0 -> 10667 bytes
-rw-r--r--docs/RTOS2/html/structosRtxInfo__t_8post__process.html219
-rw-r--r--docs/RTOS2/html/structosRtxInfo__t_8post__process.js8
-rw-r--r--docs/RTOS2/html/structosRtxInfo__t_8timer.html204
-rw-r--r--docs/RTOS2/html/structosRtxInfo__t_8timer.js7
-rw-r--r--docs/RTOS2/html/sync_off.pngbin0 -> 861 bytes
-rw-r--r--docs/RTOS2/html/sync_on.pngbin0 -> 855 bytes
-rw-r--r--docs/RTOS2/html/tab_a.pngbin0 -> 139 bytes
-rw-r--r--docs/RTOS2/html/tab_b.pngbin0 -> 170 bytes
-rw-r--r--docs/RTOS2/html/tab_h.pngbin0 -> 176 bytes
-rw-r--r--docs/RTOS2/html/tab_s.pngbin0 -> 188 bytes
-rw-r--r--docs/RTOS2/html/tab_topnav.pngbin0 -> 232 bytes
-rw-r--r--docs/RTOS2/html/tabs.css71
-rw-r--r--docs/RTOS2/html/technicalData5.html136
-rw-r--r--docs/RTOS2/html/technicalData5.js21
-rw-r--r--docs/RTOS2/html/theory_of_operation.html899
-rw-r--r--docs/RTOS2/html/validation_8txt.html129
442 files changed, 49682 insertions, 0 deletions
diff --git a/docs/RTOS2/html/API_Structure.png b/docs/RTOS2/html/API_Structure.png
new file mode 100644
index 0000000..bdf085f
--- /dev/null
+++ b/docs/RTOS2/html/API_Structure.png
Binary files differ
diff --git a/docs/RTOS2/html/CMSIS_Logo_Final.png b/docs/RTOS2/html/CMSIS_Logo_Final.png
new file mode 100644
index 0000000..2056b7e
--- /dev/null
+++ b/docs/RTOS2/html/CMSIS_Logo_Final.png
Binary files differ
diff --git a/docs/RTOS2/html/CMSIS_RTOS_Files.png b/docs/RTOS2/html/CMSIS_RTOS_Files.png
new file mode 100644
index 0000000..3264002
--- /dev/null
+++ b/docs/RTOS2/html/CMSIS_RTOS_Files.png
Binary files differ
diff --git a/docs/RTOS2/html/CodingRules.html b/docs/RTOS2/html/CodingRules.html
new file mode 100644
index 0000000..e3145b9
--- /dev/null
+++ b/docs/RTOS2/html/CodingRules.html
@@ -0,0 +1,141 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Coding Rules</title>
+<title>CMSIS-RTOS2: Coding Rules</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('CodingRules.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">Coding Rules </div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>CMSIS components use <a href="../../General/html/index.html#CodingRules"><b>general coding rules</b></a> across the various components.</p>
+<p>The CMSIS-RTOS2 API is using the following <b>Namespace</b> prefixes:</p>
+<ul>
+<li><b>os</b> for all definitions and function names.</li>
+<li><b>os</b> with postfix <b>_t</b> for all typedefs.</li>
+</ul>
+<p>The CMSIS-RTOS2 RTX v5 implementation is using the following <b>Namespace</b> prefixes for public symbol definitions:</p>
+<ul>
+<li><b>osRtx</b> for all general definitions and function names that relate to the RTX kernel.</li>
+<li><b>osRtx</b> with postfix <b>_t</b> for all typedefs.</li>
+<li><b>OS_Tick_</b> for interface functions to the hardware system tick timer.</li>
+<li><b>EvrRtx</b> for event function annotations that interface to the Event Recorder. </li>
+</ul>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/MemAllocGlob.png b/docs/RTOS2/html/MemAllocGlob.png
new file mode 100644
index 0000000..9f4a407
--- /dev/null
+++ b/docs/RTOS2/html/MemAllocGlob.png
Binary files differ
diff --git a/docs/RTOS2/html/MemAllocSpec.png b/docs/RTOS2/html/MemAllocSpec.png
new file mode 100644
index 0000000..9405d02
--- /dev/null
+++ b/docs/RTOS2/html/MemAllocSpec.png
Binary files differ
diff --git a/docs/RTOS2/html/MemAllocStat.png b/docs/RTOS2/html/MemAllocStat.png
new file mode 100644
index 0000000..a2fb3ea
--- /dev/null
+++ b/docs/RTOS2/html/MemAllocStat.png
Binary files differ
diff --git a/docs/RTOS2/html/MessageQueue.png b/docs/RTOS2/html/MessageQueue.png
new file mode 100644
index 0000000..6f013dc
--- /dev/null
+++ b/docs/RTOS2/html/MessageQueue.png
Binary files differ
diff --git a/docs/RTOS2/html/Mutex.png b/docs/RTOS2/html/Mutex.png
new file mode 100644
index 0000000..56deb26
--- /dev/null
+++ b/docs/RTOS2/html/Mutex.png
Binary files differ
diff --git a/docs/RTOS2/html/PC-Lint.png b/docs/RTOS2/html/PC-Lint.png
new file mode 100644
index 0000000..8c72a01
--- /dev/null
+++ b/docs/RTOS2/html/PC-Lint.png
Binary files differ
diff --git a/docs/RTOS2/html/RTX5_Migrate1.PNG b/docs/RTOS2/html/RTX5_Migrate1.PNG
new file mode 100644
index 0000000..c536a3e
--- /dev/null
+++ b/docs/RTOS2/html/RTX5_Migrate1.PNG
Binary files differ
diff --git a/docs/RTOS2/html/Semaphore.png b/docs/RTOS2/html/Semaphore.png
new file mode 100644
index 0000000..77718c6
--- /dev/null
+++ b/docs/RTOS2/html/Semaphore.png
Binary files differ
diff --git a/docs/RTOS2/html/ThreadStatus.png b/docs/RTOS2/html/ThreadStatus.png
new file mode 100644
index 0000000..db6d3c5
--- /dev/null
+++ b/docs/RTOS2/html/ThreadStatus.png
Binary files differ
diff --git a/docs/RTOS2/html/Timer.png b/docs/RTOS2/html/Timer.png
new file mode 100644
index 0000000..63c666b
--- /dev/null
+++ b/docs/RTOS2/html/Timer.png
Binary files differ
diff --git a/docs/RTOS2/html/TimerValues.png b/docs/RTOS2/html/TimerValues.png
new file mode 100644
index 0000000..b5db92f
--- /dev/null
+++ b/docs/RTOS2/html/TimerValues.png
Binary files differ
diff --git a/docs/RTOS2/html/add_item.png b/docs/RTOS2/html/add_item.png
new file mode 100644
index 0000000..21dd657
--- /dev/null
+++ b/docs/RTOS2/html/add_item.png
Binary files differ
diff --git a/docs/RTOS2/html/annotated.html b/docs/RTOS2/html/annotated.html
new file mode 100644
index 0000000..f5ee2ef
--- /dev/null
+++ b/docs/RTOS2/html/annotated.html
@@ -0,0 +1,173 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Data Structures</title>
+<title>CMSIS-RTOS2: Data Structures</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
+ <li><a href="classes.html"><span>Data&#160;Structure&#160;Index</span></a></li>
+ <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('annotated.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">Data Structures</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">Here are the data structures with brief descriptions:</div><div class="directory">
+<table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="group__CMSIS__RTOS__EventFlags.html#structosEventFlagsAttr__t" target="_self">osEventFlagsAttr_t</a></td><td class="desc">Attributes structure for event flags </td></tr>
+<tr id="row_1_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#structosMemoryPoolAttr__t" target="_self">osMemoryPoolAttr_t</a></td><td class="desc">Attributes structure for memory pool </td></tr>
+<tr id="row_2_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="group__CMSIS__RTOS__Message.html#structosMessageQueueAttr__t" target="_self">osMessageQueueAttr_t</a></td><td class="desc">Attributes structure for message queue </td></tr>
+<tr id="row_3_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#structosMutexAttr__t" target="_self">osMutexAttr_t</a></td><td class="desc">Attributes structure for mutex </td></tr>
+<tr id="row_4_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="rtx__os_8h.html#structosRtxConfig__t" target="_self">osRtxConfig_t</a></td><td class="desc">OS Configuration structure </td></tr>
+<tr id="row_5_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="rtx__os_8h.html#structosRtxConfig__t_8isr__queue" target="_self">osRtxConfig_t.isr_queue</a></td><td class="desc"></td></tr>
+<tr id="row_6_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="rtx__os_8h.html#structosRtxConfig__t_8mem" target="_self">osRtxConfig_t.mem</a></td><td class="desc"></td></tr>
+<tr id="row_7_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="rtx__os_8h.html#structosRtxConfig__t_8mpi" target="_self">osRtxConfig_t.mpi</a></td><td class="desc"></td></tr>
+<tr id="row_8_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="rtx__os_8h.html#structosRtxEventFlags__t" target="_self">osRtxEventFlags_t</a></td><td class="desc">Event Flags Control Block </td></tr>
+<tr id="row_9_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="rtx__os_8h.html#structosRtxInfo__t" target="_self">osRtxInfo_t</a></td><td class="desc">OS Runtime Information structure </td></tr>
+<tr id="row_10_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="rtx__os_8h.html#structosRtxInfo__t_8isr__queue" target="_self">osRtxInfo_t.isr_queue</a></td><td class="desc"></td></tr>
+<tr id="row_11_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="rtx__os_8h.html#structosRtxInfo__t_8kernel" target="_self">osRtxInfo_t.kernel</a></td><td class="desc"></td></tr>
+<tr id="row_12_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="rtx__os_8h.html#structosRtxInfo__t_8mem" target="_self">osRtxInfo_t.mem</a></td><td class="desc"></td></tr>
+<tr id="row_13_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="rtx__os_8h.html#structosRtxInfo__t_8mpi" target="_self">osRtxInfo_t.mpi</a></td><td class="desc"></td></tr>
+<tr id="row_14_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structosRtxInfo__t_8post__process.html" target="_self">osRtxInfo_t.post_process</a></td><td class="desc"></td></tr>
+<tr id="row_15_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="rtx__os_8h.html#structosRtxInfo__t_8thread" target="_self">osRtxInfo_t.thread</a></td><td class="desc"></td></tr>
+<tr id="row_16_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="rtx__os_8h.html#structosRtxInfo__t_8thread_8robin" target="_self">osRtxInfo_t.thread.robin</a></td><td class="desc"></td></tr>
+<tr id="row_17_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="rtx__os_8h.html#structosRtxInfo__t_8thread_8run" target="_self">osRtxInfo_t.thread.run</a></td><td class="desc">&lt; Thread Info </td></tr>
+<tr id="row_18_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structosRtxInfo__t_8timer.html" target="_self">osRtxInfo_t.timer</a></td><td class="desc"></td></tr>
+<tr id="row_19_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="rtx__os_8h.html#structosRtxMemoryPool__t" target="_self">osRtxMemoryPool_t</a></td><td class="desc">Memory Pool Control Block </td></tr>
+<tr id="row_20_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="rtx__os_8h.html#structosRtxMessage__t" target="_self">osRtxMessage_t</a></td><td class="desc">Message Control Block </td></tr>
+<tr id="row_21_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="rtx__os_8h.html#structosRtxMessageQueue__t" target="_self">osRtxMessageQueue_t</a></td><td class="desc">Message Queue Control Block </td></tr>
+<tr id="row_22_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="rtx__os_8h.html#structosRtxMpInfo__t" target="_self">osRtxMpInfo_t</a></td><td class="desc">Memory Pool Information </td></tr>
+<tr id="row_23_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="rtx__os_8h.html#structosRtxMutex__t" target="_self">osRtxMutex_t</a></td><td class="desc">Mutex Control Block </td></tr>
+<tr id="row_24_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="rtx__os_8h.html#structosRtxObject__t" target="_self">osRtxObject_t</a></td><td class="desc">Generic Object Control Block </td></tr>
+<tr id="row_25_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="rtx__os_8h.html#structosRtxObjectMemUsage__t" target="_self">osRtxObjectMemUsage_t</a></td><td class="desc">OS Runtime Object Memory Usage structure </td></tr>
+<tr id="row_26_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="rtx__os_8h.html#structosRtxSemaphore__t" target="_self">osRtxSemaphore_t</a></td><td class="desc">Semaphore Control Block </td></tr>
+<tr id="row_27_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="rtx__os_8h.html#structosRtxThread__t" target="_self">osRtxThread_t</a></td><td class="desc">Thread Control Block </td></tr>
+<tr id="row_28_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="rtx__os_8h.html#structosRtxTimer__t" target="_self">osRtxTimer_t</a></td><td class="desc">Timer Control Block </td></tr>
+<tr id="row_29_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="rtx__os_8h.html#structosRtxTimerFinfo__t" target="_self">osRtxTimerFinfo_t</a></td><td class="desc">Timer Function Information </td></tr>
+<tr id="row_30_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#structosSemaphoreAttr__t" target="_self">osSemaphoreAttr_t</a></td><td class="desc">Attributes structure for semaphore </td></tr>
+<tr id="row_31_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t" target="_self">osThreadAttr_t</a></td><td class="desc">Attributes structure for thread </td></tr>
+<tr id="row_32_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#structosTimerAttr__t" target="_self">osTimerAttr_t</a></td><td class="desc">Attributes structure for timer </td></tr>
+<tr id="row_33_"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#structosVersion__t" target="_self">osVersion_t</a></td><td class="desc">Version information </td></tr>
+</table>
+</div><!-- directory -->
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/annotated.js b/docs/RTOS2/html/annotated.js
new file mode 100644
index 0000000..8c91bd0
--- /dev/null
+++ b/docs/RTOS2/html/annotated.js
@@ -0,0 +1,37 @@
+var annotated =
+[
+ [ "osEventFlagsAttr_t", "group__CMSIS__RTOS__EventFlags.html#structosEventFlagsAttr__t", "group__CMSIS__RTOS__EventFlags_structosEventFlagsAttr__t" ],
+ [ "osMemoryPoolAttr_t", "group__CMSIS__RTOS__PoolMgmt.html#structosMemoryPoolAttr__t", "group__CMSIS__RTOS__PoolMgmt_structosMemoryPoolAttr__t" ],
+ [ "osMessageQueueAttr_t", "group__CMSIS__RTOS__Message.html#structosMessageQueueAttr__t", "group__CMSIS__RTOS__Message_structosMessageQueueAttr__t" ],
+ [ "osMutexAttr_t", "group__CMSIS__RTOS__MutexMgmt.html#structosMutexAttr__t", "group__CMSIS__RTOS__MutexMgmt_structosMutexAttr__t" ],
+ [ "osRtxConfig_t", "rtx__os_8h.html#structosRtxConfig__t", "rtx__os_8h_structosRtxConfig__t" ],
+ [ "osRtxConfig_t.isr_queue", "rtx__os_8h.html#structosRtxConfig__t_8isr__queue", "rtx__os_8h_structosRtxConfig__t_8isr__queue" ],
+ [ "osRtxConfig_t.mem", "rtx__os_8h.html#structosRtxConfig__t_8mem", "rtx__os_8h_structosRtxConfig__t_8mem" ],
+ [ "osRtxConfig_t.mpi", "rtx__os_8h.html#structosRtxConfig__t_8mpi", "rtx__os_8h_structosRtxConfig__t_8mpi" ],
+ [ "osRtxEventFlags_t", "rtx__os_8h.html#structosRtxEventFlags__t", "rtx__os_8h_structosRtxEventFlags__t" ],
+ [ "osRtxInfo_t", "rtx__os_8h.html#structosRtxInfo__t", "rtx__os_8h_structosRtxInfo__t" ],
+ [ "osRtxInfo_t.isr_queue", "rtx__os_8h.html#structosRtxInfo__t_8isr__queue", "rtx__os_8h_structosRtxInfo__t_8isr__queue" ],
+ [ "osRtxInfo_t.kernel", "rtx__os_8h.html#structosRtxInfo__t_8kernel", "rtx__os_8h_structosRtxInfo__t_8kernel" ],
+ [ "osRtxInfo_t.mem", "rtx__os_8h.html#structosRtxInfo__t_8mem", "rtx__os_8h_structosRtxInfo__t_8mem" ],
+ [ "osRtxInfo_t.mpi", "rtx__os_8h.html#structosRtxInfo__t_8mpi", "rtx__os_8h_structosRtxInfo__t_8mpi" ],
+ [ "osRtxInfo_t.post_process", "structosRtxInfo__t_8post__process.html", "structosRtxInfo__t_8post__process" ],
+ [ "osRtxInfo_t.thread", "rtx__os_8h.html#structosRtxInfo__t_8thread", "rtx__os_8h_structosRtxInfo__t_8thread" ],
+ [ "osRtxInfo_t.thread.robin", "rtx__os_8h.html#structosRtxInfo__t_8thread_8robin", "rtx__os_8h_structosRtxInfo__t_8thread_8robin" ],
+ [ "osRtxInfo_t.thread.run", "rtx__os_8h.html#structosRtxInfo__t_8thread_8run", "rtx__os_8h_structosRtxInfo__t_8thread_8run" ],
+ [ "osRtxInfo_t.timer", "structosRtxInfo__t_8timer.html", "structosRtxInfo__t_8timer" ],
+ [ "osRtxMemoryPool_t", "rtx__os_8h.html#structosRtxMemoryPool__t", "rtx__os_8h_structosRtxMemoryPool__t" ],
+ [ "osRtxMessage_t", "rtx__os_8h.html#structosRtxMessage__t", "rtx__os_8h_structosRtxMessage__t" ],
+ [ "osRtxMessageQueue_t", "rtx__os_8h.html#structosRtxMessageQueue__t", "rtx__os_8h_structosRtxMessageQueue__t" ],
+ [ "osRtxMpInfo_t", "rtx__os_8h.html#structosRtxMpInfo__t", "rtx__os_8h_structosRtxMpInfo__t" ],
+ [ "osRtxMutex_t", "rtx__os_8h.html#structosRtxMutex__t", "rtx__os_8h_structosRtxMutex__t" ],
+ [ "osRtxObject_t", "rtx__os_8h.html#structosRtxObject__t", "rtx__os_8h_structosRtxObject__t" ],
+ [ "osRtxObjectMemUsage_t", "rtx__os_8h.html#structosRtxObjectMemUsage__t", "rtx__os_8h_structosRtxObjectMemUsage__t" ],
+ [ "osRtxSemaphore_t", "rtx__os_8h.html#structosRtxSemaphore__t", "rtx__os_8h_structosRtxSemaphore__t" ],
+ [ "osRtxThread_t", "rtx__os_8h.html#structosRtxThread__t", "rtx__os_8h_structosRtxThread__t" ],
+ [ "osRtxTimer_t", "rtx__os_8h.html#structosRtxTimer__t", "rtx__os_8h_structosRtxTimer__t" ],
+ [ "osRtxTimerFinfo_t", "rtx__os_8h.html#structosRtxTimerFinfo__t", "rtx__os_8h_structosRtxTimerFinfo__t" ],
+ [ "osSemaphoreAttr_t", "group__CMSIS__RTOS__SemaphoreMgmt.html#structosSemaphoreAttr__t", "group__CMSIS__RTOS__SemaphoreMgmt_structosSemaphoreAttr__t" ],
+ [ "osThreadAttr_t", "group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t", "group__CMSIS__RTOS__ThreadMgmt_structosThreadAttr__t" ],
+ [ "osTimerAttr_t", "group__CMSIS__RTOS__TimerMgmt.html#structosTimerAttr__t", "group__CMSIS__RTOS__TimerMgmt_structosTimerAttr__t" ],
+ [ "osVersion_t", "group__CMSIS__RTOS__KernelCtrl.html#structosVersion__t", "group__CMSIS__RTOS__KernelCtrl_structosVersion__t" ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/bc_s.png b/docs/RTOS2/html/bc_s.png
new file mode 100644
index 0000000..575d4fa
--- /dev/null
+++ b/docs/RTOS2/html/bc_s.png
Binary files differ
diff --git a/docs/RTOS2/html/bdwn.png b/docs/RTOS2/html/bdwn.png
new file mode 100644
index 0000000..d107aa3
--- /dev/null
+++ b/docs/RTOS2/html/bdwn.png
Binary files differ
diff --git a/docs/RTOS2/html/classes.html b/docs/RTOS2/html/classes.html
new file mode 100644
index 0000000..203e81c
--- /dev/null
+++ b/docs/RTOS2/html/classes.html
@@ -0,0 +1,149 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Data Structure Index</title>
+<title>CMSIS-RTOS2: Data Structure Index</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
+ <li class="current"><a href="classes.html"><span>Data&#160;Structure&#160;Index</span></a></li>
+ <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('classes.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">Data Structure Index</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="qindex"><a class="qindex" href="#letter_O">O</a></div>
+<table style="margin: 10px; white-space: nowrap;" align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
+<tr><td rowspan="2" valign="bottom"><a name="letter_o"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;o&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="rtx__os_8h.html#structosRtxConfig__t_8mem">osRtxConfig_t.mem</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structosRtxInfo__t_8post__process.html">osRtxInfo_t.post_process</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#structosSemaphoreAttr__t">osSemaphoreAttr_t</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="rtx__os_8h.html#structosRtxConfig__t_8mpi">osRtxConfig_t.mpi</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="rtx__os_8h.html#structosRtxInfo__t_8thread">osRtxInfo_t.thread</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="rtx__os_8h.html#structosRtxMutex__t">osRtxMutex_t</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t">osThreadAttr_t</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#structosEventFlagsAttr__t">osEventFlagsAttr_t</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="rtx__os_8h.html#structosRtxEventFlags__t">osRtxEventFlags_t</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="rtx__os_8h.html#structosRtxInfo__t_8thread_8robin">osRtxInfo_t.thread.robin</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="rtx__os_8h.html#structosRtxObject__t">osRtxObject_t</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#structosTimerAttr__t">osTimerAttr_t</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#structosMemoryPoolAttr__t">osMemoryPoolAttr_t</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="rtx__os_8h.html#structosRtxInfo__t">osRtxInfo_t</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="rtx__os_8h.html#structosRtxInfo__t_8thread_8run">osRtxInfo_t.thread.run</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="rtx__os_8h.html#structosRtxObjectMemUsage__t">osRtxObjectMemUsage_t</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#structosVersion__t">osVersion_t</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="group__CMSIS__RTOS__Message.html#structosMessageQueueAttr__t">osMessageQueueAttr_t</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="rtx__os_8h.html#structosRtxInfo__t_8isr__queue">osRtxInfo_t.isr_queue</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structosRtxInfo__t_8timer.html">osRtxInfo_t.timer</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="rtx__os_8h.html#structosRtxSemaphore__t">osRtxSemaphore_t</a>&#160;&#160;&#160;</td><td></td></tr>
+<tr><td valign="top"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#structosMutexAttr__t">osMutexAttr_t</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="rtx__os_8h.html#structosRtxInfo__t_8kernel">osRtxInfo_t.kernel</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="rtx__os_8h.html#structosRtxMemoryPool__t">osRtxMemoryPool_t</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a>&#160;&#160;&#160;</td><td></td></tr>
+<tr><td valign="top"><a class="el" href="rtx__os_8h.html#structosRtxConfig__t">osRtxConfig_t</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="rtx__os_8h.html#structosRtxInfo__t_8mem">osRtxInfo_t.mem</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="rtx__os_8h.html#structosRtxMessage__t">osRtxMessage_t</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="rtx__os_8h.html#structosRtxTimer__t">osRtxTimer_t</a>&#160;&#160;&#160;</td><td></td></tr>
+<tr><td valign="top"><a class="el" href="rtx__os_8h.html#structosRtxConfig__t_8isr__queue">osRtxConfig_t.isr_queue</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="rtx__os_8h.html#structosRtxInfo__t_8mpi">osRtxInfo_t.mpi</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="rtx__os_8h.html#structosRtxMessageQueue__t">osRtxMessageQueue_t</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="rtx__os_8h.html#structosRtxTimerFinfo__t">osRtxTimerFinfo_t</a>&#160;&#160;&#160;</td><td></td></tr>
+<tr><td></td><td></td><td></td><td></td><td></td></tr>
+</table>
+<div class="qindex"><a class="qindex" href="#letter_O">O</a></div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/closed.png b/docs/RTOS2/html/closed.png
new file mode 100644
index 0000000..1ae92ff
--- /dev/null
+++ b/docs/RTOS2/html/closed.png
Binary files differ
diff --git a/docs/RTOS2/html/cmsis.css b/docs/RTOS2/html/cmsis.css
new file mode 100644
index 0000000..bba1010
--- /dev/null
+++ b/docs/RTOS2/html/cmsis.css
@@ -0,0 +1,1282 @@
+/* The standard CSS for doxygen */
+
+body, table, div, p, dl {
+ font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
+ font-size: 13px;
+ line-height: 1.3;
+}
+
+/* CMSIS styles */
+
+.style1 {
+ text-align: center;
+}
+.style2 {
+ color: #0000FF;
+ font-weight: normal;
+}
+.style3 {
+ text-align: left;
+}
+.style4 {
+ color: #008000;
+}
+.style5 {
+ color: #0000FF;
+}
+.style6 {
+ color: #000000;
+ font-style:italic;
+}
+.mand {
+ color: #0000FF;
+}
+.opt {
+ color: #008000;
+}
+.cond {
+ color: #990000;
+}
+
+.choice
+{
+ background-color:#F7F9D0;
+}
+.seq
+{
+ background-color:#C9DECB;
+}
+.group1
+{
+ background-color:#F8F1F1;
+}
+.group2
+{
+ background-color:#DCEDEA;
+}
+
+
+ul ul {
+ list-style-type: disc;
+}
+
+ul ul ul {
+ list-style-type: disc;
+}
+
+ul.hierarchy {
+ color: green;
+}
+
+em {
+ color: #000000;
+ font-style:italic;
+}
+
+
+
+/* CMSIS Tables */
+table.cmtab1 {
+ padding: 4px;
+ border-collapse: collapse;
+ border: 1px solid #A3B4D7;
+ text-align: justify;
+ width:70%;
+}
+
+th.cmtab1 {
+ background: #EBEFF6;
+ font-weight: bold;
+ height: 28px;
+}
+
+td.cmtab1 {
+ padding:1px;
+ text-align: left;
+}
+
+table.cmtable {
+ border-collapse:collapse;
+ text-align: justify;
+}
+
+table.cmtable td, table.cmtable th {
+ border: 1px solid #2D4068;
+ padding: 3px 7px 2px;
+}
+
+table.cmtable th {
+ background-color: #EBEFF6;
+ font-size: 110%;
+ padding-bottom: 4px;
+ padding-top: 5px;
+ text-align:left;
+}
+
+td.MonoTxt {
+ font-family:"Arial monospaced for SAP";
+}
+
+td.XML-Token
+{
+ azimuth: 180;
+ font-style:italic;
+ color:Maroon;
+ z-index:20;
+
+}
+
+span.XML-Token
+{
+ azimuth: 180;
+ font-style:italic;
+ color:Maroon;
+ z-index:20;
+
+}
+
+span.h2
+{
+ font-size: 120%;
+ font-weight: bold;
+}
+
+div.new
+{
+ background-color:#ccffcc; /* light green */
+}
+
+div.mod
+{
+ background-color:#ffe6cc; /* light amber */
+}
+
+div.del
+{
+ background-color:#ffcccc; /* light red */
+}
+
+/* @group Heading Levels */
+
+h1 {
+ font-size: 150%;
+}
+
+.title {
+ font-size: 150%;
+ font-weight: bold;
+ margin: 10px 2px;
+}
+
+h2 {
+ font-size: 120%;
+}
+
+h3 {
+ font-size: 100%;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ -webkit-transition: text-shadow 0.5s linear;
+ -moz-transition: text-shadow 0.5s linear;
+ -ms-transition: text-shadow 0.5s linear;
+ -o-transition: text-shadow 0.5s linear;
+ transition: text-shadow 0.5s linear;
+ margin-right: 15px;
+}
+
+h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {
+ text-shadow: 0 0 15px cyan;
+}
+
+dt {
+ font-weight: bold;
+}
+
+div.multicol {
+ -moz-column-gap: 1em;
+ -webkit-column-gap: 1em;
+ -moz-column-count: 3;
+ -webkit-column-count: 3;
+}
+
+p.startli, p.startdd, p.starttd {
+ margin-top: 2px;
+}
+
+p.endli {
+ margin-bottom: 0px;
+}
+
+p.enddd {
+ margin-bottom: 4px;
+}
+
+p.endtd {
+ margin-bottom: 2px;
+}
+
+/* @end */
+
+caption {
+ font-weight: bold;
+}
+
+span.legend {
+ font-size: 70%;
+ text-align: center;
+}
+
+h3.version {
+ font-size: 90%;
+ text-align: center;
+}
+
+div.qindex, div.navtab{
+ background-color: #EBEFF6;
+ border: 1px solid #A2B4D8;
+ text-align: center;
+}
+
+div.qindex, div.navpath {
+ width: 100%;
+ line-height: 140%;
+}
+
+div.navtab {
+ margin-right: 15px;
+}
+
+/* @group Link Styling */
+
+a {
+ color: #3A568E;
+ font-weight: normal;
+ text-decoration: none;
+}
+
+.contents a:visited {
+ color: #4464A5;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+a.qindex {
+ font-weight: bold;
+}
+
+a.qindexHL {
+ font-weight: bold;
+ background-color: #9AAED5;
+ color: #ffffff;
+ border: 1px double #849CCC;
+}
+
+.contents a.qindexHL:visited {
+ color: #ffffff;
+}
+
+a.el {
+ font-weight: bold;
+}
+
+a.elRef {
+}
+
+a.code, a.code:visited {
+ color: #4665A2;
+}
+
+a.codeRef, a.codeRef:visited {
+ color: #4665A2;
+}
+
+/* @end */
+
+dl.el {
+ margin-left: -1cm;
+}
+
+pre.fragment {
+ border: 1px solid #C4CFE5;
+ background-color: #FBFCFD;
+ padding: 4px 6px;
+ margin: 4px 8px 4px 2px;
+ overflow: auto;
+ word-wrap: break-word;
+ font-size: 9pt;
+ line-height: 125%;
+ font-family: monospace, fixed;
+ font-size: 105%;
+}
+
+div.fragment {
+ padding: 4px;
+ margin: 4px;
+ background-color: #FBFCFD;
+ border: 1px solid #C3CFE6;
+}
+
+div.line {
+ font-family: monospace, fixed;
+ font-size: 13px;
+ line-height: 1.0;
+ text-wrap: unrestricted;
+ white-space: -moz-pre-wrap; /* Moz */
+ white-space: -pre-wrap; /* Opera 4-6 */
+ white-space: -o-pre-wrap; /* Opera 7 */
+ white-space: pre-wrap; /* CSS3 */
+ word-wrap: break-word; /* IE 5.5+ */
+ text-indent: -53px;
+ padding-left: 53px;
+ padding-bottom: 0px;
+ margin: 0px;
+}
+
+span.lineno {
+ padding-right: 4px;
+ text-align: right;
+ border-right: 2px solid #0F0;
+ background-color: #E8E8E8;
+ white-space: pre;
+}
+span.lineno a {
+ background-color: #D8D8D8;
+}
+
+span.lineno a:hover {
+ background-color: #C8C8C8;
+}
+
+div.ah {
+ background-color: black;
+ font-weight: bold;
+ color: #ffffff;
+ margin-bottom: 3px;
+ margin-top: 3px;
+ padding: 0.2em;
+ border: solid thin #333;
+ border-radius: 0.5em;
+ -webkit-border-radius: .5em;
+ -moz-border-radius: .5em;
+ box-shadow: 2px 2px 3px #999;
+ -webkit-box-shadow: 2px 2px 3px #999;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
+ background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000);
+}
+
+div.groupHeader {
+ margin-left: 16px;
+ margin-top: 12px;
+ font-weight: bold;
+}
+
+div.groupText {
+ margin-left: 16px;
+ font-style: italic;
+}
+
+body {
+ background-color: white;
+ color: black;
+ margin: 0;
+}
+
+div.contents {
+ margin-top: 10px;
+ margin-left: 12px;
+ margin-right: 8px;
+}
+
+td.indexkey {
+ background-color: #EBEFF6;
+ font-weight: bold;
+ border: 1px solid #C3CFE6;
+ margin: 2px 0px 2px 0;
+ padding: 2px 10px;
+ white-space: nowrap;
+ vertical-align: top;
+}
+
+td.indexvalue {
+ background-color: #EBEFF6;
+ border: 1px solid #C3CFE6;
+ padding: 2px 10px;
+ margin: 2px 0px;
+}
+
+tr.memlist {
+ background-color: #EDF1F7;
+}
+
+p.formulaDsp {
+ text-align: center;
+}
+
+img.formulaDsp {
+
+}
+
+img.formulaInl {
+ vertical-align: middle;
+}
+
+div.center {
+ text-align: center;
+ margin-top: 0px;
+ margin-bottom: 0px;
+ padding: 0px;
+}
+
+div.center img {
+ border: 0px;
+}
+
+address.footer {
+ text-align: right;
+ padding-right: 12px;
+}
+
+img.footer {
+ border: 0px;
+ vertical-align: middle;
+}
+
+/* @group Code Colorization */
+
+span.keyword {
+ color: #008000
+}
+
+span.keywordtype {
+ color: #604020
+}
+
+span.keywordflow {
+ color: #e08000
+}
+
+span.comment {
+ color: #800000
+}
+
+span.preprocessor {
+ color: #806020
+}
+
+span.stringliteral {
+ color: #002080
+}
+
+span.charliteral {
+ color: #008080
+}
+
+span.vhdldigit {
+ color: #ff00ff
+}
+
+span.vhdlchar {
+ color: #000000
+}
+
+span.vhdlkeyword {
+ color: #700070
+}
+
+span.vhdllogic {
+ color: #ff0000
+}
+
+blockquote {
+ background-color: #F7F8FB;
+ border-left: 2px solid #9AAED5;
+ margin: 0 24px 0 4px;
+ padding: 0 12px 0 16px;
+}
+
+/* @end */
+
+/*
+.search {
+ color: #003399;
+ font-weight: bold;
+}
+
+form.search {
+ margin-bottom: 0px;
+ margin-top: 0px;
+}
+
+input.search {
+ font-size: 75%;
+ color: #000080;
+ font-weight: normal;
+ background-color: #e8eef2;
+}
+*/
+
+td.tiny {
+ font-size: 75%;
+}
+
+.dirtab {
+ padding: 4px;
+ border-collapse: collapse;
+ border: 1px solid #A2B4D8;
+}
+
+th.dirtab {
+ background: #EBEFF6;
+ font-weight: bold;
+}
+
+hr {
+ height: 0px;
+ border: none;
+ border-top: 1px solid #4769AD;
+}
+
+hr.footer {
+ height: 1px;
+}
+
+/* @group Member Descriptions */
+
+table.memberdecls {
+ border-spacing: 0px;
+ padding: 0px;
+}
+
+.memberdecls td {
+ -webkit-transition-property: background-color, box-shadow;
+ -webkit-transition-duration: 0.5s;
+ -moz-transition-property: background-color, box-shadow;
+ -moz-transition-duration: 0.5s;
+ -ms-transition-property: background-color, box-shadow;
+ -ms-transition-duration: 0.5s;
+ -o-transition-property: background-color, box-shadow;
+ -o-transition-duration: 0.5s;
+ transition-property: background-color, box-shadow;
+ transition-duration: 0.5s;
+}
+
+.memberdecls td.glow {
+ background-color: cyan;
+ box-shadow: 0 0 15px cyan;
+}
+
+.mdescLeft, .mdescRight,
+.memItemLeft, .memItemRight,
+.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
+ background-color: #F9FAFC;
+ border: none;
+ margin: 4px;
+ padding: 1px 0 0 8px;
+}
+
+.mdescLeft, .mdescRight {
+ padding: 0px 8px 4px 8px;
+ color: #555;
+}
+
+.memItemLeft, .memItemRight, .memTemplParams {
+ border-top: 1px solid #C3CFE6;
+}
+
+.memItemLeft, .memTemplItemLeft {
+ white-space: nowrap;
+}
+
+.memItemRight {
+ width: 100%;
+}
+
+.memTemplParams {
+ color: #4464A5;
+ white-space: nowrap;
+}
+
+/* @end */
+
+/* @group Member Details */
+
+/* Styles for detailed member documentation */
+
+.memtemplate {
+ font-size: 80%;
+ color: #4464A5;
+ font-weight: normal;
+ margin-left: 9px;
+}
+
+.memnav {
+ background-color: #EBEFF6;
+ border: 1px solid #A2B4D8;
+ text-align: center;
+ margin: 2px;
+ margin-right: 15px;
+ padding: 2px;
+}
+
+.mempage {
+ width: 100%;
+}
+
+.memitem {
+ padding: 0;
+ margin-bottom: 10px;
+ margin-right: 5px;
+ -webkit-transition: box-shadow 0.5s linear;
+ -moz-transition: box-shadow 0.5s linear;
+ -ms-transition: box-shadow 0.5s linear;
+ -o-transition: box-shadow 0.5s linear;
+ transition: box-shadow 0.5s linear;
+}
+
+.memitem.glow {
+ box-shadow: 0 0 15px cyan;
+}
+
+.memname {
+ font-weight: bold;
+ margin-left: 6px;
+}
+
+.memname td {
+ vertical-align: bottom;
+}
+
+.memproto, dl.reflist dt {
+ border-top: 1px solid #A7B8DA;
+ border-left: 1px solid #A7B8DA;
+ border-right: 1px solid #A7B8DA;
+ padding: 6px 0px 6px 0px;
+ color: #233456;
+ font-weight: bold;
+ text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+ background-image:url('nav_f.png');
+ background-repeat:repeat-x;
+ background-color: #E2E7F3;
+ /* opera specific markup */
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ border-top-right-radius: 4px;
+ border-top-left-radius: 4px;
+ /* firefox specific markup */
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+ -moz-border-radius-topright: 4px;
+ -moz-border-radius-topleft: 4px;
+ /* webkit specific markup */
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ -webkit-border-top-right-radius: 4px;
+ -webkit-border-top-left-radius: 4px;
+
+}
+
+.memdoc, dl.reflist dd {
+ border-bottom: 1px solid #A7B8DA;
+ border-left: 1px solid #A7B8DA;
+ border-right: 1px solid #A7B8DA;
+ padding: 6px 10px 2px 10px;
+ background-color: #FBFCFD;
+ border-top-width: 0;
+ background-image:url('nav_g.png');
+ background-repeat:repeat-x;
+ background-color: #FFFFFF;
+ /* opera specific markup */
+ border-bottom-left-radius: 4px;
+ border-bottom-right-radius: 4px;
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ /* firefox specific markup */
+ -moz-border-radius-bottomleft: 4px;
+ -moz-border-radius-bottomright: 4px;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+ /* webkit specific markup */
+ -webkit-border-bottom-left-radius: 4px;
+ -webkit-border-bottom-right-radius: 4px;
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+}
+
+dl.reflist dt {
+ padding: 5px;
+}
+
+dl.reflist dd {
+ margin: 0px 0px 10px 0px;
+ padding: 5px;
+}
+
+.paramkey {
+ text-align: right;
+}
+
+.paramtype {
+ white-space: nowrap;
+}
+
+.paramname {
+ color: #602020;
+ white-space: nowrap;
+}
+.paramname em {
+ font-style: normal;
+}
+
+.params, .retval, .exception, .tparams {
+ margin-left: 0px;
+ padding-left: 0px;
+}
+
+.params .paramname, .retval .paramname {
+ font-weight: bold;
+ vertical-align: top;
+}
+
+.params .paramtype {
+ font-style: italic;
+ vertical-align: top;
+}
+
+.params .paramdir {
+ font-family: "courier new",courier,monospace;
+ vertical-align: top;
+}
+
+table.mlabels {
+ border-spacing: 0px;
+}
+
+td.mlabels-left {
+ width: 100%;
+ padding: 0px;
+}
+
+td.mlabels-right {
+ vertical-align: bottom;
+ padding: 0px;
+ white-space: nowrap;
+}
+
+span.mlabels {
+ margin-left: 8px;
+}
+
+span.mlabel {
+ background-color: #708CC4;
+ border-top:1px solid #5072B7;
+ border-left:1px solid #5072B7;
+ border-right:1px solid #C3CFE6;
+ border-bottom:1px solid #C3CFE6;
+ text-shadow: none;
+ color: white;
+ margin-right: 4px;
+ padding: 2px 3px;
+ border-radius: 3px;
+ font-size: 7pt;
+ white-space: nowrap;
+}
+
+
+
+/* @end */
+
+/* these are for tree view when not used as main index */
+
+div.directory {
+ margin: 10px 0px;
+ border-top: 1px solid #A8B8D9;
+ border-bottom: 1px solid #A8B8D9;
+ width: 100%;
+}
+
+.directory table {
+ border-collapse:collapse;
+}
+
+.directory td {
+ margin: 0px;
+ padding: 0px;
+ vertical-align: top;
+}
+
+.directory td.entry {
+ white-space: nowrap;
+ padding-right: 6px;
+}
+
+.directory td.entry a {
+ outline:none;
+}
+
+.directory td.desc {
+ width: 100%;
+ padding-left: 6px;
+ padding-right: 6px;
+ border-left: 1px solid rgba(0,0,0,0.05);
+}
+
+.directory tr.even {
+ padding-left: 6px;
+ background-color: #F7F8FB;
+}
+
+.directory img {
+ vertical-align: -30%;
+}
+
+.directory .levels {
+ white-space: nowrap;
+ width: 100%;
+ text-align: right;
+ font-size: 9pt;
+}
+
+.directory .levels span {
+ cursor: pointer;
+ padding-left: 2px;
+ padding-right: 2px;
+ color: #3A568E;
+}
+
+div.dynheader {
+ margin-top: 8px;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+address {
+ font-style: normal;
+ color: #293C63;
+}
+
+table.doxtable {
+ border-collapse:collapse;
+ margin-top: 4px;
+ margin-bottom: 4px;
+}
+
+table.doxtable td, table.doxtable th {
+ border: 1px solid #2B4069;
+ padding: 3px 7px 2px;
+}
+
+table.doxtable th {
+ background-color: #EBEFF6;
+ color: #000000;
+ font-size: 110%;
+ padding-bottom: 4px;
+ padding-top: 5px;
+}
+
+table.fieldtable {
+ width: 100%;
+ margin-bottom: 10px;
+ border: 1px solid #A7B8DA;
+ border-spacing: 0px;
+ -moz-border-radius: 4px;
+ -webkit-border-radius: 4px;
+ border-radius: 4px;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+ -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
+ box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
+}
+
+.fieldtable td, .fieldtable th {
+ padding: 3px 7px 2px;
+}
+
+.fieldtable td.fieldtype, .fieldtable td.fieldname {
+ white-space: nowrap;
+ border-right: 1px solid #A7B8DA;
+ border-bottom: 1px solid #A7B8DA;
+ vertical-align: top;
+}
+
+.fieldtable td.fielddoc {
+ border-bottom: 1px solid #A7B8DA;
+ width: 100%;
+}
+
+.fieldtable tr:last-child td {
+ border-bottom: none;
+}
+
+.fieldtable th {
+ background-image:url('nav_f.png');
+ background-repeat:repeat-x;
+ background-color: #E2E7F3;
+ font-size: 90%;
+ color: #233456;
+ padding-bottom: 4px;
+ padding-top: 5px;
+ text-align:left;
+ -moz-border-radius-topleft: 4px;
+ -moz-border-radius-topright: 4px;
+ -webkit-border-top-left-radius: 4px;
+ -webkit-border-top-right-radius: 4px;
+ border-top-left-radius: 4px;
+ border-top-right-radius: 4px;
+ border-bottom: 1px solid #A7B8DA;
+}
+
+
+.tabsearch {
+ top: 0px;
+ left: 10px;
+ height: 36px;
+ background-image: url('tab_b.png');
+ z-index: 101;
+ overflow: hidden;
+ font-size: 13px;
+}
+
+.navpath ul
+{
+ font-size: 11px;
+ background-image:url('tab_b.png');
+ background-repeat:repeat-x;
+ height:30px;
+ line-height:30px;
+ color:#889FCE;
+ border:solid 1px #C1CDE5;
+ overflow:hidden;
+ margin:0px;
+ padding:0px;
+}
+
+.navpath li
+{
+ list-style-type:none;
+ float:left;
+ padding-left:10px;
+ padding-right:15px;
+ background-image:url('bc_s.png');
+ background-repeat:no-repeat;
+ background-position:right;
+ color:#344D7E;
+}
+
+.navpath li.navelem a
+{
+ height:32px;
+ display:block;
+ text-decoration: none;
+ outline: none;
+}
+
+.navpath li.navelem a:hover
+{
+ color:#6583BF;
+}
+
+.navpath li.footer
+{
+ list-style-type:none;
+ float:right;
+ padding-left:10px;
+ padding-right:15px;
+ background-image:none;
+ background-repeat:no-repeat;
+ background-position:right;
+ color:#344D7E;
+ font-size: 8pt;
+}
+
+
+div.summary
+{
+ float: right;
+ font-size: 8pt;
+ padding-right: 5px;
+ width: 50%;
+ text-align: right;
+}
+
+div.summary a
+{
+ white-space: nowrap;
+}
+
+div.ingroups
+{
+ margin-left: 5px;
+ font-size: 8pt;
+ padding-left: 5px;
+ width: 50%;
+ text-align: left;
+}
+
+div.ingroups a
+{
+ white-space: nowrap;
+}
+
+div.header
+{
+ background-image:url('nav_h.png');
+ background-repeat:repeat-x;
+ background-color: #F9FAFC;
+ margin: 0px;
+ border-bottom: 1px solid #C3CFE6;
+}
+
+div.headertitle
+{
+ padding: 5px 5px 5px 7px;
+}
+
+dl
+{
+ padding: 0 0 0 10px;
+}
+
+/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */
+dl.section
+{
+ margin-left: 0px;
+ padding-left: 0px;
+}
+
+dl.note
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #D0C000;
+}
+
+dl.warning, dl.attention
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #FF0000;
+}
+
+dl.pre, dl.post, dl.invariant
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #00D000;
+}
+
+dl.deprecated
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #505050;
+}
+
+dl.todo
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #00C0E0;
+}
+
+dl.test
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #3030E0;
+}
+
+dl.bug
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #C08050;
+}
+
+dl.section dd {
+ margin-bottom: 6px;
+}
+
+
+#projectlogo
+{
+ text-align: center;
+ vertical-align: bottom;
+ border-collapse: separate;
+}
+
+#projectlogo img
+{
+ border: 0px none;
+}
+
+#projectname
+{
+ font: 300% Tahoma, Arial,sans-serif;
+ margin: 0px;
+ padding: 2px 0px;
+}
+
+#projectbrief
+{
+ font: 120% Tahoma, Arial,sans-serif;
+ margin: 0px;
+ padding: 0px;
+}
+
+#projectnumber
+{
+ font: 50% Tahoma, Arial,sans-serif;
+ margin: 0px;
+ padding: 0px;
+}
+
+#titlearea
+{
+ padding: 0px;
+ margin: 0px;
+ width: 100%;
+ border-bottom: 1px solid #5072B7;
+}
+
+.image
+{
+ text-align: center;
+}
+
+.dotgraph
+{
+ text-align: center;
+}
+
+.mscgraph
+{
+ text-align: center;
+}
+
+.caption
+{
+ font-weight: bold;
+}
+
+div.zoom
+{
+ border: 1px solid #8EA4D0;
+}
+
+dl.citelist {
+ margin-bottom:50px;
+}
+
+dl.citelist dt {
+ color:#314877;
+ float:left;
+ font-weight:bold;
+ margin-right:10px;
+ padding:5px;
+}
+
+dl.citelist dd {
+ margin:2px 0;
+ padding:5px 0;
+}
+
+div.toc {
+ padding: 14px 25px;
+ background-color: #F4F6FA;
+ border: 1px solid #D7DFEE;
+ border-radius: 7px 7px 7px 7px;
+ float: right;
+ height: auto;
+ margin: 0 20px 10px 10px;
+ width: 200px;
+}
+
+div.toc li {
+ background: url("bdwn.png") no-repeat scroll 0 5px transparent;
+ font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif;
+ margin-top: 5px;
+ padding-left: 10px;
+ padding-top: 2px;
+}
+
+div.toc h3 {
+ font: bold 12px/1.2 Arial,FreeSans,sans-serif;
+ color: #4464A5;
+ border-bottom: 0 none;
+ margin: 0;
+}
+
+div.toc ul {
+ list-style: none outside none;
+ border: medium none;
+ padding: 0px;
+}
+
+div.toc li.level1 {
+ margin-left: 0px;
+}
+
+div.toc li.level2 {
+ margin-left: 15px;
+}
+
+div.toc li.level3 {
+ margin-left: 30px;
+}
+
+div.toc li.level4 {
+ margin-left: 45px;
+}
+
+.inherit_header {
+ font-weight: bold;
+ color: gray;
+ cursor: pointer;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+.inherit_header td {
+ padding: 6px 0px 2px 5px;
+}
+
+.inherit {
+ display: none;
+}
+
+tr.heading h2 {
+ margin-top: 12px;
+ margin-bottom: 4px;
+}
+
+@media print
+{
+ #top { display: none; }
+ #side-nav { display: none; }
+ #nav-path { display: none; }
+ body { overflow:visible; }
+ h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
+ .summary { display: none; }
+ .memitem { page-break-inside: avoid; }
+ #doc-content
+ {
+ margin-left:0 !important;
+ height:auto !important;
+ width:auto !important;
+ overflow:inherit;
+ display:inline;
+ }
+}
+
diff --git a/docs/RTOS2/html/cmsis__os2_8h.html b/docs/RTOS2/html/cmsis__os2_8h.html
new file mode 100644
index 0000000..10f6a66
--- /dev/null
+++ b/docs/RTOS2/html/cmsis__os2_8h.html
@@ -0,0 +1,724 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>cmsis_os2.h File Reference</title>
+<title>CMSIS-RTOS2: cmsis_os2.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('cmsis__os2_8h.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#define-members">Macros</a> &#124;
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#enum-members">Enumerations</a> &#124;
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">cmsis_os2.h File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Structures</h2></td></tr>
+<tr class="memitem:structosVersion__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#structosVersion__t">osVersion_t</a></td></tr>
+<tr class="memdesc:structosVersion__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Version information. <a href="group__CMSIS__RTOS__KernelCtrl.html#structosVersion__t">More...</a><br/></td></tr>
+<tr class="separator:structosVersion__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:structosThreadAttr__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t">osThreadAttr_t</a></td></tr>
+<tr class="memdesc:structosThreadAttr__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attributes structure for thread. <a href="group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t">More...</a><br/></td></tr>
+<tr class="separator:structosThreadAttr__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:structosTimerAttr__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#structosTimerAttr__t">osTimerAttr_t</a></td></tr>
+<tr class="memdesc:structosTimerAttr__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attributes structure for timer. <a href="group__CMSIS__RTOS__TimerMgmt.html#structosTimerAttr__t">More...</a><br/></td></tr>
+<tr class="separator:structosTimerAttr__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:structosEventFlagsAttr__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#structosEventFlagsAttr__t">osEventFlagsAttr_t</a></td></tr>
+<tr class="memdesc:structosEventFlagsAttr__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attributes structure for event flags. <a href="group__CMSIS__RTOS__EventFlags.html#structosEventFlagsAttr__t">More...</a><br/></td></tr>
+<tr class="separator:structosEventFlagsAttr__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:structosMutexAttr__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#structosMutexAttr__t">osMutexAttr_t</a></td></tr>
+<tr class="memdesc:structosMutexAttr__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attributes structure for mutex. <a href="group__CMSIS__RTOS__MutexMgmt.html#structosMutexAttr__t">More...</a><br/></td></tr>
+<tr class="separator:structosMutexAttr__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:structosSemaphoreAttr__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#structosSemaphoreAttr__t">osSemaphoreAttr_t</a></td></tr>
+<tr class="memdesc:structosSemaphoreAttr__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attributes structure for semaphore. <a href="group__CMSIS__RTOS__SemaphoreMgmt.html#structosSemaphoreAttr__t">More...</a><br/></td></tr>
+<tr class="separator:structosSemaphoreAttr__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:structosMemoryPoolAttr__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#structosMemoryPoolAttr__t">osMemoryPoolAttr_t</a></td></tr>
+<tr class="memdesc:structosMemoryPoolAttr__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attributes structure for memory pool. <a href="group__CMSIS__RTOS__PoolMgmt.html#structosMemoryPoolAttr__t">More...</a><br/></td></tr>
+<tr class="separator:structosMemoryPoolAttr__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:structosMessageQueueAttr__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__Message.html#structosMessageQueueAttr__t">osMessageQueueAttr_t</a></td></tr>
+<tr class="memdesc:structosMessageQueueAttr__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attributes structure for message queue. <a href="group__CMSIS__RTOS__Message.html#structosMessageQueueAttr__t">More...</a><br/></td></tr>
+<tr class="separator:structosMessageQueueAttr__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
+Macros</h2></td></tr>
+<tr class="memitem:a153a4a31b276a9758959580538720a51"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__os2_8h.html#a153a4a31b276a9758959580538720a51">__NO_RETURN</a></td></tr>
+<tr class="separator:a153a4a31b276a9758959580538720a51"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga9eb9a7a797a42e4b55eb171ecc609ddb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>&#160;&#160;&#160;0xFFFFFFFFU</td></tr>
+<tr class="memdesc:ga9eb9a7a797a42e4b55eb171ecc609ddb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait forever timeout value. <a href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">More...</a><br/></td></tr>
+<tr class="separator:ga9eb9a7a797a42e4b55eb171ecc609ddb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga18e63587b8450d5b8798b6f6ec04e012"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga18e63587b8450d5b8798b6f6ec04e012">osFlagsWaitAny</a>&#160;&#160;&#160;0x00000000U</td></tr>
+<tr class="memdesc:ga18e63587b8450d5b8798b6f6ec04e012"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for any flag (default). <a href="group__CMSIS__RTOS__Definitions.html#ga18e63587b8450d5b8798b6f6ec04e012">More...</a><br/></td></tr>
+<tr class="separator:ga18e63587b8450d5b8798b6f6ec04e012"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8b6f562736fbfb5428940e0c017dec24"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga8b6f562736fbfb5428940e0c017dec24">osFlagsWaitAll</a>&#160;&#160;&#160;0x00000001U</td></tr>
+<tr class="memdesc:ga8b6f562736fbfb5428940e0c017dec24"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for all flags. <a href="group__CMSIS__RTOS__Definitions.html#ga8b6f562736fbfb5428940e0c017dec24">More...</a><br/></td></tr>
+<tr class="separator:ga8b6f562736fbfb5428940e0c017dec24"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaade844a42237d8c37569d4d9b16b9f1c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__Definitions.html#gaade844a42237d8c37569d4d9b16b9f1c">osFlagsNoClear</a>&#160;&#160;&#160;0x00000002U</td></tr>
+<tr class="memdesc:gaade844a42237d8c37569d4d9b16b9f1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Do not clear flags which have been specified to wait for. <a href="group__CMSIS__RTOS__Definitions.html#gaade844a42237d8c37569d4d9b16b9f1c">More...</a><br/></td></tr>
+<tr class="separator:gaade844a42237d8c37569d4d9b16b9f1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a01c1359c3a5640bff6e08f09bf94ce3a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__os2_8h.html#a01c1359c3a5640bff6e08f09bf94ce3a">osFlagsError</a>&#160;&#160;&#160;0x80000000U</td></tr>
+<tr class="memdesc:a01c1359c3a5640bff6e08f09bf94ce3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Error indicator. <a href="#a01c1359c3a5640bff6e08f09bf94ce3a">More...</a><br/></td></tr>
+<tr class="separator:a01c1359c3a5640bff6e08f09bf94ce3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3b1d9fbb83d64eedb62f831c9be647c3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flags__error__codes.html#ga3b1d9fbb83d64eedb62f831c9be647c3">osFlagsErrorUnknown</a>&#160;&#160;&#160;0xFFFFFFFFU</td></tr>
+<tr class="memdesc:ga3b1d9fbb83d64eedb62f831c9be647c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">osError (-1). <a href="group__flags__error__codes.html#ga3b1d9fbb83d64eedb62f831c9be647c3">More...</a><br/></td></tr>
+<tr class="separator:ga3b1d9fbb83d64eedb62f831c9be647c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2e951c3f1c3b7bff4eca3d7836cd19ca"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flags__error__codes.html#ga2e951c3f1c3b7bff4eca3d7836cd19ca">osFlagsErrorTimeout</a>&#160;&#160;&#160;0xFFFFFFFEU</td></tr>
+<tr class="memdesc:ga2e951c3f1c3b7bff4eca3d7836cd19ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">osErrorTimeout (-2). <a href="group__flags__error__codes.html#ga2e951c3f1c3b7bff4eca3d7836cd19ca">More...</a><br/></td></tr>
+<tr class="separator:ga2e951c3f1c3b7bff4eca3d7836cd19ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4db38b50da1889bcaaa7f747e844f904"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flags__error__codes.html#ga4db38b50da1889bcaaa7f747e844f904">osFlagsErrorResource</a>&#160;&#160;&#160;0xFFFFFFFDU</td></tr>
+<tr class="memdesc:ga4db38b50da1889bcaaa7f747e844f904"><td class="mdescLeft">&#160;</td><td class="mdescRight">osErrorResource (-3). <a href="group__flags__error__codes.html#ga4db38b50da1889bcaaa7f747e844f904">More...</a><br/></td></tr>
+<tr class="separator:ga4db38b50da1889bcaaa7f747e844f904"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa8a95ef938f8f5a9fcb815ec53184f77"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flags__error__codes.html#gaa8a95ef938f8f5a9fcb815ec53184f77">osFlagsErrorParameter</a>&#160;&#160;&#160;0xFFFFFFFCU</td></tr>
+<tr class="memdesc:gaa8a95ef938f8f5a9fcb815ec53184f77"><td class="mdescLeft">&#160;</td><td class="mdescRight">osErrorParameter (-4). <a href="group__flags__error__codes.html#gaa8a95ef938f8f5a9fcb815ec53184f77">More...</a><br/></td></tr>
+<tr class="separator:gaa8a95ef938f8f5a9fcb815ec53184f77"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaea3abd186643f539877e894b62b63448"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flags__error__codes.html#gaea3abd186643f539877e894b62b63448">osFlagsErrorISR</a>&#160;&#160;&#160;0xFFFFFFFAU</td></tr>
+<tr class="memdesc:gaea3abd186643f539877e894b62b63448"><td class="mdescLeft">&#160;</td><td class="mdescRight">osErrorISR (-6). <a href="group__flags__error__codes.html#gaea3abd186643f539877e894b62b63448">More...</a><br/></td></tr>
+<tr class="separator:gaea3abd186643f539877e894b62b63448"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa9336c1073858d6b118e2e011636246f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa9336c1073858d6b118e2e011636246f">osThreadDetached</a>&#160;&#160;&#160;0x00000000U</td></tr>
+<tr class="memdesc:gaa9336c1073858d6b118e2e011636246f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Thread created in detached mode (default) <a href="group__CMSIS__RTOS__ThreadMgmt.html#gaa9336c1073858d6b118e2e011636246f">More...</a><br/></td></tr>
+<tr class="separator:gaa9336c1073858d6b118e2e011636246f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga249499c519f3f8eef5673009ab6cfcbe"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga249499c519f3f8eef5673009ab6cfcbe">osThreadJoinable</a>&#160;&#160;&#160;0x00000001U</td></tr>
+<tr class="memdesc:ga249499c519f3f8eef5673009ab6cfcbe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Thread created in joinable mode. <a href="group__CMSIS__RTOS__ThreadMgmt.html#ga249499c519f3f8eef5673009ab6cfcbe">More...</a><br/></td></tr>
+<tr class="separator:ga249499c519f3f8eef5673009ab6cfcbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga65c2482cc64a35d03871f3180f305926"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga65c2482cc64a35d03871f3180f305926">osMutexRecursive</a>&#160;&#160;&#160;0x00000001U</td></tr>
+<tr class="memdesc:ga65c2482cc64a35d03871f3180f305926"><td class="mdescLeft">&#160;</td><td class="mdescRight">Recursive mutex. <a href="group__CMSIS__RTOS__MutexMgmt.html#ga65c2482cc64a35d03871f3180f305926">More...</a><br/></td></tr>
+<tr class="separator:ga65c2482cc64a35d03871f3180f305926"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga40fba270cb31a977b3bd551d41eb9599"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga40fba270cb31a977b3bd551d41eb9599">osMutexPrioInherit</a>&#160;&#160;&#160;0x00000002U</td></tr>
+<tr class="memdesc:ga40fba270cb31a977b3bd551d41eb9599"><td class="mdescLeft">&#160;</td><td class="mdescRight">Priority inherit protocol. <a href="group__CMSIS__RTOS__MutexMgmt.html#ga40fba270cb31a977b3bd551d41eb9599">More...</a><br/></td></tr>
+<tr class="separator:ga40fba270cb31a977b3bd551d41eb9599"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf0e1dee376798b4d516d164981526780"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gaf0e1dee376798b4d516d164981526780">osMutexRobust</a>&#160;&#160;&#160;0x00000008U</td></tr>
+<tr class="memdesc:gaf0e1dee376798b4d516d164981526780"><td class="mdescLeft">&#160;</td><td class="mdescRight">Robust mutex. <a href="group__CMSIS__RTOS__MutexMgmt.html#gaf0e1dee376798b4d516d164981526780">More...</a><br/></td></tr>
+<tr class="separator:gaf0e1dee376798b4d516d164981526780"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a78775dae56f0c9698cdab6e1ca74503f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__os2_8h.html#a78775dae56f0c9698cdab6e1ca74503f">TZ_MODULEID_T</a></td></tr>
+<tr class="separator:a78775dae56f0c9698cdab6e1ca74503f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr class="memitem:gadd51f99a6eb50b94eee75f27cae815eb"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gadd51f99a6eb50b94eee75f27cae815eb">osThreadFunc_t</a> )(void *argument)</td></tr>
+<tr class="memdesc:gadd51f99a6eb50b94eee75f27cae815eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Entry point of a thread. <a href="group__CMSIS__RTOS__ThreadMgmt.html#gadd51f99a6eb50b94eee75f27cae815eb">More...</a><br/></td></tr>
+<tr class="separator:gadd51f99a6eb50b94eee75f27cae815eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaacf768c1ec64b020598afb985d7b30be"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaacf768c1ec64b020598afb985d7b30be">osTimerFunc_t</a> )(void *argument)</td></tr>
+<tr class="memdesc:gaacf768c1ec64b020598afb985d7b30be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Timer callback function. <a href="group__CMSIS__RTOS__TimerMgmt.html#gaacf768c1ec64b020598afb985d7b30be">More...</a><br/></td></tr>
+<tr class="separator:gaacf768c1ec64b020598afb985d7b30be"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa6c32fe2a3e0a2e01f212d55b02e51c7"><td class="memItemLeft" align="right" valign="top">typedef void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a></td></tr>
+<tr class="separator:gaa6c32fe2a3e0a2e01f212d55b02e51c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaad5409379689ee27bb0a0b56ea4a4b34"><td class="memItemLeft" align="right" valign="top">typedef void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a></td></tr>
+<tr class="separator:gaad5409379689ee27bb0a0b56ea4a4b34"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gafdbab933146d6d81d7cca7287e267a50"><td class="memItemLeft" align="right" valign="top">typedef void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a></td></tr>
+<tr class="separator:gafdbab933146d6d81d7cca7287e267a50"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga313801836c62deb23055efb55a420e42"><td class="memItemLeft" align="right" valign="top">typedef void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a></td></tr>
+<tr class="separator:ga313801836c62deb23055efb55a420e42"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6e1c1c4b04175bb92b013c8f37249f40"><td class="memItemLeft" align="right" valign="top">typedef void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a></td></tr>
+<tr class="separator:ga6e1c1c4b04175bb92b013c8f37249f40"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2e44473caf338266f56800960294f960"><td class="memItemLeft" align="right" valign="top">typedef void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a></td></tr>
+<tr class="separator:ga2e44473caf338266f56800960294f960"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a206dbc05367e03c39fc6d4d1ebcff317"><td class="memItemLeft" align="right" valign="top">typedef void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a></td></tr>
+<tr class="separator:a206dbc05367e03c39fc6d4d1ebcff317"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad5ef21485fe5f60263bc0b48006202cb"><td class="memItemLeft" align="right" valign="top">typedef uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__os2_8h.html#ad5ef21485fe5f60263bc0b48006202cb">TZ_ModuleId_t</a></td></tr>
+<tr class="separator:ad5ef21485fe5f60263bc0b48006202cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr class="memitem:ga08326469274b668140ca934b168a5ad4"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga08326469274b668140ca934b168a5ad4">osKernelState_t</a> { <br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga08326469274b668140ca934b168a5ad4a2ad3e5912db47b497529d036c89e7995">osKernelInactive</a> = 0,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga08326469274b668140ca934b168a5ad4a0596c6e14113447604753656417c9a24">osKernelReady</a> = 1,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga08326469274b668140ca934b168a5ad4a8e0b699fbe1c8bb66fefadd5911cb6ce">osKernelRunning</a> = 2,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga08326469274b668140ca934b168a5ad4a2fe382ad5ebab2257b35740414b28b01">osKernelLocked</a> = 3,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga08326469274b668140ca934b168a5ad4ad364464ad84d63b1413a9ac8a962390c">osKernelSuspended</a> = 4,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga08326469274b668140ca934b168a5ad4a0545c92c18ce8e6b24e82a0d694a0b4a">osKernelError</a> = -1,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga08326469274b668140ca934b168a5ad4ab0a47576defa29396a649d9173d4bc4b">osKernelReserved</a> = 0x7FFFFFFFU
+<br/>
+ }</td></tr>
+<tr class="memdesc:ga08326469274b668140ca934b168a5ad4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Kernel state. <a href="group__CMSIS__RTOS__KernelCtrl.html#ga08326469274b668140ca934b168a5ad4">More...</a><br/></td></tr>
+<tr class="separator:ga08326469274b668140ca934b168a5ad4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad3dc89e942e38d9f3af858a0269a820d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad3dc89e942e38d9f3af858a0269a820d">osThreadState_t</a> { <br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820dae9d77830b6866e287417b6e1d983e971">osThreadInactive</a> = 0,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820da59e286915944fe0e4d1ffdb1f2946f14">osThreadReady</a> = 1,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820dac4fe336e0790188fcf7d667372eca19d">osThreadRunning</a> = 2,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820daf0e992e354fba8695957c530226a4968">osThreadBlocked</a> = 3,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820dad5b2726c2d0228f4f1a76cf6b630963c">osThreadTerminated</a> = 4,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820da339313e26613bc12f66a852e2ff8745e">osThreadError</a> = -1,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad3dc89e942e38d9f3af858a0269a820da8872f7e352370eb11ee772c7dcca6e6c">osThreadReserved</a> = 0x7FFFFFFF
+<br/>
+ }</td></tr>
+<tr class="memdesc:gad3dc89e942e38d9f3af858a0269a820d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Thread state. <a href="group__CMSIS__RTOS__ThreadMgmt.html#gad3dc89e942e38d9f3af858a0269a820d">More...</a><br/></td></tr>
+<tr class="separator:gad3dc89e942e38d9f3af858a0269a820d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad4e3e0971b41f2d17584a8c6837342ec"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ec">osPriority_t</a> { <br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca6c437c7185161a3bd1e7e4669dfa17a3">osPriorityNone</a> = 0,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad4e3e0971b41f2d17584a8c6837342ecacd5864eac01a6916a7c866bb51a6aac1">osPriorityIdle</a> = 1,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca61cb822239ac8f66dfbdc7291598a3d4">osPriorityLow</a> = 8,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ecaba2b6919f0b630c8c1b2c940e3bfadbe">osPriorityLow1</a> = 8+1,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca78ad5d00aa07a2b4bf30a639544f5507">osPriorityLow2</a> = 8+2,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca28ccb07942c16f5f5efefb6cf68a7f50">osPriorityLow3</a> = 8+3,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca5a4a4f26d5b220a968e221e854f69a81">osPriorityLow4</a> = 8+4,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ecad69b8c14809bc5bdce4887f5a57d9353">osPriorityLow5</a> = 8+5,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ecac0f188468664d06d4cd9e6e1ed351393">osPriorityLow6</a> = 8+6,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca5b151ebba7fdeb1baaa9b7b420890b7a">osPriorityLow7</a> = 8+7,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca193b650117c209b4a203954542bcc3e6">osPriorityBelowNormal</a> = 16,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca9138da7187690b15f52d8e5729c18da5">osPriorityBelowNormal1</a> = 16+1,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca4f081d6735bf2f513338b07eddf13ae3">osPriorityBelowNormal2</a> = 16+2,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca19c013690d0d6bf3ac90707942be3fdf">osPriorityBelowNormal3</a> = 16+3,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca36931ad6cee5e4700e2c8622bdd2cd24">osPriorityBelowNormal4</a> = 16+4,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca0bcd9ad1e7a02e3bf03be7dcc8ece38e">osPriorityBelowNormal5</a> = 16+5,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ecabd3cc7df5b92b752ddf1e7843a786c05">osPriorityBelowNormal6</a> = 16+6,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ecab18e3bda7b5e418e309a62d6267ea14b">osPriorityBelowNormal7</a> = 16+7,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca45a2895ad30c79fb97de18cac7cc19f1">osPriorityNormal</a> = 24,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca3e70c19e03d5a54e66bd071f0776782c">osPriorityNormal1</a> = 24+1,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca19e96f2b025b6462a43b1965043c8205">osPriorityNormal2</a> = 24+2,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca402bd7ab26fb57c8cee8cf94168f4c91">osPriorityNormal3</a> = 24+3,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca93ef07d3a107aeee6508bfd29ba3485d">osPriorityNormal4</a> = 24+4,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca68f3f6fdaa639de300277802aa13a0ab">osPriorityNormal5</a> = 24+5,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca8221eb0d059726a6309f1f2d0cdb6204">osPriorityNormal6</a> = 24+6,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca049abd04f8951415407ec9d92bd9b80b">osPriorityNormal7</a> = 24+7,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca17b36cd9cd38652c2bc6d4803990674b">osPriorityAboveNormal</a> = 32,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ecabfeafc713edfc7b9130aa5c762d68998">osPriorityAboveNormal1</a> = 32+1,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca901acf86070e06f5990b611734ee2562">osPriorityAboveNormal2</a> = 32+2,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ecad566b876b64e6efdc3eba0fc04e54013">osPriorityAboveNormal3</a> = 32+3,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca6ccac37d7dae4586a2031966d36a63ec">osPriorityAboveNormal4</a> = 32+4,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ecae36e8b38ee046a3104bcccabb10cf78c">osPriorityAboveNormal5</a> = 32+5,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca61e6ce27e1e0f34f2540b413b8a8b207">osPriorityAboveNormal6</a> = 32+6,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ecadbbb0fed3ada6b9b50d4a628abc2a67d">osPriorityAboveNormal7</a> = 32+7,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca914433934143a9ba767e59577c56e6c2">osPriorityHigh</a> = 40,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca17b7a7e6febf12444a84e90edfce36cb">osPriorityHigh1</a> = 40+1,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca40a120cf8bbc42e575455c027f3d9b03">osPriorityHigh2</a> = 40+2,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca0b15518b0b5321a29efa0b42b2f8c759">osPriorityHigh3</a> = 40+3,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ecafe5a4f393fab04551ac7d93e80cdf0fb">osPriorityHigh4</a> = 40+4,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca5960841bfbdd959b163429e8502ea4e9">osPriorityHigh5</a> = 40+5,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca5714dda6effc1a3f8ec155d97e3e69bc">osPriorityHigh6</a> = 40+6,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca63ad0cc52a701ef3d9df52b59b995652">osPriorityHigh7</a> = 40+7,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca1485dec3702434a1ec3cb74c7a17a4af">osPriorityRealtime</a> = 48,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ecaf685a06b30f0635476e21347a986305b">osPriorityRealtime1</a> = 48+1,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ecab832bd9de84e5eec2ecad69d085dadff">osPriorityRealtime2</a> = 48+2,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca3f2261e5e733e92844ae8c630f2f9eaa">osPriorityRealtime3</a> = 48+3,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ecaf614e3dc966d559cd9d9d2a0f78ebe70">osPriorityRealtime4</a> = 48+4,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ecaff84f31ceff203c711fb9476443507df">osPriorityRealtime5</a> = 48+5,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca80ae9d0dd256312c0c8f44af48316194">osPriorityRealtime6</a> = 48+6,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ecaa76da6825c4bd31c4958200bc289103b">osPriorityRealtime7</a> = 48+7,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad4e3e0971b41f2d17584a8c6837342eca4b4fa46c3ebaf4259662a0a0a3173b7f">osPriorityISR</a> = 56,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ecae35f5e2f9c64ad346822521b643bdea4">osPriorityError</a> = -1,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ecac86c171f8d466cced0cb1b03bb03343b">osPriorityReserved</a> = 0x7FFFFFFF
+<br/>
+ }</td></tr>
+<tr class="memdesc:gad4e3e0971b41f2d17584a8c6837342ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Priority values. <a href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ec">More...</a><br/></td></tr>
+<tr class="separator:gad4e3e0971b41f2d17584a8c6837342ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7dc24a4c2b90334427081c3da7a71915"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#ga7dc24a4c2b90334427081c3da7a71915">osTimerType_t</a> { <br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915a2e0e1f31c742c84b497c4d7143357bdb">osTimerOnce</a> = 0,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915ab3463d921dc310938094745c230f2b35">osTimerPeriodic</a> = 1
+<br/>
+ }</td></tr>
+<tr class="memdesc:ga7dc24a4c2b90334427081c3da7a71915"><td class="mdescLeft">&#160;</td><td class="mdescRight">Timer type. <a href="group__CMSIS__RTOS__TimerMgmt.html#ga7dc24a4c2b90334427081c3da7a71915">More...</a><br/></td></tr>
+<tr class="separator:ga7dc24a4c2b90334427081c3da7a71915"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6c0dbe6069e4e7f47bb4cd32ae2b813e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> { <br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f">osOK</a> = 0,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813eabb7b2d2c4efa66df42f1c10635467b09">osError</a> = -1,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea913eb5df15ad85f8557eb3a456b56879">osErrorTimeout</a> = -2,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea8fc5801e8b0482bdf22ad63a77f0155d">osErrorResource</a> = -3,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813eac24adca6a5d072c9f01c32178ba0d109">osErrorParameter</a> = -4,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813eaf1fac0240218e51eb30a13da2f8aae81">osErrorNoMemory</a> = -5,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea21635bdc492d3094fe83027fa4a30e2f">osErrorISR</a> = -6,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea66cc9ce9106b508df0e4a733a55a439d">osStatusReserved</a> = 0x7FFFFFFF
+<br/>
+ }</td></tr>
+<tr class="memdesc:ga6c0dbe6069e4e7f47bb4cd32ae2b813e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Status code values returned by CMSIS-RTOS functions. <a href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">More...</a><br/></td></tr>
+<tr class="separator:ga6c0dbe6069e4e7f47bb4cd32ae2b813e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:gae818f6611d25ba3140bede410a52d659"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659">osKernelInitialize</a> (void)</td></tr>
+<tr class="memdesc:gae818f6611d25ba3140bede410a52d659"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the RTOS Kernel. <a href="group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659">More...</a><br/></td></tr>
+<tr class="separator:gae818f6611d25ba3140bede410a52d659"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6f7764e7250c5c5364c00c45a5d1d199"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga6f7764e7250c5c5364c00c45a5d1d199">osKernelGetInfo</a> (<a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#structosVersion__t">osVersion_t</a> *version, char *id_buf, uint32_t id_size)</td></tr>
+<tr class="memdesc:ga6f7764e7250c5c5364c00c45a5d1d199"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get RTOS Kernel Information. <a href="group__CMSIS__RTOS__KernelCtrl.html#ga6f7764e7250c5c5364c00c45a5d1d199">More...</a><br/></td></tr>
+<tr class="separator:ga6f7764e7250c5c5364c00c45a5d1d199"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga48b69b81012fce051f639be288b243ba"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga08326469274b668140ca934b168a5ad4">osKernelState_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga48b69b81012fce051f639be288b243ba">osKernelGetState</a> (void)</td></tr>
+<tr class="memdesc:ga48b69b81012fce051f639be288b243ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current RTOS Kernel state. <a href="group__CMSIS__RTOS__KernelCtrl.html#ga48b69b81012fce051f639be288b243ba">More...</a><br/></td></tr>
+<tr class="separator:ga48b69b81012fce051f639be288b243ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga9ae2cc00f0d89d7b6a307bba942b5221"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221">osKernelStart</a> (void)</td></tr>
+<tr class="memdesc:ga9ae2cc00f0d89d7b6a307bba942b5221"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start the RTOS Kernel scheduler. <a href="group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221">More...</a><br/></td></tr>
+<tr class="separator:ga9ae2cc00f0d89d7b6a307bba942b5221"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga948609ee930d9b38336b9e1c2a4dfe12"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga948609ee930d9b38336b9e1c2a4dfe12">osKernelLock</a> (void)</td></tr>
+<tr class="memdesc:ga948609ee930d9b38336b9e1c2a4dfe12"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lock the RTOS Kernel scheduler. <a href="group__CMSIS__RTOS__KernelCtrl.html#ga948609ee930d9b38336b9e1c2a4dfe12">More...</a><br/></td></tr>
+<tr class="separator:ga948609ee930d9b38336b9e1c2a4dfe12"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf401728b4657456198c33fe75f8d6720"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gaf401728b4657456198c33fe75f8d6720">osKernelUnlock</a> (void)</td></tr>
+<tr class="memdesc:gaf401728b4657456198c33fe75f8d6720"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unlock the RTOS Kernel scheduler. <a href="group__CMSIS__RTOS__KernelCtrl.html#gaf401728b4657456198c33fe75f8d6720">More...</a><br/></td></tr>
+<tr class="separator:gaf401728b4657456198c33fe75f8d6720"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae7d0a71b9586cbbb49fcbdf6a04f0289"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae7d0a71b9586cbbb49fcbdf6a04f0289">osKernelRestoreLock</a> (int32_t lock)</td></tr>
+<tr class="memdesc:gae7d0a71b9586cbbb49fcbdf6a04f0289"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore the RTOS Kernel scheduler lock state. <a href="group__CMSIS__RTOS__KernelCtrl.html#gae7d0a71b9586cbbb49fcbdf6a04f0289">More...</a><br/></td></tr>
+<tr class="separator:gae7d0a71b9586cbbb49fcbdf6a04f0289"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae26683e1606ec633354a2876c68f0c1f"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae26683e1606ec633354a2876c68f0c1f">osKernelSuspend</a> (void)</td></tr>
+<tr class="memdesc:gae26683e1606ec633354a2876c68f0c1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Suspend the RTOS Kernel scheduler. <a href="group__CMSIS__RTOS__KernelCtrl.html#gae26683e1606ec633354a2876c68f0c1f">More...</a><br/></td></tr>
+<tr class="separator:gae26683e1606ec633354a2876c68f0c1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8c4b4d7ed34cab73c001665d9176aced"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga8c4b4d7ed34cab73c001665d9176aced">osKernelResume</a> (uint32_t sleep_ticks)</td></tr>
+<tr class="memdesc:ga8c4b4d7ed34cab73c001665d9176aced"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resume the RTOS Kernel scheduler. <a href="group__CMSIS__RTOS__KernelCtrl.html#ga8c4b4d7ed34cab73c001665d9176aced">More...</a><br/></td></tr>
+<tr class="separator:ga8c4b4d7ed34cab73c001665d9176aced"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga84bcdbf2fb76b10c8df4e439f0c7e11b"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga84bcdbf2fb76b10c8df4e439f0c7e11b">osKernelGetTickCount</a> (void)</td></tr>
+<tr class="memdesc:ga84bcdbf2fb76b10c8df4e439f0c7e11b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the RTOS kernel tick count. <a href="group__CMSIS__RTOS__KernelCtrl.html#ga84bcdbf2fb76b10c8df4e439f0c7e11b">More...</a><br/></td></tr>
+<tr class="separator:ga84bcdbf2fb76b10c8df4e439f0c7e11b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7a8d7bd927eaaa58999f91d7d6310cee"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga7a8d7bd927eaaa58999f91d7d6310cee">osKernelGetTickFreq</a> (void)</td></tr>
+<tr class="memdesc:ga7a8d7bd927eaaa58999f91d7d6310cee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the RTOS kernel tick frequency. <a href="group__CMSIS__RTOS__KernelCtrl.html#ga7a8d7bd927eaaa58999f91d7d6310cee">More...</a><br/></td></tr>
+<tr class="separator:ga7a8d7bd927eaaa58999f91d7d6310cee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae0fcaff6cecfb4013bb556c87afcd7d2"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae0fcaff6cecfb4013bb556c87afcd7d2">osKernelGetSysTimerCount</a> (void)</td></tr>
+<tr class="memdesc:gae0fcaff6cecfb4013bb556c87afcd7d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the RTOS kernel system timer count. <a href="group__CMSIS__RTOS__KernelCtrl.html#gae0fcaff6cecfb4013bb556c87afcd7d2">More...</a><br/></td></tr>
+<tr class="separator:gae0fcaff6cecfb4013bb556c87afcd7d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4d69215a93220f72be3684cad582f16a"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga4d69215a93220f72be3684cad582f16a">osKernelGetSysTimerFreq</a> (void)</td></tr>
+<tr class="memdesc:ga4d69215a93220f72be3684cad582f16a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the RTOS kernel system timer frequency. <a href="group__CMSIS__RTOS__KernelCtrl.html#ga4d69215a93220f72be3684cad582f16a">More...</a><br/></td></tr>
+<tr class="separator:ga4d69215a93220f72be3684cad582f16a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga48d68b8666d99d28fa646ee1d2182b8f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gadd51f99a6eb50b94eee75f27cae815eb">osThreadFunc_t</a> func, void *argument, const <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t">osThreadAttr_t</a> *attr)</td></tr>
+<tr class="memdesc:ga48d68b8666d99d28fa646ee1d2182b8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a thread and add it to Active Threads. <a href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">More...</a><br/></td></tr>
+<tr class="separator:ga48d68b8666d99d28fa646ee1d2182b8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac3230f3a55a297514b013ebf38f27e0a"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gac3230f3a55a297514b013ebf38f27e0a">osThreadGetName</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:gac3230f3a55a297514b013ebf38f27e0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get name of a thread. <a href="group__CMSIS__RTOS__ThreadMgmt.html#gac3230f3a55a297514b013ebf38f27e0a">More...</a><br/></td></tr>
+<tr class="separator:gac3230f3a55a297514b013ebf38f27e0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8df03548e89fbc56402a5cd584a505da"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a> (void)</td></tr>
+<tr class="memdesc:ga8df03548e89fbc56402a5cd584a505da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the thread ID of the current running thread. <a href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">More...</a><br/></td></tr>
+<tr class="separator:ga8df03548e89fbc56402a5cd584a505da"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gacc0a98b42f0a5928e12dc91dc76866b9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad3dc89e942e38d9f3af858a0269a820d">osThreadState_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gacc0a98b42f0a5928e12dc91dc76866b9">osThreadGetState</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:gacc0a98b42f0a5928e12dc91dc76866b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get current thread state of a thread. <a href="group__CMSIS__RTOS__ThreadMgmt.html#gacc0a98b42f0a5928e12dc91dc76866b9">More...</a><br/></td></tr>
+<tr class="separator:gacc0a98b42f0a5928e12dc91dc76866b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab9f8bd715d671c6ee27644867bc1bf65"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gab9f8bd715d671c6ee27644867bc1bf65">osThreadGetStackSize</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:gab9f8bd715d671c6ee27644867bc1bf65"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get stack size of a thread. <a href="group__CMSIS__RTOS__ThreadMgmt.html#gab9f8bd715d671c6ee27644867bc1bf65">More...</a><br/></td></tr>
+<tr class="separator:gab9f8bd715d671c6ee27644867bc1bf65"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga9c83bd5dd8de329701775d6ef7012720"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga9c83bd5dd8de329701775d6ef7012720">osThreadGetStackSpace</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:ga9c83bd5dd8de329701775d6ef7012720"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get available stack space of a thread based on stack watermark recording during execution. <a href="group__CMSIS__RTOS__ThreadMgmt.html#ga9c83bd5dd8de329701775d6ef7012720">More...</a><br/></td></tr>
+<tr class="separator:ga9c83bd5dd8de329701775d6ef7012720"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga861a420fb2d643115b06622903fb3bfb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga861a420fb2d643115b06622903fb3bfb">osThreadSetPriority</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id, <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ec">osPriority_t</a> priority)</td></tr>
+<tr class="memdesc:ga861a420fb2d643115b06622903fb3bfb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Change priority of a thread. <a href="group__CMSIS__RTOS__ThreadMgmt.html#ga861a420fb2d643115b06622903fb3bfb">More...</a><br/></td></tr>
+<tr class="separator:ga861a420fb2d643115b06622903fb3bfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0aeaf349604f456e68e78f9d3b42e44b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ec">osPriority_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga0aeaf349604f456e68e78f9d3b42e44b">osThreadGetPriority</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:ga0aeaf349604f456e68e78f9d3b42e44b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get current priority of a thread. <a href="group__CMSIS__RTOS__ThreadMgmt.html#ga0aeaf349604f456e68e78f9d3b42e44b">More...</a><br/></td></tr>
+<tr class="separator:ga0aeaf349604f456e68e78f9d3b42e44b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad01c7ec26535b1de6b018bb9466720e2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad01c7ec26535b1de6b018bb9466720e2">osThreadYield</a> (void)</td></tr>
+<tr class="memdesc:gad01c7ec26535b1de6b018bb9466720e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pass control to next thread that is in state <b>READY</b>. <a href="group__CMSIS__RTOS__ThreadMgmt.html#gad01c7ec26535b1de6b018bb9466720e2">More...</a><br/></td></tr>
+<tr class="separator:gad01c7ec26535b1de6b018bb9466720e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa9de419d0152bf77e9bbcd1f369fb990"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa9de419d0152bf77e9bbcd1f369fb990">osThreadSuspend</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:gaa9de419d0152bf77e9bbcd1f369fb990"><td class="mdescLeft">&#160;</td><td class="mdescRight">Suspend execution of a thread. <a href="group__CMSIS__RTOS__ThreadMgmt.html#gaa9de419d0152bf77e9bbcd1f369fb990">More...</a><br/></td></tr>
+<tr class="separator:gaa9de419d0152bf77e9bbcd1f369fb990"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3dbad90eff394b02de76a452c84c5d80"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga3dbad90eff394b02de76a452c84c5d80">osThreadResume</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:ga3dbad90eff394b02de76a452c84c5d80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resume execution of a thread. <a href="group__CMSIS__RTOS__ThreadMgmt.html#ga3dbad90eff394b02de76a452c84c5d80">More...</a><br/></td></tr>
+<tr class="separator:ga3dbad90eff394b02de76a452c84c5d80"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaaad14cd9547341ea8109dc4e8540f1dc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaaad14cd9547341ea8109dc4e8540f1dc">osThreadDetach</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:gaaad14cd9547341ea8109dc4e8540f1dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Detach a thread (thread storage can be reclaimed when thread terminates). <a href="group__CMSIS__RTOS__ThreadMgmt.html#gaaad14cd9547341ea8109dc4e8540f1dc">More...</a><br/></td></tr>
+<tr class="separator:gaaad14cd9547341ea8109dc4e8540f1dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3fca90fb0679afeb968aa8c3d5874487"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga3fca90fb0679afeb968aa8c3d5874487">osThreadJoin</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:ga3fca90fb0679afeb968aa8c3d5874487"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for specified thread to terminate. <a href="group__CMSIS__RTOS__ThreadMgmt.html#ga3fca90fb0679afeb968aa8c3d5874487">More...</a><br/></td></tr>
+<tr class="separator:ga3fca90fb0679afeb968aa8c3d5874487"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaddaa452dd7610e4096647a566d3556fc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cmsis__os2_8h.html#a153a4a31b276a9758959580538720a51">__NO_RETURN</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaddaa452dd7610e4096647a566d3556fc">osThreadExit</a> (void)</td></tr>
+<tr class="memdesc:gaddaa452dd7610e4096647a566d3556fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Terminate execution of current running thread. <a href="group__CMSIS__RTOS__ThreadMgmt.html#gaddaa452dd7610e4096647a566d3556fc">More...</a><br/></td></tr>
+<tr class="separator:gaddaa452dd7610e4096647a566d3556fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2f8ba6dba6e9c065a6e236ffd410d74a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga2f8ba6dba6e9c065a6e236ffd410d74a">osThreadTerminate</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:ga2f8ba6dba6e9c065a6e236ffd410d74a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Terminate execution of a thread. <a href="group__CMSIS__RTOS__ThreadMgmt.html#ga2f8ba6dba6e9c065a6e236ffd410d74a">More...</a><br/></td></tr>
+<tr class="separator:ga2f8ba6dba6e9c065a6e236ffd410d74a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga495b3f812224e7301f23a691793765db"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga495b3f812224e7301f23a691793765db">osThreadGetCount</a> (void)</td></tr>
+<tr class="memdesc:ga495b3f812224e7301f23a691793765db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get number of active threads. <a href="group__CMSIS__RTOS__ThreadMgmt.html#ga495b3f812224e7301f23a691793765db">More...</a><br/></td></tr>
+<tr class="separator:ga495b3f812224e7301f23a691793765db"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5606604d56e21ece1a654664be877439"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga5606604d56e21ece1a654664be877439">osThreadEnumerate</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> *thread_array, uint32_t array_items)</td></tr>
+<tr class="memdesc:ga5606604d56e21ece1a654664be877439"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumerate active threads. <a href="group__CMSIS__RTOS__ThreadMgmt.html#ga5606604d56e21ece1a654664be877439">More...</a><br/></td></tr>
+<tr class="separator:ga5606604d56e21ece1a654664be877439"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6f89ef9caded1d9963c7b12b0f6412c9"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga6f89ef9caded1d9963c7b12b0f6412c9">osThreadFlagsSet</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id, uint32_t flags)</td></tr>
+<tr class="memdesc:ga6f89ef9caded1d9963c7b12b0f6412c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the specified Thread Flags of a thread. <a href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga6f89ef9caded1d9963c7b12b0f6412c9">More...</a><br/></td></tr>
+<tr class="separator:ga6f89ef9caded1d9963c7b12b0f6412c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga656abc1c862c5b9a2b13584c42cc0bfa"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga656abc1c862c5b9a2b13584c42cc0bfa">osThreadFlagsClear</a> (uint32_t flags)</td></tr>
+<tr class="memdesc:ga656abc1c862c5b9a2b13584c42cc0bfa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear the specified Thread Flags of current running thread. <a href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga656abc1c862c5b9a2b13584c42cc0bfa">More...</a><br/></td></tr>
+<tr class="separator:ga656abc1c862c5b9a2b13584c42cc0bfa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga85c8d2c89466e25abbcb545d9ddd71ba"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga85c8d2c89466e25abbcb545d9ddd71ba">osThreadFlagsGet</a> (void)</td></tr>
+<tr class="memdesc:ga85c8d2c89466e25abbcb545d9ddd71ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current Thread Flags of current running thread. <a href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga85c8d2c89466e25abbcb545d9ddd71ba">More...</a><br/></td></tr>
+<tr class="separator:ga85c8d2c89466e25abbcb545d9ddd71ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac11542ad6300b600f872fc96e340ec2b"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b">osThreadFlagsWait</a> (uint32_t flags, uint32_t options, uint32_t timeout)</td></tr>
+<tr class="memdesc:gac11542ad6300b600f872fc96e340ec2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for one or more Thread Flags of the current running thread to become signaled. <a href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b">More...</a><br/></td></tr>
+<tr class="separator:gac11542ad6300b600f872fc96e340ec2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf6055a51390ef65b6b6edc28bf47322e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a> (uint32_t ticks)</td></tr>
+<tr class="memdesc:gaf6055a51390ef65b6b6edc28bf47322e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for Timeout (Time Delay). <a href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">More...</a><br/></td></tr>
+<tr class="separator:gaf6055a51390ef65b6b6edc28bf47322e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3c807924c2d6d43bc2ffb49da3f7f3a1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__Wait.html#ga3c807924c2d6d43bc2ffb49da3f7f3a1">osDelayUntil</a> (uint32_t ticks)</td></tr>
+<tr class="memdesc:ga3c807924c2d6d43bc2ffb49da3f7f3a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait until specified time. <a href="group__CMSIS__RTOS__Wait.html#ga3c807924c2d6d43bc2ffb49da3f7f3a1">More...</a><br/></td></tr>
+<tr class="separator:ga3c807924c2d6d43bc2ffb49da3f7f3a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad4e7f785c5f700a509f55a3bf6a62bec"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a> (<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaacf768c1ec64b020598afb985d7b30be">osTimerFunc_t</a> func, <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#ga7dc24a4c2b90334427081c3da7a71915">osTimerType_t</a> type, void *argument, const <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#structosTimerAttr__t">osTimerAttr_t</a> *attr)</td></tr>
+<tr class="memdesc:gad4e7f785c5f700a509f55a3bf6a62bec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create and Initialize a timer. <a href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">More...</a><br/></td></tr>
+<tr class="separator:gad4e7f785c5f700a509f55a3bf6a62bec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4f82a98eee4d9ea79507e44340d3d319"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#ga4f82a98eee4d9ea79507e44340d3d319">osTimerGetName</a> (<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> timer_id)</td></tr>
+<tr class="memdesc:ga4f82a98eee4d9ea79507e44340d3d319"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get name of a timer. <a href="group__CMSIS__RTOS__TimerMgmt.html#ga4f82a98eee4d9ea79507e44340d3d319">More...</a><br/></td></tr>
+<tr class="separator:ga4f82a98eee4d9ea79507e44340d3d319"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab6ee2859ea657641b7adfac599b8121d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d">osTimerStart</a> (<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> timer_id, uint32_t ticks)</td></tr>
+<tr class="memdesc:gab6ee2859ea657641b7adfac599b8121d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start or restart a timer. <a href="group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d">More...</a><br/></td></tr>
+<tr class="separator:gab6ee2859ea657641b7adfac599b8121d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gabd7a89356da7717293eb0bc5d87b8ac9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gabd7a89356da7717293eb0bc5d87b8ac9">osTimerStop</a> (<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> timer_id)</td></tr>
+<tr class="memdesc:gabd7a89356da7717293eb0bc5d87b8ac9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stop a timer. <a href="group__CMSIS__RTOS__TimerMgmt.html#gabd7a89356da7717293eb0bc5d87b8ac9">More...</a><br/></td></tr>
+<tr class="separator:gabd7a89356da7717293eb0bc5d87b8ac9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga69d3589f54194022c30dd01e45ec6741"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#ga69d3589f54194022c30dd01e45ec6741">osTimerIsRunning</a> (<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> timer_id)</td></tr>
+<tr class="memdesc:ga69d3589f54194022c30dd01e45ec6741"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a timer is running. <a href="group__CMSIS__RTOS__TimerMgmt.html#ga69d3589f54194022c30dd01e45ec6741">More...</a><br/></td></tr>
+<tr class="separator:ga69d3589f54194022c30dd01e45ec6741"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad0001dd74721ab461789324806db2453"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad0001dd74721ab461789324806db2453">osTimerDelete</a> (<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> timer_id)</td></tr>
+<tr class="memdesc:gad0001dd74721ab461789324806db2453"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete a timer. <a href="group__CMSIS__RTOS__TimerMgmt.html#gad0001dd74721ab461789324806db2453">More...</a><br/></td></tr>
+<tr class="separator:gad0001dd74721ab461789324806db2453"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab14b1caeb12ffa42cce1bfe889cd07df"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a> (const <a class="el" href="group__CMSIS__RTOS__EventFlags.html#structosEventFlagsAttr__t">osEventFlagsAttr_t</a> *attr)</td></tr>
+<tr class="memdesc:gab14b1caeb12ffa42cce1bfe889cd07df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create and Initialize an Event Flags object. <a href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">More...</a><br/></td></tr>
+<tr class="separator:gab14b1caeb12ffa42cce1bfe889cd07df"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga59f4ddf0ee8c395b1672bb978d1cfc88"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga59f4ddf0ee8c395b1672bb978d1cfc88">osEventFlagsGetName</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id)</td></tr>
+<tr class="memdesc:ga59f4ddf0ee8c395b1672bb978d1cfc88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get name of an Event Flags object. <a href="group__CMSIS__RTOS__EventFlags.html#ga59f4ddf0ee8c395b1672bb978d1cfc88">More...</a><br/></td></tr>
+<tr class="separator:ga59f4ddf0ee8c395b1672bb978d1cfc88"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga33b71d14cecf90b4e72639dd19f23a5e"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga33b71d14cecf90b4e72639dd19f23a5e">osEventFlagsSet</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id, uint32_t flags)</td></tr>
+<tr class="memdesc:ga33b71d14cecf90b4e72639dd19f23a5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the specified Event Flags. <a href="group__CMSIS__RTOS__EventFlags.html#ga33b71d14cecf90b4e72639dd19f23a5e">More...</a><br/></td></tr>
+<tr class="separator:ga33b71d14cecf90b4e72639dd19f23a5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga93bf258ca0007c6641fbe8e4f2b8a1e5"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga93bf258ca0007c6641fbe8e4f2b8a1e5">osEventFlagsClear</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id, uint32_t flags)</td></tr>
+<tr class="memdesc:ga93bf258ca0007c6641fbe8e4f2b8a1e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear the specified Event Flags. <a href="group__CMSIS__RTOS__EventFlags.html#ga93bf258ca0007c6641fbe8e4f2b8a1e5">More...</a><br/></td></tr>
+<tr class="separator:ga93bf258ca0007c6641fbe8e4f2b8a1e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8bda3185f46bfd278cea8a6cf357677d"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga8bda3185f46bfd278cea8a6cf357677d">osEventFlagsGet</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id)</td></tr>
+<tr class="memdesc:ga8bda3185f46bfd278cea8a6cf357677d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current Event Flags. <a href="group__CMSIS__RTOS__EventFlags.html#ga8bda3185f46bfd278cea8a6cf357677d">More...</a><br/></td></tr>
+<tr class="separator:ga8bda3185f46bfd278cea8a6cf357677d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga52acb34a8322e58020227344fe662b4e"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">osEventFlagsWait</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id, uint32_t flags, uint32_t options, uint32_t timeout)</td></tr>
+<tr class="memdesc:ga52acb34a8322e58020227344fe662b4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for one or more Event Flags to become signaled. <a href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">More...</a><br/></td></tr>
+<tr class="separator:ga52acb34a8322e58020227344fe662b4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7c4acf2fb0d506ec82905dee53fb5435"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga7c4acf2fb0d506ec82905dee53fb5435">osEventFlagsDelete</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id)</td></tr>
+<tr class="memdesc:ga7c4acf2fb0d506ec82905dee53fb5435"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete an Event Flags object. <a href="group__CMSIS__RTOS__EventFlags.html#ga7c4acf2fb0d506ec82905dee53fb5435">More...</a><br/></td></tr>
+<tr class="separator:ga7c4acf2fb0d506ec82905dee53fb5435"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab90920022ab944296821368ef6bb52f8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8">osMutexNew</a> (const <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#structosMutexAttr__t">osMutexAttr_t</a> *attr)</td></tr>
+<tr class="memdesc:gab90920022ab944296821368ef6bb52f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create and Initialize a Mutex object. <a href="group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8">More...</a><br/></td></tr>
+<tr class="separator:gab90920022ab944296821368ef6bb52f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga00b5e58cd247a412d1afd18732d8b752"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga00b5e58cd247a412d1afd18732d8b752">osMutexGetName</a> (<a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id)</td></tr>
+<tr class="memdesc:ga00b5e58cd247a412d1afd18732d8b752"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get name of a Mutex object. <a href="group__CMSIS__RTOS__MutexMgmt.html#ga00b5e58cd247a412d1afd18732d8b752">More...</a><br/></td></tr>
+<tr class="separator:ga00b5e58cd247a412d1afd18732d8b752"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gabc54686ea0fc281823b1763422d2a924"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gabc54686ea0fc281823b1763422d2a924">osMutexAcquire</a> (<a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id, uint32_t timeout)</td></tr>
+<tr class="memdesc:gabc54686ea0fc281823b1763422d2a924"><td class="mdescLeft">&#160;</td><td class="mdescRight">Acquire a Mutex or timeout if it is locked. <a href="group__CMSIS__RTOS__MutexMgmt.html#gabc54686ea0fc281823b1763422d2a924">More...</a><br/></td></tr>
+<tr class="separator:gabc54686ea0fc281823b1763422d2a924"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaea629705703580ff58776bf73c8db915"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gaea629705703580ff58776bf73c8db915">osMutexRelease</a> (<a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id)</td></tr>
+<tr class="memdesc:gaea629705703580ff58776bf73c8db915"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release a Mutex that was acquired by <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gabc54686ea0fc281823b1763422d2a924">osMutexAcquire</a>. <a href="group__CMSIS__RTOS__MutexMgmt.html#gaea629705703580ff58776bf73c8db915">More...</a><br/></td></tr>
+<tr class="separator:gaea629705703580ff58776bf73c8db915"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7f9a7666df0978738cd570cb700b83fb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga7f9a7666df0978738cd570cb700b83fb">osMutexGetOwner</a> (<a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id)</td></tr>
+<tr class="memdesc:ga7f9a7666df0978738cd570cb700b83fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get Thread which owns a Mutex object. <a href="group__CMSIS__RTOS__MutexMgmt.html#ga7f9a7666df0978738cd570cb700b83fb">More...</a><br/></td></tr>
+<tr class="separator:ga7f9a7666df0978738cd570cb700b83fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gabee73ad227ba4587d3db12ef9bd582bc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gabee73ad227ba4587d3db12ef9bd582bc">osMutexDelete</a> (<a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id)</td></tr>
+<tr class="memdesc:gabee73ad227ba4587d3db12ef9bd582bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete a Mutex object. <a href="group__CMSIS__RTOS__MutexMgmt.html#gabee73ad227ba4587d3db12ef9bd582bc">More...</a><br/></td></tr>
+<tr class="separator:gabee73ad227ba4587d3db12ef9bd582bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2a39806ace781a0008a4374ca701b14a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a> (uint32_t max_count, uint32_t initial_count, const <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#structosSemaphoreAttr__t">osSemaphoreAttr_t</a> *attr)</td></tr>
+<tr class="memdesc:ga2a39806ace781a0008a4374ca701b14a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create and Initialize a Semaphore object. <a href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">More...</a><br/></td></tr>
+<tr class="separator:ga2a39806ace781a0008a4374ca701b14a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga9586952051f00285f1482dbe6695bbc4"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga9586952051f00285f1482dbe6695bbc4">osSemaphoreGetName</a> (<a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> semaphore_id)</td></tr>
+<tr class="memdesc:ga9586952051f00285f1482dbe6695bbc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get name of a Semaphore object. <a href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga9586952051f00285f1482dbe6695bbc4">More...</a><br/></td></tr>
+<tr class="separator:ga9586952051f00285f1482dbe6695bbc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7e94c8b242a0c81f2cc79ec22895c87b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7e94c8b242a0c81f2cc79ec22895c87b">osSemaphoreAcquire</a> (<a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> semaphore_id, uint32_t timeout)</td></tr>
+<tr class="memdesc:ga7e94c8b242a0c81f2cc79ec22895c87b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Acquire a Semaphore token or timeout if no tokens are available. <a href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7e94c8b242a0c81f2cc79ec22895c87b">More...</a><br/></td></tr>
+<tr class="separator:ga7e94c8b242a0c81f2cc79ec22895c87b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0abcee1b5449d7a6928fb9248c690bb6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga0abcee1b5449d7a6928fb9248c690bb6">osSemaphoreRelease</a> (<a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> semaphore_id)</td></tr>
+<tr class="memdesc:ga0abcee1b5449d7a6928fb9248c690bb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release a Semaphore token up to the initial maximum count. <a href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga0abcee1b5449d7a6928fb9248c690bb6">More...</a><br/></td></tr>
+<tr class="separator:ga0abcee1b5449d7a6928fb9248c690bb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7559d4dff3cda9992fc5ab5de3e74c70"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7559d4dff3cda9992fc5ab5de3e74c70">osSemaphoreGetCount</a> (<a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> semaphore_id)</td></tr>
+<tr class="memdesc:ga7559d4dff3cda9992fc5ab5de3e74c70"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get current Semaphore token count. <a href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7559d4dff3cda9992fc5ab5de3e74c70">More...</a><br/></td></tr>
+<tr class="separator:ga7559d4dff3cda9992fc5ab5de3e74c70"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga81258ce9c67fa89f07cc49d2e136cd88"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga81258ce9c67fa89f07cc49d2e136cd88">osSemaphoreDelete</a> (<a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> semaphore_id)</td></tr>
+<tr class="memdesc:ga81258ce9c67fa89f07cc49d2e136cd88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete a Semaphore object. <a href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga81258ce9c67fa89f07cc49d2e136cd88">More...</a><br/></td></tr>
+<tr class="separator:ga81258ce9c67fa89f07cc49d2e136cd88"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga497ced5d72dc5cd405c4c418516220dc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">osMemoryPoolNew</a> (uint32_t block_count, uint32_t block_size, const <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#structosMemoryPoolAttr__t">osMemoryPoolAttr_t</a> *attr)</td></tr>
+<tr class="memdesc:ga497ced5d72dc5cd405c4c418516220dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create and Initialize a Memory Pool object. <a href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">More...</a><br/></td></tr>
+<tr class="separator:ga497ced5d72dc5cd405c4c418516220dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab414a1e138205a55820acfa277c8f386"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gab414a1e138205a55820acfa277c8f386">osMemoryPoolGetName</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id)</td></tr>
+<tr class="memdesc:gab414a1e138205a55820acfa277c8f386"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get name of a Memory Pool object. <a href="group__CMSIS__RTOS__PoolMgmt.html#gab414a1e138205a55820acfa277c8f386">More...</a><br/></td></tr>
+<tr class="separator:gab414a1e138205a55820acfa277c8f386"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8ead54e99ccb8f112356c88f99d38fbe"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga8ead54e99ccb8f112356c88f99d38fbe">osMemoryPoolAlloc</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id, uint32_t timeout)</td></tr>
+<tr class="memdesc:ga8ead54e99ccb8f112356c88f99d38fbe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocate a memory block from a Memory Pool. <a href="group__CMSIS__RTOS__PoolMgmt.html#ga8ead54e99ccb8f112356c88f99d38fbe">More...</a><br/></td></tr>
+<tr class="separator:ga8ead54e99ccb8f112356c88f99d38fbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gabb4f4560daa6d1f8c8789082ee186d16"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gabb4f4560daa6d1f8c8789082ee186d16">osMemoryPoolFree</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id, void *block)</td></tr>
+<tr class="memdesc:gabb4f4560daa6d1f8c8789082ee186d16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an allocated memory block back to a Memory Pool. <a href="group__CMSIS__RTOS__PoolMgmt.html#gabb4f4560daa6d1f8c8789082ee186d16">More...</a><br/></td></tr>
+<tr class="separator:gabb4f4560daa6d1f8c8789082ee186d16"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad696e94bfbe28f0b6613f9303fdf6a37"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gad696e94bfbe28f0b6613f9303fdf6a37">osMemoryPoolGetCapacity</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id)</td></tr>
+<tr class="memdesc:gad696e94bfbe28f0b6613f9303fdf6a37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get maximum number of memory blocks in a Memory Pool. <a href="group__CMSIS__RTOS__PoolMgmt.html#gad696e94bfbe28f0b6613f9303fdf6a37">More...</a><br/></td></tr>
+<tr class="separator:gad696e94bfbe28f0b6613f9303fdf6a37"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab2bf059b7fa7679c3cccdaeec60b6c0e"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gab2bf059b7fa7679c3cccdaeec60b6c0e">osMemoryPoolGetBlockSize</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id)</td></tr>
+<tr class="memdesc:gab2bf059b7fa7679c3cccdaeec60b6c0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get memory block size in a Memory Pool. <a href="group__CMSIS__RTOS__PoolMgmt.html#gab2bf059b7fa7679c3cccdaeec60b6c0e">More...</a><br/></td></tr>
+<tr class="separator:gab2bf059b7fa7679c3cccdaeec60b6c0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga958a9449bff8c95ce213de98eef5739d"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga958a9449bff8c95ce213de98eef5739d">osMemoryPoolGetCount</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id)</td></tr>
+<tr class="memdesc:ga958a9449bff8c95ce213de98eef5739d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get number of memory blocks used in a Memory Pool. <a href="group__CMSIS__RTOS__PoolMgmt.html#ga958a9449bff8c95ce213de98eef5739d">More...</a><br/></td></tr>
+<tr class="separator:ga958a9449bff8c95ce213de98eef5739d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0394cffa9479a7994e3b03c79c1cb909"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga0394cffa9479a7994e3b03c79c1cb909">osMemoryPoolGetSpace</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id)</td></tr>
+<tr class="memdesc:ga0394cffa9479a7994e3b03c79c1cb909"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get number of memory blocks available in a Memory Pool. <a href="group__CMSIS__RTOS__PoolMgmt.html#ga0394cffa9479a7994e3b03c79c1cb909">More...</a><br/></td></tr>
+<tr class="separator:ga0394cffa9479a7994e3b03c79c1cb909"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8c39e7e5cd2b9eda907466808e59d62e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga8c39e7e5cd2b9eda907466808e59d62e">osMemoryPoolDelete</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id)</td></tr>
+<tr class="memdesc:ga8c39e7e5cd2b9eda907466808e59d62e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete a Memory Pool object. <a href="group__CMSIS__RTOS__PoolMgmt.html#ga8c39e7e5cd2b9eda907466808e59d62e">More...</a><br/></td></tr>
+<tr class="separator:ga8c39e7e5cd2b9eda907466808e59d62e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga24e895a00f9d484db33aaf784c57bfed"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a> (uint32_t msg_count, uint32_t msg_size, const <a class="el" href="group__CMSIS__RTOS__Message.html#structosMessageQueueAttr__t">osMessageQueueAttr_t</a> *attr)</td></tr>
+<tr class="memdesc:ga24e895a00f9d484db33aaf784c57bfed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create and Initialize a Message Queue object. <a href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">More...</a><br/></td></tr>
+<tr class="separator:ga24e895a00f9d484db33aaf784c57bfed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae7cf7bf2b97a5ae481fb60fcce99247a"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__Message.html#gae7cf7bf2b97a5ae481fb60fcce99247a">osMessageQueueGetName</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id)</td></tr>
+<tr class="memdesc:gae7cf7bf2b97a5ae481fb60fcce99247a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get name of a Message Queue object. <a href="group__CMSIS__RTOS__Message.html#gae7cf7bf2b97a5ae481fb60fcce99247a">More...</a><br/></td></tr>
+<tr class="separator:gae7cf7bf2b97a5ae481fb60fcce99247a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa515fc8b956f721a8f72b2c505813bfc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__Message.html#gaa515fc8b956f721a8f72b2c505813bfc">osMessageQueuePut</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id, const void *msg_ptr, uint8_t msg_prio, uint32_t timeout)</td></tr>
+<tr class="memdesc:gaa515fc8b956f721a8f72b2c505813bfc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Put a Message into a Queue or timeout if Queue is full. <a href="group__CMSIS__RTOS__Message.html#gaa515fc8b956f721a8f72b2c505813bfc">More...</a><br/></td></tr>
+<tr class="separator:gaa515fc8b956f721a8f72b2c505813bfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad90d4959466a7a65105061da8256ab9e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__Message.html#gad90d4959466a7a65105061da8256ab9e">osMessageQueueGet</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id, void *msg_ptr, uint8_t *msg_prio, uint32_t timeout)</td></tr>
+<tr class="memdesc:gad90d4959466a7a65105061da8256ab9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a Message from a Queue or timeout if Queue is empty. <a href="group__CMSIS__RTOS__Message.html#gad90d4959466a7a65105061da8256ab9e">More...</a><br/></td></tr>
+<tr class="separator:gad90d4959466a7a65105061da8256ab9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac24f87d4f395e9e9c900c320e45ade8a"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__Message.html#gac24f87d4f395e9e9c900c320e45ade8a">osMessageQueueGetCapacity</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id)</td></tr>
+<tr class="memdesc:gac24f87d4f395e9e9c900c320e45ade8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get maximum number of messages in a Message Queue. <a href="group__CMSIS__RTOS__Message.html#gac24f87d4f395e9e9c900c320e45ade8a">More...</a><br/></td></tr>
+<tr class="separator:gac24f87d4f395e9e9c900c320e45ade8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga96d3d84069b20359de48109e28a1a89e"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__Message.html#ga96d3d84069b20359de48109e28a1a89e">osMessageQueueGetMsgSize</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id)</td></tr>
+<tr class="memdesc:ga96d3d84069b20359de48109e28a1a89e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get maximum message size in a Memory Pool. <a href="group__CMSIS__RTOS__Message.html#ga96d3d84069b20359de48109e28a1a89e">More...</a><br/></td></tr>
+<tr class="separator:ga96d3d84069b20359de48109e28a1a89e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6a32ac394fcff568b251c160cc3014b2"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__Message.html#ga6a32ac394fcff568b251c160cc3014b2">osMessageQueueGetCount</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id)</td></tr>
+<tr class="memdesc:ga6a32ac394fcff568b251c160cc3014b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get number of queued messages in a Message Queue. <a href="group__CMSIS__RTOS__Message.html#ga6a32ac394fcff568b251c160cc3014b2">More...</a><br/></td></tr>
+<tr class="separator:ga6a32ac394fcff568b251c160cc3014b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaddf0904427436dd3880d46263c2dc9fa"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__Message.html#gaddf0904427436dd3880d46263c2dc9fa">osMessageQueueGetSpace</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id)</td></tr>
+<tr class="memdesc:gaddf0904427436dd3880d46263c2dc9fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get number of available slots for messages in a Message Queue. <a href="group__CMSIS__RTOS__Message.html#gaddf0904427436dd3880d46263c2dc9fa">More...</a><br/></td></tr>
+<tr class="separator:gaddf0904427436dd3880d46263c2dc9fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac6dce7f9ad132d266292c2e979d861b4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__Message.html#gac6dce7f9ad132d266292c2e979d861b4">osMessageQueueReset</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id)</td></tr>
+<tr class="memdesc:gac6dce7f9ad132d266292c2e979d861b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset a Message Queue to initial empty state. <a href="group__CMSIS__RTOS__Message.html#gac6dce7f9ad132d266292c2e979d861b4">More...</a><br/></td></tr>
+<tr class="separator:gac6dce7f9ad132d266292c2e979d861b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaba987f665444e0d83fa6a3a68bc72abe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__Message.html#gaba987f665444e0d83fa6a3a68bc72abe">osMessageQueueDelete</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id)</td></tr>
+<tr class="memdesc:gaba987f665444e0d83fa6a3a68bc72abe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete a Message Queue object. <a href="group__CMSIS__RTOS__Message.html#gaba987f665444e0d83fa6a3a68bc72abe">More...</a><br/></td></tr>
+<tr class="separator:gaba987f665444e0d83fa6a3a68bc72abe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Macro Definition Documentation</h2>
+<a class="anchor" id="a153a4a31b276a9758959580538720a51"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define __NO_RETURN</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a01c1359c3a5640bff6e08f09bf94ce3a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osFlagsError&#160;&#160;&#160;0x80000000U</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a78775dae56f0c9698cdab6e1ca74503f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define TZ_MODULEID_T</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Typedef Documentation</h2>
+<a class="anchor" id="a206dbc05367e03c39fc6d4d1ebcff317"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef void* <a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Message Queue ID identifies the message queue. </p>
+
+</div>
+</div>
+<a class="anchor" id="ad5ef21485fe5f60263bc0b48006202cb"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef uint32_t <a class="el" href="cmsis__os2_8h.html#ad5ef21485fe5f60263bc0b48006202cb">TZ_ModuleId_t</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Data type that identifies secure software modules called by a process. </p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="dir_a43355fbfff7212ac2193223a73d577c.html">RTOS2</a></li><li class="navelem"><a class="el" href="dir_f5870d36a7061bb81e1a64a750696f2d.html">Include</a></li><li class="navelem"><a class="el" href="cmsis__os2_8h.html">cmsis_os2.h</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/cmsis__os2_8txt.html b/docs/RTOS2/html/cmsis__os2_8txt.html
new file mode 100644
index 0000000..62767ca
--- /dev/null
+++ b/docs/RTOS2/html/cmsis__os2_8txt.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>cmsis_os2.txt File Reference</title>
+<title>CMSIS-RTOS2: cmsis_os2.txt File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('cmsis__os2_8txt.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">cmsis_os2.txt File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="cmsis__os2_8txt.html">cmsis_os2.txt</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/cmsis__os2__Event_8txt.html b/docs/RTOS2/html/cmsis__os2__Event_8txt.html
new file mode 100644
index 0000000..a865790
--- /dev/null
+++ b/docs/RTOS2/html/cmsis__os2__Event_8txt.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>cmsis_os2_Event.txt File Reference</title>
+<title>CMSIS-RTOS2: cmsis_os2_Event.txt File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('cmsis__os2__Event_8txt.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">cmsis_os2_Event.txt File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="cmsis__os2__Event_8txt.html">cmsis_os2_Event.txt</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/cmsis__os2__Kernel_8txt.html b/docs/RTOS2/html/cmsis__os2__Kernel_8txt.html
new file mode 100644
index 0000000..d380730
--- /dev/null
+++ b/docs/RTOS2/html/cmsis__os2__Kernel_8txt.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>cmsis_os2_Kernel.txt File Reference</title>
+<title>CMSIS-RTOS2: cmsis_os2_Kernel.txt File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('cmsis__os2__Kernel_8txt.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">cmsis_os2_Kernel.txt File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="cmsis__os2__Kernel_8txt.html">cmsis_os2_Kernel.txt</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/cmsis__os2__MemPool_8txt.html b/docs/RTOS2/html/cmsis__os2__MemPool_8txt.html
new file mode 100644
index 0000000..d78a1e8
--- /dev/null
+++ b/docs/RTOS2/html/cmsis__os2__MemPool_8txt.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>cmsis_os2_MemPool.txt File Reference</title>
+<title>CMSIS-RTOS2: cmsis_os2_MemPool.txt File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('cmsis__os2__MemPool_8txt.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">cmsis_os2_MemPool.txt File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="cmsis__os2__MemPool_8txt.html">cmsis_os2_MemPool.txt</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/cmsis__os2__Message_8txt.html b/docs/RTOS2/html/cmsis__os2__Message_8txt.html
new file mode 100644
index 0000000..36e08de
--- /dev/null
+++ b/docs/RTOS2/html/cmsis__os2__Message_8txt.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>cmsis_os2_Message.txt File Reference</title>
+<title>CMSIS-RTOS2: cmsis_os2_Message.txt File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('cmsis__os2__Message_8txt.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">cmsis_os2_Message.txt File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="cmsis__os2__Message_8txt.html">cmsis_os2_Message.txt</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/cmsis__os2__MigrationGuide_8txt.html b/docs/RTOS2/html/cmsis__os2__MigrationGuide_8txt.html
new file mode 100644
index 0000000..3c444b0
--- /dev/null
+++ b/docs/RTOS2/html/cmsis__os2__MigrationGuide_8txt.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>cmsis_os2_MigrationGuide.txt File Reference</title>
+<title>CMSIS-RTOS2: cmsis_os2_MigrationGuide.txt File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('cmsis__os2__MigrationGuide_8txt.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">cmsis_os2_MigrationGuide.txt File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="cmsis__os2__MigrationGuide_8txt.html">cmsis_os2_MigrationGuide.txt</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/cmsis__os2__Migration_8txt.html b/docs/RTOS2/html/cmsis__os2__Migration_8txt.html
new file mode 100644
index 0000000..dea4d94
--- /dev/null
+++ b/docs/RTOS2/html/cmsis__os2__Migration_8txt.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>cmsis_os2_Migration.txt File Reference</title>
+<title>CMSIS-RTOS2: cmsis_os2_Migration.txt File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('cmsis__os2__Migration_8txt.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">cmsis_os2_Migration.txt File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="cmsis__os2__Migration_8txt.html">cmsis_os2_Migration.txt</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/cmsis__os2__Mutex_8txt.html b/docs/RTOS2/html/cmsis__os2__Mutex_8txt.html
new file mode 100644
index 0000000..4fce0f5
--- /dev/null
+++ b/docs/RTOS2/html/cmsis__os2__Mutex_8txt.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>cmsis_os2_Mutex.txt File Reference</title>
+<title>CMSIS-RTOS2: cmsis_os2_Mutex.txt File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('cmsis__os2__Mutex_8txt.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">cmsis_os2_Mutex.txt File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="cmsis__os2__Mutex_8txt.html">cmsis_os2_Mutex.txt</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/cmsis__os2__Sema_8txt.html b/docs/RTOS2/html/cmsis__os2__Sema_8txt.html
new file mode 100644
index 0000000..bb6bf2c
--- /dev/null
+++ b/docs/RTOS2/html/cmsis__os2__Sema_8txt.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>cmsis_os2_Sema.txt File Reference</title>
+<title>CMSIS-RTOS2: cmsis_os2_Sema.txt File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('cmsis__os2__Sema_8txt.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">cmsis_os2_Sema.txt File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="cmsis__os2__Sema_8txt.html">cmsis_os2_Sema.txt</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/cmsis__os2__Status_8txt.html b/docs/RTOS2/html/cmsis__os2__Status_8txt.html
new file mode 100644
index 0000000..3566c2a
--- /dev/null
+++ b/docs/RTOS2/html/cmsis__os2__Status_8txt.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>cmsis_os2_Status.txt File Reference</title>
+<title>CMSIS-RTOS2: cmsis_os2_Status.txt File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('cmsis__os2__Status_8txt.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">cmsis_os2_Status.txt File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="cmsis__os2__Status_8txt.html">cmsis_os2_Status.txt</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/cmsis__os2__ThreadFlags_8txt.html b/docs/RTOS2/html/cmsis__os2__ThreadFlags_8txt.html
new file mode 100644
index 0000000..ae1fbf4
--- /dev/null
+++ b/docs/RTOS2/html/cmsis__os2__ThreadFlags_8txt.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>cmsis_os2_ThreadFlags.txt File Reference</title>
+<title>CMSIS-RTOS2: cmsis_os2_ThreadFlags.txt File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('cmsis__os2__ThreadFlags_8txt.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">cmsis_os2_ThreadFlags.txt File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="cmsis__os2__ThreadFlags_8txt.html">cmsis_os2_ThreadFlags.txt</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/cmsis__os2__Thread_8txt.html b/docs/RTOS2/html/cmsis__os2__Thread_8txt.html
new file mode 100644
index 0000000..383c001
--- /dev/null
+++ b/docs/RTOS2/html/cmsis__os2__Thread_8txt.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>cmsis_os2_Thread.txt File Reference</title>
+<title>CMSIS-RTOS2: cmsis_os2_Thread.txt File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('cmsis__os2__Thread_8txt.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">cmsis_os2_Thread.txt File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="cmsis__os2__Thread_8txt.html">cmsis_os2_Thread.txt</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/cmsis__os2__Timer_8txt.html b/docs/RTOS2/html/cmsis__os2__Timer_8txt.html
new file mode 100644
index 0000000..1ac965e
--- /dev/null
+++ b/docs/RTOS2/html/cmsis__os2__Timer_8txt.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>cmsis_os2_Timer.txt File Reference</title>
+<title>CMSIS-RTOS2: cmsis_os2_Timer.txt File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('cmsis__os2__Timer_8txt.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">cmsis_os2_Timer.txt File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="cmsis__os2__Timer_8txt.html">cmsis_os2_Timer.txt</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/cmsis__os2__Wait_8txt.html b/docs/RTOS2/html/cmsis__os2__Wait_8txt.html
new file mode 100644
index 0000000..4666fc5
--- /dev/null
+++ b/docs/RTOS2/html/cmsis__os2__Wait_8txt.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>cmsis_os2_Wait.txt File Reference</title>
+<title>CMSIS-RTOS2: cmsis_os2_Wait.txt File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('cmsis__os2__Wait_8txt.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">cmsis_os2_Wait.txt File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="cmsis__os2__Wait_8txt.html">cmsis_os2_Wait.txt</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/cmsis__os2__tick_8txt.html b/docs/RTOS2/html/cmsis__os2__tick_8txt.html
new file mode 100644
index 0000000..db6bcc1
--- /dev/null
+++ b/docs/RTOS2/html/cmsis__os2__tick_8txt.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>cmsis_os2_tick.txt File Reference</title>
+<title>CMSIS-RTOS2: cmsis_os2_tick.txt File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('cmsis__os2__tick_8txt.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">cmsis_os2_tick.txt File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="cmsis__os2__tick_8txt.html">cmsis_os2_tick.txt</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/config_rtx5.html b/docs/RTOS2/html/config_rtx5.html
new file mode 100644
index 0000000..4a2340d
--- /dev/null
+++ b/docs/RTOS2/html/config_rtx5.html
@@ -0,0 +1,537 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Configure RTX v5</title>
+<title>CMSIS-RTOS2: Configure RTX v5</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('config_rtx5.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">Configure RTX v5 </div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>The file "RTX_Config.h" defines the configuration parameters of CMSIS-RTOS RTX and must be part of every project that is using the CMSIS-RTOS RTX kernel. The configuration options are explained in detail in the following sections:</p>
+<ul>
+<li><a class="el" href="config_rtx5.html#systemConfig">System Configuration</a> covers system-wide settings for the global memory pool, tick frequency, ISR event buffer and round-robin thread switching.</li>
+<li><a class="el" href="config_rtx5.html#threadConfig">Thread Configuration</a> provides several parameters to configure the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html">Thread Management</a> functions.</li>
+<li><a class="el" href="config_rtx5.html#timerConfig">Timer Configuration</a> provides several parameters to configure the <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html">Timer Management</a> functions.</li>
+<li><a class="el" href="config_rtx5.html#eventFlagsConfig">Event Flags Configuration</a> provides several parameters to configure the <a class="el" href="group__CMSIS__RTOS__EventFlags.html">Event Flags</a> functions.</li>
+<li><a class="el" href="config_rtx5.html#mutexConfig">Mutex Configuration</a> provides several parameters to configure the <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html">Mutex Management</a> functions.</li>
+<li><a class="el" href="config_rtx5.html#semaphoreConfig">Semaphore Configuration</a> provides several parameters to configure the <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html">Semaphores</a> functions.</li>
+<li><a class="el" href="config_rtx5.html#memPoolConfig">Memory Pool Configuration</a> provides several parameters to configure the <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html">Memory Pool</a> functions.</li>
+<li><a class="el" href="config_rtx5.html#msgQueueConfig">Message Queue Configuration</a> provides several parameters to configure the <a class="el" href="group__CMSIS__RTOS__Message.html">Message Queue</a> functions.</li>
+<li><a class="el" href="config_rtx5.html#evtrecConfig">Event Recorder Configuration</a> provides several parameters to configure RTX for usage with <a href="http://www.keil.com/pack/doc/compiler/EventRecorder/html/index.html" target="_blank"><b>Event Recorder</b></a>.</li>
+</ul>
+<p>The file "RTX_Config.c" contains default implementations of the functions <a class="el" href="group__rtx5__specific__functions.html#ga074068b8efa7074cee68a71481d0b072">osRtxIdleThread</a> and <a class="el" href="group__rtx5__specific__functions.html#gaf1745a88f9cc60b609ab1c8076bd346d">osRtxErrorNotify</a>. Both functions can simply be overwritten with a customized behavior by redefining them as part of the user code.</p>
+<p>The configuration file uses <b>Configuration Wizard Annotations</b>. Refer to <b>Pack - Configuration Wizard Annotations</b> for details. Depending on the development tool, the annotations might lead to a more user-friendly graphical representation of the settings. The picture below shows the µVision <b>Configuration</b> <b>Wizard</b> view in MDK:</p>
+<div class="image">
+<img src="config_wizard.png" alt="config_wizard.png"/>
+<div class="caption">
+RTX_Config.h in Configuration Wizard View</div></div>
+<p> Alternatively one can provide configuration options using the compiler command line.</p>
+<p>For example one can customize the used tick frequency to 100us by (overwriting) the configuration using </p>
+<div class="fragment"><div class="line">cc -DOS_TICK_FREQ=100</div>
+</div><!-- fragment --><h1><a class="anchor" id="systemConfig"></a>
+System Configuration</h1>
+<p>The system configuration covers system-wide settings for the global memory pool, tick frequency, ISR event buffer and round-robin thread switching.</p>
+<p><b>System Configuration Options</b> </p>
+<div class="image">
+<img src="config_wizard_system.png" alt="config_wizard_system.png"/>
+<div class="caption">
+RTX_Config.h: System Configuration</div></div>
+ <table class="doxtable">
+<tr>
+<th>Name </th><th>#define </th><th>Description </th></tr>
+<tr>
+<td>Global Dynamic Memory size [bytes] </td><td><code>OS_DYNAMIC_MEM_SIZE</code> </td><td>Defines the combined global dynamic memory size for the <a class="el" href="theory_of_operation.html#GlobalMemoryPool">Global Memory Pool</a>. Default value is <span class="XML-Token">4096</span>. Value range is <span class="XML-Token">[0-1073741824]</span> bytes, in multiples of <span class="XML-Token">8</span> bytes. </td></tr>
+<tr>
+<td>Kernel Tick Frequency (Hz) </td><td><code>OS_TICK_FREQ</code> </td><td>Defines base time unit for delays and timeouts in Hz. Default: 1000Hz = 1ms period. </td></tr>
+<tr>
+<td>Round-Robin Thread switching </td><td><code>OS_ROBIN_ENABLE</code> </td><td>Enables Round-Robin Thread switching. </td></tr>
+<tr>
+<td>Round-Robin Timeout </td><td><code>OS_ROBIN_TIMEOUT</code> </td><td>Defines how long a thread will execute before a thread switch. Default value is <span class="XML-Token">5</span>. Value range is <span class="XML-Token">[1-1000]</span>. </td></tr>
+<tr>
+<td>ISR FIFO Queue </td><td><code>OS_ISR_FIFO_QUEUE</code> </td><td>RTOS Functions called from ISR store requests to this buffer. Default value is <span class="XML-Token">16 entries</span>. Value range is <span class="XML-Token">[4-256]</span> entries in multiples of <span class="XML-Token">4</span>. </td></tr>
+<tr>
+<td>Object Memory usage counters </td><td><code>OS_OBJ_MEM_USAGE</code> </td><td>Enables object memory usage counters to evaluate the maximum memory pool requirements individually for each RTOS object type. </td></tr>
+</table>
+<h2><a class="anchor" id="systemConfig_glob_mem"></a>
+Global dynamic memory</h2>
+<p>Refer to <a class="el" href="theory_of_operation.html#GlobalMemoryPool">Global Memory Pool</a>.</p>
+<h2><a class="anchor" id="systemConfig_rr"></a>
+Round-Robin Thread Switching</h2>
+<p>RTX5 may be configured to use round-robin multitasking thread switching. Round-robin allows quasi-parallel execution of several threads of the <em>same</em> priority. Threads are not really executed concurrently, but are scheduled where the available CPU time is divided into time slices and RTX5 assigns a time slice to each thread. Because the time slice is typically short (only a few milliseconds), it appears as though threads execute simultaneously.</p>
+<p>Round-robin thread switching functions as follows:</p>
+<ul>
+<li>the tick is preloaded with the timeout value when a thread switch occurs</li>
+<li>the tick is decremented (if not already zero) each system tick if the same thread is still executing</li>
+<li>when the tick reaches 0 it indicates that a timeout has occurred. If there is another thread ready with the <em>same</em> priority, then the system switches to that thread and the tick is preloaded with timeout again.</li>
+</ul>
+<p>In other words, threads execute for the duration of their time slice (unless a thread's time slice is given up). Then, RTX switches to the next thread that is in <b>READY</b> state and has the same priority. If no other thread with the same priority is ready to run, the current running thread resumes it execution.</p>
+<dl class="section note"><dt>Note</dt><dd>When switching to higher priority threads, the round-robin timeout value is reset.</dd></dl>
+<p>Round-Robin multitasking is controlled with the <b>#define OS_ROBIN_ENABLE</b>. The time slice period is configured (in RTX timer ticks) with the <b>#define OS_ROBIN_TIMEOUT</b>.</p>
+<h2><a class="anchor" id="systemConfig_isr_fifo"></a>
+ISR FIFO Queue</h2>
+<p>The RTX functions (<a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Calls from Interrupt Service Routines</a>), when called from and interrupt handler, store the request type and optional parameter to the ISR FIFO queue buffer to be processed later, after the interrupt handler exits.</p>
+<p>The scheduler is activated immediately after the IRQ handler has finished its execution to process the requests stored to the FIFO queue buffer. The required size of this buffer depends on the number of functions that are called within the interrupt handler. An insufficient queue size will be caught by <b>osRtxErrorNotify</b> with error code <b>osRtxErrorISRQueueOverflow</b>.</p>
+<h2><a class="anchor" id="systemConfig_usage_counters"></a>
+Object Memory Usage Counters</h2>
+<p>Object memory usage counters help to evaluate the maximum memory pool requirements for each object type, just like stack watermarking does for threads. The initial setup starts with a global memory pool for all object types. Consecutive runs of the application with object memory usage counters enabled, help to introduce object specific memory pools for each object type. Normally, this is required for applications that require a functional safety certification as global memory pools are not allowed in this case.</p>
+<h1><a class="anchor" id="threadConfig"></a>
+Thread Configuration</h1>
+<p>The RTX5 provides several parameters to configure the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html">Thread Management</a> functions.</p>
+<p><b>Thread Configuration Options</b> </p>
+<div class="image">
+<img src="config_wizard_threads.png" alt="config_wizard_threads.png"/>
+<div class="caption">
+RTX_Config.h: Thread Configuration</div></div>
+<p> <br/>
+ </p>
+<table class="doxtable">
+<tr>
+<th align="left">Option </th><th align="left">#define </th><th align="left">Description </th></tr>
+<tr>
+<td align="left">Object specific Memory allocation </td><td align="left"><code>OS_THREAD_OBJ_MEM</code> </td><td align="left">Enables object specific memory allocation. See <a class="el" href="theory_of_operation.html#ObjectMemoryPool">Object-specific Memory Pools</a>. </td></tr>
+<tr>
+<td align="left">Number of user Threads </td><td align="left"><code>OS_THREAD_NUM</code> </td><td align="left">Defines maximum number of user threads that can be active at the same time. Applies to user threads with system provided memory for control blocks. Default value is <span class="XML-Token">1</span>. Value range is <span class="XML-Token">[1-1000]</span>. </td></tr>
+<tr>
+<td align="left">Number of user Threads with default Stack size </td><td align="left"><code>OS_THREAD_DEF_STACK_NUM</code> </td><td align="left">Defines maximum number of user threads with default stack size and applies to user threads with <span class="XML-Token">0</span> stack size specified. Value range is <span class="XML-Token">[0-1000]</span>. </td></tr>
+<tr>
+<td align="left">Total Stack size [bytes] for user Threads with user-provided Stack size </td><td align="left"><code>OS_THREAD_USER_STACK_SIZE</code> </td><td align="left">Defines the combined stack size for user threads with user-provided stack size. Default value is <span class="XML-Token">0</span>. Value range is <span class="XML-Token">[0-1073741824]</span> Bytes, in multiples of <span class="XML-Token">8</span>. </td></tr>
+<tr>
+<td align="left">Default Thread Stack size [bytes] </td><td align="left"><code>OS_STACK_SIZE</code> </td><td align="left">Defines stack size for threads with zero stack size specified. Default value is <span class="XML-Token">200</span>. Value range is <span class="XML-Token">[96-1073741824]</span> Bytes, in multiples of <span class="XML-Token">8</span>. </td></tr>
+<tr>
+<td align="left">Idle Thread Stack size [bytes] </td><td align="left"><code>OS_IDLE_THREAD_STACK_SIZE</code> </td><td align="left">Defines stack size for Idle thread. Default value is <span class="XML-Token">200</span>. Value range is <span class="XML-Token">[72-1073741824]</span> bytes, in multiples of <span class="XML-Token">8</span>. </td></tr>
+<tr>
+<td align="left">Idle Thread TrustZone Module ID </td><td align="left"><code>OS_IDLE_THREAD_TZ_MOD_ID</code> </td><td align="left">Defines the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#a697f2aad6119d655d212ea10245ae394">TrustZone Module ID</a> the Idle Thread shall use. This needs to be set to a non-zero value if the Idle Thread need to call secure functions. Default value is <span class="XML-Token">0</span>. </td></tr>
+<tr>
+<td align="left">Stack overrun checking </td><td align="left"><code>OS_STACK_CHECK</code> </td><td align="left">Enable stack overrun checks at thread switch. </td></tr>
+<tr>
+<td align="left">Stack usage watermark </td><td align="left"><code>OS_STACK_WATERMARK</code> </td><td align="left">Initialize thread stack with watermark pattern for analyzing stack usage. Enabling this option increases significantly the execution time of thread creation. </td></tr>
+<tr>
+<td align="left">Processor mode for Thread execution </td><td align="left"><code>OS_PRIVILEGE_MODE</code> </td><td align="left">Controls the processor mode. Default value is <span class="XML-Token">Privileged</span> mode. Value range is <span class="XML-Token">[0=Unprivileged; 1=Privileged]</span> mode. </td></tr>
+</table>
+<h2><a class="anchor" id="threadConfig_countstack"></a>
+Configuration of Thread Count and Stack Space</h2>
+<p>The RTX5 kernel uses a separate stack space for each thread and provides two methods for defining the stack requirements:</p>
+<ul>
+<li><b>Static allocation</b>: when <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ad7c9b42355a4c8b9467130ab3fb19e43">osThreadAttr_t::stack_mem</a> and <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#aacbc9a219f2d6870e9ce89bb93f975c9">osThreadAttr_t::stack_size</a> specify a memory area which is used for the thread stack. <b>Attention:</b> The stack memory provided must be 64-bit aligned, i.e. by using uint64_t for declaration.</li>
+<li><b>Dynamic allocation</b>: when <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t">osThreadAttr_t</a> is NULL or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ad7c9b42355a4c8b9467130ab3fb19e43">osThreadAttr_t::stack_mem</a> is NULL, the system allocates the stack memory from:<ul>
+<li>Object-specific Memory Pool (default Stack size) when "Object specific Memory allocation" is enabled and "Number of
+ user Threads with default Stack size" is not <span class="XML-Token">0</span> and <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#aacbc9a219f2d6870e9ce89bb93f975c9">osThreadAttr_t::stack_size</a> is <span class="XML-Token">0</span> (or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t">osThreadAttr_t</a> is NULL).</li>
+<li>Object-specific Memory Pool (user-provided Stack size) when "Object specific Memory allocation" is enabled and "Total
+ Stack size for user..." is not <span class="XML-Token">0</span> and <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#aacbc9a219f2d6870e9ce89bb93f975c9">osThreadAttr_t::stack_size</a> is not <span class="XML-Token">0</span>.</li>
+<li>Global Memory Pool when "Object specific Memory allocation" is disabled or (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#aacbc9a219f2d6870e9ce89bb93f975c9">osThreadAttr_t::stack_size</a> is not <span class="XML-Token">0</span> and "Total Stack size for user..." is <span class="XML-Token">0</span>) or (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#aacbc9a219f2d6870e9ce89bb93f975c9">osThreadAttr_t::stack_size</a> is <span class="XML-Token">0</span> and "Number of user Threads with default Stack size" is <span class="XML-Token">0</span>).</li>
+</ul>
+</li>
+</ul>
+<p><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t">osThreadAttr_t</a> is a parameter of the function <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>.</p>
+<dl class="section note"><dt>Note</dt><dd>Before the RTX kernel is started by the <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221">osKernelStart()</a> function, the main stack defined in startup_<em>device</em>.s is used. The main stack is also used for:<ul>
+<li>user application calls to RTX functions in <b>thread</b> <b>mode</b> using SVC calls</li>
+<li>interrupt/exception handlers.</li>
+</ul>
+</dd></dl>
+<h2><a class="anchor" id="threadConfig_ovfcheck"></a>
+Stack Overflow Checking</h2>
+<p>RTX5 implements a software stack overflow checking that traps stack overruns. Stack is used for return addresses and automatic variables. Extensive usage or incorrect stack configuration may cause a stack overflow. Software stack overflow checking is controlled with the define <code>OS_STACK_CHECK</code>.</p>
+<p>If a stack overflow is detected, the function <a class="el" href="group__rtx5__specific__functions.html#gaf1745a88f9cc60b609ab1c8076bd346d">osRtxErrorNotify</a> with error code <a class="el" href="group__rtx5__specific__defines.html#ga42206aa2524b8fab613d26bea0f73c44">osRtxErrorStackUnderflow</a> is called. By default, this function is implemented as an endless loop and will practically stop code execution.</p>
+<h2><a class="anchor" id="threadConfig_watermark"></a>
+Stack Usage Watermark</h2>
+<p>RTX5 initializes thread stack with a watermark pattern (0xCC) when a thread is created. This allows the debugger to determine the maximum stack usage for each thread. It is typically used during development but removed from the final application. Stack usage watermark is controlled with the define <code>OS_STACK_WATERMARK</code>.</p>
+<p>Enabling this option significantly increases the execution time of <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> (depends on thread stack size).</p>
+<h2><a class="anchor" id="threadConfig_procmode"></a>
+Processor Mode for Thread Execution</h2>
+<p>RTX5 allows to execute threads in unprivileged or privileged processor mode. The processor mode is controlled with the define <code>OS_PRIVILEGE_MODE</code>.</p>
+<p>In <b>unprivileged</b> processor mode, the application software:</p>
+<ul>
+<li>has limited access to the MSR and MRS instructions, and cannot use the CPS instruction.</li>
+<li>cannot access the system timer, NVIC, or system control block.</li>
+<li>might have restricted access to memory or peripherals.</li>
+</ul>
+<p>In <b>privileged</b> processor mode, the application software can use all the instructions and has access to all resources.</p>
+<h1><a class="anchor" id="timerConfig"></a>
+Timer Configuration</h1>
+<p>RTX5 provides several parameters to configure the <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html">Timer Management</a> functions.</p>
+<p><b>Timer Configuration Options</b> </p>
+<div class="image">
+<img src="config_wizard_timer.png" alt="config_wizard_timer.png"/>
+<div class="caption">
+RTX_Config.h: Timer Configuration</div></div>
+ <table class="doxtable">
+<tr>
+<th>Name </th><th>#define </th><th>Description </th></tr>
+<tr>
+<td>Object specific Memory allocation </td><td><code>OS_TIMER_OBJ_MEM</code> </td><td>Enables object specific memory allocation. </td></tr>
+<tr>
+<td>Number of Timer objects </td><td><code>OS_TIMER_NUM</code> </td><td>Defines maximum number of objects that can be active at the same time. Applies to objects with system provided memory for control blocks. Value range is <span class="XML-Token">[1-1000]</span>. </td></tr>
+<tr>
+<td>Timer Thread Priority </td><td><code>OS_TIMER_THREAD_PRIO</code> </td><td>Defines priority for timer thread. Default value is <span class="XML-Token">40</span>. Value range is <span class="XML-Token">[8-48]</span>, in multiples of <span class="XML-Token">8</span>. The numbers have the following priority correlation: <span class="XML-Token">8=Low</span>; <span class="XML-Token">16=Below Normal</span>; <span class="XML-Token">24=Normal</span>; <span class="XML-Token">32=Above Normal</span>; <span class="XML-Token">40=High</span>; <span class="XML-Token">48=Realtime</span> </td></tr>
+<tr>
+<td>Timer Thread Stack size [bytes] </td><td><code>OS_TIMER_THREAD_STACK_SIZE</code> </td><td>Defines stack size for Timer thread. May be set to 0 when timers are not used. Default value is <span class="XML-Token">200</span>. Value range is <span class="XML-Token">[0-1073741824]</span>, in multiples of <span class="XML-Token">8</span>. </td></tr>
+<tr>
+<td>Timer Thread TrustZone Module ID </td><td><code>OS_TIMER_THREAD_TZ_MOD_ID</code> </td><td>Defines the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#a697f2aad6119d655d212ea10245ae394">TrustZone Module ID</a> the Timer Thread shall use. This needs to be set to a non-zero value if any Timer Callbacks need to call secure functions. Default value is <span class="XML-Token">0</span>. </td></tr>
+<tr>
+<td>Timer Callback Queue entries </td><td><code>OS_TIMER_CB_QUEUE</code> </td><td>Number of concurrent active timer callback functions. May be set to 0 when timers are not used. Default value is <span class="XML-Token">4</span>. Value range is <span class="XML-Token">[0-256]</span>. </td></tr>
+</table>
+<h2><a class="anchor" id="timerConfig_obj"></a>
+Object-specific memory allocation</h2>
+<p>See <a class="el" href="theory_of_operation.html#ObjectMemoryPool">Object-specific Memory Pools</a>.</p>
+<h2><a class="anchor" id="timerConfig_user"></a>
+User Timer Thread</h2>
+<p>The RTX5 function <b>osRtxTimerThread</b> executes callback functions when a time period expires. The priority of the timer subsystem within the complete RTOS system is inherited from the priority of the <b>osRtxTimerThread</b>. This is configured by <code>OS_TIMER_THREAD_PRIO</code>. Stack for callback functions is supplied by <b>osRtxTimerThread</b>. <code>OS_TIMER_THREAD_STACK_SIZE</code> must satisfy the stack requirements of the callback function with the highest stack usage.</p>
+<h1><a class="anchor" id="eventFlagsConfig"></a>
+Event Flags Configuration</h1>
+<p>RTX5 provides several parameters to configure the <a class="el" href="group__CMSIS__RTOS__EventFlags.html">Event Flags</a> functions.</p>
+<p><b>Event Configuration Options</b> </p>
+<div class="image">
+<img src="config_wizard_eventFlags.png" alt="config_wizard_eventFlags.png"/>
+<div class="caption">
+RTX_Config.h: Event Flags Configuration</div></div>
+ <table class="doxtable">
+<tr>
+<th>Name </th><th>#define </th><th>Description </th></tr>
+<tr>
+<td>Object specific Memory allocation </td><td><code>OS_EVFLAGS_OBJ_MEM</code> </td><td>Enables object specific memory allocation. See <a class="el" href="theory_of_operation.html#ObjectMemoryPool">Object-specific Memory Pools</a>. </td></tr>
+<tr>
+<td>Number of Event Flags objects </td><td><code>OS_EVFLAGS_NUM</code> </td><td>Defines maximum number of objects that can be active at the same time. Applies to objects with system provided memory for control blocks. Value range is <span class="XML-Token">[1-1000]</span>. </td></tr>
+</table>
+<h2><a class="anchor" id="eventFlagsConfig_obj"></a>
+Object-specific memory allocation</h2>
+<p>When object-specific memory is used, the pool size for all Event objects is specified by <code>OS_EVFLAGS_NUM</code>. Refer to <a class="el" href="theory_of_operation.html#ObjectMemoryPool">Object-specific Memory Pools</a>.</p>
+<h1><a class="anchor" id="mutexConfig"></a>
+Mutex Configuration</h1>
+<p>RTX5 provides several parameters to configure the <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html">Mutex Management</a> functions.</p>
+<p><b>Mutex Configuration Options</b> </p>
+<div class="image">
+<img src="config_wizard_mutex.png" alt="config_wizard_mutex.png"/>
+<div class="caption">
+RTX_Config.h: Mutex Configuration</div></div>
+<table class="doxtable">
+<tr>
+<th>Name </th><th>#define </th><th>Description </th></tr>
+<tr>
+<td>Object specific Memory allocation </td><td><code>OS_MUTEX_OBJ_MEM</code> </td><td>Enables object specific memory allocation. See <a class="el" href="theory_of_operation.html#ObjectMemoryPool">Object-specific Memory Pools</a>. </td></tr>
+<tr>
+<td>Number of Mutex objects </td><td><code>OS_MUTEX_NUM</code> </td><td>Defines maximum number of objects that can be active at the same time. Applies to objects with system provided memory for control blocks. Value range is <span class="XML-Token">[1-1000]</span>. </td></tr>
+</table>
+<h2><a class="anchor" id="mutexConfig_obj"></a>
+Object-specific Memory Allocation</h2>
+<p>When object-specific memory is used, the pool size for all Mutex objects is specified by <code>OS_MUTEX_NUM</code>. Refer to <a class="el" href="theory_of_operation.html#ObjectMemoryPool">Object-specific Memory Pools</a>.</p>
+<h1><a class="anchor" id="semaphoreConfig"></a>
+Semaphore Configuration</h1>
+<p>RTX5 provides several parameters to configure the <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html">Semaphores</a> functions.</p>
+<p><b>Semaphore Configuration Options</b> </p>
+<div class="image">
+<img src="config_wizard_semaphore.png" alt="config_wizard_semaphore.png"/>
+<div class="caption">
+RTX_Config.h: Semaphore Configuration</div></div>
+<table class="doxtable">
+<tr>
+<th>Name </th><th>#define </th><th>Description </th></tr>
+<tr>
+<td>Object specific Memory allocation </td><td><code>OS_SEMAPHORE_OBJ_MEM</code> </td><td>Enables object specific memory allocation. See <a class="el" href="theory_of_operation.html#ObjectMemoryPool">Object-specific Memory Pools</a>. </td></tr>
+<tr>
+<td>Number of Semaphore objects </td><td><code>OS_SEMAPHORE_NUM</code> </td><td>Defines maximum number of objects that can be active at the same time. Applies to objects with system provided memory for control blocks. Value range is <span class="XML-Token">[1-1000]</span>. </td></tr>
+</table>
+<h2><a class="anchor" id="semaphoreConfig_obj"></a>
+Object-specific memory allocation</h2>
+<p>When Object-specific Memory is used, the pool size for all Semaphore objects is specified by <code>OS_SEMAPHORE_NUM</code>. Refer to <a class="el" href="theory_of_operation.html#ObjectMemoryPool">Object-specific Memory Pools</a>.</p>
+<h1><a class="anchor" id="memPoolConfig"></a>
+Memory Pool Configuration</h1>
+<p>RTX5 provides several parameters to configure the <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html">Memory Pool</a> functions.</p>
+<p><b>Memory Pool Configuration Options</b> </p>
+<div class="image">
+<img src="config_wizard_memPool.png" alt="config_wizard_memPool.png"/>
+<div class="caption">
+RTX_Config.h: Memory Pool Configuration</div></div>
+ <table class="doxtable">
+<tr>
+<th>Name </th><th>#define </th><th>Description </th></tr>
+<tr>
+<td>Object specific Memory allocation </td><td><code>OS_MEMPOOL_OBJ_MEM</code> </td><td>Enables object specific memory allocation. See <a class="el" href="theory_of_operation.html#ObjectMemoryPool">Object-specific Memory Pools</a>. </td></tr>
+<tr>
+<td>Number of Memory Pool objects </td><td><code>OS_MEMPOOL_NUM</code> </td><td>Defines maximum number of objects that can be active at the same time. Applies to objects with system provided memory for control blocks. Value range is <span class="XML-Token">[1-1000]</span>. </td></tr>
+<tr>
+<td>Data Storage Memory size [bytes] </td><td><code>OS_MEMPOOL_DATA_SIZE</code> </td><td>Defines the combined data storage memory size. Applies to objects with system provided memory for data storage. Default value is <span class="XML-Token">0</span>. Value range is <span class="XML-Token">[0-1073741824]</span>, in multiples of <span class="XML-Token">8</span>. </td></tr>
+</table>
+<h2><a class="anchor" id="memPoolConfig_obj"></a>
+Object-specific memory allocation</h2>
+<p>When object-specific memory is used, the number of pools for all MemoryPool objects is specified by <code>OS_MEMPOOL_NUM</code>. The total storage size reserved for all pools is configured in <code>OS_MEMPOOL_DATA_SIZE</code>. Refer to <a class="el" href="theory_of_operation.html#ObjectMemoryPool">Object-specific Memory Pools</a>.</p>
+<h1><a class="anchor" id="msgQueueConfig"></a>
+Message Queue Configuration</h1>
+<p>RTX5 provides several parameters to configure the <a class="el" href="group__CMSIS__RTOS__Message.html">Message Queue</a> functions.</p>
+<p><b>MessageQueue Configuration Options</b> </p>
+<div class="image">
+<img src="config_wizard_msgQueue.png" alt="config_wizard_msgQueue.png"/>
+<div class="caption">
+RTX_Config.h: Message Queue Configuration</div></div>
+ <table class="doxtable">
+<tr>
+<th>Name </th><th>#define </th><th>Description </th></tr>
+<tr>
+<td>Object specific Memory allocation </td><td><code>OS_MSGQUEUE_OBJ_MEM</code> </td><td>Enables object specific memory allocation. See <a class="el" href="theory_of_operation.html#ObjectMemoryPool">Object-specific Memory Pools</a>. </td></tr>
+<tr>
+<td>Number of Message Queue objects </td><td><code>OS_MSGQUEUE_NUM</code> </td><td>Defines maximum number of objects that can be active at the same time. Applies to objects with system provided memory for control blocks. Value range is <span class="XML-Token">[1-1000]</span>. </td></tr>
+<tr>
+<td>Data Storage Memory size [bytes] </td><td><code>OS_MSGQUEUE_DATA_SIZE</code> </td><td>Defines the combined data storage memory size. Applies to objects with system provided memory for data storage. Default value is <span class="XML-Token">0</span>. Value range is <span class="XML-Token">[0-1073741824]</span>, in multiples of <span class="XML-Token">8</span>. </td></tr>
+</table>
+<h2><a class="anchor" id="msgQueueConfig_obj"></a>
+Object-specific memory allocation</h2>
+<p>When Object-specific Memory is used, the number of queues for all Message Queue objects is specified by <code>OS_MSGQUEUE_NUM</code>. The total storage size reserved for all queues is configured in <code>OS_MSGQUEUE_DATA_SIZE</code>. Refer to <a class="el" href="theory_of_operation.html#ObjectMemoryPool">Object-specific Memory Pools</a>.</p>
+<h1><a class="anchor" id="evtrecConfig"></a>
+Event Recorder Configuration</h1>
+<p>This section describes the configuration settings for the <a href="http://www.keil.com/pack/doc/compiler/EventRecorder/html/index.html" target="_blank">Event Recorder</a> annotations. The usage requires the source variant of RTX5; refer to <a class="el" href="cre_rtx_proj.html#cre_rtx_proj_er">Add Event Recorder Visibility</a> for more information.</p>
+<h2><a class="anchor" id="evtrecConfigGlobIni"></a>
+Global Configuration</h2>
+<p>Initialize Event Recorder during the <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659">osKernelInitialize</a> and optionally start event recording.</p>
+<div class="image">
+<img src="config_wizard_evtrecGlobIni.png" alt="config_wizard_evtrecGlobIni.png"/>
+<div class="caption">
+RTX_Config.h: Initialization and filter setup configuration</div></div>
+<p> <br/>
+</p>
+<table class="doxtable">
+<tr>
+<th>Name </th><th>#define </th><th>Description </th></tr>
+<tr>
+<td>Global Initialization </td><td><code>OS_EVR_INIT</code> </td><td>Initialize Event Recorder during <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659">osKernelInitialize</a>. </td></tr>
+<tr>
+<td>Start Recording </td><td><code>OS_EVR_START</code> </td><td>Start event recording after initialization. </td></tr>
+</table>
+<dl class="section note"><dt>Note</dt><dd><ul>
+<li>If <b>Global Initialization (<code>OS_EVR_INIT</code>)</b> is set, an explicit call to <code>EventRecorderInitialize</code> is not required.</li>
+<li>If <b>Start Recording (<code>OS_EVR_START</code>)</b> is set, an explicit call to <code>EventRecorderStart</code> is not required. You may call the function <code>EventRecorderStop</code> to stop recording.</li>
+</ul>
+</dd></dl>
+<p><b>Global Event Filter Setup</b></p>
+<p>These event filter settings are applied to all software component numbers, including MDK middleware and user components.</p>
+<div class="image">
+<img src="config_wizard_evtrecGlobEvtFiltSetup.png" alt="config_wizard_evtrecGlobEvtFiltSetup.png"/>
+<div class="caption">
+RTX_Config.h: Global Event Filter Setup</div></div>
+<p> <br/>
+</p>
+<table class="doxtable">
+<tr>
+<th>Name </th><th>#define </th><th>Description </th></tr>
+<tr>
+<td>Error events </td><td><code>OS_EVR_LEVEL</code> </td><td>Enable error events. </td></tr>
+<tr>
+<td>API function call events </td><td><code>OS_EVR_LEVEL</code> </td><td>Enable API function call events. </td></tr>
+<tr>
+<td>Operation events </td><td><code>OS_EVR_LEVEL</code> </td><td>Enable operation events. </td></tr>
+<tr>
+<td>Detailed operation events </td><td><code>OS_EVR_LEVEL</code> </td><td>Enable detailed operation events. </td></tr>
+</table>
+<dl class="section note"><dt>Note</dt><dd>You may disable event recording for specific software components by calling the function <code>EventRecorderDisable</code>.</dd></dl>
+<p><b>RTOS Event Filter Setup</b></p>
+<p>These event filter settings are applied to specific RTX component groups with sub-options for:</p>
+<ul>
+<li>Error events</li>
+<li>API function call events</li>
+<li>Operation events</li>
+<li>Detailed operation events</li>
+</ul>
+<p>The generation of events must be enabled as explained under <a class="el" href="config_rtx5.html#evtrecConfigEvtGen">RTOS Event Generation</a>.</p>
+<div class="image">
+<img src="config_wizard_evtrecRTOSEvtFilterSetup.png" alt="config_wizard_evtrecRTOSEvtFilterSetup.png"/>
+<div class="caption">
+RTX_Config.h: RTOS Event Filter Setup</div></div>
+<p> <br/>
+</p>
+<table class="doxtable">
+<tr>
+<th>Name </th><th>#define </th><th>Description </th></tr>
+<tr>
+<td>Memory Management </td><td><code>OS_EVR_MEMORY_FILTER</code> </td><td>Filter enable for Memory Management events. </td></tr>
+<tr>
+<td>Kernel </td><td><code>OS_EVR_KERNEL_FILTER</code> </td><td>Filter enable for Kernel events. </td></tr>
+<tr>
+<td>Thread </td><td><code>OS_EVR_THREAD_FILTER</code> </td><td>Filter enable for Thread events. </td></tr>
+<tr>
+<td>Timer </td><td><code>OS_EVR_TIMER_FILTER</code> </td><td>Filter enable for Timer events. </td></tr>
+<tr>
+<td>Event Flags </td><td><code>OS_EVR_EVFLAGS_FILTER</code> </td><td>Filter enable for Event Flags events. </td></tr>
+<tr>
+<td>Mutex </td><td><code>OS_EVR_MUTEX_FILTER</code> </td><td>Filter enable for Mutex events. </td></tr>
+<tr>
+<td>Semaphore </td><td><code>OS_EVR_SEMAPHORE_FILTER</code> </td><td>Filter enable for Semaphore events. </td></tr>
+<tr>
+<td>Memory Pool </td><td><code>OS_EVR_MEMPOOL_FILTER</code> </td><td>Filter enable for Memory Pool events. </td></tr>
+<tr>
+<td>Message Queue </td><td><code>OS_EVR_MSGQUEUE_FILTER</code> </td><td>Filter enable for Message Queue events. </td></tr>
+</table>
+<h2><a class="anchor" id="evtrecConfigEvtGen"></a>
+RTOS Event Generation</h2>
+<p>Enable the event generation for specific RTX component groups. This requires the RTX source variant (refer to <a class="el" href="cre_rtx_proj.html#cre_rtx_proj_er">Add Event Recorder Visibility</a> for more information).</p>
+<div class="image">
+<img src="config_wizard_evtrecGeneration.png" alt="config_wizard_evtrecGeneration.png"/>
+<div class="caption">
+RTX_Config.h: Event generation configuration</div></div>
+<p> <br/>
+</p>
+<table class="doxtable">
+<tr>
+<th>Name </th><th>#define </th><th>Description </th></tr>
+<tr>
+<td>Memory Management </td><td><code>OS_EVR_MEMORY</code> </td><td>Enables Memory Management events recording. </td></tr>
+<tr>
+<td>Kernel </td><td><code>OS_EVR_KERNEL</code> </td><td>Enables Kernel events recording. </td></tr>
+<tr>
+<td>Thread </td><td><code>OS_EVR_THREAD</code> </td><td>Enables Thread events recording. </td></tr>
+<tr>
+<td>Timer </td><td><code>OS_EVR_TIMER</code> </td><td>Enables Timer events recording. </td></tr>
+<tr>
+<td>Event Flags </td><td><code>OS_EVR_EVFLAGS</code> </td><td>Enables Event Flags events recording. </td></tr>
+<tr>
+<td>Mutex </td><td><code>OS_EVR_MUTEX</code> </td><td>Enables Mutex events recording. </td></tr>
+<tr>
+<td>Semaphore </td><td><code>OS_EVR_SEMAPHORE</code> </td><td>Enables Semaphore events recording. </td></tr>
+<tr>
+<td>Memory Pool </td><td><code>OS_EVR_MEMPOOL</code> </td><td>Enables Memory Pool events recording. </td></tr>
+<tr>
+<td>Message Queue </td><td><code>OS_EVR_MSGQUEUE</code> </td><td>Enables Message Queue events recording. </td></tr>
+</table>
+<dl class="section note"><dt>Note</dt><dd>If event generation for a component is disabled, the code that generates the related events is not included. Thus, <a class="el" href="config_rtx5.html#evtrecConfigGlobIni">filters</a> for this component will have no effect and the debugger is unable to display any events for the related component group.</dd></dl>
+<h2><a class="anchor" id="systemConfig_event_recording"></a>
+Manual event configuration</h2>
+<p>To disable the generation of events for a specific RTX API call, use the following #define settings (from <b>rtx_evrt.h</b>) and add these manually to the <b>RTX_Config.h</b> file:</p>
+<p><b>Memory</b> <b>events</b> <br/>
+<code>EVR_RTX_MEMORY_INIT_DISABLE</code>, <code>EVR_RTX_MEMORY_ALLOC_DISABLE</code>, <code>EVR_RTX_MEMORY_FREE_DISABLE</code>, <code>EVR_RTX_MEMORY_BLOCK_INIT_DISABLE</code>, <code>EVR_RTX_MEMORY_BLOCK_ALLOC_DISABLE</code>, <code>EVR_RTX_MEMORY_BLOCK_FREE_DISABLE</code> </p>
+<p><b>Kernel</b> <b>events</b> <br/>
+<code>EVR_RTX_KERNEL_ERROR_DISABLE</code>, <code>EVR_RTX_KERNEL_INITIALIZE_DISABLE</code>, <code>EVR_RTX_KERNEL_INITIALIZED_DISABLE</code>, <code>EVR_RTX_KERNEL_GET_INFO_DISABLE</code>, <code>EVR_RTX_KERNEL_INFO_RETRIEVED_DISABLE</code>, <code>EVR_RTX_KERNEL_GET_STATE_DISABLE</code>, <code>EVR_RTX_KERNEL_START_DISABLE</code>, <code>EVR_RTX_KERNEL_STARTED_DISABLE</code>, <code>EVR_RTX_KERNEL_LOCK_DISABLE</code>, <code>EVR_RTX_KERNEL_LOCKED_DISABLE</code>, <code>EVR_RTX_KERNEL_UNLOCK_DISABLE</code>, <code>EVR_RTX_KERNEL_UNLOCKED_DISABLE</code>, <code>EVR_RTX_KERNEL_RESTORE_LOCK_DISABLE</code>, <code>EVR_RTX_KERNEL_LOCK_RESTORED_DISABLE</code>, <code>EVR_RTX_KERNEL_SUSPEND_DISABLE</code>, <code>EVR_RTX_KERNEL_SUSPENDED_DISABLE</code>, <code>EVR_RTX_KERNEL_RESUME_DISABLE</code>, <code>EVR_RTX_KERNEL_RESUMED_DISABLE</code>, <code>EVR_RTX_KERNEL_GET_TICK_COUNT_DISABLE</code>, <code>EVR_RTX_KERNEL_GET_TICK_FREQ_DISABLE</code>, <code>EVR_RTX_KERNEL_GET_SYS_TIMER_COUNT_DISABLE</code>, <code>EVR_RTX_KERNEL_GET_SYS_TIMER_FREQ_DISABLE</code> </p>
+<p><b>Thread</b> <b>events</b> <br/>
+<code>EVR_RTX_THREAD_ERROR_DISABLE</code>, <code>EVR_RTX_THREAD_NEW_DISABLE</code>, <code>EVR_RTX_THREAD_CREATED_DISABLE</code>, <code>EVR_RTX_THREAD_GET_NAME_DISABLE</code>, <code>EVR_RTX_THREAD_GET_ID_DISABLE</code>, <code>EVR_RTX_THREAD_GET_STATE_DISABLE</code>, <code>EVR_RTX_THREAD_GET_STACK_SIZE_DISABLE</code>, <code>EVR_RTX_THREAD_GET_STACK_SPACE_DISABLE</code>, <code>EVR_RTX_THREAD_SET_PRIORITY_DISABLE</code>, <code>EVR_RTX_THREAD_GET_PRIORITY_DISABLE</code>, <code>EVR_RTX_THREAD_YIELD_DISABLE</code>, <code>EVR_RTX_THREAD_SUSPEND_DISABLE</code>, <code>EVR_RTX_THREAD_SUSPENDED_DISABLE</code>, <code>EVR_RTX_THREAD_RESUME_DISABLE</code>, <code>EVR_RTX_THREAD_RESUMED_DISABLE</code>, <code>EVR_RTX_THREAD_DETACH_DISABLE</code>, <code>EVR_RTX_THREAD_DETACHED_DISABLE</code>, <code>EVR_RTX_THREAD_JOIN_DISABLE</code>, <code>EVR_RTX_THREAD_JOIN_PENDING_DISABLE</code>, <code>EVR_RTX_THREAD_JOINED_DISABLE</code>, <code>EVR_RTX_THREAD_BLOCKED_DISABLE</code>, <code>EVR_RTX_THREAD_UNBLOCKED_DISABLE</code>, <code>EVR_RTX_THREAD_PREEMPTED_DISABLE</code>, <code>EVR_RTX_THREAD_SWITCHED_DISABLE</code>, <code>EVR_RTX_THREAD_EXIT_DISABLE</code>, <code>EVR_RTX_THREAD_TERMINATE_DISABLE</code>, <code>EVR_RTX_THREAD_DESTROYED_DISABLE</code>, <code>EVR_RTX_THREAD_GET_COUNT_DISABLE</code>, <code>EVR_RTX_THREAD_ENUMERATE_DISABLE</code> </p>
+<p><b>Thread</b> <b>flag</b> <b>events</b> <br/>
+<code>EVR_RTX_THREAD_FLAGS_SET_DISABLE</code>, <code>EVR_RTX_THREAD_FLAGS_SET_DONE_DISABLE</code>, <code>EVR_RTX_THREAD_FLAGS_CLEAR_DISABLE</code>, <code>EVR_RTX_THREAD_FLAGS_CLEAR_DONE_DISABLE</code>, <code>EVR_RTX_THREAD_FLAGS_GET_DISABLE</code>, <code>EVR_RTX_THREAD_FLAGS_WAIT_DISABLE</code>, <code>EVR_RTX_THREAD_FLAGS_WAIT_PENDING_DISABLE</code>, <code>EVR_RTX_THREAD_FLAGS_WAIT_TIMEOUT_DISABLE</code>, <code>EVR_RTX_THREAD_FLAGS_WAIT_COMPLETED_DISABLE</code>, <code>EVR_RTX_THREAD_FLAGS_WAIT_NOT_COMPLETED_DISABLE</code> </p>
+<p><b>Generic</b> <b>wait</b> <b>events</b> <br/>
+<code>EVR_RTX_THREAD_DELAY_DISABLE</code>, <code>EVR_RTX_THREAD_DELAY_UNTIL_DISABLE</code>, <code>EVR_RTX_THREAD_DELAY_COMPLETED_DISABLE</code> </p>
+<p><b>Timer</b> <b>events</b> <br/>
+<code>EVR_RTX_TIMER_ERROR_DISABLE</code>, <code>EVR_RTX_TIMER_CALLBACK_DISABLE</code>, <code>EVR_RTX_TIMER_NEW_DISABLE</code>, <code>EVR_RTX_TIMER_CREATED_DISABLE</code>, <code>EVR_RTX_TIMER_GET_NAME_DISABLE</code>, <code>EVR_RTX_TIMER_START_DISABLE</code>, <code>EVR_RTX_TIMER_STARTED_DISABLE</code>, <code>EVR_RTX_TIMER_STOP_DISABLE</code>, <code>EVR_RTX_TIMER_STOPPED_DISABLE</code>, <code>EVR_RTX_TIMER_IS_RUNNING_DISABLE</code>, <code>EVR_RTX_TIMER_DELETE_DISABLE</code>, <code>EVR_RTX_TIMER_DESTROYED_DISABLE</code> </p>
+<p><b>Event</b> <b>flag</b> <b>events</b> <br/>
+<code>EVR_RTX_EVENT_FLAGS_ERROR_DISABLE</code>, <code>EVR_RTX_EVENT_FLAGS_NEW_DISABLE</code>, <code>EVR_RTX_EVENT_FLAGS_CREATED_DISABLE</code>, <code>EVR_RTX_EVENT_FLAGS_GET_NAME_DISABLE</code>, <code>EVR_RTX_EVENT_FLAGS_SET_DISABLE</code>, <code>EVR_RTX_EVENT_FLAGS_SET_DONE_DISABLE</code>, <code>EVR_RTX_EVENT_FLAGS_CLEAR_DISABLE</code>, <code>EVR_RTX_EVENT_FLAGS_CLEAR_DONE_DISABLE</code>, <code>EVR_RTX_EVENT_FLAGS_GET_DISABLE</code>, <code>EVR_RTX_EVENT_FLAGS_WAIT_DISABLE</code>, <code>EVR_RTX_EVENT_FLAGS_WAIT_PENDING_DISABLE</code>, <code>EVR_RTX_EVENT_FLAGS_WAIT_TIMEOUT_DISABLE</code>, <code>EVR_RTX_EVENT_FLAGS_WAIT_COMPLETED_DISABLE</code>, <code>EVR_RTX_EVENT_FLAGS_WAIT_NOT_COMPLETED_DISABLE</code>, <code>EVR_RTX_EVENT_FLAGS_DELETE_DISABLE</code>, <code>EVR_RTX_EVENT_FLAGS_DESTROYED_DISABLE</code> </p>
+<p><b>Mutex</b> <b>events</b> <br/>
+<code>EVR_RTX_MUTEX_ERROR_DISABLE</code>, <code>EVR_RTX_MUTEX_NEW_DISABLE</code>, <code>EVR_RTX_MUTEX_CREATED_DISABLE</code>, <code>EVR_RTX_MUTEX_GET_NAME_DISABLE</code>, <code>EVR_RTX_MUTEX_ACQUIRE_DISABLE</code>, <code>EVR_RTX_MUTEX_ACQUIRE_PENDING_DISABLE</code>, <code>EVR_RTX_MUTEX_ACQUIRE_TIMEOUT_DISABLE</code>, <code>EVR_RTX_MUTEX_ACQUIRED_DISABLE</code>, <code>EVR_RTX_MUTEX_NOT_ACQUIRED_DISABLE</code>, <code>EVR_RTX_MUTEX_RELEASE_DISABLE</code>, <code>EVR_RTX_MUTEX_RELEASED_DISABLE</code>, <code>EVR_RTX_MUTEX_GET_OWNER_DISABLE</code>, <code>EVR_RTX_MUTEX_DELETE_DISABLE</code>, <code>EVR_RTX_MUTEX_DESTROYED_DISABLE</code> </p>
+<p><b>Semaphore</b> <b>events</b> <br/>
+<code>EVR_RTX_SEMAPHORE_ERROR_DISABLE</code>, <code>EVR_RTX_SEMAPHORE_NEW_DISABLE</code>, <code>EVR_RTX_SEMAPHORE_CREATED_DISABLE</code>, <code>EVR_RTX_SEMAPHORE_GET_NAME_DISABLE</code>, <code>EVR_RTX_SEMAPHORE_ACQUIRE_DISABLE</code>, <code>EVR_RTX_SEMAPHORE_ACQUIRE_PENDING_DISABLE</code>, <code>EVR_RTX_SEMAPHORE_ACQUIRE_TIMEOUT_DISABLE</code>, <code>EVR_RTX_SEMAPHORE_ACQUIRED_DISABLE</code>, <code>EVR_RTX_SEMAPHORE_NOT_ACQUIRED_DISABLE</code>, <code>EVR_RTX_SEMAPHORE_RELEASE_DISABLE</code>, <code>EVR_RTX_SEMAPHORE_RELEASED_DISABLE</code>, <code>EVR_RTX_SEMAPHORE_GET_COUNT_DISABLE</code>, <code>EVR_RTX_SEMAPHORE_DELETE_DISABLE</code>, <code>EVR_RTX_SEMAPHORE_DESTROYED_DISABLE</code> </p>
+<p><b>Memory</b> <b>pool</b> <b>events</b> <br/>
+<code>EVR_RTX_MEMORY_POOL_ERROR_DISABLE</code>, <code>EVR_RTX_MEMORY_POOL_NEW_DISABLE</code>, <code>EVR_RTX_MEMORY_POOL_CREATED_DISABLE</code>, <code>EVR_RTX_MEMORY_POOL_GET_NAME_DISABLE</code>, <code>EVR_RTX_MEMORY_POOL_ALLOC_DISABLE</code>, <code>EVR_RTX_MEMORY_POOL_ALLOC_PENDING_DISABLE</code>, <code>EVR_RTX_MEMORY_POOL_ALLOC_TIMEOUT_DISABLE</code>, <code>EVR_RTX_MEMORY_POOL_ALLOCATED_DISABLE</code>, <code>EVR_RTX_MEMORY_POOL_ALLOC_FAILED_DISABLE</code>, <code>EVR_RTX_MEMORY_POOL_FREE_DISABLE</code>, <code>EVR_RTX_MEMORY_POOL_DEALLOCATED_DISABLE</code>, <code>EVR_RTX_MEMORY_POOL_FREE_FAILED_DISABLE</code>, <code>EVR_RTX_MEMORY_POOL_GET_CAPACITY_DISABLE</code>, <code>EVR_RTX_MEMORY_POOL_GET_BLOCK_SZIE_DISABLE</code>, <code>EVR_RTX_MEMORY_POOL_GET_COUNT_DISABLE</code>, <code>EVR_RTX_MEMORY_POOL_GET_SPACE_DISABLE</code>, <code>EVR_RTX_MEMORY_POOL_DELETE_DISABLE</code>, <code>EVR_RTX_MEMORY_POOL_DESTROYED_DISABLE</code> </p>
+<p><b>Message</b> <b>queue</b> <b>events</b> <br/>
+<code>EVR_RTX_MESSAGE_QUEUE_ERROR_DISABLE</code>, <code>EVR_RTX_MESSAGE_QUEUE_NEW_DISABLE</code>, <code>EVR_RTX_MESSAGE_QUEUE_CREATED_DISABLE</code>, <code>EVR_RTX_MESSAGE_QUEUE_GET_NAME_DISABLE</code>, <code>EVR_RTX_MESSAGE_QUEUE_PUT_DISABLE</code>, <code>EVR_RTX_MESSAGE_QUEUE_PUT_PENDING_DISABLE</code>, <code>EVR_RTX_MESSAGE_QUEUE_PUT_TIMEOUT_DISABLE</code>, <code>EVR_RTX_MESSAGE_QUEUE_INSERT_PENDING_DISABLE</code>, <code>EVR_RTX_MESSAGE_QUEUE_INSERTED_DISABLE</code>, <code>EVR_RTX_MESSAGE_QUEUE_NOT_INSERTED_DISABLE</code>, <code>EVR_RTX_MESSAGE_QUEUE_GET_DISABLE</code>, <code>EVR_RTX_MESSAGE_QUEUE_GET_PENDING_DISABLE</code>, <code>EVR_RTX_MESSAGE_QUEUE_GET_TIMEOUT_DISABLE</code>, <code>EVR_RTX_MESSAGE_QUEUE_RETRIEVED_DISABLE</code>, <code>EVR_RTX_MESSAGE_QUEUE_NOT_RETRIEVED_DISABLE</code>, <code>EVR_RTX_MESSAGE_QUEUE_GET_CAPACITY_DISABLE</code>, <code>EVR_RTX_MESSAGE_QUEUE_GET_MSG_SIZE_DISABLE</code>, <code>EVR_RTX_MESSAGE_QUEUE_GET_COUNT_DISABLE</code>, <code>EVR_RTX_MESSAGE_QUEUE_GET_SPACE_DISABLE</code>, <code>EVR_RTX_MESSAGE_QUEUE_RESET_DISABLE</code>, <code>EVR_RTX_MESSAGE_QUEUE_RESET_DONE_DISABLE</code>, <code>EVR_RTX_MESSAGE_QUEUE_DELETE_DISABLE</code>, <code>EVR_RTX_MESSAGE_QUEUE_DESTROYED_DISABLE</code> </p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="index.html">index</a></li><li class="navelem"><a class="el" href="rtx5_impl.html">RTX v5 Implementation</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/config_wizard.png b/docs/RTOS2/html/config_wizard.png
new file mode 100644
index 0000000..578946d
--- /dev/null
+++ b/docs/RTOS2/html/config_wizard.png
Binary files differ
diff --git a/docs/RTOS2/html/config_wizard_eventFlags.png b/docs/RTOS2/html/config_wizard_eventFlags.png
new file mode 100644
index 0000000..949cd75
--- /dev/null
+++ b/docs/RTOS2/html/config_wizard_eventFlags.png
Binary files differ
diff --git a/docs/RTOS2/html/config_wizard_evtrecGeneration.png b/docs/RTOS2/html/config_wizard_evtrecGeneration.png
new file mode 100644
index 0000000..f5bd1d7
--- /dev/null
+++ b/docs/RTOS2/html/config_wizard_evtrecGeneration.png
Binary files differ
diff --git a/docs/RTOS2/html/config_wizard_evtrecGlobEvtFiltSetup.png b/docs/RTOS2/html/config_wizard_evtrecGlobEvtFiltSetup.png
new file mode 100644
index 0000000..c65bd3f
--- /dev/null
+++ b/docs/RTOS2/html/config_wizard_evtrecGlobEvtFiltSetup.png
Binary files differ
diff --git a/docs/RTOS2/html/config_wizard_evtrecGlobIni.png b/docs/RTOS2/html/config_wizard_evtrecGlobIni.png
new file mode 100644
index 0000000..1f2007f
--- /dev/null
+++ b/docs/RTOS2/html/config_wizard_evtrecGlobIni.png
Binary files differ
diff --git a/docs/RTOS2/html/config_wizard_evtrecRTOSEvtFilterSetup.png b/docs/RTOS2/html/config_wizard_evtrecRTOSEvtFilterSetup.png
new file mode 100644
index 0000000..dab696f
--- /dev/null
+++ b/docs/RTOS2/html/config_wizard_evtrecRTOSEvtFilterSetup.png
Binary files differ
diff --git a/docs/RTOS2/html/config_wizard_memPool.png b/docs/RTOS2/html/config_wizard_memPool.png
new file mode 100644
index 0000000..ecf9d5b
--- /dev/null
+++ b/docs/RTOS2/html/config_wizard_memPool.png
Binary files differ
diff --git a/docs/RTOS2/html/config_wizard_msgQueue.png b/docs/RTOS2/html/config_wizard_msgQueue.png
new file mode 100644
index 0000000..528287c
--- /dev/null
+++ b/docs/RTOS2/html/config_wizard_msgQueue.png
Binary files differ
diff --git a/docs/RTOS2/html/config_wizard_mutex.png b/docs/RTOS2/html/config_wizard_mutex.png
new file mode 100644
index 0000000..07ad063
--- /dev/null
+++ b/docs/RTOS2/html/config_wizard_mutex.png
Binary files differ
diff --git a/docs/RTOS2/html/config_wizard_semaphore.png b/docs/RTOS2/html/config_wizard_semaphore.png
new file mode 100644
index 0000000..03d2064
--- /dev/null
+++ b/docs/RTOS2/html/config_wizard_semaphore.png
Binary files differ
diff --git a/docs/RTOS2/html/config_wizard_system.png b/docs/RTOS2/html/config_wizard_system.png
new file mode 100644
index 0000000..6502d6e
--- /dev/null
+++ b/docs/RTOS2/html/config_wizard_system.png
Binary files differ
diff --git a/docs/RTOS2/html/config_wizard_threads.png b/docs/RTOS2/html/config_wizard_threads.png
new file mode 100644
index 0000000..f7870fd
--- /dev/null
+++ b/docs/RTOS2/html/config_wizard_threads.png
Binary files differ
diff --git a/docs/RTOS2/html/config_wizard_timer.png b/docs/RTOS2/html/config_wizard_timer.png
new file mode 100644
index 0000000..1722acb
--- /dev/null
+++ b/docs/RTOS2/html/config_wizard_timer.png
Binary files differ
diff --git a/docs/RTOS2/html/cre_rtx_proj.html b/docs/RTOS2/html/cre_rtx_proj.html
new file mode 100644
index 0000000..97a0115
--- /dev/null
+++ b/docs/RTOS2/html/cre_rtx_proj.html
@@ -0,0 +1,208 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Create an RTX5 Project</title>
+<title>CMSIS-RTOS2: Create an RTX5 Project</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('cre_rtx_proj.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">Create an RTX5 Project </div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>The steps to create a microcontroller application using RTX5 are:</p>
+<ul>
+<li>Create a new project and select a microcontroller device.</li>
+<li><p class="startli">In the Manage Run-Time Environment window, select <b>CMSIS::CORE</b> and <b>CMSIS::RTOS2 (API)::Keil RTX5</b>. You can choose to either add RTX as a library (Variant: <b>Library</b>) or to add the full source code (Variant: <b>Source</b> - required if using the <a href="http://www.keil.com/pack/doc/compiler/EventRecorder/html/index.html" target="_blank"><b>Event Recorder</b></a>):</p>
+<div class="image">
+<img src="manage_rte_output.png" alt="manage_rte_output.png"/>
+</div>
+</li>
+<li>If the <b>Validation Output</b> requires other components to be present, try to use the <b>Resolve</b> button.</li>
+<li><p class="startli">Click <b>OK</b>. In the <b>Project</b> window, you will see the files that have been automatically added to you project, such as <b>RTX_Config.h</b>, <b>RTX_Config.c</b>, the library or the source code files, as well as the system and startup files:</p>
+<div class="image">
+<img src="project_window.png" alt="project_window.png"/>
+</div>
+</li>
+<li>If using the Variant: <b>Source</b> as statet above, you have to assure to use at least C99 compiler mode (Project Options -&gt; C/C++ -&gt; C99 Mode).</li>
+<li><p class="startli">You can add template files to the project by right-clicking on <b>Source Group 1</b> and selecting <b>Add New Item to 'Source Group 1'</b>. In the new window, click on <b>User Code Template</b>. On the right-hand side you will see all available template files for CMSIS-RTOS RTX:</p>
+<div class="image">
+<img src="add_item.png" alt="add_item.png"/>
+</div>
+</li>
+<li><a class="el" href="config_rtx5.html">Configure</a> RTX5 to the application's needs using the <b>RTX_Config.h</b> file.</li>
+</ul>
+<h1><a class="anchor" id="cre_rtx_cortexa"></a>
+Additional requirements for RTX on Cortex-A</h1>
+<p>Cortex-A based microcontrollers are less unified with respect to the interrupt and timer implementations used compared to M-class devices. Thus RTX requires additional components when an A-class device is used, namely <a href="../../Core_A/html/group__irq__ctrl__gr.html"><b>IRQ Controller (API)</b></a> and <a class="el" href="group__CMSIS__RTOS__TickAPI.html">OS Tick (API)</a> implementations.</p>
+<div class="image">
+<img src="manage_rte_cortex-a.png" alt="manage_rte_cortex-a.png"/>
+</div>
+<p>The default implementations provided along with CMSIS are</p>
+<ul>
+<li>Arm <a href="../../Core_A/html/group__GIC__functions.html">Generic Interrupt Controller (GIC)</a></li>
+<li>Arm Cortex-A5, Cortex-A9 <a href="../../Core_A/html/group__PTM__timer__functions.html">Private Timer (PTIM)</a></li>
+<li>Arm Cortex-A7 <a href="../../Core_A/html/group__PL1__timer__functions.html">Generic Physical Timer (GTIM)</a></li>
+</ul>
+<p>For devices not implementing GIC, PTIM nor GTIM please refer to the according device family pack and select the proper implementations.</p>
+<h1><a class="anchor" id="cre_UsingIRQs"></a>
+Using Interrupts on Cortex-M</h1>
+<p>On Cortex-M processors, the RTX5 kernel uses the following interrupt exceptions. The table below also lists the priorities that must be assigned to these interrupts.</p>
+<table class="doxtable">
+<tr>
+<th align="left">Handler </th><th align="left">Priority </th><th align="left">Interrupt/Exception </th></tr>
+<tr>
+<td align="left">SysTick </td><td align="left">lowest </td><td align="left">Kernel system timer interrupt to generate periodic timer ticks </td></tr>
+<tr>
+<td align="left">PendSV </td><td align="left">lowest </td><td align="left">PendSV (request for system-level service) when calling certain RTX functions from <b>Handler</b> mode </td></tr>
+<tr>
+<td align="left">SCV </td><td align="left">lowest+1 </td><td align="left">Supervisor Call used to enter the RTOS kernel from <b>Thread</b> mode </td></tr>
+</table>
+<p>Other device interrupts can be used without limitation. For Arm Cortex-M3/M4/M7/M23/M33 processors, interrupts are never disabled by RTX Kernel.</p>
+<p><b>Usage of interrupt priority grouping</b></p>
+<ul>
+<li>The interrupt priority grouping should be configured using the CMSIS-Core function NVIC_SetPriorityGrouping before calling the function <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221">osKernelStart()</a>. The RTX kernel uses the priority group value to setup the priority for SysTick and PendSV interrupts.</li>
+<li>The RTX kernel sets the priority for the interrupts/exceptions listed in above table and uses the lowest two priority levels.</li>
+<li>Do not change the priority used by the RTX kernel. If this cannot be avoided, ensure that the preempt priority of SysTick/PendSV is lower than SVC.</li>
+<li>Permitted priority group values are 0 to 6. The priority group value 7 will cause RTX to fail as there is only one priority level available.</li>
+<li>The <b>main stack</b> is used to run the RTX functionality. It is therefore required to configure sufficient stack for the RTX kernel execution.</li>
+</ul>
+<p><b>Code Example</b> </p>
+<div class="fragment"><div class="line"><a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659">osKernelInitialize</a>(); <span class="comment">// initialize RTX</span></div>
+<div class="line">NVIC_SetPriorityGrouping (3); <span class="comment">// setup priority grouping</span></div>
+<div class="line">tread_id = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(tread_func, NULL, NULL); <span class="comment">// create some threads</span></div>
+<div class="line"><a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221">osKernelStart</a> (); <span class="comment">// start RTX kernel</span></div>
+</div><!-- fragment --><h1><a class="anchor" id="cre_rtx_proj_specifics"></a>
+Add support for RTX specific functions</h1>
+<p>If you require some of the <a class="el" href="group__rtx5__specific.html">RTX specific functions</a> in your application code, #include the <a class="el" href="theory_of_operation.html#rtx_os_h">header file rtx_os.h</a>. This enables <a class="el" href="theory_of_operation.html#lowPower">low-power</a> and <a class="el" href="theory_of_operation.html#TickLess">tick-less</a> operation modes.</p>
+<h1><a class="anchor" id="cre_rtx_proj_er"></a>
+Add Event Recorder Visibility</h1>
+<p>RTX5 interfaces to the <a href="http://www.keil.com/pack/doc/compiler/EventRecorder/html/index.html" target="_blank"><b>Event Recorder</b></a> to provide event information which helps you to understand and analyze the operation.</p>
+<ul>
+<li>To use the Event Recorder together with RTX5, select the software component <b>Compiler:Event Recorder</b>.</li>
+<li>Select the <b>Source</b> variant of the software component <b>CMSIS:RTOS2 (API):Keil RTX5</b>. <div class="image">
+<img src="event_recorder_rte.png" alt="event_recorder_rte.png"/>
+<div class="caption">
+Component selection for Event Recorder</div></div>
+</li>
+<li>Enable the related settings under <a class="el" href="config_rtx5.html#evtrecConfig">Event Recorder Configuration</a>.</li>
+<li>Build the application code and download it to the debug hardware.</li>
+</ul>
+<p>Once the target application generates event information, it can be viewed in the µVision debugger using the <b>Event</b> <b>Recorder</b>. </p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="index.html">index</a></li><li class="navelem"><a class="el" href="rtx5_impl.html">RTX v5 Implementation</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/creating_RTX5_LIB.html b/docs/RTOS2/html/creating_RTX5_LIB.html
new file mode 100644
index 0000000..f1fdc95
--- /dev/null
+++ b/docs/RTOS2/html/creating_RTX5_LIB.html
@@ -0,0 +1,142 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Building the RTX5 Library</title>
+<title>CMSIS-RTOS2: Building the RTX5 Library</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('creating_RTX5_LIB.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">Building the RTX5 Library </div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>The CMSIS Pack contains a µVision project for building the complete set of RTX5 libraries. This project can also be used as a reference for building the RTX5 libraries using a tool-chain of your choice.</p>
+<ol type="1">
+<li>Open the project <b>RTX_CM.uvprojx</b> from the pack folder <b>CMSIS/RTOS2/RTX/Library/ARM/MDK</b> in µVision.</li>
+<li>Select the project target that matches your device's processor core. <br/>
+ The project provides target configuration for all supported Cortex-M targets supported by RTX5.</li>
+<li>You can find out about the required preprocessor defines in the dialogs <b>Options for Target - C/C++</b> and <b>Options for Target - Asm</b>. Note the need to use at least the C99 compiler mode when building RTX from source.</li>
+<li>From the <b>Project</b> window you find the list of source files required for a complete library build.</li>
+<li>Build the library of your choice using <b>Project</b> - <b>Build</b> <b>Target</b> (or press F7).</li>
+</ol>
+<div class="image">
+<img src="own_lib_projwin.png" alt="own_lib_projwin.png"/>
+<div class="caption">
+Project with files for Armv8-M Mainline</div></div>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="index.html">index</a></li><li class="navelem"><a class="el" href="rtx5_impl.html">RTX v5 Implementation</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/dir_002cf2dd0f795cc97a8d08cc3fa6e516.html b/docs/RTOS2/html/dir_002cf2dd0f795cc97a8d08cc3fa6e516.html
new file mode 100644
index 0000000..45811c2
--- /dev/null
+++ b/docs/RTOS2/html/dir_002cf2dd0f795cc97a8d08cc3fa6e516.html
@@ -0,0 +1,135 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>RTX Directory Reference</title>
+<title>CMSIS-RTOS2: RTX Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_002cf2dd0f795cc97a8d08cc3fa6e516.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">RTX Directory Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
+Directories</h2></td></tr>
+<tr class="memitem:dir_061ad8d12aa7dc7d03c29112cd6e086d"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_061ad8d12aa7dc7d03c29112cd6e086d.html">Include</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="dir_a43355fbfff7212ac2193223a73d577c.html">RTOS2</a></li><li class="navelem"><a class="el" href="dir_002cf2dd0f795cc97a8d08cc3fa6e516.html">RTX</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/dir_061ad8d12aa7dc7d03c29112cd6e086d.html b/docs/RTOS2/html/dir_061ad8d12aa7dc7d03c29112cd6e086d.html
new file mode 100644
index 0000000..9f9645a
--- /dev/null
+++ b/docs/RTOS2/html/dir_061ad8d12aa7dc7d03c29112cd6e086d.html
@@ -0,0 +1,137 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Include Directory Reference</title>
+<title>CMSIS-RTOS2: Include Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_061ad8d12aa7dc7d03c29112cd6e086d.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">Include Directory Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:rtx__evr_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__evr_8h.html">rtx_evr.h</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:rtx__os_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html">rtx_os.h</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="dir_a43355fbfff7212ac2193223a73d577c.html">RTOS2</a></li><li class="navelem"><a class="el" href="dir_002cf2dd0f795cc97a8d08cc3fa6e516.html">RTX</a></li><li class="navelem"><a class="el" href="dir_061ad8d12aa7dc7d03c29112cd6e086d.html">Include</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/dir_899d076620cccde5757c1c1ca5de63cc.html b/docs/RTOS2/html/dir_899d076620cccde5757c1c1ca5de63cc.html
new file mode 100644
index 0000000..9147c80
--- /dev/null
+++ b/docs/RTOS2/html/dir_899d076620cccde5757c1c1ca5de63cc.html
@@ -0,0 +1,136 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Source Directory Reference</title>
+<title>CMSIS-RTOS2: Source Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.2</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_899d076620cccde5757c1c1ca5de63cc.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">Source Directory Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:os__systick_8c"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="os__systick_8c.html">os_systick.c</a></td></tr>
+<tr class="memdesc:os__systick_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">CMSIS OS Tick SysTick implementation. <br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="dir_a43355fbfff7212ac2193223a73d577c.html">RTOS2</a></li><li class="navelem"><a class="el" href="dir_899d076620cccde5757c1c1ca5de63cc.html">Source</a></li>
+ <li class="footer">Generated on Thu Nov 16 2017 17:06:23 for CMSIS-RTOS2 by ARM Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/dir_a43355fbfff7212ac2193223a73d577c.html b/docs/RTOS2/html/dir_a43355fbfff7212ac2193223a73d577c.html
new file mode 100644
index 0000000..58bcdab
--- /dev/null
+++ b/docs/RTOS2/html/dir_a43355fbfff7212ac2193223a73d577c.html
@@ -0,0 +1,137 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>RTOS2 Directory Reference</title>
+<title>CMSIS-RTOS2: RTOS2 Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_a43355fbfff7212ac2193223a73d577c.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">RTOS2 Directory Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
+Directories</h2></td></tr>
+<tr class="memitem:dir_f5870d36a7061bb81e1a64a750696f2d"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_f5870d36a7061bb81e1a64a750696f2d.html">Include</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dir_002cf2dd0f795cc97a8d08cc3fa6e516"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_002cf2dd0f795cc97a8d08cc3fa6e516.html">RTX</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="dir_a43355fbfff7212ac2193223a73d577c.html">RTOS2</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/dir_f5870d36a7061bb81e1a64a750696f2d.html b/docs/RTOS2/html/dir_f5870d36a7061bb81e1a64a750696f2d.html
new file mode 100644
index 0000000..98a9cc2
--- /dev/null
+++ b/docs/RTOS2/html/dir_f5870d36a7061bb81e1a64a750696f2d.html
@@ -0,0 +1,138 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Include Directory Reference</title>
+<title>CMSIS-RTOS2: Include Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_f5870d36a7061bb81e1a64a750696f2d.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">Include Directory Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:cmsis__os2_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__os2_8h.html">cmsis_os2.h</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:os__tick_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="os__tick_8h.html">os_tick.h</a></td></tr>
+<tr class="memdesc:os__tick_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">CMSIS OS Tick header file. <br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="dir_a43355fbfff7212ac2193223a73d577c.html">RTOS2</a></li><li class="navelem"><a class="el" href="dir_f5870d36a7061bb81e1a64a750696f2d.html">Include</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/dirstructfiles5.html b/docs/RTOS2/html/dirstructfiles5.html
new file mode 100644
index 0000000..aa37888
--- /dev/null
+++ b/docs/RTOS2/html/dirstructfiles5.html
@@ -0,0 +1,200 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Directory Structure and File Overview</title>
+<title>CMSIS-RTOS2: Directory Structure and File Overview</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.2</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dirstructfiles5.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">Directory Structure and File Overview </div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>The following section provides an overview of the directory structure and the files that are relevant for the user's for CMSIS-RTOS RTX v5. The following directory references start below the CMSIS pack installation path, for example ARM/CMSIS/<em>version</em>/CMSIS/RTOS2.</p>
+<h1><a class="anchor" id="Folders"></a>
+RTX v5 Directory Structure</h1>
+<p>The CMSIS-RTOS RTX v5 is delivered in source code and several examples are provided.</p>
+<table class="cmtable" summary="CMSIS-RTOS RTX Library Files">
+<tr>
+<th>Directory </th><th>Content </th></tr>
+<tr>
+<td>Include </td><td>The include file for CMSIS-RTOS API v2. <a class="el" href="cmsis__os2_8h.html">cmsis_os2.h</a> is the central include file for user applications. </td></tr>
+<tr>
+<td>Template </td><td>CMSIS-RTOS API template source and header file. </td></tr>
+<tr>
+<td>RTX </td><td>Directory with RTX specific files and folders. Also contains the component viewer description file. </td></tr>
+<tr>
+<td>RTX/Config </td><td>CMSIS-RTOS RTX configuration files RTX_Config.h and RTX_Config.c. </td></tr>
+<tr>
+<td>RTX/Examples </td><td>Example projects that can be directly used in development tools. </td></tr>
+<tr>
+<td>RTX/Include </td><td>RTX v5 specific include files. </td></tr>
+<tr>
+<td>RTX/Include1 </td><td>CMSIS-RTOS v1 API header file. </td></tr>
+<tr>
+<td>RTX/Library </td><td>Pre-built libraries (see next table for details). </td></tr>
+<tr>
+<td>RTX/Source </td><td>Source code that can be used with ARMCC and GCC. </td></tr>
+<tr>
+<td>RTX/Template </td><td>User code templates for creating application projects with CMSIS-RTOS RTX v5. </td></tr>
+</table>
+<h1><a class="anchor" id="libFiles"></a>
+RTX v5 Library Files</h1>
+<p>The CMSIS-RTOS RTX Library is available pre-compiled for ARMCC and GCC compilers and supports all Cortex-M processor variants in every configuration, including ARM Cortex-M23 and Cortex-M33.</p>
+<table class="cmtable" summary="CMSIS-RTOS RTX Library Files">
+<tr>
+<th>Library File </th><th>Processor Configuration </th></tr>
+<tr>
+<td>Library/ARM/RTX_CM0.lib </td><td>CMSIS-RTOS RTX Library for ARMCC Compiler, Cortex-M0 and M1, little-endian. </td></tr>
+<tr>
+<td>Library/ARM/RTX_CM3.lib </td><td>CMSIS-RTOS RTX Library for ARMCC Compiler, Cortex-M3, M4, and M7 without FPU, little-endian. </td></tr>
+<tr>
+<td>Library/ARM/RTX_CM4F.lib </td><td>CMSIS-RTOS RTX Library for ARMCC Compiler, Cortex-M4 and M7 with FPU, little-endian. </td></tr>
+<tr>
+<td>Library/ARM/RTX_V8MB.lib </td><td>CMSIS-RTOS RTX Library for ARMCC Compiler, ARMv8-M baseline. </td></tr>
+<tr>
+<td>Library/ARM/RTX_V8MBN.lib </td><td>CMSIS-RTOS RTX Library for ARMCC Compiler, ARMv8-M baseline, non-secure. </td></tr>
+<tr>
+<td>Library/ARM/RTX_V8MM.lib </td><td>CMSIS-RTOS RTX Library for ARMCC Compiler, ARMv8-M mainline. </td></tr>
+<tr>
+<td>Library/ARM/RTX_V8MMF.lib </td><td>CMSIS-RTOS RTX Library for ARMCC Compiler, ARMv8-M mainline with FPU. </td></tr>
+<tr>
+<td>Library/ARM/RTX_V8MMFN.lib </td><td>CMSIS-RTOS RTX Library for ARMCC Compiler, ARMv8-M mainline with FPU, non-secure. </td></tr>
+<tr>
+<td>Library/ARM/RTX_V8MMN.lib </td><td>CMSIS-RTOS RTX Library for ARMCC Compiler, ARMv8-M mainline, non-secure. </td></tr>
+<tr>
+<td>Library/GCC/libRTX_CM0.a </td><td>CMSIS-RTOS libRTX Library for GCC Compiler, Cortex-M0 and M1, little-endian. </td></tr>
+<tr>
+<td>Library/GCC/libRTX_CM3.a </td><td>CMSIS-RTOS libRTX Library for GCC Compiler, Cortex-M3, M4, and M7 without FPU, little-endian. </td></tr>
+<tr>
+<td>Library/GCC/libRTX_CM4F.a </td><td>CMSIS-RTOS libRTX Library for GCC Compiler, Cortex-M4 and M7 with FPU, little-endian. </td></tr>
+<tr>
+<td>Library/GCC/libRTX_V8MB.a </td><td>CMSIS-RTOS libRTX Library for GCC Compiler, ARMv8-M baseline. </td></tr>
+<tr>
+<td>Library/GCC/libRTX_V8MBN.a </td><td>CMSIS-RTOS libRTX Library for GCC Compiler, ARMv8-M baseline, non-secure. </td></tr>
+<tr>
+<td>Library/GCC/libRTX_V8MM.a </td><td>CMSIS-RTOS libRTX Library for GCC Compiler, ARMv8-M mainline. </td></tr>
+<tr>
+<td>Library/GCC/libRTX_V8MMF.a </td><td>CMSIS-RTOS libRTX Library for GCC Compiler, ARMv8-M mainline with FPU. </td></tr>
+<tr>
+<td>Library/GCC/libRTX_V8MMFN.a </td><td>CMSIS-RTOS libRTX Library for GCC Compiler, ARMv8-M mainline with FPU, non-secure. </td></tr>
+<tr>
+<td>Library/GCC/libRTX_V8MMN.a </td><td>CMSIS-RTOS libRTX Library for GCC Compiler, ARMv8-M mainline, non-secure. </td></tr>
+</table>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="index.html">index</a></li><li class="navelem"><a class="el" href="rtx5_impl.html">RTX v5 Implementation</a></li>
+ <li class="footer">Generated on Thu Nov 16 2017 17:06:23 for CMSIS-RTOS2 by ARM Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/doxygen.css b/docs/RTOS2/html/doxygen.css
new file mode 100644
index 0000000..e42f4ea
--- /dev/null
+++ b/docs/RTOS2/html/doxygen.css
@@ -0,0 +1,1366 @@
+/* The standard CSS for doxygen 1.8.6 */
+
+body, table, div, p, dl {
+ font: 400 14px/22px Roboto,sans-serif;
+}
+
+/* @group Heading Levels */
+
+h1.groupheader {
+ font-size: 150%;
+}
+
+.title {
+ font: 400 14px/28px Roboto,sans-serif;
+ font-size: 150%;
+ font-weight: bold;
+ margin: 10px 2px;
+}
+
+h2.groupheader {
+ border-bottom: 1px solid #869DCC;
+ color: #344C7C;
+ font-size: 150%;
+ font-weight: normal;
+ margin-top: 1.75em;
+ padding-top: 8px;
+ padding-bottom: 4px;
+ width: 100%;
+}
+
+h3.groupheader {
+ font-size: 100%;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ -webkit-transition: text-shadow 0.5s linear;
+ -moz-transition: text-shadow 0.5s linear;
+ -ms-transition: text-shadow 0.5s linear;
+ -o-transition: text-shadow 0.5s linear;
+ transition: text-shadow 0.5s linear;
+ margin-right: 15px;
+}
+
+h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {
+ text-shadow: 0 0 15px cyan;
+}
+
+dt {
+ font-weight: bold;
+}
+
+div.multicol {
+ -moz-column-gap: 1em;
+ -webkit-column-gap: 1em;
+ -moz-column-count: 3;
+ -webkit-column-count: 3;
+}
+
+p.startli, p.startdd {
+ margin-top: 2px;
+}
+
+p.starttd {
+ margin-top: 0px;
+}
+
+p.endli {
+ margin-bottom: 0px;
+}
+
+p.enddd {
+ margin-bottom: 4px;
+}
+
+p.endtd {
+ margin-bottom: 2px;
+}
+
+/* @end */
+
+caption {
+ font-weight: bold;
+}
+
+span.legend {
+ font-size: 70%;
+ text-align: center;
+}
+
+h3.version {
+ font-size: 90%;
+ text-align: center;
+}
+
+div.qindex, div.navtab{
+ background-color: #EBEFF6;
+ border: 1px solid #A3B4D7;
+ text-align: center;
+}
+
+div.qindex, div.navpath {
+ width: 100%;
+ line-height: 140%;
+}
+
+div.navtab {
+ margin-right: 15px;
+}
+
+/* @group Link Styling */
+
+a {
+ color: #3C578D;
+ font-weight: normal;
+ text-decoration: none;
+}
+
+.contents a:visited {
+ color: #4565A3;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+a.qindex {
+ font-weight: bold;
+}
+
+a.qindexHL {
+ font-weight: bold;
+ background-color: #9BAED4;
+ color: #ffffff;
+ border: 1px double #859CCB;
+}
+
+.contents a.qindexHL:visited {
+ color: #ffffff;
+}
+
+a.el {
+ font-weight: bold;
+}
+
+a.elRef {
+}
+
+a.code, a.code:visited, a.line, a.line:visited {
+ color: #4665A2;
+}
+
+a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited {
+ color: #4665A2;
+}
+
+/* @end */
+
+dl.el {
+ margin-left: -1cm;
+}
+
+pre.fragment {
+ border: 1px solid #C4CFE5;
+ background-color: #FBFCFD;
+ padding: 4px 6px;
+ margin: 4px 8px 4px 2px;
+ overflow: auto;
+ word-wrap: break-word;
+ font-size: 9pt;
+ line-height: 125%;
+ font-family: monospace, fixed;
+ font-size: 105%;
+}
+
+div.fragment {
+ padding: 4px 6px;
+ margin: 4px 8px 4px 2px;
+ background-color: #FBFCFD;
+ border: 1px solid #C4CFE6;
+}
+
+div.line {
+ font-family: monospace, fixed;
+ font-size: 13px;
+ min-height: 13px;
+ line-height: 1.0;
+ text-wrap: unrestricted;
+ white-space: -moz-pre-wrap; /* Moz */
+ white-space: -pre-wrap; /* Opera 4-6 */
+ white-space: -o-pre-wrap; /* Opera 7 */
+ white-space: pre-wrap; /* CSS3 */
+ word-wrap: break-word; /* IE 5.5+ */
+ text-indent: -53px;
+ padding-left: 53px;
+ padding-bottom: 0px;
+ margin: 0px;
+ -webkit-transition-property: background-color, box-shadow;
+ -webkit-transition-duration: 0.5s;
+ -moz-transition-property: background-color, box-shadow;
+ -moz-transition-duration: 0.5s;
+ -ms-transition-property: background-color, box-shadow;
+ -ms-transition-duration: 0.5s;
+ -o-transition-property: background-color, box-shadow;
+ -o-transition-duration: 0.5s;
+ transition-property: background-color, box-shadow;
+ transition-duration: 0.5s;
+}
+
+div.line.glow {
+ background-color: cyan;
+ box-shadow: 0 0 10px cyan;
+}
+
+
+span.lineno {
+ padding-right: 4px;
+ text-align: right;
+ border-right: 2px solid #0F0;
+ background-color: #E8E8E8;
+ white-space: pre;
+}
+span.lineno a {
+ background-color: #D8D8D8;
+}
+
+span.lineno a:hover {
+ background-color: #C8C8C8;
+}
+
+div.ah {
+ background-color: black;
+ font-weight: bold;
+ color: #ffffff;
+ margin-bottom: 3px;
+ margin-top: 3px;
+ padding: 0.2em;
+ border: solid thin #333;
+ border-radius: 0.5em;
+ -webkit-border-radius: .5em;
+ -moz-border-radius: .5em;
+ box-shadow: 2px 2px 3px #999;
+ -webkit-box-shadow: 2px 2px 3px #999;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
+ background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000);
+}
+
+div.groupHeader {
+ margin-left: 16px;
+ margin-top: 12px;
+ font-weight: bold;
+}
+
+div.groupText {
+ margin-left: 16px;
+ font-style: italic;
+}
+
+body {
+ background-color: white;
+ color: black;
+ margin: 0;
+}
+
+div.contents {
+ margin-top: 10px;
+ margin-left: 12px;
+ margin-right: 8px;
+}
+
+td.indexkey {
+ background-color: #EBEFF6;
+ font-weight: bold;
+ border: 1px solid #C4CFE6;
+ margin: 2px 0px 2px 0;
+ padding: 2px 10px;
+ white-space: nowrap;
+ vertical-align: top;
+}
+
+td.indexvalue {
+ background-color: #EBEFF6;
+ border: 1px solid #C4CFE6;
+ padding: 2px 10px;
+ margin: 2px 0px;
+}
+
+tr.memlist {
+ background-color: #EEF1F7;
+}
+
+p.formulaDsp {
+ text-align: center;
+}
+
+img.formulaDsp {
+
+}
+
+img.formulaInl {
+ vertical-align: middle;
+}
+
+div.center {
+ text-align: center;
+ margin-top: 0px;
+ margin-bottom: 0px;
+ padding: 0px;
+}
+
+div.center img {
+ border: 0px;
+}
+
+address.footer {
+ text-align: right;
+ padding-right: 12px;
+}
+
+img.footer {
+ border: 0px;
+ vertical-align: middle;
+}
+
+/* @group Code Colorization */
+
+span.keyword {
+ color: #008000
+}
+
+span.keywordtype {
+ color: #604020
+}
+
+span.keywordflow {
+ color: #e08000
+}
+
+span.comment {
+ color: #800000
+}
+
+span.preprocessor {
+ color: #806020
+}
+
+span.stringliteral {
+ color: #002080
+}
+
+span.charliteral {
+ color: #008080
+}
+
+span.vhdldigit {
+ color: #ff00ff
+}
+
+span.vhdlchar {
+ color: #000000
+}
+
+span.vhdlkeyword {
+ color: #700070
+}
+
+span.vhdllogic {
+ color: #ff0000
+}
+
+blockquote {
+ background-color: #F7F8FB;
+ border-left: 2px solid #9BAED4;
+ margin: 0 24px 0 4px;
+ padding: 0 12px 0 16px;
+}
+
+/* @end */
+
+/*
+.search {
+ color: #003399;
+ font-weight: bold;
+}
+
+form.search {
+ margin-bottom: 0px;
+ margin-top: 0px;
+}
+
+input.search {
+ font-size: 75%;
+ color: #000080;
+ font-weight: normal;
+ background-color: #e8eef2;
+}
+*/
+
+td.tiny {
+ font-size: 75%;
+}
+
+.dirtab {
+ padding: 4px;
+ border-collapse: collapse;
+ border: 1px solid #A3B4D7;
+}
+
+th.dirtab {
+ background: #EBEFF6;
+ font-weight: bold;
+}
+
+hr {
+ height: 0px;
+ border: none;
+ border-top: 1px solid #496AAC;
+}
+
+hr.footer {
+ height: 1px;
+}
+
+/* @group Member Descriptions */
+
+table.memberdecls {
+ border-spacing: 0px;
+ padding: 0px;
+}
+
+.memberdecls td, .fieldtable tr {
+ -webkit-transition-property: background-color, box-shadow;
+ -webkit-transition-duration: 0.5s;
+ -moz-transition-property: background-color, box-shadow;
+ -moz-transition-duration: 0.5s;
+ -ms-transition-property: background-color, box-shadow;
+ -ms-transition-duration: 0.5s;
+ -o-transition-property: background-color, box-shadow;
+ -o-transition-duration: 0.5s;
+ transition-property: background-color, box-shadow;
+ transition-duration: 0.5s;
+}
+
+.memberdecls td.glow, .fieldtable tr.glow {
+ background-color: cyan;
+ box-shadow: 0 0 15px cyan;
+}
+
+.mdescLeft, .mdescRight,
+.memItemLeft, .memItemRight,
+.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
+ background-color: #F9FAFC;
+ border: none;
+ margin: 4px;
+ padding: 1px 0 0 8px;
+}
+
+.mdescLeft, .mdescRight {
+ padding: 0px 8px 4px 8px;
+ color: #555;
+}
+
+.memSeparator {
+ border-bottom: 1px solid #DEE4F0;
+ line-height: 1px;
+ margin: 0px;
+ padding: 0px;
+}
+
+.memItemLeft, .memTemplItemLeft {
+ white-space: nowrap;
+}
+
+.memItemRight {
+ width: 100%;
+}
+
+.memTemplParams {
+ color: #4565A3;
+ white-space: nowrap;
+ font-size: 80%;
+}
+
+/* @end */
+
+/* @group Member Details */
+
+/* Styles for detailed member documentation */
+
+.memtemplate {
+ font-size: 80%;
+ color: #4565A3;
+ font-weight: normal;
+ margin-left: 9px;
+}
+
+.memnav {
+ background-color: #EBEFF6;
+ border: 1px solid #A3B4D7;
+ text-align: center;
+ margin: 2px;
+ margin-right: 15px;
+ padding: 2px;
+}
+
+.mempage {
+ width: 100%;
+}
+
+.memitem {
+ padding: 0;
+ margin-bottom: 10px;
+ margin-right: 5px;
+ -webkit-transition: box-shadow 0.5s linear;
+ -moz-transition: box-shadow 0.5s linear;
+ -ms-transition: box-shadow 0.5s linear;
+ -o-transition: box-shadow 0.5s linear;
+ transition: box-shadow 0.5s linear;
+ display: table !important;
+ width: 100%;
+}
+
+.memitem.glow {
+ box-shadow: 0 0 15px cyan;
+}
+
+.memname {
+ font-weight: bold;
+ margin-left: 6px;
+}
+
+.memname td {
+ vertical-align: bottom;
+}
+
+.memproto, dl.reflist dt {
+ border-top: 1px solid #A7B8DA;
+ border-left: 1px solid #A7B8DA;
+ border-right: 1px solid #A7B8DA;
+ padding: 6px 0px 6px 0px;
+ color: #243556;
+ font-weight: bold;
+ text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+ background-image:url('nav_f.png');
+ background-repeat:repeat-x;
+ background-color: #E2E8F2;
+ /* opera specific markup */
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ border-top-right-radius: 4px;
+ border-top-left-radius: 4px;
+ /* firefox specific markup */
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+ -moz-border-radius-topright: 4px;
+ -moz-border-radius-topleft: 4px;
+ /* webkit specific markup */
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ -webkit-border-top-right-radius: 4px;
+ -webkit-border-top-left-radius: 4px;
+
+}
+
+.memdoc, dl.reflist dd {
+ border-bottom: 1px solid #A7B8DA;
+ border-left: 1px solid #A7B8DA;
+ border-right: 1px solid #A7B8DA;
+ padding: 6px 10px 2px 10px;
+ background-color: #FBFCFD;
+ border-top-width: 0;
+ background-image:url('nav_g.png');
+ background-repeat:repeat-x;
+ background-color: #FFFFFF;
+ /* opera specific markup */
+ border-bottom-left-radius: 4px;
+ border-bottom-right-radius: 4px;
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ /* firefox specific markup */
+ -moz-border-radius-bottomleft: 4px;
+ -moz-border-radius-bottomright: 4px;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+ /* webkit specific markup */
+ -webkit-border-bottom-left-radius: 4px;
+ -webkit-border-bottom-right-radius: 4px;
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+}
+
+dl.reflist dt {
+ padding: 5px;
+}
+
+dl.reflist dd {
+ margin: 0px 0px 10px 0px;
+ padding: 5px;
+}
+
+.paramkey {
+ text-align: right;
+}
+
+.paramtype {
+ white-space: nowrap;
+}
+
+.paramname {
+ color: #602020;
+ white-space: nowrap;
+}
+.paramname em {
+ font-style: normal;
+}
+.paramname code {
+ line-height: 14px;
+}
+
+.params, .retval, .exception, .tparams {
+ margin-left: 0px;
+ padding-left: 0px;
+}
+
+.params .paramname, .retval .paramname {
+ font-weight: bold;
+ vertical-align: top;
+}
+
+.params .paramtype {
+ font-style: italic;
+ vertical-align: top;
+}
+
+.params .paramdir {
+ font-family: "courier new",courier,monospace;
+ vertical-align: top;
+}
+
+table.mlabels {
+ border-spacing: 0px;
+}
+
+td.mlabels-left {
+ width: 100%;
+ padding: 0px;
+}
+
+td.mlabels-right {
+ vertical-align: bottom;
+ padding: 0px;
+ white-space: nowrap;
+}
+
+span.mlabels {
+ margin-left: 8px;
+}
+
+span.mlabel {
+ background-color: #718CC2;
+ border-top:1px solid #5273B5;
+ border-left:1px solid #5273B5;
+ border-right:1px solid #C4CFE6;
+ border-bottom:1px solid #C4CFE6;
+ text-shadow: none;
+ color: white;
+ margin-right: 4px;
+ padding: 2px 3px;
+ border-radius: 3px;
+ font-size: 7pt;
+ white-space: nowrap;
+ vertical-align: middle;
+}
+
+
+
+/* @end */
+
+/* these are for tree view when not used as main index */
+
+div.directory {
+ margin: 10px 0px;
+ border-top: 1px solid #A8B8D9;
+ border-bottom: 1px solid #A8B8D9;
+ width: 100%;
+}
+
+.directory table {
+ border-collapse:collapse;
+}
+
+.directory td {
+ margin: 0px;
+ padding: 0px;
+ vertical-align: top;
+}
+
+.directory td.entry {
+ white-space: nowrap;
+ padding-right: 6px;
+ padding-top: 3px;
+}
+
+.directory td.entry a {
+ outline:none;
+}
+
+.directory td.entry a img {
+ border: none;
+}
+
+.directory td.desc {
+ width: 100%;
+ padding-left: 6px;
+ padding-right: 6px;
+ padding-top: 3px;
+ border-left: 1px solid rgba(0,0,0,0.05);
+}
+
+.directory tr.even {
+ padding-left: 6px;
+ background-color: #F7F8FB;
+}
+
+.directory img {
+ vertical-align: -30%;
+}
+
+.directory .levels {
+ white-space: nowrap;
+ width: 100%;
+ text-align: right;
+ font-size: 9pt;
+}
+
+.directory .levels span {
+ cursor: pointer;
+ padding-left: 2px;
+ padding-right: 2px;
+ color: #3C578D;
+}
+
+div.dynheader {
+ margin-top: 8px;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+address {
+ font-style: normal;
+ color: #293C62;
+}
+
+table.doxtable {
+ border-collapse:collapse;
+ margin-top: 4px;
+ margin-bottom: 4px;
+}
+
+table.doxtable td, table.doxtable th {
+ border: 1px solid #2C4068;
+ padding: 3px 7px 2px;
+}
+
+table.doxtable th {
+ background-color: #364F80;
+ color: #FFFFFF;
+ font-size: 110%;
+ padding-bottom: 4px;
+ padding-top: 5px;
+}
+
+table.fieldtable {
+ /*width: 100%;*/
+ margin-bottom: 10px;
+ border: 1px solid #A7B8DA;
+ border-spacing: 0px;
+ -moz-border-radius: 4px;
+ -webkit-border-radius: 4px;
+ border-radius: 4px;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+ -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
+ box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
+}
+
+.fieldtable td, .fieldtable th {
+ padding: 3px 7px 2px;
+}
+
+.fieldtable td.fieldtype, .fieldtable td.fieldname {
+ white-space: nowrap;
+ border-right: 1px solid #A7B8DA;
+ border-bottom: 1px solid #A7B8DA;
+ vertical-align: top;
+}
+
+.fieldtable td.fieldname {
+ padding-top: 3px;
+}
+
+.fieldtable td.fielddoc {
+ border-bottom: 1px solid #A7B8DA;
+ /*width: 100%;*/
+}
+
+.fieldtable td.fielddoc p:first-child {
+ margin-top: 0px;
+}
+
+.fieldtable td.fielddoc p:last-child {
+ margin-bottom: 2px;
+}
+
+.fieldtable tr:last-child td {
+ border-bottom: none;
+}
+
+.fieldtable th {
+ background-image:url('nav_f.png');
+ background-repeat:repeat-x;
+ background-color: #E2E8F2;
+ font-size: 90%;
+ color: #243556;
+ padding-bottom: 4px;
+ padding-top: 5px;
+ text-align:left;
+ -moz-border-radius-topleft: 4px;
+ -moz-border-radius-topright: 4px;
+ -webkit-border-top-left-radius: 4px;
+ -webkit-border-top-right-radius: 4px;
+ border-top-left-radius: 4px;
+ border-top-right-radius: 4px;
+ border-bottom: 1px solid #A7B8DA;
+}
+
+
+.tabsearch {
+ top: 0px;
+ left: 10px;
+ height: 36px;
+ background-image: url('tab_b.png');
+ z-index: 101;
+ overflow: hidden;
+ font-size: 13px;
+}
+
+.navpath ul
+{
+ font-size: 11px;
+ background-image:url('tab_b.png');
+ background-repeat:repeat-x;
+ background-position: 0 -5px;
+ height:30px;
+ line-height:30px;
+ color:#899FCD;
+ border:solid 1px #C2CDE5;
+ overflow:hidden;
+ margin:0px;
+ padding:0px;
+}
+
+.navpath li
+{
+ list-style-type:none;
+ float:left;
+ padding-left:10px;
+ padding-right:15px;
+ background-image:url('bc_s.png');
+ background-repeat:no-repeat;
+ background-position:right;
+ color:#354D7D;
+}
+
+.navpath li.navelem a
+{
+ height:32px;
+ display:block;
+ text-decoration: none;
+ outline: none;
+ color: #273A5E;
+ font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
+ text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+ text-decoration: none;
+}
+
+.navpath li.navelem a:hover
+{
+ color:#6784BE;
+}
+
+.navpath li.footer
+{
+ list-style-type:none;
+ float:right;
+ padding-left:10px;
+ padding-right:15px;
+ background-image:none;
+ background-repeat:no-repeat;
+ background-position:right;
+ color:#354D7D;
+ font-size: 8pt;
+}
+
+
+div.summary
+{
+ float: right;
+ font-size: 8pt;
+ padding-right: 5px;
+ width: 50%;
+ text-align: right;
+}
+
+div.summary a
+{
+ white-space: nowrap;
+}
+
+div.ingroups
+{
+ font-size: 8pt;
+ width: 50%;
+ text-align: left;
+}
+
+div.ingroups a
+{
+ white-space: nowrap;
+}
+
+div.header
+{
+ background-image:url('nav_h.png');
+ background-repeat:repeat-x;
+ background-color: #F9FAFC;
+ margin: 0px;
+ border-bottom: 1px solid #C4CFE6;
+}
+
+div.headertitle
+{
+ padding: 5px 5px 5px 10px;
+}
+
+dl
+{
+ padding: 0 0 0 10px;
+}
+
+/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */
+dl.section
+{
+ margin-left: 0px;
+ padding-left: 0px;
+}
+
+dl.note
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #D0C000;
+}
+
+dl.warning, dl.attention
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #FF0000;
+}
+
+dl.pre, dl.post, dl.invariant
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #00D000;
+}
+
+dl.deprecated
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #505050;
+}
+
+dl.todo
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #00C0E0;
+}
+
+dl.test
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #3030E0;
+}
+
+dl.bug
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #C08050;
+}
+
+dl.section dd {
+ margin-bottom: 6px;
+}
+
+
+#projectlogo
+{
+ text-align: center;
+ vertical-align: bottom;
+ border-collapse: separate;
+}
+
+#projectlogo img
+{
+ border: 0px none;
+}
+
+#projectname
+{
+ font: 300% Tahoma, Arial,sans-serif;
+ margin: 0px;
+ padding: 2px 0px;
+}
+
+#projectbrief
+{
+ font: 120% Tahoma, Arial,sans-serif;
+ margin: 0px;
+ padding: 0px;
+}
+
+#projectnumber
+{
+ font: 50% Tahoma, Arial,sans-serif;
+ margin: 0px;
+ padding: 0px;
+}
+
+#titlearea
+{
+ padding: 0px;
+ margin: 0px;
+ width: 100%;
+ border-bottom: 1px solid #5273B5;
+}
+
+.image
+{
+ text-align: center;
+}
+
+.dotgraph
+{
+ text-align: center;
+}
+
+.mscgraph
+{
+ text-align: center;
+}
+
+.diagraph
+{
+ text-align: center;
+}
+
+.caption
+{
+ font-weight: bold;
+}
+
+div.zoom
+{
+ border: 1px solid #8FA4CF;
+}
+
+dl.citelist {
+ margin-bottom:50px;
+}
+
+dl.citelist dt {
+ color:#324976;
+ float:left;
+ font-weight:bold;
+ margin-right:10px;
+ padding:5px;
+}
+
+dl.citelist dd {
+ margin:2px 0;
+ padding:5px 0;
+}
+
+div.toc {
+ padding: 14px 25px;
+ background-color: #F4F6FA;
+ border: 1px solid #D8DFEE;
+ border-radius: 7px 7px 7px 7px;
+ float: right;
+ height: auto;
+ margin: 0 20px 10px 10px;
+ width: 200px;
+}
+
+div.toc li {
+ background: url("bdwn.png") no-repeat scroll 0 5px transparent;
+ font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif;
+ margin-top: 5px;
+ padding-left: 10px;
+ padding-top: 2px;
+}
+
+div.toc h3 {
+ font: bold 12px/1.2 Arial,FreeSans,sans-serif;
+ color: #4565A3;
+ border-bottom: 0 none;
+ margin: 0;
+}
+
+div.toc ul {
+ list-style: none outside none;
+ border: medium none;
+ padding: 0px;
+}
+
+div.toc li.level1 {
+ margin-left: 0px;
+}
+
+div.toc li.level2 {
+ margin-left: 15px;
+}
+
+div.toc li.level3 {
+ margin-left: 30px;
+}
+
+div.toc li.level4 {
+ margin-left: 45px;
+}
+
+.inherit_header {
+ font-weight: bold;
+ color: gray;
+ cursor: pointer;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+.inherit_header td {
+ padding: 6px 0px 2px 5px;
+}
+
+.inherit {
+ display: none;
+}
+
+tr.heading h2 {
+ margin-top: 12px;
+ margin-bottom: 4px;
+}
+
+/* tooltip related style info */
+
+.ttc {
+ position: absolute;
+ display: none;
+}
+
+#powerTip {
+ cursor: default;
+ white-space: nowrap;
+ background-color: white;
+ border: 1px solid gray;
+ border-radius: 4px 4px 4px 4px;
+ box-shadow: 1px 1px 7px gray;
+ display: none;
+ font-size: smaller;
+ max-width: 80%;
+ opacity: 0.9;
+ padding: 1ex 1em 1em;
+ position: absolute;
+ z-index: 2147483647;
+}
+
+#powerTip div.ttdoc {
+ color: grey;
+ font-style: italic;
+}
+
+#powerTip div.ttname a {
+ font-weight: bold;
+}
+
+#powerTip div.ttname {
+ font-weight: bold;
+}
+
+#powerTip div.ttdeci {
+ color: #006318;
+}
+
+#powerTip div {
+ margin: 0px;
+ padding: 0px;
+ font: 12px/16px Roboto,sans-serif;
+}
+
+#powerTip:before, #powerTip:after {
+ content: "";
+ position: absolute;
+ margin: 0px;
+}
+
+#powerTip.n:after, #powerTip.n:before,
+#powerTip.s:after, #powerTip.s:before,
+#powerTip.w:after, #powerTip.w:before,
+#powerTip.e:after, #powerTip.e:before,
+#powerTip.ne:after, #powerTip.ne:before,
+#powerTip.se:after, #powerTip.se:before,
+#powerTip.nw:after, #powerTip.nw:before,
+#powerTip.sw:after, #powerTip.sw:before {
+ border: solid transparent;
+ content: " ";
+ height: 0;
+ width: 0;
+ position: absolute;
+}
+
+#powerTip.n:after, #powerTip.s:after,
+#powerTip.w:after, #powerTip.e:after,
+#powerTip.nw:after, #powerTip.ne:after,
+#powerTip.sw:after, #powerTip.se:after {
+ border-color: rgba(255, 255, 255, 0);
+}
+
+#powerTip.n:before, #powerTip.s:before,
+#powerTip.w:before, #powerTip.e:before,
+#powerTip.nw:before, #powerTip.ne:before,
+#powerTip.sw:before, #powerTip.se:before {
+ border-color: rgba(128, 128, 128, 0);
+}
+
+#powerTip.n:after, #powerTip.n:before,
+#powerTip.ne:after, #powerTip.ne:before,
+#powerTip.nw:after, #powerTip.nw:before {
+ top: 100%;
+}
+
+#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after {
+ border-top-color: #ffffff;
+ border-width: 10px;
+ margin: 0px -10px;
+}
+#powerTip.n:before {
+ border-top-color: #808080;
+ border-width: 11px;
+ margin: 0px -11px;
+}
+#powerTip.n:after, #powerTip.n:before {
+ left: 50%;
+}
+
+#powerTip.nw:after, #powerTip.nw:before {
+ right: 14px;
+}
+
+#powerTip.ne:after, #powerTip.ne:before {
+ left: 14px;
+}
+
+#powerTip.s:after, #powerTip.s:before,
+#powerTip.se:after, #powerTip.se:before,
+#powerTip.sw:after, #powerTip.sw:before {
+ bottom: 100%;
+}
+
+#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after {
+ border-bottom-color: #ffffff;
+ border-width: 10px;
+ margin: 0px -10px;
+}
+
+#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before {
+ border-bottom-color: #808080;
+ border-width: 11px;
+ margin: 0px -11px;
+}
+
+#powerTip.s:after, #powerTip.s:before {
+ left: 50%;
+}
+
+#powerTip.sw:after, #powerTip.sw:before {
+ right: 14px;
+}
+
+#powerTip.se:after, #powerTip.se:before {
+ left: 14px;
+}
+
+#powerTip.e:after, #powerTip.e:before {
+ left: 100%;
+}
+#powerTip.e:after {
+ border-left-color: #ffffff;
+ border-width: 10px;
+ top: 50%;
+ margin-top: -10px;
+}
+#powerTip.e:before {
+ border-left-color: #808080;
+ border-width: 11px;
+ top: 50%;
+ margin-top: -11px;
+}
+
+#powerTip.w:after, #powerTip.w:before {
+ right: 100%;
+}
+#powerTip.w:after {
+ border-right-color: #ffffff;
+ border-width: 10px;
+ top: 50%;
+ margin-top: -10px;
+}
+#powerTip.w:before {
+ border-right-color: #808080;
+ border-width: 11px;
+ top: 50%;
+ margin-top: -11px;
+}
+
+@media print
+{
+ #top { display: none; }
+ #side-nav { display: none; }
+ #nav-path { display: none; }
+ body { overflow:visible; }
+ h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
+ .summary { display: none; }
+ .memitem { page-break-inside: avoid; }
+ #doc-content
+ {
+ margin-left:0 !important;
+ height:auto !important;
+ width:auto !important;
+ overflow:inherit;
+ display:inline;
+ }
+}
+
diff --git a/docs/RTOS2/html/doxygen.png b/docs/RTOS2/html/doxygen.png
new file mode 100644
index 0000000..a3c4ad7
--- /dev/null
+++ b/docs/RTOS2/html/doxygen.png
Binary files differ
diff --git a/docs/RTOS2/html/dynsections.js b/docs/RTOS2/html/dynsections.js
new file mode 100644
index 0000000..ed092c7
--- /dev/null
+++ b/docs/RTOS2/html/dynsections.js
@@ -0,0 +1,97 @@
+function toggleVisibility(linkObj)
+{
+ var base = $(linkObj).attr('id');
+ var summary = $('#'+base+'-summary');
+ var content = $('#'+base+'-content');
+ var trigger = $('#'+base+'-trigger');
+ var src=$(trigger).attr('src');
+ if (content.is(':visible')===true) {
+ content.hide();
+ summary.show();
+ $(linkObj).addClass('closed').removeClass('opened');
+ $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
+ } else {
+ content.show();
+ summary.hide();
+ $(linkObj).removeClass('closed').addClass('opened');
+ $(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
+ }
+ return false;
+}
+
+function updateStripes()
+{
+ $('table.directory tr').
+ removeClass('even').filter(':visible:even').addClass('even');
+}
+function toggleLevel(level)
+{
+ $('table.directory tr').each(function(){
+ var l = this.id.split('_').length-1;
+ var i = $('#img'+this.id.substring(3));
+ var a = $('#arr'+this.id.substring(3));
+ if (l<level+1) {
+ i.attr('src','ftv2folderopen.png');
+ a.attr('src','ftv2mnode.png');
+ $(this).show();
+ } else if (l==level+1) {
+ i.attr('src','ftv2folderclosed.png');
+ a.attr('src','ftv2pnode.png');
+ $(this).show();
+ } else {
+ $(this).hide();
+ }
+ });
+ updateStripes();
+}
+
+function toggleFolder(id)
+{
+ //The clicked row
+ var currentRow = $('#row_'+id);
+ var currentRowImages = currentRow.find("img");
+
+ //All rows after the clicked row
+ var rows = currentRow.nextAll("tr");
+
+ //Only match elements AFTER this one (can't hide elements before)
+ var childRows = rows.filter(function() {
+ var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
+ return this.id.match(re);
+ });
+
+ //First row is visible we are HIDING
+ if (childRows.filter(':first').is(':visible')===true) {
+ currentRowImages.filter("[id^=arr]").attr('src', 'ftv2pnode.png');
+ currentRowImages.filter("[id^=img]").attr('src', 'ftv2folderclosed.png');
+ rows.filter("[id^=row_"+id+"]").hide();
+ } else { //We are SHOWING
+ //All sub images
+ var childImages = childRows.find("img");
+ var childImg = childImages.filter("[id^=img]");
+ var childArr = childImages.filter("[id^=arr]");
+
+ currentRow.find("[id^=arr]").attr('src', 'ftv2mnode.png'); //open row
+ currentRow.find("[id^=img]").attr('src', 'ftv2folderopen.png'); //open row
+ childImg.attr('src','ftv2folderclosed.png'); //children closed
+ childArr.attr('src','ftv2pnode.png'); //children closed
+ childRows.show(); //show all children
+ }
+ updateStripes();
+}
+
+
+function toggleInherit(id)
+{
+ var rows = $('tr.inherit.'+id);
+ var img = $('tr.inherit_header.'+id+' img');
+ var src = $(img).attr('src');
+ if (rows.filter(':first').is(':visible')===true) {
+ rows.css('display','none');
+ $(img).attr('src',src.substring(0,src.length-8)+'closed.png');
+ } else {
+ rows.css('display','table-row'); // using show() causes jump in firefox
+ $(img).attr('src',src.substring(0,src.length-10)+'open.png');
+ }
+}
+
diff --git a/docs/RTOS2/html/event_recorder_rte.png b/docs/RTOS2/html/event_recorder_rte.png
new file mode 100644
index 0000000..0203a9a
--- /dev/null
+++ b/docs/RTOS2/html/event_recorder_rte.png
Binary files differ
diff --git a/docs/RTOS2/html/files.html b/docs/RTOS2/html/files.html
new file mode 100644
index 0000000..55c5371
--- /dev/null
+++ b/docs/RTOS2/html/files.html
@@ -0,0 +1,136 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>File List</title>
+<title>CMSIS-RTOS2: File List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('files.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">File List</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">Here is a list of all files with brief descriptions:</div><div class="directory">
+<table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="cmsis__os2_8h.html" target="_self">cmsis_os2.h</a></td><td class="desc"></td></tr>
+<tr id="row_1_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="os__tick_8h.html" target="_self">os_tick.h</a></td><td class="desc">CMSIS OS Tick header file </td></tr>
+<tr id="row_2_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="rtx__evr_8h.html" target="_self">rtx_evr.h</a></td><td class="desc"></td></tr>
+<tr id="row_3_"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="rtx__os_8h.html" target="_self">rtx_os.h</a></td><td class="desc"></td></tr>
+</table>
+</div><!-- directory -->
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/ftv2blank.png b/docs/RTOS2/html/ftv2blank.png
new file mode 100644
index 0000000..63c605b
--- /dev/null
+++ b/docs/RTOS2/html/ftv2blank.png
Binary files differ
diff --git a/docs/RTOS2/html/ftv2cl.png b/docs/RTOS2/html/ftv2cl.png
new file mode 100644
index 0000000..5e43099
--- /dev/null
+++ b/docs/RTOS2/html/ftv2cl.png
Binary files differ
diff --git a/docs/RTOS2/html/ftv2doc.png b/docs/RTOS2/html/ftv2doc.png
new file mode 100644
index 0000000..10d4c5e
--- /dev/null
+++ b/docs/RTOS2/html/ftv2doc.png
Binary files differ
diff --git a/docs/RTOS2/html/ftv2folderclosed.png b/docs/RTOS2/html/ftv2folderclosed.png
new file mode 100644
index 0000000..46e4b0d
--- /dev/null
+++ b/docs/RTOS2/html/ftv2folderclosed.png
Binary files differ
diff --git a/docs/RTOS2/html/ftv2folderopen.png b/docs/RTOS2/html/ftv2folderopen.png
new file mode 100644
index 0000000..ebcc288
--- /dev/null
+++ b/docs/RTOS2/html/ftv2folderopen.png
Binary files differ
diff --git a/docs/RTOS2/html/ftv2lastnode.png b/docs/RTOS2/html/ftv2lastnode.png
new file mode 100644
index 0000000..63c605b
--- /dev/null
+++ b/docs/RTOS2/html/ftv2lastnode.png
Binary files differ
diff --git a/docs/RTOS2/html/ftv2link.png b/docs/RTOS2/html/ftv2link.png
new file mode 100644
index 0000000..10d4c5e
--- /dev/null
+++ b/docs/RTOS2/html/ftv2link.png
Binary files differ
diff --git a/docs/RTOS2/html/ftv2mlastnode.png b/docs/RTOS2/html/ftv2mlastnode.png
new file mode 100644
index 0000000..9de16b8
--- /dev/null
+++ b/docs/RTOS2/html/ftv2mlastnode.png
Binary files differ
diff --git a/docs/RTOS2/html/ftv2mnode.png b/docs/RTOS2/html/ftv2mnode.png
new file mode 100644
index 0000000..9de16b8
--- /dev/null
+++ b/docs/RTOS2/html/ftv2mnode.png
Binary files differ
diff --git a/docs/RTOS2/html/ftv2mo.png b/docs/RTOS2/html/ftv2mo.png
new file mode 100644
index 0000000..609e79d
--- /dev/null
+++ b/docs/RTOS2/html/ftv2mo.png
Binary files differ
diff --git a/docs/RTOS2/html/ftv2node.png b/docs/RTOS2/html/ftv2node.png
new file mode 100644
index 0000000..63c605b
--- /dev/null
+++ b/docs/RTOS2/html/ftv2node.png
Binary files differ
diff --git a/docs/RTOS2/html/ftv2ns.png b/docs/RTOS2/html/ftv2ns.png
new file mode 100644
index 0000000..93b7f7e
--- /dev/null
+++ b/docs/RTOS2/html/ftv2ns.png
Binary files differ
diff --git a/docs/RTOS2/html/ftv2plastnode.png b/docs/RTOS2/html/ftv2plastnode.png
new file mode 100644
index 0000000..b9bf462
--- /dev/null
+++ b/docs/RTOS2/html/ftv2plastnode.png
Binary files differ
diff --git a/docs/RTOS2/html/ftv2pnode.png b/docs/RTOS2/html/ftv2pnode.png
new file mode 100644
index 0000000..b9bf462
--- /dev/null
+++ b/docs/RTOS2/html/ftv2pnode.png
Binary files differ
diff --git a/docs/RTOS2/html/ftv2splitbar.png b/docs/RTOS2/html/ftv2splitbar.png
new file mode 100644
index 0000000..0dfe691
--- /dev/null
+++ b/docs/RTOS2/html/ftv2splitbar.png
Binary files differ
diff --git a/docs/RTOS2/html/ftv2vertline.png b/docs/RTOS2/html/ftv2vertline.png
new file mode 100644
index 0000000..63c605b
--- /dev/null
+++ b/docs/RTOS2/html/ftv2vertline.png
Binary files differ
diff --git a/docs/RTOS2/html/functionOverview.html b/docs/RTOS2/html/functionOverview.html
new file mode 100644
index 0000000..a4c2eca
--- /dev/null
+++ b/docs/RTOS2/html/functionOverview.html
@@ -0,0 +1,140 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Function Overview</title>
+<title>CMSIS-RTOS2: Function Overview</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('functionOverview.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">Function Overview </div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>CMSIS-RTOS2 provides multiple API interfaces:</p>
+<ul>
+<li><a class="el" href="rtos_api2.html">CMSIS-RTOS C API v2</a> is the new C function interface that supports dynamic object creation and Armv8-M (Arm Cortex-M23 and Cortex-M33).</li>
+<li><a href="../../RTOS/html/functionOverview.html" class="el">CMSIS-RTOS C API v1</a> is a C function API that is backward compatible with CMSIS-RTOS v1.</li>
+<li><a class="el" href="rtos_apicpp.html">CMSIS-RTOS C++ API</a> is a C++ class function API (future extension).</li>
+</ul>
+<p>It is possible to intermix the different API variants in the same application and even in the same C/C++ source module. However, the functions of the <a href="../../RTOS/html/functionOverview.html" class="el">CMSIS-RTOS C API v1</a> may be deprecated in future versions of CMSIS-RTOS.</p>
+<p>CMSIS-RTOS2 defines also a generic system timer interface that works across the supported Arm Cortex processors:</p>
+<ul>
+<li><a class="el" href="rtos_os_tick_api.html">OS Tick API</a> is the interface to a kernel system timer. </li>
+</ul>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="index.html">index</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/functionOverview.js b/docs/RTOS2/html/functionOverview.js
new file mode 100644
index 0000000..1834187
--- /dev/null
+++ b/docs/RTOS2/html/functionOverview.js
@@ -0,0 +1,9 @@
+var functionOverview =
+[
+ [ "CMSIS-RTOS C API v2", "rtos_api2.html", [
+ [ "Common Design Concepts", "rtos_api2.html#rtos_api2_basics", null ],
+ [ "Function Reference", "rtos_api2.html#rtos_api2_functions", null ]
+ ] ],
+ [ "CMSIS-RTOS C++ API", "rtos_apicpp.html", null ],
+ [ "OS Tick API", "rtos_os_tick_api.html", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/functions.html b/docs/RTOS2/html/functions.html
new file mode 100644
index 0000000..2bd605c
--- /dev/null
+++ b/docs/RTOS2/html/functions.html
@@ -0,0 +1,560 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Data Fields</title>
+<title>CMSIS-RTOS2: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
+ <li><a href="classes.html"><span>Data&#160;Structure&#160;Index</span></a></li>
+ <li class="current"><a href="functions.html"><span>Data&#160;Fields</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="#index_a"><span>a</span></a></li>
+ <li><a href="#index_b"><span>b</span></a></li>
+ <li><a href="#index_c"><span>c</span></a></li>
+ <li><a href="#index_d"><span>d</span></a></li>
+ <li><a href="#index_e"><span>e</span></a></li>
+ <li><a href="#index_f"><span>f</span></a></li>
+ <li><a href="#index_i"><span>i</span></a></li>
+ <li><a href="#index_k"><span>k</span></a></li>
+ <li><a href="#index_l"><span>l</span></a></li>
+ <li><a href="#index_m"><span>m</span></a></li>
+ <li><a href="#index_n"><span>n</span></a></li>
+ <li><a href="#index_o"><span>o</span></a></li>
+ <li><a href="#index_p"><span>p</span></a></li>
+ <li><a href="#index_r"><span>r</span></a></li>
+ <li><a href="#index_s"><span>s</span></a></li>
+ <li><a href="#index_t"><span>t</span></a></li>
+ <li><a href="#index_u"><span>u</span></a></li>
+ <li><a href="#index_v"><span>v</span></a></li>
+ <li class="current"><a href="#index_w"><span>w</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('functions.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all struct and union fields with links to the structures/unions they belong to:</div>
+
+<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
+<li>api
+: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#a76a1ef1a4d3d9bd3e70783051f22a6d3">osVersion_t</a>
+</li>
+<li>arg
+: <a class="el" href="rtx__os_8h.html#a9ce2ec4812a92cb6ab39f6e81e9173a9">osRtxTimerFinfo_t</a>
+</li>
+<li>attr
+: <a class="el" href="rtx__os_8h.html#a28478ea2856f6286899bc90b2c6a1ec4">osRtxMutex_t</a>
+, <a class="el" href="rtx__os_8h.html#a28478ea2856f6286899bc90b2c6a1ec4">osRtxThread_t</a>
+</li>
+<li>attr_bits
+: <a class="el" href="group__CMSIS__RTOS__EventFlags.html#a6e93b49cb79c12f768d72580c7731f30">osEventFlagsAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#a6e93b49cb79c12f768d72580c7731f30">osMemoryPoolAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__Message.html#a6e93b49cb79c12f768d72580c7731f30">osMessageQueueAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#a6e93b49cb79c12f768d72580c7731f30">osMutexAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#a6e93b49cb79c12f768d72580c7731f30">osSemaphoreAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#a6e93b49cb79c12f768d72580c7731f30">osThreadAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#a6e93b49cb79c12f768d72580c7731f30">osTimerAttr_t</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
+<li>block_base
+: <a class="el" href="rtx__os_8h.html#a4a598d941460a6d8ebfbd9c622e2876a">osRtxMpInfo_t</a>
+</li>
+<li>block_free
+: <a class="el" href="rtx__os_8h.html#aa111194ee30ea4e76b9dfcac8a03a8d9">osRtxMpInfo_t</a>
+</li>
+<li>block_lim
+: <a class="el" href="rtx__os_8h.html#aba0fcdc6eda7e9f65c1d1904b2fff919">osRtxMpInfo_t</a>
+</li>
+<li>block_size
+: <a class="el" href="rtx__os_8h.html#a9e3fb1e50a1c71b2337df296222d9553">osRtxMpInfo_t</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
+<li>cb_mem
+: <a class="el" href="group__CMSIS__RTOS__EventFlags.html#a1e100dc33d403841ed3c344e3397868e">osEventFlagsAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#a1e100dc33d403841ed3c344e3397868e">osMemoryPoolAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__Message.html#a1e100dc33d403841ed3c344e3397868e">osMessageQueueAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#a1e100dc33d403841ed3c344e3397868e">osMutexAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#a1e100dc33d403841ed3c344e3397868e">osSemaphoreAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#a1e100dc33d403841ed3c344e3397868e">osThreadAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#a1e100dc33d403841ed3c344e3397868e">osTimerAttr_t</a>
+</li>
+<li>cb_size
+: <a class="el" href="group__CMSIS__RTOS__EventFlags.html#aa55a4335d12dc2785dc00fdc292d1159">osEventFlagsAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#aa55a4335d12dc2785dc00fdc292d1159">osMemoryPoolAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__Message.html#aa55a4335d12dc2785dc00fdc292d1159">osMessageQueueAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#aa55a4335d12dc2785dc00fdc292d1159">osMutexAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#aa55a4335d12dc2785dc00fdc292d1159">osSemaphoreAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#aa55a4335d12dc2785dc00fdc292d1159">osThreadAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#aa55a4335d12dc2785dc00fdc292d1159">osTimerAttr_t</a>
+</li>
+<li>cnt_alloc
+: <a class="el" href="rtx__os_8h.html#a6bc379cb485caaa1bd9b63abbc79a4ec">osRtxObjectMemUsage_t</a>
+</li>
+<li>cnt_free
+: <a class="el" href="rtx__os_8h.html#a5916fa670084fea56a52ba450565da4b">osRtxObjectMemUsage_t</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
+<li>delay
+: <a class="el" href="rtx__os_8h.html#a458421a43d4f6dc515faf427bf579d00">osRtxThread_t</a>
+</li>
+<li>delay_next
+: <a class="el" href="rtx__os_8h.html#a21a74cedec66715cd5d7422797035868">osRtxThread_t</a>
+</li>
+<li>delay_prev
+: <a class="el" href="rtx__os_8h.html#adcfea33cc536708db8a3419ba0295551">osRtxThread_t</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
+<li>event_flags
+: <a class="el" href="rtx__os_8h.html#a7044be0679894b5daf72f19f9dd06e03">osRtxEventFlags_t</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
+<li>finfo
+: <a class="el" href="rtx__os_8h.html#ab415a6615c5ddf5365ed86e58a1e1809">osRtxTimer_t</a>
+</li>
+<li>flags
+: <a class="el" href="rtx__os_8h.html#a773b39d480759f67926cb18ae2219281">osRtxConfig_t</a>
+, <a class="el" href="rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe">osRtxEventFlags_t</a>
+, <a class="el" href="rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe">osRtxMemoryPool_t</a>
+, <a class="el" href="rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe">osRtxMessage_t</a>
+, <a class="el" href="rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe">osRtxMessageQueue_t</a>
+, <a class="el" href="rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe">osRtxMutex_t</a>
+, <a class="el" href="rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe">osRtxObject_t</a>
+, <a class="el" href="rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe">osRtxSemaphore_t</a>
+, <a class="el" href="rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe">osRtxThread_t</a>
+, <a class="el" href="rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe">osRtxTimer_t</a>
+</li>
+<li>flags_options
+: <a class="el" href="rtx__os_8h.html#a87c898585d0aeffdcf67c9e1b3befefe">osRtxThread_t</a>
+</li>
+<li>func
+: <a class="el" href="rtx__os_8h.html#aaf8577e5ddcbff356a1d27310baa8a1f">osRtxTimerFinfo_t</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
+<li>id
+: <a class="el" href="rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b">osRtxEventFlags_t</a>
+, <a class="el" href="rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b">osRtxMemoryPool_t</a>
+, <a class="el" href="rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b">osRtxMessage_t</a>
+, <a class="el" href="rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b">osRtxMessageQueue_t</a>
+, <a class="el" href="rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b">osRtxMutex_t</a>
+, <a class="el" href="rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b">osRtxObject_t</a>
+, <a class="el" href="rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b">osRtxSemaphore_t</a>
+, <a class="el" href="rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b">osRtxThread_t</a>
+, <a class="el" href="rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b">osRtxTimer_t</a>
+</li>
+<li>idle_thread_attr
+: <a class="el" href="rtx__os_8h.html#a694e5f79185db270e087e94719177ca0">osRtxConfig_t</a>
+</li>
+<li>isr_queue
+: <a class="el" href="rtx__os_8h.html#a0354dd9f726694843f2a01df98c5641c">osRtxConfig_t</a>
+, <a class="el" href="rtx__os_8h.html#a534f37c2b021c8242492bedfe48b0338">osRtxInfo_t</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_k"></a>- k -</h3><ul>
+<li>kernel
+: <a class="el" href="rtx__os_8h.html#a72d4e2550fcee67cc139fca04505a903">osRtxInfo_t</a>
+, <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ad8075d3f42141346ae2c56389358f9e7">osVersion_t</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
+<li>load
+: <a class="el" href="rtx__os_8h.html#aee4a6239f04d660fc90663dd6b39ca95">osRtxTimer_t</a>
+</li>
+<li>lock
+: <a class="el" href="rtx__os_8h.html#a92435efb84d6814afd444fd462802e9c">osRtxMutex_t</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
+<li>max_blocks
+: <a class="el" href="rtx__os_8h.html#addc777bf5285ab03de6787385e6ea053">osRtxMpInfo_t</a>
+</li>
+<li>max_tokens
+: <a class="el" href="rtx__os_8h.html#aa793f0e9a46e8b59b6d351535ee18a7d">osRtxSemaphore_t</a>
+</li>
+<li>max_used
+: <a class="el" href="rtx__os_8h.html#a81baadf3fdf0eeff338f997ca3fe5009">osRtxObjectMemUsage_t</a>
+</li>
+<li>mem
+: <a class="el" href="rtx__os_8h.html#aa30bb7d2484db1812c1aaf77a23cd11e">osRtxConfig_t</a>
+, <a class="el" href="rtx__os_8h.html#a42d7108f7184dcb944cdf73f649ad2dd">osRtxInfo_t</a>
+</li>
+<li>mp_info
+: <a class="el" href="rtx__os_8h.html#ac1cf67a8631962a42fa2da46f20a1a39">osRtxMemoryPool_t</a>
+, <a class="el" href="rtx__os_8h.html#ac1cf67a8631962a42fa2da46f20a1a39">osRtxMessageQueue_t</a>
+</li>
+<li>mp_mem
+: <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#a5799465cca9c71c5587ceb0986f5b06a">osMemoryPoolAttr_t</a>
+</li>
+<li>mp_size
+: <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#a66c26015c0ac8e88a4ad907c120aee4f">osMemoryPoolAttr_t</a>
+</li>
+<li>mpi
+: <a class="el" href="rtx__os_8h.html#ac013bca5f28bebf36a3372da78107e97">osRtxConfig_t</a>
+, <a class="el" href="rtx__os_8h.html#a13aeb46a18b12ae911abead8e497ffd3">osRtxInfo_t</a>
+</li>
+<li>mq_mem
+: <a class="el" href="group__CMSIS__RTOS__Message.html#a4e208dc0fb049b42c4b90cbd2791c5ad">osMessageQueueAttr_t</a>
+</li>
+<li>mq_size
+: <a class="el" href="group__CMSIS__RTOS__Message.html#ac1cc09f875e20c926920b57bb83c70ee">osMessageQueueAttr_t</a>
+</li>
+<li>msg_count
+: <a class="el" href="rtx__os_8h.html#a6a019648a53352a413ea79b958a362cd">osRtxMessageQueue_t</a>
+</li>
+<li>msg_first
+: <a class="el" href="rtx__os_8h.html#a13c143cc2f25a550fc3eb7ae68b0c56d">osRtxMessageQueue_t</a>
+</li>
+<li>msg_last
+: <a class="el" href="rtx__os_8h.html#ab386d4a98974f52ca151426c4dde0da4">osRtxMessageQueue_t</a>
+</li>
+<li>msg_size
+: <a class="el" href="rtx__os_8h.html#a58873af81b75772a41aa5c1ff788a0c2">osRtxMessageQueue_t</a>
+</li>
+<li>mutex_list
+: <a class="el" href="rtx__os_8h.html#a70b3153655adaf42687fe250983f6c95">osRtxThread_t</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
+<li>name
+: <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ab74e6bf80237ddc4109968cedc58c151">osEventFlagsAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ab74e6bf80237ddc4109968cedc58c151">osMemoryPoolAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__Message.html#ab74e6bf80237ddc4109968cedc58c151">osMessageQueueAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ab74e6bf80237ddc4109968cedc58c151">osMutexAttr_t</a>
+, <a class="el" href="rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb">osRtxEventFlags_t</a>
+, <a class="el" href="rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb">osRtxMemoryPool_t</a>
+, <a class="el" href="rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb">osRtxMessageQueue_t</a>
+, <a class="el" href="rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb">osRtxMutex_t</a>
+, <a class="el" href="rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb">osRtxObject_t</a>
+, <a class="el" href="rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb">osRtxSemaphore_t</a>
+, <a class="el" href="rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb">osRtxThread_t</a>
+, <a class="el" href="rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb">osRtxTimer_t</a>
+, <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ab74e6bf80237ddc4109968cedc58c151">osSemaphoreAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ab74e6bf80237ddc4109968cedc58c151">osThreadAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#ab74e6bf80237ddc4109968cedc58c151">osTimerAttr_t</a>
+</li>
+<li>next
+: <a class="el" href="rtx__os_8h.html#a89570e219f9fb794b8353207a7592f95">osRtxMessage_t</a>
+, <a class="el" href="rtx__os_8h.html#a8b9ac161a613448926b2c2b2c8dbe259">osRtxTimer_t</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
+<li>os_id
+: <a class="el" href="rtx__os_8h.html#a7b7d02cdf33432995469f29878f7dcda">osRtxInfo_t</a>
+</li>
+<li>owner_next
+: <a class="el" href="rtx__os_8h.html#a54be7ae32f627ee70e1af8c54203ee5a">osRtxMutex_t</a>
+</li>
+<li>owner_prev
+: <a class="el" href="rtx__os_8h.html#a50b315b9b80bafdba54a7a731be1cc30">osRtxMutex_t</a>
+</li>
+<li>owner_thread
+: <a class="el" href="rtx__os_8h.html#a987889d464cb2925029e135b76aa0dc9">osRtxMutex_t</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
+<li>padding
+: <a class="el" href="rtx__os_8h.html#a735ef00341a84c02ba561c66de3d20af">osRtxMutex_t</a>
+</li>
+<li>post_process
+: <a class="el" href="rtx__os_8h.html#ae64a3e930a8e3d1fb28038db9bc514d9">osRtxInfo_t</a>
+</li>
+<li>prev
+: <a class="el" href="rtx__os_8h.html#ad2b4e6d37acc8020701610f54c0c8910">osRtxMessage_t</a>
+, <a class="el" href="rtx__os_8h.html#ac8953ebf7df8aaf724cb12876ac8fb1a">osRtxTimer_t</a>
+</li>
+<li>priority
+: <a class="el" href="rtx__os_8h.html#a0ad043071ccc7a261d79a759dc9c6f0c">osRtxMessage_t</a>
+, <a class="el" href="rtx__os_8h.html#a81659cc4c01e54e2424022728d9effc7">osRtxThread_t</a>
+, <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#a6a5183df4c54c3e28dc8dc704f2487d5">osThreadAttr_t</a>
+</li>
+<li>priority_base
+: <a class="el" href="rtx__os_8h.html#ac67f8858081fb7a6e5a4ee8d2de3b348">osRtxThread_t</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
+<li>reserved
+: <a class="el" href="rtx__os_8h.html#acb7bc06bed6f6408d719334fc41698c7">osRtxEventFlags_t</a>
+, <a class="el" href="rtx__os_8h.html#acb7bc06bed6f6408d719334fc41698c7">osRtxMemoryPool_t</a>
+, <a class="el" href="rtx__os_8h.html#acb7bc06bed6f6408d719334fc41698c7">osRtxMessageQueue_t</a>
+, <a class="el" href="rtx__os_8h.html#acb7bc06bed6f6408d719334fc41698c7">osRtxObject_t</a>
+, <a class="el" href="rtx__os_8h.html#acb7bc06bed6f6408d719334fc41698c7">osRtxSemaphore_t</a>
+, <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#a66f538babc389986738ec70104e0562b">osThreadAttr_t</a>
+</li>
+<li>reserved_state
+: <a class="el" href="rtx__os_8h.html#a0acbb12a103775ddce0fb5d0efa3540f">osRtxEventFlags_t</a>
+, <a class="el" href="rtx__os_8h.html#a0acbb12a103775ddce0fb5d0efa3540f">osRtxMemoryPool_t</a>
+, <a class="el" href="rtx__os_8h.html#a0acbb12a103775ddce0fb5d0efa3540f">osRtxMessage_t</a>
+, <a class="el" href="rtx__os_8h.html#a0acbb12a103775ddce0fb5d0efa3540f">osRtxMessageQueue_t</a>
+, <a class="el" href="rtx__os_8h.html#a0acbb12a103775ddce0fb5d0efa3540f">osRtxMutex_t</a>
+, <a class="el" href="rtx__os_8h.html#a0acbb12a103775ddce0fb5d0efa3540f">osRtxSemaphore_t</a>
+</li>
+<li>robin_timeout
+: <a class="el" href="rtx__os_8h.html#a6b4c66676a5bc985c28b71ac4ac79159">osRtxConfig_t</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
+<li>sp
+: <a class="el" href="rtx__os_8h.html#a382a07e24a852d580d7548b8d517384c">osRtxThread_t</a>
+</li>
+<li>stack_frame
+: <a class="el" href="rtx__os_8h.html#a1071334ebd46d95b9ab1dcad788b2adc">osRtxThread_t</a>
+</li>
+<li>stack_mem
+: <a class="el" href="rtx__os_8h.html#a447dbb69b4c036e118b3b1b8bd22fe60">osRtxThread_t</a>
+, <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ad7c9b42355a4c8b9467130ab3fb19e43">osThreadAttr_t</a>
+</li>
+<li>stack_size
+: <a class="el" href="rtx__os_8h.html#ad63716408aae5b50857ca8ce74e3a3ff">osRtxThread_t</a>
+, <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#aacbc9a219f2d6870e9ce89bb93f975c9">osThreadAttr_t</a>
+</li>
+<li>state
+: <a class="el" href="rtx__os_8h.html#a0b57aa10271a66f3dc936bba1d2f3830">osRtxObject_t</a>
+, <a class="el" href="rtx__os_8h.html#a0b57aa10271a66f3dc936bba1d2f3830">osRtxThread_t</a>
+, <a class="el" href="rtx__os_8h.html#a0b57aa10271a66f3dc936bba1d2f3830">osRtxTimer_t</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
+<li>thread
+: <a class="el" href="rtx__os_8h.html#a540b2b79850c654b3f5756c488314b8d">osRtxInfo_t</a>
+</li>
+<li>thread_addr
+: <a class="el" href="rtx__os_8h.html#adf2ebf46aa7018845582f1c70de83598">osRtxThread_t</a>
+</li>
+<li>thread_flags
+: <a class="el" href="rtx__os_8h.html#ae757685e50b875e953f4aff67ac24b1b">osRtxThread_t</a>
+</li>
+<li>thread_join
+: <a class="el" href="rtx__os_8h.html#a83ec0540c50d4e79bed99f1b384bd2b9">osRtxThread_t</a>
+</li>
+<li>thread_list
+: <a class="el" href="rtx__os_8h.html#a8afd5feb676df99867375957b0587451">osRtxEventFlags_t</a>
+, <a class="el" href="rtx__os_8h.html#a8afd5feb676df99867375957b0587451">osRtxMemoryPool_t</a>
+, <a class="el" href="rtx__os_8h.html#a8afd5feb676df99867375957b0587451">osRtxMessageQueue_t</a>
+, <a class="el" href="rtx__os_8h.html#a8afd5feb676df99867375957b0587451">osRtxMutex_t</a>
+, <a class="el" href="rtx__os_8h.html#a8afd5feb676df99867375957b0587451">osRtxObject_t</a>
+, <a class="el" href="rtx__os_8h.html#a8afd5feb676df99867375957b0587451">osRtxSemaphore_t</a>
+</li>
+<li>thread_next
+: <a class="el" href="rtx__os_8h.html#a421971e8ae94fe0bd86b85a90445e71e">osRtxThread_t</a>
+</li>
+<li>thread_prev
+: <a class="el" href="rtx__os_8h.html#aa230a0d899f6c0750e6d454af3ef9b05">osRtxThread_t</a>
+</li>
+<li>thread_stack_size
+: <a class="el" href="rtx__os_8h.html#a6aa2c0bcb2024f1e4c38f9e8f6769c09">osRtxConfig_t</a>
+</li>
+<li>tick
+: <a class="el" href="rtx__os_8h.html#a260e06ce96c2e4deebccaedeb059dc0b">osRtxTimer_t</a>
+</li>
+<li>tick_freq
+: <a class="el" href="rtx__os_8h.html#a5973e7102782a9936a5e0d1417863675">osRtxConfig_t</a>
+</li>
+<li>tick_irqn
+: <a class="el" href="rtx__os_8h.html#ad88a39594ffe6ab1016cf59517219e21">osRtxInfo_t</a>
+</li>
+<li>timer
+: <a class="el" href="rtx__os_8h.html#ad2649f7342615613f26a8603203bba7b">osRtxInfo_t</a>
+</li>
+<li>timer_mq_attr
+: <a class="el" href="rtx__os_8h.html#a3e07bcf21ce5250f3dc0f1ec4ebc938d">osRtxConfig_t</a>
+</li>
+<li>timer_mq_mcnt
+: <a class="el" href="rtx__os_8h.html#a3d6d4ee231cd6db41ee358a5676b1a9d">osRtxConfig_t</a>
+</li>
+<li>timer_thread_attr
+: <a class="el" href="rtx__os_8h.html#a310b3e01cc8e274529353210db5a78c3">osRtxConfig_t</a>
+</li>
+<li>tokens
+: <a class="el" href="rtx__os_8h.html#a4e2e4e1126848f81d9e943147e07f0e0">osRtxSemaphore_t</a>
+</li>
+<li>type
+: <a class="el" href="rtx__os_8h.html#a1d127017fb298b889f4ba24752d08b8e">osRtxTimer_t</a>
+</li>
+<li>tz_memory
+: <a class="el" href="rtx__os_8h.html#adaa6c424a231e5f6c788532675f33e16">osRtxThread_t</a>
+</li>
+<li>tz_module
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#a697f2aad6119d655d212ea10245ae394">osThreadAttr_t</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
+<li>used_blocks
+: <a class="el" href="rtx__os_8h.html#a444139ba664bc8c262139a9addddb48c">osRtxMpInfo_t</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_v"></a>- v -</h3><ul>
+<li>version
+: <a class="el" href="rtx__os_8h.html#acd99bb05ca015e7d74448acb1deba7ca">osRtxInfo_t</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_w"></a>- w -</h3><ul>
+<li>wait_flags
+: <a class="el" href="rtx__os_8h.html#a3c7b4f24d9527394f4b5a1135d117691">osRtxThread_t</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/functions_vars.html b/docs/RTOS2/html/functions_vars.html
new file mode 100644
index 0000000..5c079ba
--- /dev/null
+++ b/docs/RTOS2/html/functions_vars.html
@@ -0,0 +1,560 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Data Fields - Variables</title>
+<title>CMSIS-RTOS2: Data Fields - Variables</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
+ <li><a href="classes.html"><span>Data&#160;Structure&#160;Index</span></a></li>
+ <li class="current"><a href="functions.html"><span>Data&#160;Fields</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="#index_a"><span>a</span></a></li>
+ <li><a href="#index_b"><span>b</span></a></li>
+ <li><a href="#index_c"><span>c</span></a></li>
+ <li><a href="#index_d"><span>d</span></a></li>
+ <li><a href="#index_e"><span>e</span></a></li>
+ <li><a href="#index_f"><span>f</span></a></li>
+ <li><a href="#index_i"><span>i</span></a></li>
+ <li><a href="#index_k"><span>k</span></a></li>
+ <li><a href="#index_l"><span>l</span></a></li>
+ <li><a href="#index_m"><span>m</span></a></li>
+ <li><a href="#index_n"><span>n</span></a></li>
+ <li><a href="#index_o"><span>o</span></a></li>
+ <li><a href="#index_p"><span>p</span></a></li>
+ <li><a href="#index_r"><span>r</span></a></li>
+ <li><a href="#index_s"><span>s</span></a></li>
+ <li><a href="#index_t"><span>t</span></a></li>
+ <li><a href="#index_u"><span>u</span></a></li>
+ <li><a href="#index_v"><span>v</span></a></li>
+ <li class="current"><a href="#index_w"><span>w</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('functions_vars.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
+<li>api
+: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#a76a1ef1a4d3d9bd3e70783051f22a6d3">osVersion_t</a>
+</li>
+<li>arg
+: <a class="el" href="rtx__os_8h.html#a9ce2ec4812a92cb6ab39f6e81e9173a9">osRtxTimerFinfo_t</a>
+</li>
+<li>attr
+: <a class="el" href="rtx__os_8h.html#a28478ea2856f6286899bc90b2c6a1ec4">osRtxMutex_t</a>
+, <a class="el" href="rtx__os_8h.html#a28478ea2856f6286899bc90b2c6a1ec4">osRtxThread_t</a>
+</li>
+<li>attr_bits
+: <a class="el" href="group__CMSIS__RTOS__EventFlags.html#a6e93b49cb79c12f768d72580c7731f30">osEventFlagsAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#a6e93b49cb79c12f768d72580c7731f30">osMemoryPoolAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__Message.html#a6e93b49cb79c12f768d72580c7731f30">osMessageQueueAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#a6e93b49cb79c12f768d72580c7731f30">osMutexAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#a6e93b49cb79c12f768d72580c7731f30">osSemaphoreAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#a6e93b49cb79c12f768d72580c7731f30">osThreadAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#a6e93b49cb79c12f768d72580c7731f30">osTimerAttr_t</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
+<li>block_base
+: <a class="el" href="rtx__os_8h.html#a4a598d941460a6d8ebfbd9c622e2876a">osRtxMpInfo_t</a>
+</li>
+<li>block_free
+: <a class="el" href="rtx__os_8h.html#aa111194ee30ea4e76b9dfcac8a03a8d9">osRtxMpInfo_t</a>
+</li>
+<li>block_lim
+: <a class="el" href="rtx__os_8h.html#aba0fcdc6eda7e9f65c1d1904b2fff919">osRtxMpInfo_t</a>
+</li>
+<li>block_size
+: <a class="el" href="rtx__os_8h.html#a9e3fb1e50a1c71b2337df296222d9553">osRtxMpInfo_t</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
+<li>cb_mem
+: <a class="el" href="group__CMSIS__RTOS__EventFlags.html#a1e100dc33d403841ed3c344e3397868e">osEventFlagsAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#a1e100dc33d403841ed3c344e3397868e">osMemoryPoolAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__Message.html#a1e100dc33d403841ed3c344e3397868e">osMessageQueueAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#a1e100dc33d403841ed3c344e3397868e">osMutexAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#a1e100dc33d403841ed3c344e3397868e">osSemaphoreAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#a1e100dc33d403841ed3c344e3397868e">osThreadAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#a1e100dc33d403841ed3c344e3397868e">osTimerAttr_t</a>
+</li>
+<li>cb_size
+: <a class="el" href="group__CMSIS__RTOS__EventFlags.html#aa55a4335d12dc2785dc00fdc292d1159">osEventFlagsAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#aa55a4335d12dc2785dc00fdc292d1159">osMemoryPoolAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__Message.html#aa55a4335d12dc2785dc00fdc292d1159">osMessageQueueAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#aa55a4335d12dc2785dc00fdc292d1159">osMutexAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#aa55a4335d12dc2785dc00fdc292d1159">osSemaphoreAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#aa55a4335d12dc2785dc00fdc292d1159">osThreadAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#aa55a4335d12dc2785dc00fdc292d1159">osTimerAttr_t</a>
+</li>
+<li>cnt_alloc
+: <a class="el" href="rtx__os_8h.html#a6bc379cb485caaa1bd9b63abbc79a4ec">osRtxObjectMemUsage_t</a>
+</li>
+<li>cnt_free
+: <a class="el" href="rtx__os_8h.html#a5916fa670084fea56a52ba450565da4b">osRtxObjectMemUsage_t</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
+<li>delay
+: <a class="el" href="rtx__os_8h.html#a458421a43d4f6dc515faf427bf579d00">osRtxThread_t</a>
+</li>
+<li>delay_next
+: <a class="el" href="rtx__os_8h.html#a21a74cedec66715cd5d7422797035868">osRtxThread_t</a>
+</li>
+<li>delay_prev
+: <a class="el" href="rtx__os_8h.html#adcfea33cc536708db8a3419ba0295551">osRtxThread_t</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
+<li>event_flags
+: <a class="el" href="rtx__os_8h.html#a7044be0679894b5daf72f19f9dd06e03">osRtxEventFlags_t</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
+<li>finfo
+: <a class="el" href="rtx__os_8h.html#ab415a6615c5ddf5365ed86e58a1e1809">osRtxTimer_t</a>
+</li>
+<li>flags
+: <a class="el" href="rtx__os_8h.html#a773b39d480759f67926cb18ae2219281">osRtxConfig_t</a>
+, <a class="el" href="rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe">osRtxEventFlags_t</a>
+, <a class="el" href="rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe">osRtxMemoryPool_t</a>
+, <a class="el" href="rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe">osRtxMessage_t</a>
+, <a class="el" href="rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe">osRtxMessageQueue_t</a>
+, <a class="el" href="rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe">osRtxMutex_t</a>
+, <a class="el" href="rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe">osRtxObject_t</a>
+, <a class="el" href="rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe">osRtxSemaphore_t</a>
+, <a class="el" href="rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe">osRtxThread_t</a>
+, <a class="el" href="rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe">osRtxTimer_t</a>
+</li>
+<li>flags_options
+: <a class="el" href="rtx__os_8h.html#a87c898585d0aeffdcf67c9e1b3befefe">osRtxThread_t</a>
+</li>
+<li>func
+: <a class="el" href="rtx__os_8h.html#aaf8577e5ddcbff356a1d27310baa8a1f">osRtxTimerFinfo_t</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
+<li>id
+: <a class="el" href="rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b">osRtxEventFlags_t</a>
+, <a class="el" href="rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b">osRtxMemoryPool_t</a>
+, <a class="el" href="rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b">osRtxMessage_t</a>
+, <a class="el" href="rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b">osRtxMessageQueue_t</a>
+, <a class="el" href="rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b">osRtxMutex_t</a>
+, <a class="el" href="rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b">osRtxObject_t</a>
+, <a class="el" href="rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b">osRtxSemaphore_t</a>
+, <a class="el" href="rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b">osRtxThread_t</a>
+, <a class="el" href="rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b">osRtxTimer_t</a>
+</li>
+<li>idle_thread_attr
+: <a class="el" href="rtx__os_8h.html#a694e5f79185db270e087e94719177ca0">osRtxConfig_t</a>
+</li>
+<li>isr_queue
+: <a class="el" href="rtx__os_8h.html#a0354dd9f726694843f2a01df98c5641c">osRtxConfig_t</a>
+, <a class="el" href="rtx__os_8h.html#a534f37c2b021c8242492bedfe48b0338">osRtxInfo_t</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_k"></a>- k -</h3><ul>
+<li>kernel
+: <a class="el" href="rtx__os_8h.html#a72d4e2550fcee67cc139fca04505a903">osRtxInfo_t</a>
+, <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ad8075d3f42141346ae2c56389358f9e7">osVersion_t</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
+<li>load
+: <a class="el" href="rtx__os_8h.html#aee4a6239f04d660fc90663dd6b39ca95">osRtxTimer_t</a>
+</li>
+<li>lock
+: <a class="el" href="rtx__os_8h.html#a92435efb84d6814afd444fd462802e9c">osRtxMutex_t</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
+<li>max_blocks
+: <a class="el" href="rtx__os_8h.html#addc777bf5285ab03de6787385e6ea053">osRtxMpInfo_t</a>
+</li>
+<li>max_tokens
+: <a class="el" href="rtx__os_8h.html#aa793f0e9a46e8b59b6d351535ee18a7d">osRtxSemaphore_t</a>
+</li>
+<li>max_used
+: <a class="el" href="rtx__os_8h.html#a81baadf3fdf0eeff338f997ca3fe5009">osRtxObjectMemUsage_t</a>
+</li>
+<li>mem
+: <a class="el" href="rtx__os_8h.html#aa30bb7d2484db1812c1aaf77a23cd11e">osRtxConfig_t</a>
+, <a class="el" href="rtx__os_8h.html#a42d7108f7184dcb944cdf73f649ad2dd">osRtxInfo_t</a>
+</li>
+<li>mp_info
+: <a class="el" href="rtx__os_8h.html#ac1cf67a8631962a42fa2da46f20a1a39">osRtxMemoryPool_t</a>
+, <a class="el" href="rtx__os_8h.html#ac1cf67a8631962a42fa2da46f20a1a39">osRtxMessageQueue_t</a>
+</li>
+<li>mp_mem
+: <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#a5799465cca9c71c5587ceb0986f5b06a">osMemoryPoolAttr_t</a>
+</li>
+<li>mp_size
+: <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#a66c26015c0ac8e88a4ad907c120aee4f">osMemoryPoolAttr_t</a>
+</li>
+<li>mpi
+: <a class="el" href="rtx__os_8h.html#ac013bca5f28bebf36a3372da78107e97">osRtxConfig_t</a>
+, <a class="el" href="rtx__os_8h.html#a13aeb46a18b12ae911abead8e497ffd3">osRtxInfo_t</a>
+</li>
+<li>mq_mem
+: <a class="el" href="group__CMSIS__RTOS__Message.html#a4e208dc0fb049b42c4b90cbd2791c5ad">osMessageQueueAttr_t</a>
+</li>
+<li>mq_size
+: <a class="el" href="group__CMSIS__RTOS__Message.html#ac1cc09f875e20c926920b57bb83c70ee">osMessageQueueAttr_t</a>
+</li>
+<li>msg_count
+: <a class="el" href="rtx__os_8h.html#a6a019648a53352a413ea79b958a362cd">osRtxMessageQueue_t</a>
+</li>
+<li>msg_first
+: <a class="el" href="rtx__os_8h.html#a13c143cc2f25a550fc3eb7ae68b0c56d">osRtxMessageQueue_t</a>
+</li>
+<li>msg_last
+: <a class="el" href="rtx__os_8h.html#ab386d4a98974f52ca151426c4dde0da4">osRtxMessageQueue_t</a>
+</li>
+<li>msg_size
+: <a class="el" href="rtx__os_8h.html#a58873af81b75772a41aa5c1ff788a0c2">osRtxMessageQueue_t</a>
+</li>
+<li>mutex_list
+: <a class="el" href="rtx__os_8h.html#a70b3153655adaf42687fe250983f6c95">osRtxThread_t</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
+<li>name
+: <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ab74e6bf80237ddc4109968cedc58c151">osEventFlagsAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ab74e6bf80237ddc4109968cedc58c151">osMemoryPoolAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__Message.html#ab74e6bf80237ddc4109968cedc58c151">osMessageQueueAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ab74e6bf80237ddc4109968cedc58c151">osMutexAttr_t</a>
+, <a class="el" href="rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb">osRtxEventFlags_t</a>
+, <a class="el" href="rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb">osRtxMemoryPool_t</a>
+, <a class="el" href="rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb">osRtxMessageQueue_t</a>
+, <a class="el" href="rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb">osRtxMutex_t</a>
+, <a class="el" href="rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb">osRtxObject_t</a>
+, <a class="el" href="rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb">osRtxSemaphore_t</a>
+, <a class="el" href="rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb">osRtxThread_t</a>
+, <a class="el" href="rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb">osRtxTimer_t</a>
+, <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ab74e6bf80237ddc4109968cedc58c151">osSemaphoreAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ab74e6bf80237ddc4109968cedc58c151">osThreadAttr_t</a>
+, <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#ab74e6bf80237ddc4109968cedc58c151">osTimerAttr_t</a>
+</li>
+<li>next
+: <a class="el" href="rtx__os_8h.html#a89570e219f9fb794b8353207a7592f95">osRtxMessage_t</a>
+, <a class="el" href="rtx__os_8h.html#a8b9ac161a613448926b2c2b2c8dbe259">osRtxTimer_t</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
+<li>os_id
+: <a class="el" href="rtx__os_8h.html#a7b7d02cdf33432995469f29878f7dcda">osRtxInfo_t</a>
+</li>
+<li>owner_next
+: <a class="el" href="rtx__os_8h.html#a54be7ae32f627ee70e1af8c54203ee5a">osRtxMutex_t</a>
+</li>
+<li>owner_prev
+: <a class="el" href="rtx__os_8h.html#a50b315b9b80bafdba54a7a731be1cc30">osRtxMutex_t</a>
+</li>
+<li>owner_thread
+: <a class="el" href="rtx__os_8h.html#a987889d464cb2925029e135b76aa0dc9">osRtxMutex_t</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
+<li>padding
+: <a class="el" href="rtx__os_8h.html#a735ef00341a84c02ba561c66de3d20af">osRtxMutex_t</a>
+</li>
+<li>post_process
+: <a class="el" href="rtx__os_8h.html#ae64a3e930a8e3d1fb28038db9bc514d9">osRtxInfo_t</a>
+</li>
+<li>prev
+: <a class="el" href="rtx__os_8h.html#ad2b4e6d37acc8020701610f54c0c8910">osRtxMessage_t</a>
+, <a class="el" href="rtx__os_8h.html#ac8953ebf7df8aaf724cb12876ac8fb1a">osRtxTimer_t</a>
+</li>
+<li>priority
+: <a class="el" href="rtx__os_8h.html#a0ad043071ccc7a261d79a759dc9c6f0c">osRtxMessage_t</a>
+, <a class="el" href="rtx__os_8h.html#a81659cc4c01e54e2424022728d9effc7">osRtxThread_t</a>
+, <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#a6a5183df4c54c3e28dc8dc704f2487d5">osThreadAttr_t</a>
+</li>
+<li>priority_base
+: <a class="el" href="rtx__os_8h.html#ac67f8858081fb7a6e5a4ee8d2de3b348">osRtxThread_t</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
+<li>reserved
+: <a class="el" href="rtx__os_8h.html#acb7bc06bed6f6408d719334fc41698c7">osRtxEventFlags_t</a>
+, <a class="el" href="rtx__os_8h.html#acb7bc06bed6f6408d719334fc41698c7">osRtxMemoryPool_t</a>
+, <a class="el" href="rtx__os_8h.html#acb7bc06bed6f6408d719334fc41698c7">osRtxMessageQueue_t</a>
+, <a class="el" href="rtx__os_8h.html#acb7bc06bed6f6408d719334fc41698c7">osRtxObject_t</a>
+, <a class="el" href="rtx__os_8h.html#acb7bc06bed6f6408d719334fc41698c7">osRtxSemaphore_t</a>
+, <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#a66f538babc389986738ec70104e0562b">osThreadAttr_t</a>
+</li>
+<li>reserved_state
+: <a class="el" href="rtx__os_8h.html#a0acbb12a103775ddce0fb5d0efa3540f">osRtxEventFlags_t</a>
+, <a class="el" href="rtx__os_8h.html#a0acbb12a103775ddce0fb5d0efa3540f">osRtxMemoryPool_t</a>
+, <a class="el" href="rtx__os_8h.html#a0acbb12a103775ddce0fb5d0efa3540f">osRtxMessage_t</a>
+, <a class="el" href="rtx__os_8h.html#a0acbb12a103775ddce0fb5d0efa3540f">osRtxMessageQueue_t</a>
+, <a class="el" href="rtx__os_8h.html#a0acbb12a103775ddce0fb5d0efa3540f">osRtxMutex_t</a>
+, <a class="el" href="rtx__os_8h.html#a0acbb12a103775ddce0fb5d0efa3540f">osRtxSemaphore_t</a>
+</li>
+<li>robin_timeout
+: <a class="el" href="rtx__os_8h.html#a6b4c66676a5bc985c28b71ac4ac79159">osRtxConfig_t</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
+<li>sp
+: <a class="el" href="rtx__os_8h.html#a382a07e24a852d580d7548b8d517384c">osRtxThread_t</a>
+</li>
+<li>stack_frame
+: <a class="el" href="rtx__os_8h.html#a1071334ebd46d95b9ab1dcad788b2adc">osRtxThread_t</a>
+</li>
+<li>stack_mem
+: <a class="el" href="rtx__os_8h.html#a447dbb69b4c036e118b3b1b8bd22fe60">osRtxThread_t</a>
+, <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ad7c9b42355a4c8b9467130ab3fb19e43">osThreadAttr_t</a>
+</li>
+<li>stack_size
+: <a class="el" href="rtx__os_8h.html#ad63716408aae5b50857ca8ce74e3a3ff">osRtxThread_t</a>
+, <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#aacbc9a219f2d6870e9ce89bb93f975c9">osThreadAttr_t</a>
+</li>
+<li>state
+: <a class="el" href="rtx__os_8h.html#a0b57aa10271a66f3dc936bba1d2f3830">osRtxObject_t</a>
+, <a class="el" href="rtx__os_8h.html#a0b57aa10271a66f3dc936bba1d2f3830">osRtxThread_t</a>
+, <a class="el" href="rtx__os_8h.html#a0b57aa10271a66f3dc936bba1d2f3830">osRtxTimer_t</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
+<li>thread
+: <a class="el" href="rtx__os_8h.html#a540b2b79850c654b3f5756c488314b8d">osRtxInfo_t</a>
+</li>
+<li>thread_addr
+: <a class="el" href="rtx__os_8h.html#adf2ebf46aa7018845582f1c70de83598">osRtxThread_t</a>
+</li>
+<li>thread_flags
+: <a class="el" href="rtx__os_8h.html#ae757685e50b875e953f4aff67ac24b1b">osRtxThread_t</a>
+</li>
+<li>thread_join
+: <a class="el" href="rtx__os_8h.html#a83ec0540c50d4e79bed99f1b384bd2b9">osRtxThread_t</a>
+</li>
+<li>thread_list
+: <a class="el" href="rtx__os_8h.html#a8afd5feb676df99867375957b0587451">osRtxEventFlags_t</a>
+, <a class="el" href="rtx__os_8h.html#a8afd5feb676df99867375957b0587451">osRtxMemoryPool_t</a>
+, <a class="el" href="rtx__os_8h.html#a8afd5feb676df99867375957b0587451">osRtxMessageQueue_t</a>
+, <a class="el" href="rtx__os_8h.html#a8afd5feb676df99867375957b0587451">osRtxMutex_t</a>
+, <a class="el" href="rtx__os_8h.html#a8afd5feb676df99867375957b0587451">osRtxObject_t</a>
+, <a class="el" href="rtx__os_8h.html#a8afd5feb676df99867375957b0587451">osRtxSemaphore_t</a>
+</li>
+<li>thread_next
+: <a class="el" href="rtx__os_8h.html#a421971e8ae94fe0bd86b85a90445e71e">osRtxThread_t</a>
+</li>
+<li>thread_prev
+: <a class="el" href="rtx__os_8h.html#aa230a0d899f6c0750e6d454af3ef9b05">osRtxThread_t</a>
+</li>
+<li>thread_stack_size
+: <a class="el" href="rtx__os_8h.html#a6aa2c0bcb2024f1e4c38f9e8f6769c09">osRtxConfig_t</a>
+</li>
+<li>tick
+: <a class="el" href="rtx__os_8h.html#a260e06ce96c2e4deebccaedeb059dc0b">osRtxTimer_t</a>
+</li>
+<li>tick_freq
+: <a class="el" href="rtx__os_8h.html#a5973e7102782a9936a5e0d1417863675">osRtxConfig_t</a>
+</li>
+<li>tick_irqn
+: <a class="el" href="rtx__os_8h.html#ad88a39594ffe6ab1016cf59517219e21">osRtxInfo_t</a>
+</li>
+<li>timer
+: <a class="el" href="rtx__os_8h.html#ad2649f7342615613f26a8603203bba7b">osRtxInfo_t</a>
+</li>
+<li>timer_mq_attr
+: <a class="el" href="rtx__os_8h.html#a3e07bcf21ce5250f3dc0f1ec4ebc938d">osRtxConfig_t</a>
+</li>
+<li>timer_mq_mcnt
+: <a class="el" href="rtx__os_8h.html#a3d6d4ee231cd6db41ee358a5676b1a9d">osRtxConfig_t</a>
+</li>
+<li>timer_thread_attr
+: <a class="el" href="rtx__os_8h.html#a310b3e01cc8e274529353210db5a78c3">osRtxConfig_t</a>
+</li>
+<li>tokens
+: <a class="el" href="rtx__os_8h.html#a4e2e4e1126848f81d9e943147e07f0e0">osRtxSemaphore_t</a>
+</li>
+<li>type
+: <a class="el" href="rtx__os_8h.html#a1d127017fb298b889f4ba24752d08b8e">osRtxTimer_t</a>
+</li>
+<li>tz_memory
+: <a class="el" href="rtx__os_8h.html#adaa6c424a231e5f6c788532675f33e16">osRtxThread_t</a>
+</li>
+<li>tz_module
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#a697f2aad6119d655d212ea10245ae394">osThreadAttr_t</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
+<li>used_blocks
+: <a class="el" href="rtx__os_8h.html#a444139ba664bc8c262139a9addddb48c">osRtxMpInfo_t</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_v"></a>- v -</h3><ul>
+<li>version
+: <a class="el" href="rtx__os_8h.html#acd99bb05ca015e7d74448acb1deba7ca">osRtxInfo_t</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_w"></a>- w -</h3><ul>
+<li>wait_flags
+: <a class="el" href="rtx__os_8h.html#a3c7b4f24d9527394f4b5a1135d117691">osRtxThread_t</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/genRTOS2IF.html b/docs/RTOS2/html/genRTOS2IF.html
new file mode 100644
index 0000000..33583aa
--- /dev/null
+++ b/docs/RTOS2/html/genRTOS2IF.html
@@ -0,0 +1,212 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Generic RTOS Interface</title>
+<title>CMSIS-RTOS2: Generic RTOS Interface</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('genRTOS2IF.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">Generic RTOS Interface </div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>CMSIS-RTOS2 is a generic API that is agnostic of the underlying RTOS kernel. Application programmers call CMSIS-RTOS2 API functions in the user code to ensure maximum portability from one RTOS to another. Middleware using CMSIS-RTOS2 API takes advantages of this approach by avoiding unnecessary porting efforts.</p>
+<div class="image">
+<img src="API_Structure.png" alt="API_Structure.png"/>
+<div class="caption">
+CMSIS-RTOS API Structure</div></div>
+<p> A typical CMSIS-RTOS2 API implementation interfaces to an existing real-time kernel. The CMSIS-RTOS2 API provides the following attributes and functionalities:</p>
+<ul>
+<li>Function names, identifiers, and parameters are descriptive and easy to understand. The functions are powerful and flexible which reduces the number of functions exposed to the user.</li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html">Thread Management</a> allows you to define, create, and control threads.</li>
+<li>Interrupt Service Routines (ISR) can <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">call some CMSIS-RTOS functions</a>. When a CMSIS-RTOS function cannot be called from an ISR context, it rejects the invocation and returns an error code.</li>
+<li>Three different event types support communication between multiple threads and/or ISR:<ul>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html">Thread Flags</a>: may be used to indicate specific conditions to a thread.</li>
+<li><a class="el" href="group__CMSIS__RTOS__EventFlags.html">Event Flags</a>: may be used to indicate events to a thread or ISR.</li>
+<li><a class="el" href="group__CMSIS__RTOS__Message.html">Messages</a>: can be sent to a thread or an ISR. Messages are buffered in a queue.</li>
+</ul>
+</li>
+<li><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html">Mutex Management</a> and <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html">Semaphores</a> are incorporated.</li>
+<li>CPU time can be scheduled with the following functionalities:<ul>
+<li>A <em>timeout</em> parameter is incorporated in many CMSIS-RTOS functions to avoid system lockup. When a timeout is specified, the system waits until a resource is available or an event occurs. While waiting, other threads are scheduled.</li>
+<li>The <a class="el" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a> and <a class="el" href="group__CMSIS__RTOS__Wait.html#ga3c807924c2d6d43bc2ffb49da3f7f3a1">osDelayUntil</a> functions put a thread into the <b>WAITING</b> state for a specified period of time.</li>
+<li>The <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad01c7ec26535b1de6b018bb9466720e2">osThreadYield</a> provides co-operative thread switching and passes execution to another thread of the same priority.</li>
+</ul>
+</li>
+<li><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html">Timer Management</a> functions are used to trigger the execution of functions.</li>
+</ul>
+<p>The CMSIS-RTOS2 API is designed to optionally incorporate multi-processor systems and/or access protection via the Cortex-M Memory Protection Unit (MPU).</p>
+<p>In some RTOS implementations threads may execute on different processors, thus <b>message</b> queues may reside in shared memory resources.</p>
+<p>The CMSIS-RTOS2 API encourages the software industry to evolve existing RTOS implementations. RTOS implementations can be different and optimized in various aspects towards the Cortex-M processors. Optional features may be for example</p>
+<ul>
+<li>Support of the Cortex-M Memory Protection Unit (MPU).</li>
+<li>Support of multi-processor systems.</li>
+<li>Support of a DMA controller.</li>
+<li>Deterministic context switching.</li>
+<li>Round-robin context switching.</li>
+<li>Deadlock avoidance, for example with priority inversion.</li>
+<li>Zero interrupt latency by using Armv7-M instructions LDREX and STREX.</li>
+</ul>
+<h1><a class="anchor" id="cmsis_os2_h"></a>
+cmsis_os2.h header file</h1>
+<p>The file <b>cmsis_os2.h</b> is a standard header file that interfaces to every CMSIS-RTOS2 compliant real-time operating systems (RTOS). Each implementation is provided the same <b><a class="el" href="cmsis__os2_8h.html">cmsis_os2.h</a></b> which defines the interface to the <a class="el" href="rtos_api2.html">CMSIS-RTOS C API v2</a>.</p>
+<p>Using the <b><a class="el" href="cmsis__os2_8h.html">cmsis_os2.h</a></b> along with dynamic object allocation allows to create source code or libraries that require no modifications when using on a different CMSIS-RTOS2 implementation.</p>
+<h1><a class="anchor" id="usingOS2"></a>
+Using a CMSIS-RTOS2 Implementation</h1>
+<p>A CMSIS-RTOS2 component may be provided as library or source code (the picture below shows a library). A CMSIS-based application is extended with RTOS functionality by adding a CMSIS-RTOS2 component (and typically some configuration files). The <a class="el" href="genRTOS2IF.html#cmsis_os2_h">cmsis_os2.h header file</a> gives access to RTOS API functions and is the only interface header required when dynamic object allocation is used. This enables portable application that works with every RTOS kernel event without re-compilation of the source code when the kernel is changed.</p>
+<p>Static object allocation requires access to RTOS object control block definitions. An implementation specific header file (<em>rtos</em>.h in the picture below) provides access to such definitions. The section For RTX v5 these definitions are provided in the header file rtx_os.h that contains this definitions for RTX v5.</p>
+<div class="image">
+<img src="CMSIS_RTOS_Files.png" alt="CMSIS_RTOS_Files.png"/>
+<div class="caption">
+CMSIS-RTOS File Structure</div></div>
+<p> Once the files are added to a project, the user can start working with the CMSIS-RTOS functions. A code example is provided below:</p>
+<p><b>Code Example</b> </p>
+<div class="fragment"><div class="line"><span class="comment">/*----------------------------------------------------------------------------</span></div>
+<div class="line"><span class="comment"> * CMSIS-RTOS &#39;main&#39; function template</span></div>
+<div class="line"><span class="comment"> *---------------------------------------------------------------------------*/</span></div>
+<div class="line"> </div>
+<div class="line"><span class="preprocessor">#include &quot;RTE_Components.h&quot;</span></div>
+<div class="line"><span class="preprocessor">#include CMSIS_device_header</span></div>
+<div class="line"><span class="preprocessor"></span><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
+<div class="line"> </div>
+<div class="line"><span class="comment">/*----------------------------------------------------------------------------</span></div>
+<div class="line"><span class="comment"> * Application main thread</span></div>
+<div class="line"><span class="comment"> *---------------------------------------------------------------------------*/</span></div>
+<div class="line"><span class="keywordtype">void</span> app_main (<span class="keywordtype">void</span> *argument) {</div>
+<div class="line"> </div>
+<div class="line"> <span class="comment">// ...</span></div>
+<div class="line"> <span class="keywordflow">for</span> (;;) {}</div>
+<div class="line">}</div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">int</span> main (<span class="keywordtype">void</span>) {</div>
+<div class="line"> </div>
+<div class="line"> <span class="comment">// System Initialization</span></div>
+<div class="line"> SystemCoreClockUpdate();</div>
+<div class="line"><span class="preprocessor">#ifdef RTE_Compiler_EventRecorder</span></div>
+<div class="line"><span class="preprocessor"></span> <span class="comment">// Initialize and start Event Recorder</span></div>
+<div class="line"> EventRecorderInitialize(EventRecordError, 1U);</div>
+<div class="line"><span class="preprocessor">#endif</span></div>
+<div class="line"><span class="preprocessor"></span> <span class="comment">// ...</span></div>
+<div class="line"> </div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659">osKernelInitialize</a>(); <span class="comment">// Initialize CMSIS-RTOS</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(app_main, NULL, NULL); <span class="comment">// Create application main thread</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221">osKernelStart</a>(); <span class="comment">// Start thread execution</span></div>
+<div class="line"> <span class="keywordflow">for</span> (;;) {}</div>
+<div class="line">}</div>
+</div><!-- fragment --> </div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="index.html">index</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/globals.html b/docs/RTOS2/html/globals.html
new file mode 100644
index 0000000..30315f6
--- /dev/null
+++ b/docs/RTOS2/html/globals.html
@@ -0,0 +1,153 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Globals</title>
+<title>CMSIS-RTOS2: Globals</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Macros</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li class="current"><a href="globals.html#index__"><span>_</span></a></li>
+ <li><a href="globals_e.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_i.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_o.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_p.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_s.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_t.html#index_t"><span>t</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('globals.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
+
+<h3><a class="anchor" id="index__"></a>- _ -</h3><ul>
+<li>__NO_RETURN
+: <a class="el" href="cmsis__os2_8h.html#a153a4a31b276a9758959580538720a51">cmsis_os2.h</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/globals_defs.html b/docs/RTOS2/html/globals_defs.html
new file mode 100644
index 0000000..d71ae6f
--- /dev/null
+++ b/docs/RTOS2/html/globals_defs.html
@@ -0,0 +1,447 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Globals</title>
+<title>CMSIS-RTOS2: Globals</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li class="current"><a href="globals_defs.html"><span>Macros</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="#index__"><span>_</span></a></li>
+ <li><a href="#index_i"><span>i</span></a></li>
+ <li><a href="#index_o"><span>o</span></a></li>
+ <li class="current"><a href="#index_t"><span>t</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('globals_defs.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a class="anchor" id="index__"></a>- _ -</h3><ul>
+<li>__NO_RETURN
+: <a class="el" href="cmsis__os2_8h.html#a153a4a31b276a9758959580538720a51">cmsis_os2.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
+<li>IRQHANDLER_T
+: <a class="el" href="os__tick_8h.html#aed032df21f11e8715f5c4deeeb56cc36">os_tick.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
+<li>osFlagsError
+: <a class="el" href="cmsis__os2_8h.html#a01c1359c3a5640bff6e08f09bf94ce3a">cmsis_os2.h</a>
+</li>
+<li>osFlagsErrorISR
+: <a class="el" href="group__flags__error__codes.html#gaea3abd186643f539877e894b62b63448">cmsis_os2.h</a>
+</li>
+<li>osFlagsErrorParameter
+: <a class="el" href="group__flags__error__codes.html#gaa8a95ef938f8f5a9fcb815ec53184f77">cmsis_os2.h</a>
+</li>
+<li>osFlagsErrorResource
+: <a class="el" href="group__flags__error__codes.html#ga4db38b50da1889bcaaa7f747e844f904">cmsis_os2.h</a>
+</li>
+<li>osFlagsErrorTimeout
+: <a class="el" href="group__flags__error__codes.html#ga2e951c3f1c3b7bff4eca3d7836cd19ca">cmsis_os2.h</a>
+</li>
+<li>osFlagsErrorUnknown
+: <a class="el" href="group__flags__error__codes.html#ga3b1d9fbb83d64eedb62f831c9be647c3">cmsis_os2.h</a>
+</li>
+<li>osFlagsNoClear
+: <a class="el" href="group__CMSIS__RTOS__Definitions.html#gaade844a42237d8c37569d4d9b16b9f1c">cmsis_os2.h</a>
+</li>
+<li>osFlagsWaitAll
+: <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga8b6f562736fbfb5428940e0c017dec24">cmsis_os2.h</a>
+</li>
+<li>osFlagsWaitAny
+: <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga18e63587b8450d5b8798b6f6ec04e012">cmsis_os2.h</a>
+</li>
+<li>osMutexPrioInherit
+: <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga40fba270cb31a977b3bd551d41eb9599">cmsis_os2.h</a>
+</li>
+<li>osMutexRecursive
+: <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga65c2482cc64a35d03871f3180f305926">cmsis_os2.h</a>
+</li>
+<li>osMutexRobust
+: <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gaf0e1dee376798b4d516d164981526780">cmsis_os2.h</a>
+</li>
+<li>osRtxConfigPrivilegedMode
+: <a class="el" href="rtx__os_8h.html#a0eb4da5bed45820d732e23483b870152">rtx_os.h</a>
+</li>
+<li>osRtxConfigStackCheck
+: <a class="el" href="rtx__os_8h.html#a77f3e906438a6693524cdc257cb0bf23">rtx_os.h</a>
+</li>
+<li>osRtxConfigStackWatermark
+: <a class="el" href="rtx__os_8h.html#a62205cc79ec5d95b45f5ebfdf126438c">rtx_os.h</a>
+</li>
+<li>osRtxErrorClibMutex
+: <a class="el" href="group__rtx5__specific__defines.html#gac749c24b9cf6c49b392b015ed0517cfc">rtx_os.h</a>
+</li>
+<li>osRtxErrorClibSpace
+: <a class="el" href="group__rtx5__specific__defines.html#ga14a24724f6e87744ba84674ef76e4256">rtx_os.h</a>
+</li>
+<li>osRtxErrorInvalidControlBlock
+: <a class="el" href="rtx__evr_8h.html#a56335b5b0a3f932e06aa764d185b6a60">rtx_evr.h</a>
+</li>
+<li>osRtxErrorInvalidDataMemory
+: <a class="el" href="rtx__evr_8h.html#a037115a16032074ae1a82d64c160338b">rtx_evr.h</a>
+</li>
+<li>osRtxErrorInvalidPriority
+: <a class="el" href="rtx__evr_8h.html#a45219e125941ecbe7eca030fd2f40d7a">rtx_evr.h</a>
+</li>
+<li>osRtxErrorInvalidThreadStack
+: <a class="el" href="rtx__evr_8h.html#a5cabacbb758a1bc5012cae2292771726">rtx_evr.h</a>
+</li>
+<li>osRtxErrorISRQueueOverflow
+: <a class="el" href="group__rtx5__specific__defines.html#ga7377235f9fa3cedee06f682cd93f3e88">rtx_os.h</a>
+</li>
+<li>osRtxErrorKernelNotReady
+: <a class="el" href="rtx__evr_8h.html#a168269d3a1264ac7a7427f8642e358a4">rtx_evr.h</a>
+</li>
+<li>osRtxErrorKernelNotRunning
+: <a class="el" href="rtx__evr_8h.html#a8a916c6a8ad67a38c29ca2e2141d1540">rtx_evr.h</a>
+</li>
+<li>osRtxErrorMutexLockLimit
+: <a class="el" href="rtx__evr_8h.html#a949198d164108954151e89607a1504a7">rtx_evr.h</a>
+</li>
+<li>osRtxErrorMutexNotLocked
+: <a class="el" href="rtx__evr_8h.html#a4fc98ec7f644bc7156af58431043171a">rtx_evr.h</a>
+</li>
+<li>osRtxErrorMutexNotOwned
+: <a class="el" href="rtx__evr_8h.html#a2abf2bd19d5d80399c129e7b79e19e9a">rtx_evr.h</a>
+</li>
+<li>osRtxErrorSemaphoreCountLimit
+: <a class="el" href="rtx__evr_8h.html#a4266d3dd5e7bbd2693dd53d00d80bc4c">rtx_evr.h</a>
+</li>
+<li>osRtxErrorStackUnderflow
+: <a class="el" href="group__rtx5__specific__defines.html#ga42206aa2524b8fab613d26bea0f73c44">rtx_os.h</a>
+</li>
+<li>osRtxErrorThreadNotJoinable
+: <a class="el" href="rtx__evr_8h.html#a1955ed26bf52d4fd07a73961ee6a1478">rtx_evr.h</a>
+</li>
+<li>osRtxErrorTimerQueueOverflow
+: <a class="el" href="group__rtx5__specific__defines.html#gaad420018f26e751ec55d3922a283beb0">rtx_os.h</a>
+</li>
+<li>osRtxErrorTZ_AllocContext_S
+: <a class="el" href="rtx__evr_8h.html#a787925e3c31997d22bb7ea985b69c3db">rtx_evr.h</a>
+</li>
+<li>osRtxErrorTZ_FreeContext_S
+: <a class="el" href="rtx__evr_8h.html#a8b1b28f13acfecfec665a3759ce69991">rtx_evr.h</a>
+</li>
+<li>osRtxErrorTZ_InitContext_S
+: <a class="el" href="rtx__evr_8h.html#a33f2affc96c91cf39a3986e4bd119c5c">rtx_evr.h</a>
+</li>
+<li>osRtxErrorTZ_LoadContext_S
+: <a class="el" href="rtx__evr_8h.html#a3e9b3fdece321c3766bc6bc1a35e9cf6">rtx_evr.h</a>
+</li>
+<li>osRtxErrorTZ_SaveContext_S
+: <a class="el" href="rtx__evr_8h.html#ad600f514856926fc313a5f7dc0c3d422">rtx_evr.h</a>
+</li>
+<li>osRtxEventFlagsCbSize
+: <a class="el" href="group__rtx5__specific__defines.html#ga68100c8c44931f03547973294c433075">rtx_os.h</a>
+</li>
+<li>osRtxEventFlagsLimit
+: <a class="el" href="rtx__os_8h.html#a271653c08ecb64dbb2d0ce8a51ddb4c2">rtx_os.h</a>
+</li>
+<li>osRtxFlagSystemMemory
+: <a class="el" href="rtx__os_8h.html#ade9b85b84a6199a1cc3653058def19f3">rtx_os.h</a>
+</li>
+<li>osRtxFlagSystemObject
+: <a class="el" href="rtx__os_8h.html#a797c4d97bb5e216e6901c1e30e96cb34">rtx_os.h</a>
+</li>
+<li>osRtxIdEventFlags
+: <a class="el" href="rtx__os_8h.html#aa9b41f7b0dc38018a7db915df5e716cc">rtx_os.h</a>
+</li>
+<li>osRtxIdInvalid
+: <a class="el" href="rtx__os_8h.html#ad78a646169b7b4bfa2a278d08fe21fa5">rtx_os.h</a>
+</li>
+<li>osRtxIdMemoryPool
+: <a class="el" href="rtx__os_8h.html#a3cddbd1d03aedae758445d17db319fec">rtx_os.h</a>
+</li>
+<li>osRtxIdMessage
+: <a class="el" href="rtx__os_8h.html#a84bb69c0a0d02b2adc4d499803ccb063">rtx_os.h</a>
+</li>
+<li>osRtxIdMessageQueue
+: <a class="el" href="rtx__os_8h.html#a260226a1f72b4a333f01573430b60b17">rtx_os.h</a>
+</li>
+<li>osRtxIdMutex
+: <a class="el" href="rtx__os_8h.html#a086574b10e90122f5228decea0a5d3dc">rtx_os.h</a>
+</li>
+<li>osRtxIdSemaphore
+: <a class="el" href="rtx__os_8h.html#a4778b8ce61af3d942501bb4ff28c18f1">rtx_os.h</a>
+</li>
+<li>osRtxIdThread
+: <a class="el" href="rtx__os_8h.html#ad6f0f1f1b4e1b8c2615429d6a24ca8f5">rtx_os.h</a>
+</li>
+<li>osRtxIdTimer
+: <a class="el" href="rtx__os_8h.html#a5e8dd6b61e9b09d20aeea8434861950e">rtx_os.h</a>
+</li>
+<li>osRtxKernelId
+: <a class="el" href="rtx__os_8h.html#a47e0637d30eed2357b238cbb19dbb058">rtx_os.h</a>
+</li>
+<li>osRtxKernelInactive
+: <a class="el" href="rtx__os_8h.html#a7543c3b497052bdbfbfbc3debc5f0a6e">rtx_os.h</a>
+</li>
+<li>osRtxKernelLocked
+: <a class="el" href="rtx__os_8h.html#a9c20a179e70e74fa9fe9f9ba275cc73b">rtx_os.h</a>
+</li>
+<li>osRtxKernelReady
+: <a class="el" href="rtx__os_8h.html#ab793b30296108737eb356871d266e2a2">rtx_os.h</a>
+</li>
+<li>osRtxKernelRunning
+: <a class="el" href="rtx__os_8h.html#a337ee876c540b4f4e9d680497eed9fdc">rtx_os.h</a>
+</li>
+<li>osRtxKernelSuspended
+: <a class="el" href="rtx__os_8h.html#a751dd07663970abe0305de11d52812a7">rtx_os.h</a>
+</li>
+<li>osRtxMemoryPoolCbSize
+: <a class="el" href="group__rtx5__specific__defines.html#gab8e49e9e1eea5a015f2a3114cabceb48">rtx_os.h</a>
+</li>
+<li>osRtxMemoryPoolMemSize
+: <a class="el" href="group__rtx5__specific__defines.html#gac6bea3541b458bbc79eafce42a2d87a2">rtx_os.h</a>
+</li>
+<li>osRtxMessageQueueCbSize
+: <a class="el" href="group__rtx5__specific__defines.html#gaa8d067c476faa6bfc8e5e21f3b3c844e">rtx_os.h</a>
+</li>
+<li>osRtxMessageQueueMemSize
+: <a class="el" href="group__rtx5__specific__defines.html#ga47eb1e21f1bf9a42281c6c89c7473e99">rtx_os.h</a>
+</li>
+<li>osRtxMutexCbSize
+: <a class="el" href="group__rtx5__specific__defines.html#ga188bfaaf7477cf24cbc9f207feaeb53a">rtx_os.h</a>
+</li>
+<li>osRtxMutexLockLimit
+: <a class="el" href="rtx__os_8h.html#ade5d158c28233a45ad1fc9a1156373f6">rtx_os.h</a>
+</li>
+<li>osRtxSemaphoreCbSize
+: <a class="el" href="group__rtx5__specific__defines.html#ga0949b67063d0bd427fbee9c816b5d45a">rtx_os.h</a>
+</li>
+<li>osRtxSemaphoreTokenLimit
+: <a class="el" href="rtx__os_8h.html#a14c7bcf532389ed285827cf5497d09eb">rtx_os.h</a>
+</li>
+<li>osRtxStackFillPattern
+: <a class="el" href="rtx__os_8h.html#a7dbaedf90584739e6d938d69d2621855">rtx_os.h</a>
+</li>
+<li>osRtxStackMagicWord
+: <a class="el" href="rtx__os_8h.html#aabdbbcf214681666d06629397463093f">rtx_os.h</a>
+</li>
+<li>osRtxThreadBlocked
+: <a class="el" href="rtx__os_8h.html#a30e61895c9ec7941715dd4747b11d5b3">rtx_os.h</a>
+</li>
+<li>osRtxThreadCbSize
+: <a class="el" href="group__rtx5__specific__defines.html#ga30d19272204231956582ebfff69567f6">rtx_os.h</a>
+</li>
+<li>osRtxThreadFlagDefStack
+: <a class="el" href="rtx__os_8h.html#a733199fdb7675dbf99d5e6d17c126a96">rtx_os.h</a>
+</li>
+<li>osRtxThreadFlagsLimit
+: <a class="el" href="rtx__os_8h.html#a73248d08e2db1ef9941cf8fcf24ddba9">rtx_os.h</a>
+</li>
+<li>osRtxThreadInactive
+: <a class="el" href="rtx__os_8h.html#a2552be237293212f43fc08bf3ec02e67">rtx_os.h</a>
+</li>
+<li>osRtxThreadReady
+: <a class="el" href="rtx__os_8h.html#a7c1e9dfefafc53162f076b0430a0e595">rtx_os.h</a>
+</li>
+<li>osRtxThreadRunning
+: <a class="el" href="rtx__os_8h.html#ad9615557219eecdbca536d4280e72604">rtx_os.h</a>
+</li>
+<li>osRtxThreadStateMask
+: <a class="el" href="rtx__os_8h.html#ad486f6d40fcd8e9569ab415373d912e4">rtx_os.h</a>
+</li>
+<li>osRtxThreadTerminated
+: <a class="el" href="rtx__os_8h.html#a3011758dc91d1dd134ec48b816b67d50">rtx_os.h</a>
+</li>
+<li>osRtxThreadWaitingDelay
+: <a class="el" href="rtx__os_8h.html#a9fcd1ecba034b5fc15e991311736ec4e">rtx_os.h</a>
+</li>
+<li>osRtxThreadWaitingEventFlags
+: <a class="el" href="rtx__os_8h.html#a6c4c8b1563e28aa5b947346cb5db3c69">rtx_os.h</a>
+</li>
+<li>osRtxThreadWaitingJoin
+: <a class="el" href="rtx__os_8h.html#a88ca40f569d87366a69451ed43759453">rtx_os.h</a>
+</li>
+<li>osRtxThreadWaitingMemoryPool
+: <a class="el" href="rtx__os_8h.html#aa87cea70df1acf71f6358de9b65722a4">rtx_os.h</a>
+</li>
+<li>osRtxThreadWaitingMessageGet
+: <a class="el" href="rtx__os_8h.html#a881830bb0c1488cd15bd1a412bc16800">rtx_os.h</a>
+</li>
+<li>osRtxThreadWaitingMessagePut
+: <a class="el" href="rtx__os_8h.html#a7502524f6911edc751111422eaf66a43">rtx_os.h</a>
+</li>
+<li>osRtxThreadWaitingMutex
+: <a class="el" href="rtx__os_8h.html#ae99ccb8b4d1a85c1abb6ab39933690a6">rtx_os.h</a>
+</li>
+<li>osRtxThreadWaitingSemaphore
+: <a class="el" href="rtx__os_8h.html#acbe0a0cd73d487b82501b584caf4a472">rtx_os.h</a>
+</li>
+<li>osRtxThreadWaitingThreadFlags
+: <a class="el" href="rtx__os_8h.html#a41174e493bdf7e3a1e35306703bcd63c">rtx_os.h</a>
+</li>
+<li>osRtxTimerCbSize
+: <a class="el" href="group__rtx5__specific__defines.html#gaf8a145fdeb24fd912971f0671b1a3603">rtx_os.h</a>
+</li>
+<li>osRtxTimerInactive
+: <a class="el" href="rtx__os_8h.html#a66bea72c0cffd25c7cb32419283a7b92">rtx_os.h</a>
+</li>
+<li>osRtxTimerPeriodic
+: <a class="el" href="rtx__os_8h.html#accc1542de31e0c7367d452e9de035bb4">rtx_os.h</a>
+</li>
+<li>osRtxTimerRunning
+: <a class="el" href="rtx__os_8h.html#aed55034470990d4593eb614e26c1eea7">rtx_os.h</a>
+</li>
+<li>osRtxTimerStopped
+: <a class="el" href="rtx__os_8h.html#ab01076b285029ac6d22dbde69167c96e">rtx_os.h</a>
+</li>
+<li>osRtxVersionAPI
+: <a class="el" href="rtx__os_8h.html#aea20a2b373e98ae88a7cf7e4a56b118f">rtx_os.h</a>
+</li>
+<li>osRtxVersionKernel
+: <a class="el" href="rtx__os_8h.html#ad854168120979e8c60630e0140e104e8">rtx_os.h</a>
+</li>
+<li>osThreadDetached
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa9336c1073858d6b118e2e011636246f">cmsis_os2.h</a>
+</li>
+<li>osThreadJoinable
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga249499c519f3f8eef5673009ab6cfcbe">cmsis_os2.h</a>
+</li>
+<li>osWaitForever
+: <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">cmsis_os2.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
+<li>TZ_MODULEID_T
+: <a class="el" href="cmsis__os2_8h.html#a78775dae56f0c9698cdab6e1ca74503f">cmsis_os2.h</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/globals_e.html b/docs/RTOS2/html/globals_e.html
new file mode 100644
index 0000000..02defbf
--- /dev/null
+++ b/docs/RTOS2/html/globals_e.html
@@ -0,0 +1,651 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Globals</title>
+<title>CMSIS-RTOS2: Globals</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Macros</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals.html#index__"><span>_</span></a></li>
+ <li class="current"><a href="globals_e.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_i.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_o.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_p.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_s.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_t.html#index_t"><span>t</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('globals_e.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
+
+<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
+<li>EvrRtxEventFlagsClear()
+: <a class="el" href="rtx__evr_8h.html#ab31f9da565b0170d8e89edf0e848f28b">rtx_evr.h</a>
+</li>
+<li>EvrRtxEventFlagsClearDone()
+: <a class="el" href="rtx__evr_8h.html#a9e4c4e5d45bc721439c1919621a49d5a">rtx_evr.h</a>
+</li>
+<li>EvrRtxEventFlagsCreated()
+: <a class="el" href="group__rtx__evr__event__flasg.html#gaa1f48b9787e3a7d4f56449ed1dd12f26">rtx_evr.h</a>
+</li>
+<li>EvrRtxEventFlagsDelete()
+: <a class="el" href="group__rtx__evr__event__flasg.html#ga10e98e35999350e9e337c716ba4dc079">rtx_evr.h</a>
+</li>
+<li>EvrRtxEventFlagsDestroyed()
+: <a class="el" href="group__rtx__evr__event__flasg.html#ga2ef153a6ee7a8d72375f81128454ede9">rtx_evr.h</a>
+</li>
+<li>EvrRtxEventFlagsError()
+: <a class="el" href="group__rtx__evr__event__flasg.html#gaa281b7380c0fa725faa722badbeb2e5f">rtx_evr.h</a>
+</li>
+<li>EvrRtxEventFlagsGet()
+: <a class="el" href="rtx__evr_8h.html#a113c32ff195c612ec2fb6a9dd5740184">rtx_evr.h</a>
+</li>
+<li>EvrRtxEventFlagsGetName()
+: <a class="el" href="group__rtx__evr__event__flasg.html#gae9ebcbc09a1c15c719d95fe7b8c2ee18">rtx_evr.h</a>
+</li>
+<li>EvrRtxEventFlagsNew()
+: <a class="el" href="group__rtx__evr__event__flasg.html#gae798cdc4cb10ada732e592318037cba7">rtx_evr.h</a>
+</li>
+<li>EvrRtxEventFlagsSet()
+: <a class="el" href="rtx__evr_8h.html#a5e5c9bd8a0522fc9301782edd6e5ec1f">rtx_evr.h</a>
+</li>
+<li>EvrRtxEventFlagsSetDone()
+: <a class="el" href="rtx__evr_8h.html#a5b1b471923918ad294d16255d43ab306">rtx_evr.h</a>
+</li>
+<li>EvrRtxEventFlagsWait()
+: <a class="el" href="rtx__evr_8h.html#ac8361874ffdd854e3778f21d070fed24">rtx_evr.h</a>
+</li>
+<li>EvrRtxEventFlagsWaitCompleted()
+: <a class="el" href="rtx__evr_8h.html#a7b446f241c971db432ebac5d176bd9de">rtx_evr.h</a>
+</li>
+<li>EvrRtxEventFlagsWaitNotCompleted()
+: <a class="el" href="rtx__evr_8h.html#a66f32e4dddc68cdfd56c32b88b7f13ff">rtx_evr.h</a>
+</li>
+<li>EvrRtxEventFlagsWaitPending()
+: <a class="el" href="rtx__evr_8h.html#afd598e0b02a31083fb41626d68fa489e">rtx_evr.h</a>
+</li>
+<li>EvrRtxEventFlagsWaitTimeout()
+: <a class="el" href="group__rtx__evr__event__flasg.html#ga877235cbe04188b831b70a3c2237c827">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelError()
+: <a class="el" href="group__rtx__evr__kernel.html#ga2a38154886e6293e127bafcfb6f7d609">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelGetInfo()
+: <a class="el" href="group__rtx__evr__kernel.html#ga4c2a175b79d39d70a4a5112e270d03f2">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelGetState()
+: <a class="el" href="group__rtx__evr__kernel.html#gad6407e9ff0910629b041866bd801075a">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelGetSysTimerCount()
+: <a class="el" href="group__rtx__evr__kernel.html#gafb6530be8201b119015a3f45d66c2f09">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelGetSysTimerFreq()
+: <a class="el" href="group__rtx__evr__kernel.html#gaf2bdfcb7b099295c7b0123abe88e10a3">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelGetTickCount()
+: <a class="el" href="group__rtx__evr__kernel.html#ga64431a63437506a6f7fe22637d4891c5">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelGetTickFreq()
+: <a class="el" href="group__rtx__evr__kernel.html#ga7404f3a22af84ad4091c24811fc1bf87">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelInfoRetrieved()
+: <a class="el" href="group__rtx__evr__kernel.html#gaf09b8cd94ad2384e3ab518f0df94a651">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelInitialize()
+: <a class="el" href="group__rtx__evr__kernel.html#ga7e84d337b452f647c3a3d6937abd6292">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelInitialized()
+: <a class="el" href="group__rtx__evr__kernel.html#ga5db8d306617656bfec12638e17584d66">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelLock()
+: <a class="el" href="group__rtx__evr__kernel.html#ga1d0340812c29274c6150fa72288e0612">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelLocked()
+: <a class="el" href="group__rtx__evr__kernel.html#gac18ea91ffcae01e893304609a3c6cdc3">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelLockRestored()
+: <a class="el" href="group__rtx__evr__kernel.html#gaf7be1022a33c13fb44f4059f5636b75a">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelRestoreLock()
+: <a class="el" href="group__rtx__evr__kernel.html#ga812fdd14d6c40072cc40aec742d4869e">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelResume()
+: <a class="el" href="group__rtx__evr__kernel.html#ga9a8cac0fed8d3cf06f7301c944ad26d1">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelResumed()
+: <a class="el" href="group__rtx__evr__kernel.html#ga26e0a22f49576824d853fb434cf6b079">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelStart()
+: <a class="el" href="group__rtx__evr__kernel.html#ga75937a761dd488600d2525a532808d2b">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelStarted()
+: <a class="el" href="group__rtx__evr__kernel.html#ga28043ffc76fec09e6c8763a9a71b7f2a">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelSuspend()
+: <a class="el" href="group__rtx__evr__kernel.html#gac3abd78a9d3f3a6adc698e2929e1c32c">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelSuspended()
+: <a class="el" href="group__rtx__evr__kernel.html#gabdaa26d7774111af4913b5d6669d0f85">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelUnlock()
+: <a class="el" href="group__rtx__evr__kernel.html#gabe14acf14ed2611a3ba1f3b280fbfd8c">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelUnlocked()
+: <a class="el" href="group__rtx__evr__kernel.html#ga5cc909465e8df09c9231782e0c45e374">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryAlloc()
+: <a class="el" href="group__rtx__evr__memory.html#gae1818917a5e085f92a03039ffaf2bad4">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryBlockAlloc()
+: <a class="el" href="group__rtx__evr__memory.html#ga71c0df6f932436b54d7d641a440586db">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryBlockFree()
+: <a class="el" href="group__rtx__evr__memory.html#ga69c2139620def7c5e59f6b1249857949">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryBlockInit()
+: <a class="el" href="group__rtx__evr__memory.html#gac71421bbf537f2f8c9255f9f51cf7d54">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryFree()
+: <a class="el" href="group__rtx__evr__memory.html#ga9227b18f5ea44d7caa8fadd4d539af9c">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryInit()
+: <a class="el" href="group__rtx__evr__memory.html#ga15078f1251744140d90761e05c0fe1f2">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryPoolAlloc()
+: <a class="el" href="group__rtx__evr__memory__pool.html#ga425c8a0e13c6fb13262d99a4dcabd507">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryPoolAllocated()
+: <a class="el" href="group__rtx__evr__memory__pool.html#gad05246ee7e1f95e7f9496716515daeed">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryPoolAllocFailed()
+: <a class="el" href="group__rtx__evr__memory__pool.html#gaf511fce5389dde6fd3277e3469c72fd9">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryPoolAllocPending()
+: <a class="el" href="group__rtx__evr__memory__pool.html#ga2fbd33e3d84b4f37e9f9b80576b26907">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryPoolAllocTimeout()
+: <a class="el" href="group__rtx__evr__memory__pool.html#ga0e144530d45959126018ad74bae7a6ed">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryPoolCreated()
+: <a class="el" href="group__rtx__evr__memory__pool.html#gadad71c7b04493c03647ca0929ea087b1">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryPoolDeallocated()
+: <a class="el" href="group__rtx__evr__memory__pool.html#ga3e8e700baea20b88c3d13678fe7a7fb4">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryPoolDelete()
+: <a class="el" href="group__rtx__evr__memory__pool.html#ga64ae703ad556f25b105e3eae85b582b8">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryPoolDestroyed()
+: <a class="el" href="group__rtx__evr__memory__pool.html#ga853e1867a4b65aff3f12f7be1aee5ce4">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryPoolError()
+: <a class="el" href="group__rtx__evr__memory__pool.html#ga7e1a37b0c5dd0a97507c025ab1a62ec8">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryPoolFree()
+: <a class="el" href="group__rtx__evr__memory__pool.html#ga46bc3ef3b1ca2e4cfb914f58d0efe92e">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryPoolFreeFailed()
+: <a class="el" href="group__rtx__evr__memory__pool.html#gad75c377c00ae23caf7b4c3b77a0b46d1">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryPoolGetBlockSize()
+: <a class="el" href="group__rtx__evr__memory__pool.html#gaf79f0e1eb41d42566ba9023be7e442c5">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryPoolGetCapacity()
+: <a class="el" href="group__rtx__evr__memory__pool.html#gaed36f26a548d40e2a3d5b81c8695f287">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryPoolGetCount()
+: <a class="el" href="group__rtx__evr__memory__pool.html#ga668bc3e627d9b74b6e8259a667e05846">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryPoolGetName()
+: <a class="el" href="group__rtx__evr__memory__pool.html#gaeface1ee4957cdb59292e13c38a672d7">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryPoolGetSpace()
+: <a class="el" href="group__rtx__evr__memory__pool.html#ga4bee4e3e41bdef94046dc059f16ca7ce">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryPoolNew()
+: <a class="el" href="group__rtx__evr__memory__pool.html#gaf2fd4c91acf1379e93cd9886c515b9c5">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueCreated()
+: <a class="el" href="group__rtx__evr__message__queue.html#ga36d6982377c1f54a227ba6fbb9458b79">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueDelete()
+: <a class="el" href="group__rtx__evr__message__queue.html#gad11606ef82f5b82f291bf64adfc805e4">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueDestroyed()
+: <a class="el" href="group__rtx__evr__message__queue.html#ga3bbf02128c31e5cc7ef4c78cdbec508c">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueError()
+: <a class="el" href="group__rtx__evr__message__queue.html#ga8ded1d43703e0885a81e65251c6df405">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueGet()
+: <a class="el" href="group__rtx__evr__message__queue.html#ga0826c1d05d3a99afb8682f0ca3f7fd62">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueGetCapacity()
+: <a class="el" href="group__rtx__evr__message__queue.html#gad423a0be13d65e98d9ae08de9c399615">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueGetCount()
+: <a class="el" href="group__rtx__evr__message__queue.html#ga145f0c464382dc71ff3b1c624b8bd570">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueGetMsgSize()
+: <a class="el" href="group__rtx__evr__message__queue.html#ga3d6348bed3937de29765ed4d7d07fac8">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueGetName()
+: <a class="el" href="group__rtx__evr__message__queue.html#gad0ef8ee59d2ec189351c5884f5f8e945">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueGetPending()
+: <a class="el" href="group__rtx__evr__message__queue.html#ga11e3df32a66d5240b277375cbb5d3c83">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueGetSpace()
+: <a class="el" href="group__rtx__evr__message__queue.html#ga6cfce7336f58505a2379a8a71f477d2f">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueGetTimeout()
+: <a class="el" href="group__rtx__evr__message__queue.html#ga5e699de7401c46fd0e8bc19e398dc5a8">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueInserted()
+: <a class="el" href="group__rtx__evr__message__queue.html#gaa30c5b375d4050ad7d99ba094821bf52">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueInsertPending()
+: <a class="el" href="group__rtx__evr__message__queue.html#ga8440223b9d48145df5505489e7c6f7d9">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueNew()
+: <a class="el" href="group__rtx__evr__message__queue.html#gaa7b18f18f3f53d6afb39ac1abe257000">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueNotInserted()
+: <a class="el" href="group__rtx__evr__message__queue.html#ga2922125d8ac63fd800dc3b7888fd3f3c">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueNotRetrieved()
+: <a class="el" href="group__rtx__evr__message__queue.html#ga22bfb7d1c2f6e3e9fea9d3267b2d6988">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueuePut()
+: <a class="el" href="group__rtx__evr__message__queue.html#ga401536a603e5a805cc6089b4de11d3d3">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueuePutPending()
+: <a class="el" href="group__rtx__evr__message__queue.html#ga4b1b6191c6ca87dff4714e25b5845828">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueuePutTimeout()
+: <a class="el" href="group__rtx__evr__message__queue.html#ga7394ca2d88255470f7ba0bb2bff12e99">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueReset()
+: <a class="el" href="group__rtx__evr__message__queue.html#ga91b8c8630c7d89b6b6dbb74d4fc81ba4">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueResetDone()
+: <a class="el" href="group__rtx__evr__message__queue.html#ga3947d4a7ac86ee7a50052c9eb4cd5432">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueRetrieved()
+: <a class="el" href="group__rtx__evr__message__queue.html#gab340b38df5d8bf2a1182fd18f2d3a6c4">rtx_evr.h</a>
+</li>
+<li>EvrRtxMutexAcquire()
+: <a class="el" href="group__rtx__evr__mutex.html#ga913c46223d91000fedab624d0f4e53f8">rtx_evr.h</a>
+</li>
+<li>EvrRtxMutexAcquired()
+: <a class="el" href="group__rtx__evr__mutex.html#ga697ec95e014a30a3676690a8d217f546">rtx_evr.h</a>
+</li>
+<li>EvrRtxMutexAcquirePending()
+: <a class="el" href="group__rtx__evr__mutex.html#gaddc9bb3c619b92a786ee5255ec65eaca">rtx_evr.h</a>
+</li>
+<li>EvrRtxMutexAcquireTimeout()
+: <a class="el" href="group__rtx__evr__mutex.html#ga4c4780cf766e9d2c6e8c26f206fba607">rtx_evr.h</a>
+</li>
+<li>EvrRtxMutexCreated()
+: <a class="el" href="group__rtx__evr__mutex.html#ga712b32609cfb3ceded746ee6a86d2442">rtx_evr.h</a>
+</li>
+<li>EvrRtxMutexDelete()
+: <a class="el" href="group__rtx__evr__mutex.html#gaaadf1b9cf9a62f4e61742069b95daf68">rtx_evr.h</a>
+</li>
+<li>EvrRtxMutexDestroyed()
+: <a class="el" href="group__rtx__evr__mutex.html#gaa3feba455090d50295cbf4b1447f3f87">rtx_evr.h</a>
+</li>
+<li>EvrRtxMutexError()
+: <a class="el" href="group__rtx__evr__mutex.html#ga47388f06c025938facfddd95851d666f">rtx_evr.h</a>
+</li>
+<li>EvrRtxMutexGetName()
+: <a class="el" href="group__rtx__evr__mutex.html#ga457302507cedf0ea969cbb110af606b8">rtx_evr.h</a>
+</li>
+<li>EvrRtxMutexGetOwner()
+: <a class="el" href="group__rtx__evr__mutex.html#ga89284c1927aa646535ff804f1aeda720">rtx_evr.h</a>
+</li>
+<li>EvrRtxMutexNew()
+: <a class="el" href="group__rtx__evr__mutex.html#ga51f59bf99b315f016ca752eddd1911d5">rtx_evr.h</a>
+</li>
+<li>EvrRtxMutexNotAcquired()
+: <a class="el" href="group__rtx__evr__mutex.html#ga5d2b957c02fcdcc0617479b93a56f6af">rtx_evr.h</a>
+</li>
+<li>EvrRtxMutexRelease()
+: <a class="el" href="group__rtx__evr__mutex.html#ga3fe98bfc9cbea52f578aa5a202305442">rtx_evr.h</a>
+</li>
+<li>EvrRtxMutexReleased()
+: <a class="el" href="group__rtx__evr__mutex.html#ga561c8898b912ea8eace4e6ba606210e5">rtx_evr.h</a>
+</li>
+<li>EvrRtxSemaphoreAcquire()
+: <a class="el" href="group__rtx__evr__semaphore.html#gafd91c9bb268a48b394571a9fc1809019">rtx_evr.h</a>
+</li>
+<li>EvrRtxSemaphoreAcquired()
+: <a class="el" href="group__rtx__evr__semaphore.html#ga4d1f85595cc0802cf8cac89fd8f88b5d">rtx_evr.h</a>
+</li>
+<li>EvrRtxSemaphoreAcquirePending()
+: <a class="el" href="group__rtx__evr__semaphore.html#gabbaaf85deaf4645414987fc1c3289343">rtx_evr.h</a>
+</li>
+<li>EvrRtxSemaphoreAcquireTimeout()
+: <a class="el" href="group__rtx__evr__semaphore.html#ga852798d5e14cda14484564ac4d7f5a4b">rtx_evr.h</a>
+</li>
+<li>EvrRtxSemaphoreCreated()
+: <a class="el" href="group__rtx__evr__semaphore.html#ga31f9d55abcc5f398ea3810177cbf2bf3">rtx_evr.h</a>
+</li>
+<li>EvrRtxSemaphoreDelete()
+: <a class="el" href="group__rtx__evr__semaphore.html#gaeb0605679ad9f686dd0f40610c8af772">rtx_evr.h</a>
+</li>
+<li>EvrRtxSemaphoreDestroyed()
+: <a class="el" href="group__rtx__evr__semaphore.html#gaad8d8a2844e948b00f02e8620c431c9c">rtx_evr.h</a>
+</li>
+<li>EvrRtxSemaphoreError()
+: <a class="el" href="group__rtx__evr__semaphore.html#ga96a0209384296a283c7b1d23a3395fa1">rtx_evr.h</a>
+</li>
+<li>EvrRtxSemaphoreGetCount()
+: <a class="el" href="group__rtx__evr__semaphore.html#ga17f21ffa4ec39c50ce203e6985dd0deb">rtx_evr.h</a>
+</li>
+<li>EvrRtxSemaphoreGetName()
+: <a class="el" href="group__rtx__evr__semaphore.html#ga17d8aa861b6e669cc68c3c41e3e12332">rtx_evr.h</a>
+</li>
+<li>EvrRtxSemaphoreNew()
+: <a class="el" href="group__rtx__evr__semaphore.html#ga5639f03e935ab79844777664a518c2ec">rtx_evr.h</a>
+</li>
+<li>EvrRtxSemaphoreNotAcquired()
+: <a class="el" href="group__rtx__evr__semaphore.html#ga53eb40f5251e9464b46cc153fe8b26d8">rtx_evr.h</a>
+</li>
+<li>EvrRtxSemaphoreRelease()
+: <a class="el" href="group__rtx__evr__semaphore.html#ga0a9f3c7dbf89d3f155a96524e7195630">rtx_evr.h</a>
+</li>
+<li>EvrRtxSemaphoreReleased()
+: <a class="el" href="group__rtx__evr__semaphore.html#ga814dc5c7d95e7d1bfb30ce0f472ae420">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadBlocked()
+: <a class="el" href="group__rtx__evr__thread.html#gab9efd66ed2edb439c5081806c9b63cf9">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadCreated()
+: <a class="el" href="group__rtx__evr__thread.html#ga5bfa3bc241aea59ebe9bc1edcf6b78d8">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadDelay()
+: <a class="el" href="group__rtx__evr__thread.html#gadd45d32305aa45668a36f2c9f0f4c758">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadDelayCompleted()
+: <a class="el" href="group__rtx__evr__thread.html#gab46562848142ce5ea806d629fd000168">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadDelayUntil()
+: <a class="el" href="group__rtx__evr__thread.html#gaf59defd6c171d2c3d3508e7136278db2">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadDestroyed()
+: <a class="el" href="group__rtx__evr__thread.html#gaa5aa707fc2d6b44bfcb86bce2e2e90f3">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadDetach()
+: <a class="el" href="group__rtx__evr__thread.html#ga02088c2d38cbc31a46675334f63f37f5">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadDetached()
+: <a class="el" href="group__rtx__evr__thread.html#gac60670562ed1efbfbc61036d881c8af9">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadEnumerate()
+: <a class="el" href="group__rtx__evr__thread.html#ga1999d77992b03347abdca7ec17f91cca">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadError()
+: <a class="el" href="group__rtx__evr__thread.html#ga4a2879b06201a29d8c223253d41cca43">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadExit()
+: <a class="el" href="group__rtx__evr__thread.html#gaa557f9732a8a2120f08cfb2694aa26fb">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadFlagsClear()
+: <a class="el" href="rtx__evr_8h.html#ac8ddc747c72f7fc5cfa58edcee56b82d">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadFlagsClearDone()
+: <a class="el" href="rtx__evr_8h.html#aad13b17507cc07a4a1e37a5653489943">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadFlagsGet()
+: <a class="el" href="rtx__evr_8h.html#aab1a30a0ac3dfa588ededbfad52bae30">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadFlagsSet()
+: <a class="el" href="rtx__evr_8h.html#ac356c777af86c2d8d9250cbffc516e1d">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadFlagsSetDone()
+: <a class="el" href="rtx__evr_8h.html#abd447773c02e235a8d0bb96dd9bb1c4f">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadFlagsWait()
+: <a class="el" href="rtx__evr_8h.html#aad860c571b9b083ff2889fb76fb619f1">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadFlagsWaitCompleted()
+: <a class="el" href="rtx__evr_8h.html#a01396074495b21270c75185f63c497d7">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadFlagsWaitNotCompleted()
+: <a class="el" href="rtx__evr_8h.html#adf6b9f4882f62a65b4e06e1b3e5c9c5b">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadFlagsWaitPending()
+: <a class="el" href="rtx__evr_8h.html#ad09ec9317a4440e5228870b750e9860e">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadFlagsWaitTimeout()
+: <a class="el" href="group__rtx__evr__thread.html#gadbbee398f4fab418c9b8115fc7392ff8">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadGetCount()
+: <a class="el" href="group__rtx__evr__thread.html#ga6d5932965736e0f2f35fe2d87bd622e7">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadGetId()
+: <a class="el" href="group__rtx__evr__thread.html#ga40c0d21a5c0d128f09966aeeca37ecba">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadGetName()
+: <a class="el" href="group__rtx__evr__thread.html#ga4f849a33d2c95754b11a499d77503b5c">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadGetPriority()
+: <a class="el" href="group__rtx__evr__thread.html#gada73306deca99987b104aa9840fdd4e2">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadGetStackSize()
+: <a class="el" href="group__rtx__evr__thread.html#ga1200f51e9152810e76386e241904427c">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadGetStackSpace()
+: <a class="el" href="group__rtx__evr__thread.html#ga4fd48ef48eefb01a6252cfc02ea169ab">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadGetState()
+: <a class="el" href="group__rtx__evr__thread.html#ga1c3120fb155ca19ea5c9089a446ef19d">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadJoin()
+: <a class="el" href="group__rtx__evr__thread.html#ga392bb7a8dcd6d126a5e424ab01aa8a80">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadJoined()
+: <a class="el" href="group__rtx__evr__thread.html#ga86ac910ac88d8fe54206a12d7ed69a27">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadJoinPending()
+: <a class="el" href="group__rtx__evr__thread.html#ga47b64cfdc5c5410dde2c5d9145c7d79b">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadNew()
+: <a class="el" href="group__rtx__evr__thread.html#ga396ce41f68401a885f0ae46a54e8dd1f">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadPreempted()
+: <a class="el" href="group__rtx__evr__thread.html#gabe470d5bb1373c59c51470fd20b55bcb">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadResume()
+: <a class="el" href="group__rtx__evr__thread.html#gaf41ff549329cf2feb4a1efe49c518e30">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadResumed()
+: <a class="el" href="group__rtx__evr__thread.html#ga8b25f2548a9f3c069431131169d170ac">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadSetPriority()
+: <a class="el" href="group__rtx__evr__thread.html#gabf4a015bd3fb2a33c0d105a871aaba72">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadSuspend()
+: <a class="el" href="group__rtx__evr__thread.html#gaa268fe19f933b8d2a830063560694561">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadSuspended()
+: <a class="el" href="group__rtx__evr__thread.html#gab0d959bc625cb3e7ddd6bf7c302f631e">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadSwitched()
+: <a class="el" href="group__rtx__evr__thread.html#gae3bc50d5f154463c7f6647544bb5ecab">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadTerminate()
+: <a class="el" href="group__rtx__evr__thread.html#ga6abe7d167bd5bb91c3d6bf6d2bb417aa">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadUnblocked()
+: <a class="el" href="group__rtx__evr__thread.html#ga3faae4d941ddecfe773ef9f3efe8b901">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadYield()
+: <a class="el" href="group__rtx__evr__thread.html#gafed41f1b6bcdde658ca306f8a6d7ac7e">rtx_evr.h</a>
+</li>
+<li>EvrRtxTimerCallback()
+: <a class="el" href="group__rtx__evr__timer.html#gacd46f9d31d256c27c72e47d5be5e9d09">rtx_evr.h</a>
+</li>
+<li>EvrRtxTimerCreated()
+: <a class="el" href="group__rtx__evr__timer.html#ga71dd40a818f1098052915bbfb6c17e88">rtx_evr.h</a>
+</li>
+<li>EvrRtxTimerDelete()
+: <a class="el" href="group__rtx__evr__timer.html#gaea5811cc74861117eccbcbb997d36133">rtx_evr.h</a>
+</li>
+<li>EvrRtxTimerDestroyed()
+: <a class="el" href="group__rtx__evr__timer.html#ga474f3bd3ed38945b087f37fd709560b7">rtx_evr.h</a>
+</li>
+<li>EvrRtxTimerError()
+: <a class="el" href="group__rtx__evr__timer.html#gaf1b516bf697288e67fe797662b1873b0">rtx_evr.h</a>
+</li>
+<li>EvrRtxTimerGetName()
+: <a class="el" href="group__rtx__evr__timer.html#ga601e3617903900524062c4f9069d052f">rtx_evr.h</a>
+</li>
+<li>EvrRtxTimerIsRunning()
+: <a class="el" href="group__rtx__evr__timer.html#ga6fa5a23f241d765ae22ff1862c6f3b3f">rtx_evr.h</a>
+</li>
+<li>EvrRtxTimerNew()
+: <a class="el" href="group__rtx__evr__timer.html#ga6387808c22d6e186057ed744618d2487">rtx_evr.h</a>
+</li>
+<li>EvrRtxTimerStart()
+: <a class="el" href="group__rtx__evr__timer.html#ga453d82bfa65dfbbaffbd5b4ff4f050b2">rtx_evr.h</a>
+</li>
+<li>EvrRtxTimerStarted()
+: <a class="el" href="group__rtx__evr__timer.html#gab0dbdf460fc26b25f3987c44fb0ebdeb">rtx_evr.h</a>
+</li>
+<li>EvrRtxTimerStop()
+: <a class="el" href="group__rtx__evr__timer.html#ga27cf05adc61d30a0e68f380c96ea5f93">rtx_evr.h</a>
+</li>
+<li>EvrRtxTimerStopped()
+: <a class="el" href="group__rtx__evr__timer.html#gaccd59c7ae2351e0a1bf96cdb749c049f">rtx_evr.h</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/globals_enum.html b/docs/RTOS2/html/globals_enum.html
new file mode 100644
index 0000000..7d59388
--- /dev/null
+++ b/docs/RTOS2/html/globals_enum.html
@@ -0,0 +1,152 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Globals</title>
+<title>CMSIS-RTOS2: Globals</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li class="current"><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Macros</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('globals_enum.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;<ul>
+<li>osKernelState_t
+: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga08326469274b668140ca934b168a5ad4">cmsis_os2.h</a>
+</li>
+<li>osPriority_t
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ec">cmsis_os2.h</a>
+</li>
+<li>osStatus_t
+: <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">cmsis_os2.h</a>
+</li>
+<li>osThreadState_t
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad3dc89e942e38d9f3af858a0269a820d">cmsis_os2.h</a>
+</li>
+<li>osTimerType_t
+: <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#ga7dc24a4c2b90334427081c3da7a71915">cmsis_os2.h</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/globals_eval.html b/docs/RTOS2/html/globals_eval.html
new file mode 100644
index 0000000..0428d0c
--- /dev/null
+++ b/docs/RTOS2/html/globals_eval.html
@@ -0,0 +1,375 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Globals</title>
+<title>CMSIS-RTOS2: Globals</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li class="current"><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Macros</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li class="current"><a href="#index_o"><span>o</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('globals_eval.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
+<li>osError
+: <a class="el" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813eabb7b2d2c4efa66df42f1c10635467b09">cmsis_os2.h</a>
+</li>
+<li>osErrorISR
+: <a class="el" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea21635bdc492d3094fe83027fa4a30e2f">cmsis_os2.h</a>
+</li>
+<li>osErrorNoMemory
+: <a class="el" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813eaf1fac0240218e51eb30a13da2f8aae81">cmsis_os2.h</a>
+</li>
+<li>osErrorParameter
+: <a class="el" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813eac24adca6a5d072c9f01c32178ba0d109">cmsis_os2.h</a>
+</li>
+<li>osErrorResource
+: <a class="el" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea8fc5801e8b0482bdf22ad63a77f0155d">cmsis_os2.h</a>
+</li>
+<li>osErrorTimeout
+: <a class="el" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea913eb5df15ad85f8557eb3a456b56879">cmsis_os2.h</a>
+</li>
+<li>osKernelError
+: <a class="el" href="cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a0545c92c18ce8e6b24e82a0d694a0b4a">cmsis_os2.h</a>
+</li>
+<li>osKernelInactive
+: <a class="el" href="cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a2ad3e5912db47b497529d036c89e7995">cmsis_os2.h</a>
+</li>
+<li>osKernelLocked
+: <a class="el" href="cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a2fe382ad5ebab2257b35740414b28b01">cmsis_os2.h</a>
+</li>
+<li>osKernelReady
+: <a class="el" href="cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a0596c6e14113447604753656417c9a24">cmsis_os2.h</a>
+</li>
+<li>osKernelReserved
+: <a class="el" href="cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4ab0a47576defa29396a649d9173d4bc4b">cmsis_os2.h</a>
+</li>
+<li>osKernelRunning
+: <a class="el" href="cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a8e0b699fbe1c8bb66fefadd5911cb6ce">cmsis_os2.h</a>
+</li>
+<li>osKernelSuspended
+: <a class="el" href="cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4ad364464ad84d63b1413a9ac8a962390c">cmsis_os2.h</a>
+</li>
+<li>osOK
+: <a class="el" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f">cmsis_os2.h</a>
+</li>
+<li>osPriorityAboveNormal
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca17b36cd9cd38652c2bc6d4803990674b">cmsis_os2.h</a>
+</li>
+<li>osPriorityAboveNormal1
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecabfeafc713edfc7b9130aa5c762d68998">cmsis_os2.h</a>
+</li>
+<li>osPriorityAboveNormal2
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca901acf86070e06f5990b611734ee2562">cmsis_os2.h</a>
+</li>
+<li>osPriorityAboveNormal3
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecad566b876b64e6efdc3eba0fc04e54013">cmsis_os2.h</a>
+</li>
+<li>osPriorityAboveNormal4
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca6ccac37d7dae4586a2031966d36a63ec">cmsis_os2.h</a>
+</li>
+<li>osPriorityAboveNormal5
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecae36e8b38ee046a3104bcccabb10cf78c">cmsis_os2.h</a>
+</li>
+<li>osPriorityAboveNormal6
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca61e6ce27e1e0f34f2540b413b8a8b207">cmsis_os2.h</a>
+</li>
+<li>osPriorityAboveNormal7
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecadbbb0fed3ada6b9b50d4a628abc2a67d">cmsis_os2.h</a>
+</li>
+<li>osPriorityBelowNormal
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca193b650117c209b4a203954542bcc3e6">cmsis_os2.h</a>
+</li>
+<li>osPriorityBelowNormal1
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca9138da7187690b15f52d8e5729c18da5">cmsis_os2.h</a>
+</li>
+<li>osPriorityBelowNormal2
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca4f081d6735bf2f513338b07eddf13ae3">cmsis_os2.h</a>
+</li>
+<li>osPriorityBelowNormal3
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca19c013690d0d6bf3ac90707942be3fdf">cmsis_os2.h</a>
+</li>
+<li>osPriorityBelowNormal4
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca36931ad6cee5e4700e2c8622bdd2cd24">cmsis_os2.h</a>
+</li>
+<li>osPriorityBelowNormal5
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca0bcd9ad1e7a02e3bf03be7dcc8ece38e">cmsis_os2.h</a>
+</li>
+<li>osPriorityBelowNormal6
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecabd3cc7df5b92b752ddf1e7843a786c05">cmsis_os2.h</a>
+</li>
+<li>osPriorityBelowNormal7
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecab18e3bda7b5e418e309a62d6267ea14b">cmsis_os2.h</a>
+</li>
+<li>osPriorityError
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecae35f5e2f9c64ad346822521b643bdea4">cmsis_os2.h</a>
+</li>
+<li>osPriorityHigh
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca914433934143a9ba767e59577c56e6c2">cmsis_os2.h</a>
+</li>
+<li>osPriorityHigh1
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca17b7a7e6febf12444a84e90edfce36cb">cmsis_os2.h</a>
+</li>
+<li>osPriorityHigh2
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca40a120cf8bbc42e575455c027f3d9b03">cmsis_os2.h</a>
+</li>
+<li>osPriorityHigh3
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca0b15518b0b5321a29efa0b42b2f8c759">cmsis_os2.h</a>
+</li>
+<li>osPriorityHigh4
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecafe5a4f393fab04551ac7d93e80cdf0fb">cmsis_os2.h</a>
+</li>
+<li>osPriorityHigh5
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca5960841bfbdd959b163429e8502ea4e9">cmsis_os2.h</a>
+</li>
+<li>osPriorityHigh6
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca5714dda6effc1a3f8ec155d97e3e69bc">cmsis_os2.h</a>
+</li>
+<li>osPriorityHigh7
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca63ad0cc52a701ef3d9df52b59b995652">cmsis_os2.h</a>
+</li>
+<li>osPriorityIdle
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad4e3e0971b41f2d17584a8c6837342ecacd5864eac01a6916a7c866bb51a6aac1">cmsis_os2.h</a>
+</li>
+<li>osPriorityISR
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad4e3e0971b41f2d17584a8c6837342eca4b4fa46c3ebaf4259662a0a0a3173b7f">cmsis_os2.h</a>
+</li>
+<li>osPriorityLow
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca61cb822239ac8f66dfbdc7291598a3d4">cmsis_os2.h</a>
+</li>
+<li>osPriorityLow1
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecaba2b6919f0b630c8c1b2c940e3bfadbe">cmsis_os2.h</a>
+</li>
+<li>osPriorityLow2
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca78ad5d00aa07a2b4bf30a639544f5507">cmsis_os2.h</a>
+</li>
+<li>osPriorityLow3
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca28ccb07942c16f5f5efefb6cf68a7f50">cmsis_os2.h</a>
+</li>
+<li>osPriorityLow4
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca5a4a4f26d5b220a968e221e854f69a81">cmsis_os2.h</a>
+</li>
+<li>osPriorityLow5
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecad69b8c14809bc5bdce4887f5a57d9353">cmsis_os2.h</a>
+</li>
+<li>osPriorityLow6
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecac0f188468664d06d4cd9e6e1ed351393">cmsis_os2.h</a>
+</li>
+<li>osPriorityLow7
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca5b151ebba7fdeb1baaa9b7b420890b7a">cmsis_os2.h</a>
+</li>
+<li>osPriorityNone
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca6c437c7185161a3bd1e7e4669dfa17a3">cmsis_os2.h</a>
+</li>
+<li>osPriorityNormal
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca45a2895ad30c79fb97de18cac7cc19f1">cmsis_os2.h</a>
+</li>
+<li>osPriorityNormal1
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca3e70c19e03d5a54e66bd071f0776782c">cmsis_os2.h</a>
+</li>
+<li>osPriorityNormal2
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca19e96f2b025b6462a43b1965043c8205">cmsis_os2.h</a>
+</li>
+<li>osPriorityNormal3
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca402bd7ab26fb57c8cee8cf94168f4c91">cmsis_os2.h</a>
+</li>
+<li>osPriorityNormal4
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca93ef07d3a107aeee6508bfd29ba3485d">cmsis_os2.h</a>
+</li>
+<li>osPriorityNormal5
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca68f3f6fdaa639de300277802aa13a0ab">cmsis_os2.h</a>
+</li>
+<li>osPriorityNormal6
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca8221eb0d059726a6309f1f2d0cdb6204">cmsis_os2.h</a>
+</li>
+<li>osPriorityNormal7
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca049abd04f8951415407ec9d92bd9b80b">cmsis_os2.h</a>
+</li>
+<li>osPriorityRealtime
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca1485dec3702434a1ec3cb74c7a17a4af">cmsis_os2.h</a>
+</li>
+<li>osPriorityRealtime1
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecaf685a06b30f0635476e21347a986305b">cmsis_os2.h</a>
+</li>
+<li>osPriorityRealtime2
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecab832bd9de84e5eec2ecad69d085dadff">cmsis_os2.h</a>
+</li>
+<li>osPriorityRealtime3
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca3f2261e5e733e92844ae8c630f2f9eaa">cmsis_os2.h</a>
+</li>
+<li>osPriorityRealtime4
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecaf614e3dc966d559cd9d9d2a0f78ebe70">cmsis_os2.h</a>
+</li>
+<li>osPriorityRealtime5
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecaff84f31ceff203c711fb9476443507df">cmsis_os2.h</a>
+</li>
+<li>osPriorityRealtime6
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca80ae9d0dd256312c0c8f44af48316194">cmsis_os2.h</a>
+</li>
+<li>osPriorityRealtime7
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecaa76da6825c4bd31c4958200bc289103b">cmsis_os2.h</a>
+</li>
+<li>osPriorityReserved
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecac86c171f8d466cced0cb1b03bb03343b">cmsis_os2.h</a>
+</li>
+<li>osStatusReserved
+: <a class="el" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea66cc9ce9106b508df0e4a733a55a439d">cmsis_os2.h</a>
+</li>
+<li>osThreadBlocked
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820daf0e992e354fba8695957c530226a4968">cmsis_os2.h</a>
+</li>
+<li>osThreadError
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820da339313e26613bc12f66a852e2ff8745e">cmsis_os2.h</a>
+</li>
+<li>osThreadInactive
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820dae9d77830b6866e287417b6e1d983e971">cmsis_os2.h</a>
+</li>
+<li>osThreadReady
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820da59e286915944fe0e4d1ffdb1f2946f14">cmsis_os2.h</a>
+</li>
+<li>osThreadReserved
+: <a class="el" href="cmsis__os2_8h.html#gad3dc89e942e38d9f3af858a0269a820da8872f7e352370eb11ee772c7dcca6e6c">cmsis_os2.h</a>
+</li>
+<li>osThreadRunning
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820dac4fe336e0790188fcf7d667372eca19d">cmsis_os2.h</a>
+</li>
+<li>osThreadTerminated
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820dad5b2726c2d0228f4f1a76cf6b630963c">cmsis_os2.h</a>
+</li>
+<li>osTimerOnce
+: <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915a2e0e1f31c742c84b497c4d7143357bdb">cmsis_os2.h</a>
+</li>
+<li>osTimerPeriodic
+: <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915ab3463d921dc310938094745c230f2b35">cmsis_os2.h</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/globals_func.html b/docs/RTOS2/html/globals_func.html
new file mode 100644
index 0000000..b1bc66f
--- /dev/null
+++ b/docs/RTOS2/html/globals_func.html
@@ -0,0 +1,648 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Globals</title>
+<title>CMSIS-RTOS2: Globals</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Macros</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li class="current"><a href="globals_func.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_func_o.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_func_p.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_func_s.html#index_s"><span>s</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('globals_func.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
+<li>EvrRtxEventFlagsClear()
+: <a class="el" href="rtx__evr_8h.html#ab31f9da565b0170d8e89edf0e848f28b">rtx_evr.h</a>
+</li>
+<li>EvrRtxEventFlagsClearDone()
+: <a class="el" href="rtx__evr_8h.html#a9e4c4e5d45bc721439c1919621a49d5a">rtx_evr.h</a>
+</li>
+<li>EvrRtxEventFlagsCreated()
+: <a class="el" href="group__rtx__evr__event__flasg.html#gaa1f48b9787e3a7d4f56449ed1dd12f26">rtx_evr.h</a>
+</li>
+<li>EvrRtxEventFlagsDelete()
+: <a class="el" href="group__rtx__evr__event__flasg.html#ga10e98e35999350e9e337c716ba4dc079">rtx_evr.h</a>
+</li>
+<li>EvrRtxEventFlagsDestroyed()
+: <a class="el" href="group__rtx__evr__event__flasg.html#ga2ef153a6ee7a8d72375f81128454ede9">rtx_evr.h</a>
+</li>
+<li>EvrRtxEventFlagsError()
+: <a class="el" href="group__rtx__evr__event__flasg.html#gaa281b7380c0fa725faa722badbeb2e5f">rtx_evr.h</a>
+</li>
+<li>EvrRtxEventFlagsGet()
+: <a class="el" href="rtx__evr_8h.html#a113c32ff195c612ec2fb6a9dd5740184">rtx_evr.h</a>
+</li>
+<li>EvrRtxEventFlagsGetName()
+: <a class="el" href="group__rtx__evr__event__flasg.html#gae9ebcbc09a1c15c719d95fe7b8c2ee18">rtx_evr.h</a>
+</li>
+<li>EvrRtxEventFlagsNew()
+: <a class="el" href="group__rtx__evr__event__flasg.html#gae798cdc4cb10ada732e592318037cba7">rtx_evr.h</a>
+</li>
+<li>EvrRtxEventFlagsSet()
+: <a class="el" href="rtx__evr_8h.html#a5e5c9bd8a0522fc9301782edd6e5ec1f">rtx_evr.h</a>
+</li>
+<li>EvrRtxEventFlagsSetDone()
+: <a class="el" href="rtx__evr_8h.html#a5b1b471923918ad294d16255d43ab306">rtx_evr.h</a>
+</li>
+<li>EvrRtxEventFlagsWait()
+: <a class="el" href="rtx__evr_8h.html#ac8361874ffdd854e3778f21d070fed24">rtx_evr.h</a>
+</li>
+<li>EvrRtxEventFlagsWaitCompleted()
+: <a class="el" href="rtx__evr_8h.html#a7b446f241c971db432ebac5d176bd9de">rtx_evr.h</a>
+</li>
+<li>EvrRtxEventFlagsWaitNotCompleted()
+: <a class="el" href="rtx__evr_8h.html#a66f32e4dddc68cdfd56c32b88b7f13ff">rtx_evr.h</a>
+</li>
+<li>EvrRtxEventFlagsWaitPending()
+: <a class="el" href="rtx__evr_8h.html#afd598e0b02a31083fb41626d68fa489e">rtx_evr.h</a>
+</li>
+<li>EvrRtxEventFlagsWaitTimeout()
+: <a class="el" href="group__rtx__evr__event__flasg.html#ga877235cbe04188b831b70a3c2237c827">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelError()
+: <a class="el" href="group__rtx__evr__kernel.html#ga2a38154886e6293e127bafcfb6f7d609">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelGetInfo()
+: <a class="el" href="group__rtx__evr__kernel.html#ga4c2a175b79d39d70a4a5112e270d03f2">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelGetState()
+: <a class="el" href="group__rtx__evr__kernel.html#gad6407e9ff0910629b041866bd801075a">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelGetSysTimerCount()
+: <a class="el" href="group__rtx__evr__kernel.html#gafb6530be8201b119015a3f45d66c2f09">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelGetSysTimerFreq()
+: <a class="el" href="group__rtx__evr__kernel.html#gaf2bdfcb7b099295c7b0123abe88e10a3">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelGetTickCount()
+: <a class="el" href="group__rtx__evr__kernel.html#ga64431a63437506a6f7fe22637d4891c5">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelGetTickFreq()
+: <a class="el" href="group__rtx__evr__kernel.html#ga7404f3a22af84ad4091c24811fc1bf87">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelInfoRetrieved()
+: <a class="el" href="group__rtx__evr__kernel.html#gaf09b8cd94ad2384e3ab518f0df94a651">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelInitialize()
+: <a class="el" href="group__rtx__evr__kernel.html#ga7e84d337b452f647c3a3d6937abd6292">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelInitialized()
+: <a class="el" href="group__rtx__evr__kernel.html#ga5db8d306617656bfec12638e17584d66">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelLock()
+: <a class="el" href="group__rtx__evr__kernel.html#ga1d0340812c29274c6150fa72288e0612">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelLocked()
+: <a class="el" href="group__rtx__evr__kernel.html#gac18ea91ffcae01e893304609a3c6cdc3">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelLockRestored()
+: <a class="el" href="group__rtx__evr__kernel.html#gaf7be1022a33c13fb44f4059f5636b75a">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelRestoreLock()
+: <a class="el" href="group__rtx__evr__kernel.html#ga812fdd14d6c40072cc40aec742d4869e">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelResume()
+: <a class="el" href="group__rtx__evr__kernel.html#ga9a8cac0fed8d3cf06f7301c944ad26d1">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelResumed()
+: <a class="el" href="group__rtx__evr__kernel.html#ga26e0a22f49576824d853fb434cf6b079">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelStart()
+: <a class="el" href="group__rtx__evr__kernel.html#ga75937a761dd488600d2525a532808d2b">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelStarted()
+: <a class="el" href="group__rtx__evr__kernel.html#ga28043ffc76fec09e6c8763a9a71b7f2a">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelSuspend()
+: <a class="el" href="group__rtx__evr__kernel.html#gac3abd78a9d3f3a6adc698e2929e1c32c">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelSuspended()
+: <a class="el" href="group__rtx__evr__kernel.html#gabdaa26d7774111af4913b5d6669d0f85">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelUnlock()
+: <a class="el" href="group__rtx__evr__kernel.html#gabe14acf14ed2611a3ba1f3b280fbfd8c">rtx_evr.h</a>
+</li>
+<li>EvrRtxKernelUnlocked()
+: <a class="el" href="group__rtx__evr__kernel.html#ga5cc909465e8df09c9231782e0c45e374">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryAlloc()
+: <a class="el" href="group__rtx__evr__memory.html#gae1818917a5e085f92a03039ffaf2bad4">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryBlockAlloc()
+: <a class="el" href="group__rtx__evr__memory.html#ga71c0df6f932436b54d7d641a440586db">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryBlockFree()
+: <a class="el" href="group__rtx__evr__memory.html#ga69c2139620def7c5e59f6b1249857949">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryBlockInit()
+: <a class="el" href="group__rtx__evr__memory.html#gac71421bbf537f2f8c9255f9f51cf7d54">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryFree()
+: <a class="el" href="group__rtx__evr__memory.html#ga9227b18f5ea44d7caa8fadd4d539af9c">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryInit()
+: <a class="el" href="group__rtx__evr__memory.html#ga15078f1251744140d90761e05c0fe1f2">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryPoolAlloc()
+: <a class="el" href="group__rtx__evr__memory__pool.html#ga425c8a0e13c6fb13262d99a4dcabd507">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryPoolAllocated()
+: <a class="el" href="group__rtx__evr__memory__pool.html#gad05246ee7e1f95e7f9496716515daeed">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryPoolAllocFailed()
+: <a class="el" href="group__rtx__evr__memory__pool.html#gaf511fce5389dde6fd3277e3469c72fd9">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryPoolAllocPending()
+: <a class="el" href="group__rtx__evr__memory__pool.html#ga2fbd33e3d84b4f37e9f9b80576b26907">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryPoolAllocTimeout()
+: <a class="el" href="group__rtx__evr__memory__pool.html#ga0e144530d45959126018ad74bae7a6ed">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryPoolCreated()
+: <a class="el" href="group__rtx__evr__memory__pool.html#gadad71c7b04493c03647ca0929ea087b1">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryPoolDeallocated()
+: <a class="el" href="group__rtx__evr__memory__pool.html#ga3e8e700baea20b88c3d13678fe7a7fb4">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryPoolDelete()
+: <a class="el" href="group__rtx__evr__memory__pool.html#ga64ae703ad556f25b105e3eae85b582b8">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryPoolDestroyed()
+: <a class="el" href="group__rtx__evr__memory__pool.html#ga853e1867a4b65aff3f12f7be1aee5ce4">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryPoolError()
+: <a class="el" href="group__rtx__evr__memory__pool.html#ga7e1a37b0c5dd0a97507c025ab1a62ec8">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryPoolFree()
+: <a class="el" href="group__rtx__evr__memory__pool.html#ga46bc3ef3b1ca2e4cfb914f58d0efe92e">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryPoolFreeFailed()
+: <a class="el" href="group__rtx__evr__memory__pool.html#gad75c377c00ae23caf7b4c3b77a0b46d1">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryPoolGetBlockSize()
+: <a class="el" href="group__rtx__evr__memory__pool.html#gaf79f0e1eb41d42566ba9023be7e442c5">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryPoolGetCapacity()
+: <a class="el" href="group__rtx__evr__memory__pool.html#gaed36f26a548d40e2a3d5b81c8695f287">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryPoolGetCount()
+: <a class="el" href="group__rtx__evr__memory__pool.html#ga668bc3e627d9b74b6e8259a667e05846">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryPoolGetName()
+: <a class="el" href="group__rtx__evr__memory__pool.html#gaeface1ee4957cdb59292e13c38a672d7">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryPoolGetSpace()
+: <a class="el" href="group__rtx__evr__memory__pool.html#ga4bee4e3e41bdef94046dc059f16ca7ce">rtx_evr.h</a>
+</li>
+<li>EvrRtxMemoryPoolNew()
+: <a class="el" href="group__rtx__evr__memory__pool.html#gaf2fd4c91acf1379e93cd9886c515b9c5">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueCreated()
+: <a class="el" href="group__rtx__evr__message__queue.html#ga36d6982377c1f54a227ba6fbb9458b79">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueDelete()
+: <a class="el" href="group__rtx__evr__message__queue.html#gad11606ef82f5b82f291bf64adfc805e4">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueDestroyed()
+: <a class="el" href="group__rtx__evr__message__queue.html#ga3bbf02128c31e5cc7ef4c78cdbec508c">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueError()
+: <a class="el" href="group__rtx__evr__message__queue.html#ga8ded1d43703e0885a81e65251c6df405">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueGet()
+: <a class="el" href="group__rtx__evr__message__queue.html#ga0826c1d05d3a99afb8682f0ca3f7fd62">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueGetCapacity()
+: <a class="el" href="group__rtx__evr__message__queue.html#gad423a0be13d65e98d9ae08de9c399615">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueGetCount()
+: <a class="el" href="group__rtx__evr__message__queue.html#ga145f0c464382dc71ff3b1c624b8bd570">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueGetMsgSize()
+: <a class="el" href="group__rtx__evr__message__queue.html#ga3d6348bed3937de29765ed4d7d07fac8">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueGetName()
+: <a class="el" href="group__rtx__evr__message__queue.html#gad0ef8ee59d2ec189351c5884f5f8e945">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueGetPending()
+: <a class="el" href="group__rtx__evr__message__queue.html#ga11e3df32a66d5240b277375cbb5d3c83">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueGetSpace()
+: <a class="el" href="group__rtx__evr__message__queue.html#ga6cfce7336f58505a2379a8a71f477d2f">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueGetTimeout()
+: <a class="el" href="group__rtx__evr__message__queue.html#ga5e699de7401c46fd0e8bc19e398dc5a8">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueInserted()
+: <a class="el" href="group__rtx__evr__message__queue.html#gaa30c5b375d4050ad7d99ba094821bf52">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueInsertPending()
+: <a class="el" href="group__rtx__evr__message__queue.html#ga8440223b9d48145df5505489e7c6f7d9">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueNew()
+: <a class="el" href="group__rtx__evr__message__queue.html#gaa7b18f18f3f53d6afb39ac1abe257000">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueNotInserted()
+: <a class="el" href="group__rtx__evr__message__queue.html#ga2922125d8ac63fd800dc3b7888fd3f3c">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueNotRetrieved()
+: <a class="el" href="group__rtx__evr__message__queue.html#ga22bfb7d1c2f6e3e9fea9d3267b2d6988">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueuePut()
+: <a class="el" href="group__rtx__evr__message__queue.html#ga401536a603e5a805cc6089b4de11d3d3">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueuePutPending()
+: <a class="el" href="group__rtx__evr__message__queue.html#ga4b1b6191c6ca87dff4714e25b5845828">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueuePutTimeout()
+: <a class="el" href="group__rtx__evr__message__queue.html#ga7394ca2d88255470f7ba0bb2bff12e99">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueReset()
+: <a class="el" href="group__rtx__evr__message__queue.html#ga91b8c8630c7d89b6b6dbb74d4fc81ba4">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueResetDone()
+: <a class="el" href="group__rtx__evr__message__queue.html#ga3947d4a7ac86ee7a50052c9eb4cd5432">rtx_evr.h</a>
+</li>
+<li>EvrRtxMessageQueueRetrieved()
+: <a class="el" href="group__rtx__evr__message__queue.html#gab340b38df5d8bf2a1182fd18f2d3a6c4">rtx_evr.h</a>
+</li>
+<li>EvrRtxMutexAcquire()
+: <a class="el" href="group__rtx__evr__mutex.html#ga913c46223d91000fedab624d0f4e53f8">rtx_evr.h</a>
+</li>
+<li>EvrRtxMutexAcquired()
+: <a class="el" href="group__rtx__evr__mutex.html#ga697ec95e014a30a3676690a8d217f546">rtx_evr.h</a>
+</li>
+<li>EvrRtxMutexAcquirePending()
+: <a class="el" href="group__rtx__evr__mutex.html#gaddc9bb3c619b92a786ee5255ec65eaca">rtx_evr.h</a>
+</li>
+<li>EvrRtxMutexAcquireTimeout()
+: <a class="el" href="group__rtx__evr__mutex.html#ga4c4780cf766e9d2c6e8c26f206fba607">rtx_evr.h</a>
+</li>
+<li>EvrRtxMutexCreated()
+: <a class="el" href="group__rtx__evr__mutex.html#ga712b32609cfb3ceded746ee6a86d2442">rtx_evr.h</a>
+</li>
+<li>EvrRtxMutexDelete()
+: <a class="el" href="group__rtx__evr__mutex.html#gaaadf1b9cf9a62f4e61742069b95daf68">rtx_evr.h</a>
+</li>
+<li>EvrRtxMutexDestroyed()
+: <a class="el" href="group__rtx__evr__mutex.html#gaa3feba455090d50295cbf4b1447f3f87">rtx_evr.h</a>
+</li>
+<li>EvrRtxMutexError()
+: <a class="el" href="group__rtx__evr__mutex.html#ga47388f06c025938facfddd95851d666f">rtx_evr.h</a>
+</li>
+<li>EvrRtxMutexGetName()
+: <a class="el" href="group__rtx__evr__mutex.html#ga457302507cedf0ea969cbb110af606b8">rtx_evr.h</a>
+</li>
+<li>EvrRtxMutexGetOwner()
+: <a class="el" href="group__rtx__evr__mutex.html#ga89284c1927aa646535ff804f1aeda720">rtx_evr.h</a>
+</li>
+<li>EvrRtxMutexNew()
+: <a class="el" href="group__rtx__evr__mutex.html#ga51f59bf99b315f016ca752eddd1911d5">rtx_evr.h</a>
+</li>
+<li>EvrRtxMutexNotAcquired()
+: <a class="el" href="group__rtx__evr__mutex.html#ga5d2b957c02fcdcc0617479b93a56f6af">rtx_evr.h</a>
+</li>
+<li>EvrRtxMutexRelease()
+: <a class="el" href="group__rtx__evr__mutex.html#ga3fe98bfc9cbea52f578aa5a202305442">rtx_evr.h</a>
+</li>
+<li>EvrRtxMutexReleased()
+: <a class="el" href="group__rtx__evr__mutex.html#ga561c8898b912ea8eace4e6ba606210e5">rtx_evr.h</a>
+</li>
+<li>EvrRtxSemaphoreAcquire()
+: <a class="el" href="group__rtx__evr__semaphore.html#gafd91c9bb268a48b394571a9fc1809019">rtx_evr.h</a>
+</li>
+<li>EvrRtxSemaphoreAcquired()
+: <a class="el" href="group__rtx__evr__semaphore.html#ga4d1f85595cc0802cf8cac89fd8f88b5d">rtx_evr.h</a>
+</li>
+<li>EvrRtxSemaphoreAcquirePending()
+: <a class="el" href="group__rtx__evr__semaphore.html#gabbaaf85deaf4645414987fc1c3289343">rtx_evr.h</a>
+</li>
+<li>EvrRtxSemaphoreAcquireTimeout()
+: <a class="el" href="group__rtx__evr__semaphore.html#ga852798d5e14cda14484564ac4d7f5a4b">rtx_evr.h</a>
+</li>
+<li>EvrRtxSemaphoreCreated()
+: <a class="el" href="group__rtx__evr__semaphore.html#ga31f9d55abcc5f398ea3810177cbf2bf3">rtx_evr.h</a>
+</li>
+<li>EvrRtxSemaphoreDelete()
+: <a class="el" href="group__rtx__evr__semaphore.html#gaeb0605679ad9f686dd0f40610c8af772">rtx_evr.h</a>
+</li>
+<li>EvrRtxSemaphoreDestroyed()
+: <a class="el" href="group__rtx__evr__semaphore.html#gaad8d8a2844e948b00f02e8620c431c9c">rtx_evr.h</a>
+</li>
+<li>EvrRtxSemaphoreError()
+: <a class="el" href="group__rtx__evr__semaphore.html#ga96a0209384296a283c7b1d23a3395fa1">rtx_evr.h</a>
+</li>
+<li>EvrRtxSemaphoreGetCount()
+: <a class="el" href="group__rtx__evr__semaphore.html#ga17f21ffa4ec39c50ce203e6985dd0deb">rtx_evr.h</a>
+</li>
+<li>EvrRtxSemaphoreGetName()
+: <a class="el" href="group__rtx__evr__semaphore.html#ga17d8aa861b6e669cc68c3c41e3e12332">rtx_evr.h</a>
+</li>
+<li>EvrRtxSemaphoreNew()
+: <a class="el" href="group__rtx__evr__semaphore.html#ga5639f03e935ab79844777664a518c2ec">rtx_evr.h</a>
+</li>
+<li>EvrRtxSemaphoreNotAcquired()
+: <a class="el" href="group__rtx__evr__semaphore.html#ga53eb40f5251e9464b46cc153fe8b26d8">rtx_evr.h</a>
+</li>
+<li>EvrRtxSemaphoreRelease()
+: <a class="el" href="group__rtx__evr__semaphore.html#ga0a9f3c7dbf89d3f155a96524e7195630">rtx_evr.h</a>
+</li>
+<li>EvrRtxSemaphoreReleased()
+: <a class="el" href="group__rtx__evr__semaphore.html#ga814dc5c7d95e7d1bfb30ce0f472ae420">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadBlocked()
+: <a class="el" href="group__rtx__evr__thread.html#gab9efd66ed2edb439c5081806c9b63cf9">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadCreated()
+: <a class="el" href="group__rtx__evr__thread.html#ga5bfa3bc241aea59ebe9bc1edcf6b78d8">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadDelay()
+: <a class="el" href="group__rtx__evr__thread.html#gadd45d32305aa45668a36f2c9f0f4c758">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadDelayCompleted()
+: <a class="el" href="group__rtx__evr__thread.html#gab46562848142ce5ea806d629fd000168">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadDelayUntil()
+: <a class="el" href="group__rtx__evr__thread.html#gaf59defd6c171d2c3d3508e7136278db2">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadDestroyed()
+: <a class="el" href="group__rtx__evr__thread.html#gaa5aa707fc2d6b44bfcb86bce2e2e90f3">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadDetach()
+: <a class="el" href="group__rtx__evr__thread.html#ga02088c2d38cbc31a46675334f63f37f5">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadDetached()
+: <a class="el" href="group__rtx__evr__thread.html#gac60670562ed1efbfbc61036d881c8af9">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadEnumerate()
+: <a class="el" href="group__rtx__evr__thread.html#ga1999d77992b03347abdca7ec17f91cca">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadError()
+: <a class="el" href="group__rtx__evr__thread.html#ga4a2879b06201a29d8c223253d41cca43">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadExit()
+: <a class="el" href="group__rtx__evr__thread.html#gaa557f9732a8a2120f08cfb2694aa26fb">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadFlagsClear()
+: <a class="el" href="rtx__evr_8h.html#ac8ddc747c72f7fc5cfa58edcee56b82d">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadFlagsClearDone()
+: <a class="el" href="rtx__evr_8h.html#aad13b17507cc07a4a1e37a5653489943">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadFlagsGet()
+: <a class="el" href="rtx__evr_8h.html#aab1a30a0ac3dfa588ededbfad52bae30">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadFlagsSet()
+: <a class="el" href="rtx__evr_8h.html#ac356c777af86c2d8d9250cbffc516e1d">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadFlagsSetDone()
+: <a class="el" href="rtx__evr_8h.html#abd447773c02e235a8d0bb96dd9bb1c4f">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadFlagsWait()
+: <a class="el" href="rtx__evr_8h.html#aad860c571b9b083ff2889fb76fb619f1">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadFlagsWaitCompleted()
+: <a class="el" href="rtx__evr_8h.html#a01396074495b21270c75185f63c497d7">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadFlagsWaitNotCompleted()
+: <a class="el" href="rtx__evr_8h.html#adf6b9f4882f62a65b4e06e1b3e5c9c5b">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadFlagsWaitPending()
+: <a class="el" href="rtx__evr_8h.html#ad09ec9317a4440e5228870b750e9860e">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadFlagsWaitTimeout()
+: <a class="el" href="group__rtx__evr__thread.html#gadbbee398f4fab418c9b8115fc7392ff8">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadGetCount()
+: <a class="el" href="group__rtx__evr__thread.html#ga6d5932965736e0f2f35fe2d87bd622e7">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadGetId()
+: <a class="el" href="group__rtx__evr__thread.html#ga40c0d21a5c0d128f09966aeeca37ecba">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadGetName()
+: <a class="el" href="group__rtx__evr__thread.html#ga4f849a33d2c95754b11a499d77503b5c">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadGetPriority()
+: <a class="el" href="group__rtx__evr__thread.html#gada73306deca99987b104aa9840fdd4e2">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadGetStackSize()
+: <a class="el" href="group__rtx__evr__thread.html#ga1200f51e9152810e76386e241904427c">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadGetStackSpace()
+: <a class="el" href="group__rtx__evr__thread.html#ga4fd48ef48eefb01a6252cfc02ea169ab">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadGetState()
+: <a class="el" href="group__rtx__evr__thread.html#ga1c3120fb155ca19ea5c9089a446ef19d">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadJoin()
+: <a class="el" href="group__rtx__evr__thread.html#ga392bb7a8dcd6d126a5e424ab01aa8a80">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadJoined()
+: <a class="el" href="group__rtx__evr__thread.html#ga86ac910ac88d8fe54206a12d7ed69a27">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadJoinPending()
+: <a class="el" href="group__rtx__evr__thread.html#ga47b64cfdc5c5410dde2c5d9145c7d79b">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadNew()
+: <a class="el" href="group__rtx__evr__thread.html#ga396ce41f68401a885f0ae46a54e8dd1f">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadPreempted()
+: <a class="el" href="group__rtx__evr__thread.html#gabe470d5bb1373c59c51470fd20b55bcb">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadResume()
+: <a class="el" href="group__rtx__evr__thread.html#gaf41ff549329cf2feb4a1efe49c518e30">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadResumed()
+: <a class="el" href="group__rtx__evr__thread.html#ga8b25f2548a9f3c069431131169d170ac">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadSetPriority()
+: <a class="el" href="group__rtx__evr__thread.html#gabf4a015bd3fb2a33c0d105a871aaba72">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadSuspend()
+: <a class="el" href="group__rtx__evr__thread.html#gaa268fe19f933b8d2a830063560694561">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadSuspended()
+: <a class="el" href="group__rtx__evr__thread.html#gab0d959bc625cb3e7ddd6bf7c302f631e">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadSwitched()
+: <a class="el" href="group__rtx__evr__thread.html#gae3bc50d5f154463c7f6647544bb5ecab">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadTerminate()
+: <a class="el" href="group__rtx__evr__thread.html#ga6abe7d167bd5bb91c3d6bf6d2bb417aa">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadUnblocked()
+: <a class="el" href="group__rtx__evr__thread.html#ga3faae4d941ddecfe773ef9f3efe8b901">rtx_evr.h</a>
+</li>
+<li>EvrRtxThreadYield()
+: <a class="el" href="group__rtx__evr__thread.html#gafed41f1b6bcdde658ca306f8a6d7ac7e">rtx_evr.h</a>
+</li>
+<li>EvrRtxTimerCallback()
+: <a class="el" href="group__rtx__evr__timer.html#gacd46f9d31d256c27c72e47d5be5e9d09">rtx_evr.h</a>
+</li>
+<li>EvrRtxTimerCreated()
+: <a class="el" href="group__rtx__evr__timer.html#ga71dd40a818f1098052915bbfb6c17e88">rtx_evr.h</a>
+</li>
+<li>EvrRtxTimerDelete()
+: <a class="el" href="group__rtx__evr__timer.html#gaea5811cc74861117eccbcbb997d36133">rtx_evr.h</a>
+</li>
+<li>EvrRtxTimerDestroyed()
+: <a class="el" href="group__rtx__evr__timer.html#ga474f3bd3ed38945b087f37fd709560b7">rtx_evr.h</a>
+</li>
+<li>EvrRtxTimerError()
+: <a class="el" href="group__rtx__evr__timer.html#gaf1b516bf697288e67fe797662b1873b0">rtx_evr.h</a>
+</li>
+<li>EvrRtxTimerGetName()
+: <a class="el" href="group__rtx__evr__timer.html#ga601e3617903900524062c4f9069d052f">rtx_evr.h</a>
+</li>
+<li>EvrRtxTimerIsRunning()
+: <a class="el" href="group__rtx__evr__timer.html#ga6fa5a23f241d765ae22ff1862c6f3b3f">rtx_evr.h</a>
+</li>
+<li>EvrRtxTimerNew()
+: <a class="el" href="group__rtx__evr__timer.html#ga6387808c22d6e186057ed744618d2487">rtx_evr.h</a>
+</li>
+<li>EvrRtxTimerStart()
+: <a class="el" href="group__rtx__evr__timer.html#ga453d82bfa65dfbbaffbd5b4ff4f050b2">rtx_evr.h</a>
+</li>
+<li>EvrRtxTimerStarted()
+: <a class="el" href="group__rtx__evr__timer.html#gab0dbdf460fc26b25f3987c44fb0ebdeb">rtx_evr.h</a>
+</li>
+<li>EvrRtxTimerStop()
+: <a class="el" href="group__rtx__evr__timer.html#ga27cf05adc61d30a0e68f380c96ea5f93">rtx_evr.h</a>
+</li>
+<li>EvrRtxTimerStopped()
+: <a class="el" href="group__rtx__evr__timer.html#gaccd59c7ae2351e0a1bf96cdb749c049f">rtx_evr.h</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/globals_func_o.html b/docs/RTOS2/html/globals_func_o.html
new file mode 100644
index 0000000..e2de554
--- /dev/null
+++ b/docs/RTOS2/html/globals_func_o.html
@@ -0,0 +1,420 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Globals</title>
+<title>CMSIS-RTOS2: Globals</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Macros</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_func.html#index_e"><span>e</span></a></li>
+ <li class="current"><a href="globals_func_o.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_func_p.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_func_s.html#index_s"><span>s</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('globals_func_o.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
+<li>OS_Tick_AcknowledgeIRQ()
+: <a class="el" href="group__CMSIS__RTOS__TickAPI.html#ga57065ec4b281504ad4de13a419870b4f">os_tick.h</a>
+</li>
+<li>OS_Tick_Disable()
+: <a class="el" href="group__CMSIS__RTOS__TickAPI.html#ga5e325c304fef5003b1dc31906f6a3056">os_tick.h</a>
+</li>
+<li>OS_Tick_Enable()
+: <a class="el" href="group__CMSIS__RTOS__TickAPI.html#ga3e47971bf3a02599d9ecb32208adafec">os_tick.h</a>
+</li>
+<li>OS_Tick_GetClock()
+: <a class="el" href="group__CMSIS__RTOS__TickAPI.html#ga936217ea28236fb57648973e0d8f627a">os_tick.h</a>
+</li>
+<li>OS_Tick_GetCount()
+: <a class="el" href="group__CMSIS__RTOS__TickAPI.html#gaa64a145a554f1e5077848938d7f39c92">os_tick.h</a>
+</li>
+<li>OS_Tick_GetInterval()
+: <a class="el" href="group__CMSIS__RTOS__TickAPI.html#ga123151dc19d5a94a68f12cdbf61a9bb5">os_tick.h</a>
+</li>
+<li>OS_Tick_GetIRQn()
+: <a class="el" href="group__CMSIS__RTOS__TickAPI.html#gaa8b4eca23e3ffe2df403291958cdc905">os_tick.h</a>
+</li>
+<li>OS_Tick_GetOverflow()
+: <a class="el" href="group__CMSIS__RTOS__TickAPI.html#ga1f9a593126b7f0b66fc526c2cebd6192">os_tick.h</a>
+</li>
+<li>OS_Tick_Setup()
+: <a class="el" href="group__CMSIS__RTOS__TickAPI.html#ga5eeffb4d9dc6c6802fee8898096d9a59">os_tick.h</a>
+</li>
+<li>osDelay()
+: <a class="el" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">cmsis_os2.h</a>
+</li>
+<li>osDelayUntil()
+: <a class="el" href="group__CMSIS__RTOS__Wait.html#ga3c807924c2d6d43bc2ffb49da3f7f3a1">cmsis_os2.h</a>
+</li>
+<li>osEventFlagsClear()
+: <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga93bf258ca0007c6641fbe8e4f2b8a1e5">cmsis_os2.h</a>
+</li>
+<li>osEventFlagsDelete()
+: <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga7c4acf2fb0d506ec82905dee53fb5435">cmsis_os2.h</a>
+</li>
+<li>osEventFlagsGet()
+: <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga8bda3185f46bfd278cea8a6cf357677d">cmsis_os2.h</a>
+</li>
+<li>osEventFlagsGetName()
+: <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga59f4ddf0ee8c395b1672bb978d1cfc88">cmsis_os2.h</a>
+</li>
+<li>osEventFlagsNew()
+: <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">cmsis_os2.h</a>
+</li>
+<li>osEventFlagsSet()
+: <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga33b71d14cecf90b4e72639dd19f23a5e">cmsis_os2.h</a>
+</li>
+<li>osEventFlagsWait()
+: <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">cmsis_os2.h</a>
+</li>
+<li>osKernelGetInfo()
+: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga6f7764e7250c5c5364c00c45a5d1d199">cmsis_os2.h</a>
+</li>
+<li>osKernelGetState()
+: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga48b69b81012fce051f639be288b243ba">cmsis_os2.h</a>
+</li>
+<li>osKernelGetSysTimerCount()
+: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae0fcaff6cecfb4013bb556c87afcd7d2">cmsis_os2.h</a>
+</li>
+<li>osKernelGetSysTimerFreq()
+: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga4d69215a93220f72be3684cad582f16a">cmsis_os2.h</a>
+</li>
+<li>osKernelGetTickCount()
+: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga84bcdbf2fb76b10c8df4e439f0c7e11b">cmsis_os2.h</a>
+</li>
+<li>osKernelGetTickFreq()
+: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga7a8d7bd927eaaa58999f91d7d6310cee">cmsis_os2.h</a>
+</li>
+<li>osKernelInitialize()
+: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659">cmsis_os2.h</a>
+</li>
+<li>osKernelLock()
+: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga948609ee930d9b38336b9e1c2a4dfe12">cmsis_os2.h</a>
+</li>
+<li>osKernelRestoreLock()
+: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae7d0a71b9586cbbb49fcbdf6a04f0289">cmsis_os2.h</a>
+</li>
+<li>osKernelResume()
+: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga8c4b4d7ed34cab73c001665d9176aced">cmsis_os2.h</a>
+</li>
+<li>osKernelStart()
+: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221">cmsis_os2.h</a>
+</li>
+<li>osKernelSuspend()
+: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae26683e1606ec633354a2876c68f0c1f">cmsis_os2.h</a>
+</li>
+<li>osKernelUnlock()
+: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gaf401728b4657456198c33fe75f8d6720">cmsis_os2.h</a>
+</li>
+<li>osMemoryPoolAlloc()
+: <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga8ead54e99ccb8f112356c88f99d38fbe">cmsis_os2.h</a>
+</li>
+<li>osMemoryPoolDelete()
+: <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga8c39e7e5cd2b9eda907466808e59d62e">cmsis_os2.h</a>
+</li>
+<li>osMemoryPoolFree()
+: <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gabb4f4560daa6d1f8c8789082ee186d16">cmsis_os2.h</a>
+</li>
+<li>osMemoryPoolGetBlockSize()
+: <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gab2bf059b7fa7679c3cccdaeec60b6c0e">cmsis_os2.h</a>
+</li>
+<li>osMemoryPoolGetCapacity()
+: <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gad696e94bfbe28f0b6613f9303fdf6a37">cmsis_os2.h</a>
+</li>
+<li>osMemoryPoolGetCount()
+: <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga958a9449bff8c95ce213de98eef5739d">cmsis_os2.h</a>
+</li>
+<li>osMemoryPoolGetName()
+: <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gab414a1e138205a55820acfa277c8f386">cmsis_os2.h</a>
+</li>
+<li>osMemoryPoolGetSpace()
+: <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga0394cffa9479a7994e3b03c79c1cb909">cmsis_os2.h</a>
+</li>
+<li>osMemoryPoolNew()
+: <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">cmsis_os2.h</a>
+</li>
+<li>osMessageQueueDelete()
+: <a class="el" href="group__CMSIS__RTOS__Message.html#gaba987f665444e0d83fa6a3a68bc72abe">cmsis_os2.h</a>
+</li>
+<li>osMessageQueueGet()
+: <a class="el" href="group__CMSIS__RTOS__Message.html#gad90d4959466a7a65105061da8256ab9e">cmsis_os2.h</a>
+</li>
+<li>osMessageQueueGetCapacity()
+: <a class="el" href="group__CMSIS__RTOS__Message.html#gac24f87d4f395e9e9c900c320e45ade8a">cmsis_os2.h</a>
+</li>
+<li>osMessageQueueGetCount()
+: <a class="el" href="group__CMSIS__RTOS__Message.html#ga6a32ac394fcff568b251c160cc3014b2">cmsis_os2.h</a>
+</li>
+<li>osMessageQueueGetMsgSize()
+: <a class="el" href="group__CMSIS__RTOS__Message.html#ga96d3d84069b20359de48109e28a1a89e">cmsis_os2.h</a>
+</li>
+<li>osMessageQueueGetName()
+: <a class="el" href="group__CMSIS__RTOS__Message.html#gae7cf7bf2b97a5ae481fb60fcce99247a">cmsis_os2.h</a>
+</li>
+<li>osMessageQueueGetSpace()
+: <a class="el" href="group__CMSIS__RTOS__Message.html#gaddf0904427436dd3880d46263c2dc9fa">cmsis_os2.h</a>
+</li>
+<li>osMessageQueueNew()
+: <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">cmsis_os2.h</a>
+</li>
+<li>osMessageQueuePut()
+: <a class="el" href="group__CMSIS__RTOS__Message.html#gaa515fc8b956f721a8f72b2c505813bfc">cmsis_os2.h</a>
+</li>
+<li>osMessageQueueReset()
+: <a class="el" href="group__CMSIS__RTOS__Message.html#gac6dce7f9ad132d266292c2e979d861b4">cmsis_os2.h</a>
+</li>
+<li>osMutexAcquire()
+: <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gabc54686ea0fc281823b1763422d2a924">cmsis_os2.h</a>
+</li>
+<li>osMutexDelete()
+: <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gabee73ad227ba4587d3db12ef9bd582bc">cmsis_os2.h</a>
+</li>
+<li>osMutexGetName()
+: <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga00b5e58cd247a412d1afd18732d8b752">cmsis_os2.h</a>
+</li>
+<li>osMutexGetOwner()
+: <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga7f9a7666df0978738cd570cb700b83fb">cmsis_os2.h</a>
+</li>
+<li>osMutexNew()
+: <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8">cmsis_os2.h</a>
+</li>
+<li>osMutexRelease()
+: <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gaea629705703580ff58776bf73c8db915">cmsis_os2.h</a>
+</li>
+<li>osRtxErrorNotify()
+: <a class="el" href="group__rtx5__specific__functions.html#gaf1745a88f9cc60b609ab1c8076bd346d">rtx_os.h</a>
+</li>
+<li>osRtxIdleThread()
+: <a class="el" href="group__rtx5__specific__functions.html#ga074068b8efa7074cee68a71481d0b072">rtx_os.h</a>
+</li>
+<li>osSemaphoreAcquire()
+: <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7e94c8b242a0c81f2cc79ec22895c87b">cmsis_os2.h</a>
+</li>
+<li>osSemaphoreDelete()
+: <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga81258ce9c67fa89f07cc49d2e136cd88">cmsis_os2.h</a>
+</li>
+<li>osSemaphoreGetCount()
+: <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7559d4dff3cda9992fc5ab5de3e74c70">cmsis_os2.h</a>
+</li>
+<li>osSemaphoreGetName()
+: <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga9586952051f00285f1482dbe6695bbc4">cmsis_os2.h</a>
+</li>
+<li>osSemaphoreNew()
+: <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">cmsis_os2.h</a>
+</li>
+<li>osSemaphoreRelease()
+: <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga0abcee1b5449d7a6928fb9248c690bb6">cmsis_os2.h</a>
+</li>
+<li>osThreadDetach()
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaaad14cd9547341ea8109dc4e8540f1dc">cmsis_os2.h</a>
+</li>
+<li>osThreadEnumerate()
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga5606604d56e21ece1a654664be877439">cmsis_os2.h</a>
+</li>
+<li>osThreadExit()
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaddaa452dd7610e4096647a566d3556fc">cmsis_os2.h</a>
+</li>
+<li>osThreadFlagsClear()
+: <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga656abc1c862c5b9a2b13584c42cc0bfa">cmsis_os2.h</a>
+</li>
+<li>osThreadFlagsGet()
+: <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga85c8d2c89466e25abbcb545d9ddd71ba">cmsis_os2.h</a>
+</li>
+<li>osThreadFlagsSet()
+: <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga6f89ef9caded1d9963c7b12b0f6412c9">cmsis_os2.h</a>
+</li>
+<li>osThreadFlagsWait()
+: <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b">cmsis_os2.h</a>
+</li>
+<li>osThreadGetCount()
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga495b3f812224e7301f23a691793765db">cmsis_os2.h</a>
+</li>
+<li>osThreadGetId()
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">cmsis_os2.h</a>
+</li>
+<li>osThreadGetName()
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gac3230f3a55a297514b013ebf38f27e0a">cmsis_os2.h</a>
+</li>
+<li>osThreadGetPriority()
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga0aeaf349604f456e68e78f9d3b42e44b">cmsis_os2.h</a>
+</li>
+<li>osThreadGetStackSize()
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gab9f8bd715d671c6ee27644867bc1bf65">cmsis_os2.h</a>
+</li>
+<li>osThreadGetStackSpace()
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga9c83bd5dd8de329701775d6ef7012720">cmsis_os2.h</a>
+</li>
+<li>osThreadGetState()
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gacc0a98b42f0a5928e12dc91dc76866b9">cmsis_os2.h</a>
+</li>
+<li>osThreadJoin()
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga3fca90fb0679afeb968aa8c3d5874487">cmsis_os2.h</a>
+</li>
+<li>osThreadNew()
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">cmsis_os2.h</a>
+</li>
+<li>osThreadResume()
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga3dbad90eff394b02de76a452c84c5d80">cmsis_os2.h</a>
+</li>
+<li>osThreadSetPriority()
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga861a420fb2d643115b06622903fb3bfb">cmsis_os2.h</a>
+</li>
+<li>osThreadSuspend()
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa9de419d0152bf77e9bbcd1f369fb990">cmsis_os2.h</a>
+</li>
+<li>osThreadTerminate()
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga2f8ba6dba6e9c065a6e236ffd410d74a">cmsis_os2.h</a>
+</li>
+<li>osThreadYield()
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad01c7ec26535b1de6b018bb9466720e2">cmsis_os2.h</a>
+</li>
+<li>osTimerDelete()
+: <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad0001dd74721ab461789324806db2453">cmsis_os2.h</a>
+</li>
+<li>osTimerGetName()
+: <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#ga4f82a98eee4d9ea79507e44340d3d319">cmsis_os2.h</a>
+</li>
+<li>osTimerIsRunning()
+: <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#ga69d3589f54194022c30dd01e45ec6741">cmsis_os2.h</a>
+</li>
+<li>osTimerNew()
+: <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">cmsis_os2.h</a>
+</li>
+<li>osTimerStart()
+: <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d">cmsis_os2.h</a>
+</li>
+<li>osTimerStop()
+: <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gabd7a89356da7717293eb0bc5d87b8ac9">cmsis_os2.h</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/globals_func_p.html b/docs/RTOS2/html/globals_func_p.html
new file mode 100644
index 0000000..75430dd
--- /dev/null
+++ b/docs/RTOS2/html/globals_func_p.html
@@ -0,0 +1,150 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Globals</title>
+<title>CMSIS-RTOS2: Globals</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Macros</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_func.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_func_o.html#index_o"><span>o</span></a></li>
+ <li class="current"><a href="globals_func_p.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_func_s.html#index_s"><span>s</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('globals_func_p.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
+<li>PendSV_Handler()
+: <a class="el" href="rtx__os_8h.html#a6303e1f258cbdc1f970ce579cc015623">rtx_os.h</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/globals_func_s.html b/docs/RTOS2/html/globals_func_s.html
new file mode 100644
index 0000000..8bc8268
--- /dev/null
+++ b/docs/RTOS2/html/globals_func_s.html
@@ -0,0 +1,153 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Globals</title>
+<title>CMSIS-RTOS2: Globals</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Macros</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_func.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_func_o.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_func_p.html#index_p"><span>p</span></a></li>
+ <li class="current"><a href="globals_func_s.html#index_s"><span>s</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('globals_func_s.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
+<li>SVC_Handler()
+: <a class="el" href="rtx__os_8h.html#a3e5ddb3df0d62f2dc357e64a3f04a6ce">rtx_os.h</a>
+</li>
+<li>SysTick_Handler()
+: <a class="el" href="rtx__os_8h.html#ab5e09814056d617c521549e542639b7e">rtx_os.h</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/globals_i.html b/docs/RTOS2/html/globals_i.html
new file mode 100644
index 0000000..d7eddf4
--- /dev/null
+++ b/docs/RTOS2/html/globals_i.html
@@ -0,0 +1,156 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Globals</title>
+<title>CMSIS-RTOS2: Globals</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Macros</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals.html#index__"><span>_</span></a></li>
+ <li><a href="globals_e.html#index_e"><span>e</span></a></li>
+ <li class="current"><a href="globals_i.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_o.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_p.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_s.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_t.html#index_t"><span>t</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('globals_i.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
+
+<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
+<li>IRQHANDLER_T
+: <a class="el" href="os__tick_8h.html#aed032df21f11e8715f5c4deeeb56cc36">os_tick.h</a>
+</li>
+<li>IRQHandler_t
+: <a class="el" href="os__tick_8h.html#afbfa2180a9b6208f34891d539e9e2d52">os_tick.h</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/globals_o.html b/docs/RTOS2/html/globals_o.html
new file mode 100644
index 0000000..0427010
--- /dev/null
+++ b/docs/RTOS2/html/globals_o.html
@@ -0,0 +1,1002 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Globals</title>
+<title>CMSIS-RTOS2: Globals</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Macros</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals.html#index__"><span>_</span></a></li>
+ <li><a href="globals_e.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_i.html#index_i"><span>i</span></a></li>
+ <li class="current"><a href="globals_o.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_p.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_s.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_t.html#index_t"><span>t</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('globals_o.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
+
+<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
+<li>OS_Tick_AcknowledgeIRQ()
+: <a class="el" href="group__CMSIS__RTOS__TickAPI.html#ga57065ec4b281504ad4de13a419870b4f">os_tick.h</a>
+</li>
+<li>OS_Tick_Disable()
+: <a class="el" href="group__CMSIS__RTOS__TickAPI.html#ga5e325c304fef5003b1dc31906f6a3056">os_tick.h</a>
+</li>
+<li>OS_Tick_Enable()
+: <a class="el" href="group__CMSIS__RTOS__TickAPI.html#ga3e47971bf3a02599d9ecb32208adafec">os_tick.h</a>
+</li>
+<li>OS_Tick_GetClock()
+: <a class="el" href="group__CMSIS__RTOS__TickAPI.html#ga936217ea28236fb57648973e0d8f627a">os_tick.h</a>
+</li>
+<li>OS_Tick_GetCount()
+: <a class="el" href="group__CMSIS__RTOS__TickAPI.html#gaa64a145a554f1e5077848938d7f39c92">os_tick.h</a>
+</li>
+<li>OS_Tick_GetInterval()
+: <a class="el" href="group__CMSIS__RTOS__TickAPI.html#ga123151dc19d5a94a68f12cdbf61a9bb5">os_tick.h</a>
+</li>
+<li>OS_Tick_GetIRQn()
+: <a class="el" href="group__CMSIS__RTOS__TickAPI.html#gaa8b4eca23e3ffe2df403291958cdc905">os_tick.h</a>
+</li>
+<li>OS_Tick_GetOverflow()
+: <a class="el" href="group__CMSIS__RTOS__TickAPI.html#ga1f9a593126b7f0b66fc526c2cebd6192">os_tick.h</a>
+</li>
+<li>OS_Tick_Setup()
+: <a class="el" href="group__CMSIS__RTOS__TickAPI.html#ga5eeffb4d9dc6c6802fee8898096d9a59">os_tick.h</a>
+</li>
+<li>osDelay()
+: <a class="el" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">cmsis_os2.h</a>
+</li>
+<li>osDelayUntil()
+: <a class="el" href="group__CMSIS__RTOS__Wait.html#ga3c807924c2d6d43bc2ffb49da3f7f3a1">cmsis_os2.h</a>
+</li>
+<li>osError
+: <a class="el" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813eabb7b2d2c4efa66df42f1c10635467b09">cmsis_os2.h</a>
+</li>
+<li>osErrorISR
+: <a class="el" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea21635bdc492d3094fe83027fa4a30e2f">cmsis_os2.h</a>
+</li>
+<li>osErrorNoMemory
+: <a class="el" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813eaf1fac0240218e51eb30a13da2f8aae81">cmsis_os2.h</a>
+</li>
+<li>osErrorParameter
+: <a class="el" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813eac24adca6a5d072c9f01c32178ba0d109">cmsis_os2.h</a>
+</li>
+<li>osErrorResource
+: <a class="el" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea8fc5801e8b0482bdf22ad63a77f0155d">cmsis_os2.h</a>
+</li>
+<li>osErrorTimeout
+: <a class="el" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea913eb5df15ad85f8557eb3a456b56879">cmsis_os2.h</a>
+</li>
+<li>osEventFlagsClear()
+: <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga93bf258ca0007c6641fbe8e4f2b8a1e5">cmsis_os2.h</a>
+</li>
+<li>osEventFlagsDelete()
+: <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga7c4acf2fb0d506ec82905dee53fb5435">cmsis_os2.h</a>
+</li>
+<li>osEventFlagsGet()
+: <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga8bda3185f46bfd278cea8a6cf357677d">cmsis_os2.h</a>
+</li>
+<li>osEventFlagsGetName()
+: <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga59f4ddf0ee8c395b1672bb978d1cfc88">cmsis_os2.h</a>
+</li>
+<li>osEventFlagsId_t
+: <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">cmsis_os2.h</a>
+</li>
+<li>osEventFlagsNew()
+: <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">cmsis_os2.h</a>
+</li>
+<li>osEventFlagsSet()
+: <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga33b71d14cecf90b4e72639dd19f23a5e">cmsis_os2.h</a>
+</li>
+<li>osEventFlagsWait()
+: <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">cmsis_os2.h</a>
+</li>
+<li>osFlagsError
+: <a class="el" href="cmsis__os2_8h.html#a01c1359c3a5640bff6e08f09bf94ce3a">cmsis_os2.h</a>
+</li>
+<li>osFlagsErrorISR
+: <a class="el" href="group__flags__error__codes.html#gaea3abd186643f539877e894b62b63448">cmsis_os2.h</a>
+</li>
+<li>osFlagsErrorParameter
+: <a class="el" href="group__flags__error__codes.html#gaa8a95ef938f8f5a9fcb815ec53184f77">cmsis_os2.h</a>
+</li>
+<li>osFlagsErrorResource
+: <a class="el" href="group__flags__error__codes.html#ga4db38b50da1889bcaaa7f747e844f904">cmsis_os2.h</a>
+</li>
+<li>osFlagsErrorTimeout
+: <a class="el" href="group__flags__error__codes.html#ga2e951c3f1c3b7bff4eca3d7836cd19ca">cmsis_os2.h</a>
+</li>
+<li>osFlagsErrorUnknown
+: <a class="el" href="group__flags__error__codes.html#ga3b1d9fbb83d64eedb62f831c9be647c3">cmsis_os2.h</a>
+</li>
+<li>osFlagsNoClear
+: <a class="el" href="group__CMSIS__RTOS__Definitions.html#gaade844a42237d8c37569d4d9b16b9f1c">cmsis_os2.h</a>
+</li>
+<li>osFlagsWaitAll
+: <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga8b6f562736fbfb5428940e0c017dec24">cmsis_os2.h</a>
+</li>
+<li>osFlagsWaitAny
+: <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga18e63587b8450d5b8798b6f6ec04e012">cmsis_os2.h</a>
+</li>
+<li>osKernelError
+: <a class="el" href="cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a0545c92c18ce8e6b24e82a0d694a0b4a">cmsis_os2.h</a>
+</li>
+<li>osKernelGetInfo()
+: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga6f7764e7250c5c5364c00c45a5d1d199">cmsis_os2.h</a>
+</li>
+<li>osKernelGetState()
+: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga48b69b81012fce051f639be288b243ba">cmsis_os2.h</a>
+</li>
+<li>osKernelGetSysTimerCount()
+: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae0fcaff6cecfb4013bb556c87afcd7d2">cmsis_os2.h</a>
+</li>
+<li>osKernelGetSysTimerFreq()
+: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga4d69215a93220f72be3684cad582f16a">cmsis_os2.h</a>
+</li>
+<li>osKernelGetTickCount()
+: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga84bcdbf2fb76b10c8df4e439f0c7e11b">cmsis_os2.h</a>
+</li>
+<li>osKernelGetTickFreq()
+: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga7a8d7bd927eaaa58999f91d7d6310cee">cmsis_os2.h</a>
+</li>
+<li>osKernelInactive
+: <a class="el" href="cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a2ad3e5912db47b497529d036c89e7995">cmsis_os2.h</a>
+</li>
+<li>osKernelInitialize()
+: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659">cmsis_os2.h</a>
+</li>
+<li>osKernelLock()
+: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga948609ee930d9b38336b9e1c2a4dfe12">cmsis_os2.h</a>
+</li>
+<li>osKernelLocked
+: <a class="el" href="cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a2fe382ad5ebab2257b35740414b28b01">cmsis_os2.h</a>
+</li>
+<li>osKernelReady
+: <a class="el" href="cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a0596c6e14113447604753656417c9a24">cmsis_os2.h</a>
+</li>
+<li>osKernelReserved
+: <a class="el" href="cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4ab0a47576defa29396a649d9173d4bc4b">cmsis_os2.h</a>
+</li>
+<li>osKernelRestoreLock()
+: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae7d0a71b9586cbbb49fcbdf6a04f0289">cmsis_os2.h</a>
+</li>
+<li>osKernelResume()
+: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga8c4b4d7ed34cab73c001665d9176aced">cmsis_os2.h</a>
+</li>
+<li>osKernelRunning
+: <a class="el" href="cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a8e0b699fbe1c8bb66fefadd5911cb6ce">cmsis_os2.h</a>
+</li>
+<li>osKernelStart()
+: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221">cmsis_os2.h</a>
+</li>
+<li>osKernelState_t
+: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga08326469274b668140ca934b168a5ad4">cmsis_os2.h</a>
+</li>
+<li>osKernelSuspend()
+: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae26683e1606ec633354a2876c68f0c1f">cmsis_os2.h</a>
+</li>
+<li>osKernelSuspended
+: <a class="el" href="cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4ad364464ad84d63b1413a9ac8a962390c">cmsis_os2.h</a>
+</li>
+<li>osKernelUnlock()
+: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gaf401728b4657456198c33fe75f8d6720">cmsis_os2.h</a>
+</li>
+<li>osMemoryPoolAlloc()
+: <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga8ead54e99ccb8f112356c88f99d38fbe">cmsis_os2.h</a>
+</li>
+<li>osMemoryPoolDelete()
+: <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga8c39e7e5cd2b9eda907466808e59d62e">cmsis_os2.h</a>
+</li>
+<li>osMemoryPoolFree()
+: <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gabb4f4560daa6d1f8c8789082ee186d16">cmsis_os2.h</a>
+</li>
+<li>osMemoryPoolGetBlockSize()
+: <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gab2bf059b7fa7679c3cccdaeec60b6c0e">cmsis_os2.h</a>
+</li>
+<li>osMemoryPoolGetCapacity()
+: <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gad696e94bfbe28f0b6613f9303fdf6a37">cmsis_os2.h</a>
+</li>
+<li>osMemoryPoolGetCount()
+: <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga958a9449bff8c95ce213de98eef5739d">cmsis_os2.h</a>
+</li>
+<li>osMemoryPoolGetName()
+: <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gab414a1e138205a55820acfa277c8f386">cmsis_os2.h</a>
+</li>
+<li>osMemoryPoolGetSpace()
+: <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga0394cffa9479a7994e3b03c79c1cb909">cmsis_os2.h</a>
+</li>
+<li>osMemoryPoolId_t
+: <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">cmsis_os2.h</a>
+</li>
+<li>osMemoryPoolNew()
+: <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">cmsis_os2.h</a>
+</li>
+<li>osMessageQueueDelete()
+: <a class="el" href="group__CMSIS__RTOS__Message.html#gaba987f665444e0d83fa6a3a68bc72abe">cmsis_os2.h</a>
+</li>
+<li>osMessageQueueGet()
+: <a class="el" href="group__CMSIS__RTOS__Message.html#gad90d4959466a7a65105061da8256ab9e">cmsis_os2.h</a>
+</li>
+<li>osMessageQueueGetCapacity()
+: <a class="el" href="group__CMSIS__RTOS__Message.html#gac24f87d4f395e9e9c900c320e45ade8a">cmsis_os2.h</a>
+</li>
+<li>osMessageQueueGetCount()
+: <a class="el" href="group__CMSIS__RTOS__Message.html#ga6a32ac394fcff568b251c160cc3014b2">cmsis_os2.h</a>
+</li>
+<li>osMessageQueueGetMsgSize()
+: <a class="el" href="group__CMSIS__RTOS__Message.html#ga96d3d84069b20359de48109e28a1a89e">cmsis_os2.h</a>
+</li>
+<li>osMessageQueueGetName()
+: <a class="el" href="group__CMSIS__RTOS__Message.html#gae7cf7bf2b97a5ae481fb60fcce99247a">cmsis_os2.h</a>
+</li>
+<li>osMessageQueueGetSpace()
+: <a class="el" href="group__CMSIS__RTOS__Message.html#gaddf0904427436dd3880d46263c2dc9fa">cmsis_os2.h</a>
+</li>
+<li>osMessageQueueId_t
+: <a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">cmsis_os2.h</a>
+</li>
+<li>osMessageQueueNew()
+: <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">cmsis_os2.h</a>
+</li>
+<li>osMessageQueuePut()
+: <a class="el" href="group__CMSIS__RTOS__Message.html#gaa515fc8b956f721a8f72b2c505813bfc">cmsis_os2.h</a>
+</li>
+<li>osMessageQueueReset()
+: <a class="el" href="group__CMSIS__RTOS__Message.html#gac6dce7f9ad132d266292c2e979d861b4">cmsis_os2.h</a>
+</li>
+<li>osMutexAcquire()
+: <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gabc54686ea0fc281823b1763422d2a924">cmsis_os2.h</a>
+</li>
+<li>osMutexDelete()
+: <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gabee73ad227ba4587d3db12ef9bd582bc">cmsis_os2.h</a>
+</li>
+<li>osMutexGetName()
+: <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga00b5e58cd247a412d1afd18732d8b752">cmsis_os2.h</a>
+</li>
+<li>osMutexGetOwner()
+: <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga7f9a7666df0978738cd570cb700b83fb">cmsis_os2.h</a>
+</li>
+<li>osMutexId_t
+: <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">cmsis_os2.h</a>
+</li>
+<li>osMutexNew()
+: <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8">cmsis_os2.h</a>
+</li>
+<li>osMutexPrioInherit
+: <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga40fba270cb31a977b3bd551d41eb9599">cmsis_os2.h</a>
+</li>
+<li>osMutexRecursive
+: <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga65c2482cc64a35d03871f3180f305926">cmsis_os2.h</a>
+</li>
+<li>osMutexRelease()
+: <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gaea629705703580ff58776bf73c8db915">cmsis_os2.h</a>
+</li>
+<li>osMutexRobust
+: <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gaf0e1dee376798b4d516d164981526780">cmsis_os2.h</a>
+</li>
+<li>osOK
+: <a class="el" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f">cmsis_os2.h</a>
+</li>
+<li>osPriority_t
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ec">cmsis_os2.h</a>
+</li>
+<li>osPriorityAboveNormal
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca17b36cd9cd38652c2bc6d4803990674b">cmsis_os2.h</a>
+</li>
+<li>osPriorityAboveNormal1
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecabfeafc713edfc7b9130aa5c762d68998">cmsis_os2.h</a>
+</li>
+<li>osPriorityAboveNormal2
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca901acf86070e06f5990b611734ee2562">cmsis_os2.h</a>
+</li>
+<li>osPriorityAboveNormal3
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecad566b876b64e6efdc3eba0fc04e54013">cmsis_os2.h</a>
+</li>
+<li>osPriorityAboveNormal4
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca6ccac37d7dae4586a2031966d36a63ec">cmsis_os2.h</a>
+</li>
+<li>osPriorityAboveNormal5
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecae36e8b38ee046a3104bcccabb10cf78c">cmsis_os2.h</a>
+</li>
+<li>osPriorityAboveNormal6
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca61e6ce27e1e0f34f2540b413b8a8b207">cmsis_os2.h</a>
+</li>
+<li>osPriorityAboveNormal7
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecadbbb0fed3ada6b9b50d4a628abc2a67d">cmsis_os2.h</a>
+</li>
+<li>osPriorityBelowNormal
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca193b650117c209b4a203954542bcc3e6">cmsis_os2.h</a>
+</li>
+<li>osPriorityBelowNormal1
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca9138da7187690b15f52d8e5729c18da5">cmsis_os2.h</a>
+</li>
+<li>osPriorityBelowNormal2
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca4f081d6735bf2f513338b07eddf13ae3">cmsis_os2.h</a>
+</li>
+<li>osPriorityBelowNormal3
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca19c013690d0d6bf3ac90707942be3fdf">cmsis_os2.h</a>
+</li>
+<li>osPriorityBelowNormal4
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca36931ad6cee5e4700e2c8622bdd2cd24">cmsis_os2.h</a>
+</li>
+<li>osPriorityBelowNormal5
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca0bcd9ad1e7a02e3bf03be7dcc8ece38e">cmsis_os2.h</a>
+</li>
+<li>osPriorityBelowNormal6
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecabd3cc7df5b92b752ddf1e7843a786c05">cmsis_os2.h</a>
+</li>
+<li>osPriorityBelowNormal7
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecab18e3bda7b5e418e309a62d6267ea14b">cmsis_os2.h</a>
+</li>
+<li>osPriorityError
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecae35f5e2f9c64ad346822521b643bdea4">cmsis_os2.h</a>
+</li>
+<li>osPriorityHigh
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca914433934143a9ba767e59577c56e6c2">cmsis_os2.h</a>
+</li>
+<li>osPriorityHigh1
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca17b7a7e6febf12444a84e90edfce36cb">cmsis_os2.h</a>
+</li>
+<li>osPriorityHigh2
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca40a120cf8bbc42e575455c027f3d9b03">cmsis_os2.h</a>
+</li>
+<li>osPriorityHigh3
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca0b15518b0b5321a29efa0b42b2f8c759">cmsis_os2.h</a>
+</li>
+<li>osPriorityHigh4
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecafe5a4f393fab04551ac7d93e80cdf0fb">cmsis_os2.h</a>
+</li>
+<li>osPriorityHigh5
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca5960841bfbdd959b163429e8502ea4e9">cmsis_os2.h</a>
+</li>
+<li>osPriorityHigh6
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca5714dda6effc1a3f8ec155d97e3e69bc">cmsis_os2.h</a>
+</li>
+<li>osPriorityHigh7
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca63ad0cc52a701ef3d9df52b59b995652">cmsis_os2.h</a>
+</li>
+<li>osPriorityIdle
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad4e3e0971b41f2d17584a8c6837342ecacd5864eac01a6916a7c866bb51a6aac1">cmsis_os2.h</a>
+</li>
+<li>osPriorityISR
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad4e3e0971b41f2d17584a8c6837342eca4b4fa46c3ebaf4259662a0a0a3173b7f">cmsis_os2.h</a>
+</li>
+<li>osPriorityLow
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca61cb822239ac8f66dfbdc7291598a3d4">cmsis_os2.h</a>
+</li>
+<li>osPriorityLow1
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecaba2b6919f0b630c8c1b2c940e3bfadbe">cmsis_os2.h</a>
+</li>
+<li>osPriorityLow2
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca78ad5d00aa07a2b4bf30a639544f5507">cmsis_os2.h</a>
+</li>
+<li>osPriorityLow3
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca28ccb07942c16f5f5efefb6cf68a7f50">cmsis_os2.h</a>
+</li>
+<li>osPriorityLow4
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca5a4a4f26d5b220a968e221e854f69a81">cmsis_os2.h</a>
+</li>
+<li>osPriorityLow5
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecad69b8c14809bc5bdce4887f5a57d9353">cmsis_os2.h</a>
+</li>
+<li>osPriorityLow6
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecac0f188468664d06d4cd9e6e1ed351393">cmsis_os2.h</a>
+</li>
+<li>osPriorityLow7
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca5b151ebba7fdeb1baaa9b7b420890b7a">cmsis_os2.h</a>
+</li>
+<li>osPriorityNone
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca6c437c7185161a3bd1e7e4669dfa17a3">cmsis_os2.h</a>
+</li>
+<li>osPriorityNormal
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca45a2895ad30c79fb97de18cac7cc19f1">cmsis_os2.h</a>
+</li>
+<li>osPriorityNormal1
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca3e70c19e03d5a54e66bd071f0776782c">cmsis_os2.h</a>
+</li>
+<li>osPriorityNormal2
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca19e96f2b025b6462a43b1965043c8205">cmsis_os2.h</a>
+</li>
+<li>osPriorityNormal3
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca402bd7ab26fb57c8cee8cf94168f4c91">cmsis_os2.h</a>
+</li>
+<li>osPriorityNormal4
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca93ef07d3a107aeee6508bfd29ba3485d">cmsis_os2.h</a>
+</li>
+<li>osPriorityNormal5
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca68f3f6fdaa639de300277802aa13a0ab">cmsis_os2.h</a>
+</li>
+<li>osPriorityNormal6
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca8221eb0d059726a6309f1f2d0cdb6204">cmsis_os2.h</a>
+</li>
+<li>osPriorityNormal7
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca049abd04f8951415407ec9d92bd9b80b">cmsis_os2.h</a>
+</li>
+<li>osPriorityRealtime
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca1485dec3702434a1ec3cb74c7a17a4af">cmsis_os2.h</a>
+</li>
+<li>osPriorityRealtime1
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecaf685a06b30f0635476e21347a986305b">cmsis_os2.h</a>
+</li>
+<li>osPriorityRealtime2
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecab832bd9de84e5eec2ecad69d085dadff">cmsis_os2.h</a>
+</li>
+<li>osPriorityRealtime3
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca3f2261e5e733e92844ae8c630f2f9eaa">cmsis_os2.h</a>
+</li>
+<li>osPriorityRealtime4
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecaf614e3dc966d559cd9d9d2a0f78ebe70">cmsis_os2.h</a>
+</li>
+<li>osPriorityRealtime5
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecaff84f31ceff203c711fb9476443507df">cmsis_os2.h</a>
+</li>
+<li>osPriorityRealtime6
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca80ae9d0dd256312c0c8f44af48316194">cmsis_os2.h</a>
+</li>
+<li>osPriorityRealtime7
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecaa76da6825c4bd31c4958200bc289103b">cmsis_os2.h</a>
+</li>
+<li>osPriorityReserved
+: <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecac86c171f8d466cced0cb1b03bb03343b">cmsis_os2.h</a>
+</li>
+<li>osRtxConfig
+: <a class="el" href="rtx__os_8h.html#a489fda965fa634809f401ae6458a6f45">rtx_os.h</a>
+</li>
+<li>osRtxConfigPrivilegedMode
+: <a class="el" href="rtx__os_8h.html#a0eb4da5bed45820d732e23483b870152">rtx_os.h</a>
+</li>
+<li>osRtxConfigStackCheck
+: <a class="el" href="rtx__os_8h.html#a77f3e906438a6693524cdc257cb0bf23">rtx_os.h</a>
+</li>
+<li>osRtxConfigStackWatermark
+: <a class="el" href="rtx__os_8h.html#a62205cc79ec5d95b45f5ebfdf126438c">rtx_os.h</a>
+</li>
+<li>osRtxErrorClibMutex
+: <a class="el" href="group__rtx5__specific__defines.html#gac749c24b9cf6c49b392b015ed0517cfc">rtx_os.h</a>
+</li>
+<li>osRtxErrorClibSpace
+: <a class="el" href="group__rtx5__specific__defines.html#ga14a24724f6e87744ba84674ef76e4256">rtx_os.h</a>
+</li>
+<li>osRtxErrorInvalidControlBlock
+: <a class="el" href="rtx__evr_8h.html#a56335b5b0a3f932e06aa764d185b6a60">rtx_evr.h</a>
+</li>
+<li>osRtxErrorInvalidDataMemory
+: <a class="el" href="rtx__evr_8h.html#a037115a16032074ae1a82d64c160338b">rtx_evr.h</a>
+</li>
+<li>osRtxErrorInvalidPriority
+: <a class="el" href="rtx__evr_8h.html#a45219e125941ecbe7eca030fd2f40d7a">rtx_evr.h</a>
+</li>
+<li>osRtxErrorInvalidThreadStack
+: <a class="el" href="rtx__evr_8h.html#a5cabacbb758a1bc5012cae2292771726">rtx_evr.h</a>
+</li>
+<li>osRtxErrorISRQueueOverflow
+: <a class="el" href="group__rtx5__specific__defines.html#ga7377235f9fa3cedee06f682cd93f3e88">rtx_os.h</a>
+</li>
+<li>osRtxErrorKernelNotReady
+: <a class="el" href="rtx__evr_8h.html#a168269d3a1264ac7a7427f8642e358a4">rtx_evr.h</a>
+</li>
+<li>osRtxErrorKernelNotRunning
+: <a class="el" href="rtx__evr_8h.html#a8a916c6a8ad67a38c29ca2e2141d1540">rtx_evr.h</a>
+</li>
+<li>osRtxErrorMutexLockLimit
+: <a class="el" href="rtx__evr_8h.html#a949198d164108954151e89607a1504a7">rtx_evr.h</a>
+</li>
+<li>osRtxErrorMutexNotLocked
+: <a class="el" href="rtx__evr_8h.html#a4fc98ec7f644bc7156af58431043171a">rtx_evr.h</a>
+</li>
+<li>osRtxErrorMutexNotOwned
+: <a class="el" href="rtx__evr_8h.html#a2abf2bd19d5d80399c129e7b79e19e9a">rtx_evr.h</a>
+</li>
+<li>osRtxErrorNotify()
+: <a class="el" href="group__rtx5__specific__functions.html#gaf1745a88f9cc60b609ab1c8076bd346d">rtx_os.h</a>
+</li>
+<li>osRtxErrorSemaphoreCountLimit
+: <a class="el" href="rtx__evr_8h.html#a4266d3dd5e7bbd2693dd53d00d80bc4c">rtx_evr.h</a>
+</li>
+<li>osRtxErrorStackUnderflow
+: <a class="el" href="group__rtx5__specific__defines.html#ga42206aa2524b8fab613d26bea0f73c44">rtx_os.h</a>
+</li>
+<li>osRtxErrorThreadNotJoinable
+: <a class="el" href="rtx__evr_8h.html#a1955ed26bf52d4fd07a73961ee6a1478">rtx_evr.h</a>
+</li>
+<li>osRtxErrorTimerQueueOverflow
+: <a class="el" href="group__rtx5__specific__defines.html#gaad420018f26e751ec55d3922a283beb0">rtx_os.h</a>
+</li>
+<li>osRtxErrorTZ_AllocContext_S
+: <a class="el" href="rtx__evr_8h.html#a787925e3c31997d22bb7ea985b69c3db">rtx_evr.h</a>
+</li>
+<li>osRtxErrorTZ_FreeContext_S
+: <a class="el" href="rtx__evr_8h.html#a8b1b28f13acfecfec665a3759ce69991">rtx_evr.h</a>
+</li>
+<li>osRtxErrorTZ_InitContext_S
+: <a class="el" href="rtx__evr_8h.html#a33f2affc96c91cf39a3986e4bd119c5c">rtx_evr.h</a>
+</li>
+<li>osRtxErrorTZ_LoadContext_S
+: <a class="el" href="rtx__evr_8h.html#a3e9b3fdece321c3766bc6bc1a35e9cf6">rtx_evr.h</a>
+</li>
+<li>osRtxErrorTZ_SaveContext_S
+: <a class="el" href="rtx__evr_8h.html#ad600f514856926fc313a5f7dc0c3d422">rtx_evr.h</a>
+</li>
+<li>osRtxEventFlagsCbSize
+: <a class="el" href="group__rtx5__specific__defines.html#ga68100c8c44931f03547973294c433075">rtx_os.h</a>
+</li>
+<li>osRtxEventFlagsLimit
+: <a class="el" href="rtx__os_8h.html#a271653c08ecb64dbb2d0ce8a51ddb4c2">rtx_os.h</a>
+</li>
+<li>osRtxEventFlagsMemUsage
+: <a class="el" href="rtx__os_8h.html#a0c81327f94697890809ce4a594bb9d5c">rtx_os.h</a>
+</li>
+<li>osRtxFlagSystemMemory
+: <a class="el" href="rtx__os_8h.html#ade9b85b84a6199a1cc3653058def19f3">rtx_os.h</a>
+</li>
+<li>osRtxFlagSystemObject
+: <a class="el" href="rtx__os_8h.html#a797c4d97bb5e216e6901c1e30e96cb34">rtx_os.h</a>
+</li>
+<li>osRtxIdEventFlags
+: <a class="el" href="rtx__os_8h.html#aa9b41f7b0dc38018a7db915df5e716cc">rtx_os.h</a>
+</li>
+<li>osRtxIdInvalid
+: <a class="el" href="rtx__os_8h.html#ad78a646169b7b4bfa2a278d08fe21fa5">rtx_os.h</a>
+</li>
+<li>osRtxIdleThread()
+: <a class="el" href="group__rtx5__specific__functions.html#ga074068b8efa7074cee68a71481d0b072">rtx_os.h</a>
+</li>
+<li>osRtxIdMemoryPool
+: <a class="el" href="rtx__os_8h.html#a3cddbd1d03aedae758445d17db319fec">rtx_os.h</a>
+</li>
+<li>osRtxIdMessage
+: <a class="el" href="rtx__os_8h.html#a84bb69c0a0d02b2adc4d499803ccb063">rtx_os.h</a>
+</li>
+<li>osRtxIdMessageQueue
+: <a class="el" href="rtx__os_8h.html#a260226a1f72b4a333f01573430b60b17">rtx_os.h</a>
+</li>
+<li>osRtxIdMutex
+: <a class="el" href="rtx__os_8h.html#a086574b10e90122f5228decea0a5d3dc">rtx_os.h</a>
+</li>
+<li>osRtxIdSemaphore
+: <a class="el" href="rtx__os_8h.html#a4778b8ce61af3d942501bb4ff28c18f1">rtx_os.h</a>
+</li>
+<li>osRtxIdThread
+: <a class="el" href="rtx__os_8h.html#ad6f0f1f1b4e1b8c2615429d6a24ca8f5">rtx_os.h</a>
+</li>
+<li>osRtxIdTimer
+: <a class="el" href="rtx__os_8h.html#a5e8dd6b61e9b09d20aeea8434861950e">rtx_os.h</a>
+</li>
+<li>osRtxInfo
+: <a class="el" href="rtx__os_8h.html#ad2270125c4e4991c3231d752b6ee5f3f">rtx_os.h</a>
+</li>
+<li>osRtxKernelId
+: <a class="el" href="rtx__os_8h.html#a47e0637d30eed2357b238cbb19dbb058">rtx_os.h</a>
+</li>
+<li>osRtxKernelInactive
+: <a class="el" href="rtx__os_8h.html#a7543c3b497052bdbfbfbc3debc5f0a6e">rtx_os.h</a>
+</li>
+<li>osRtxKernelLocked
+: <a class="el" href="rtx__os_8h.html#a9c20a179e70e74fa9fe9f9ba275cc73b">rtx_os.h</a>
+</li>
+<li>osRtxKernelReady
+: <a class="el" href="rtx__os_8h.html#ab793b30296108737eb356871d266e2a2">rtx_os.h</a>
+</li>
+<li>osRtxKernelRunning
+: <a class="el" href="rtx__os_8h.html#a337ee876c540b4f4e9d680497eed9fdc">rtx_os.h</a>
+</li>
+<li>osRtxKernelSuspended
+: <a class="el" href="rtx__os_8h.html#a751dd07663970abe0305de11d52812a7">rtx_os.h</a>
+</li>
+<li>osRtxMemoryPoolCbSize
+: <a class="el" href="group__rtx5__specific__defines.html#gab8e49e9e1eea5a015f2a3114cabceb48">rtx_os.h</a>
+</li>
+<li>osRtxMemoryPoolMemSize
+: <a class="el" href="group__rtx5__specific__defines.html#gac6bea3541b458bbc79eafce42a2d87a2">rtx_os.h</a>
+</li>
+<li>osRtxMemoryPoolMemUsage
+: <a class="el" href="rtx__os_8h.html#ae5dea30a13d7a2316699a7f201504bc7">rtx_os.h</a>
+</li>
+<li>osRtxMessageQueueCbSize
+: <a class="el" href="group__rtx5__specific__defines.html#gaa8d067c476faa6bfc8e5e21f3b3c844e">rtx_os.h</a>
+</li>
+<li>osRtxMessageQueueMemSize
+: <a class="el" href="group__rtx5__specific__defines.html#ga47eb1e21f1bf9a42281c6c89c7473e99">rtx_os.h</a>
+</li>
+<li>osRtxMessageQueueMemUsage
+: <a class="el" href="rtx__os_8h.html#af3da38b316a84990128e8d9f34e3e6d3">rtx_os.h</a>
+</li>
+<li>osRtxMutexCbSize
+: <a class="el" href="group__rtx5__specific__defines.html#ga188bfaaf7477cf24cbc9f207feaeb53a">rtx_os.h</a>
+</li>
+<li>osRtxMutexLockLimit
+: <a class="el" href="rtx__os_8h.html#ade5d158c28233a45ad1fc9a1156373f6">rtx_os.h</a>
+</li>
+<li>osRtxMutexMemUsage
+: <a class="el" href="rtx__os_8h.html#a683927dcd67dcb912884d16efa81a58d">rtx_os.h</a>
+</li>
+<li>osRtxSemaphoreCbSize
+: <a class="el" href="group__rtx5__specific__defines.html#ga0949b67063d0bd427fbee9c816b5d45a">rtx_os.h</a>
+</li>
+<li>osRtxSemaphoreMemUsage
+: <a class="el" href="rtx__os_8h.html#aec50b39ce30d9c87916d077f6f764387">rtx_os.h</a>
+</li>
+<li>osRtxSemaphoreTokenLimit
+: <a class="el" href="rtx__os_8h.html#a14c7bcf532389ed285827cf5497d09eb">rtx_os.h</a>
+</li>
+<li>osRtxStackFillPattern
+: <a class="el" href="rtx__os_8h.html#a7dbaedf90584739e6d938d69d2621855">rtx_os.h</a>
+</li>
+<li>osRtxStackMagicWord
+: <a class="el" href="rtx__os_8h.html#aabdbbcf214681666d06629397463093f">rtx_os.h</a>
+</li>
+<li>osRtxThreadBlocked
+: <a class="el" href="rtx__os_8h.html#a30e61895c9ec7941715dd4747b11d5b3">rtx_os.h</a>
+</li>
+<li>osRtxThreadCbSize
+: <a class="el" href="group__rtx5__specific__defines.html#ga30d19272204231956582ebfff69567f6">rtx_os.h</a>
+</li>
+<li>osRtxThreadFlagDefStack
+: <a class="el" href="rtx__os_8h.html#a733199fdb7675dbf99d5e6d17c126a96">rtx_os.h</a>
+</li>
+<li>osRtxThreadFlagsLimit
+: <a class="el" href="rtx__os_8h.html#a73248d08e2db1ef9941cf8fcf24ddba9">rtx_os.h</a>
+</li>
+<li>osRtxThreadInactive
+: <a class="el" href="rtx__os_8h.html#a2552be237293212f43fc08bf3ec02e67">rtx_os.h</a>
+</li>
+<li>osRtxThreadMemUsage
+: <a class="el" href="rtx__os_8h.html#a90374bf1d999b2e1594763ab6c97cd69">rtx_os.h</a>
+</li>
+<li>osRtxThreadReady
+: <a class="el" href="rtx__os_8h.html#a7c1e9dfefafc53162f076b0430a0e595">rtx_os.h</a>
+</li>
+<li>osRtxThreadRunning
+: <a class="el" href="rtx__os_8h.html#ad9615557219eecdbca536d4280e72604">rtx_os.h</a>
+</li>
+<li>osRtxThreadStateMask
+: <a class="el" href="rtx__os_8h.html#ad486f6d40fcd8e9569ab415373d912e4">rtx_os.h</a>
+</li>
+<li>osRtxThreadTerminated
+: <a class="el" href="rtx__os_8h.html#a3011758dc91d1dd134ec48b816b67d50">rtx_os.h</a>
+</li>
+<li>osRtxThreadWaitingDelay
+: <a class="el" href="rtx__os_8h.html#a9fcd1ecba034b5fc15e991311736ec4e">rtx_os.h</a>
+</li>
+<li>osRtxThreadWaitingEventFlags
+: <a class="el" href="rtx__os_8h.html#a6c4c8b1563e28aa5b947346cb5db3c69">rtx_os.h</a>
+</li>
+<li>osRtxThreadWaitingJoin
+: <a class="el" href="rtx__os_8h.html#a88ca40f569d87366a69451ed43759453">rtx_os.h</a>
+</li>
+<li>osRtxThreadWaitingMemoryPool
+: <a class="el" href="rtx__os_8h.html#aa87cea70df1acf71f6358de9b65722a4">rtx_os.h</a>
+</li>
+<li>osRtxThreadWaitingMessageGet
+: <a class="el" href="rtx__os_8h.html#a881830bb0c1488cd15bd1a412bc16800">rtx_os.h</a>
+</li>
+<li>osRtxThreadWaitingMessagePut
+: <a class="el" href="rtx__os_8h.html#a7502524f6911edc751111422eaf66a43">rtx_os.h</a>
+</li>
+<li>osRtxThreadWaitingMutex
+: <a class="el" href="rtx__os_8h.html#ae99ccb8b4d1a85c1abb6ab39933690a6">rtx_os.h</a>
+</li>
+<li>osRtxThreadWaitingSemaphore
+: <a class="el" href="rtx__os_8h.html#acbe0a0cd73d487b82501b584caf4a472">rtx_os.h</a>
+</li>
+<li>osRtxThreadWaitingThreadFlags
+: <a class="el" href="rtx__os_8h.html#a41174e493bdf7e3a1e35306703bcd63c">rtx_os.h</a>
+</li>
+<li>osRtxTimerCbSize
+: <a class="el" href="group__rtx5__specific__defines.html#gaf8a145fdeb24fd912971f0671b1a3603">rtx_os.h</a>
+</li>
+<li>osRtxTimerInactive
+: <a class="el" href="rtx__os_8h.html#a66bea72c0cffd25c7cb32419283a7b92">rtx_os.h</a>
+</li>
+<li>osRtxTimerMemUsage
+: <a class="el" href="rtx__os_8h.html#aa3e7cf488411dbdc814420b81f36b935">rtx_os.h</a>
+</li>
+<li>osRtxTimerPeriodic
+: <a class="el" href="rtx__os_8h.html#accc1542de31e0c7367d452e9de035bb4">rtx_os.h</a>
+</li>
+<li>osRtxTimerRunning
+: <a class="el" href="rtx__os_8h.html#aed55034470990d4593eb614e26c1eea7">rtx_os.h</a>
+</li>
+<li>osRtxTimerStopped
+: <a class="el" href="rtx__os_8h.html#ab01076b285029ac6d22dbde69167c96e">rtx_os.h</a>
+</li>
+<li>osRtxVersionAPI
+: <a class="el" href="rtx__os_8h.html#aea20a2b373e98ae88a7cf7e4a56b118f">rtx_os.h</a>
+</li>
+<li>osRtxVersionKernel
+: <a class="el" href="rtx__os_8h.html#ad854168120979e8c60630e0140e104e8">rtx_os.h</a>
+</li>
+<li>osSemaphoreAcquire()
+: <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7e94c8b242a0c81f2cc79ec22895c87b">cmsis_os2.h</a>
+</li>
+<li>osSemaphoreDelete()
+: <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga81258ce9c67fa89f07cc49d2e136cd88">cmsis_os2.h</a>
+</li>
+<li>osSemaphoreGetCount()
+: <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7559d4dff3cda9992fc5ab5de3e74c70">cmsis_os2.h</a>
+</li>
+<li>osSemaphoreGetName()
+: <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga9586952051f00285f1482dbe6695bbc4">cmsis_os2.h</a>
+</li>
+<li>osSemaphoreId_t
+: <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">cmsis_os2.h</a>
+</li>
+<li>osSemaphoreNew()
+: <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">cmsis_os2.h</a>
+</li>
+<li>osSemaphoreRelease()
+: <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga0abcee1b5449d7a6928fb9248c690bb6">cmsis_os2.h</a>
+</li>
+<li>osStatus_t
+: <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">cmsis_os2.h</a>
+</li>
+<li>osStatusReserved
+: <a class="el" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea66cc9ce9106b508df0e4a733a55a439d">cmsis_os2.h</a>
+</li>
+<li>osThreadBlocked
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820daf0e992e354fba8695957c530226a4968">cmsis_os2.h</a>
+</li>
+<li>osThreadDetach()
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaaad14cd9547341ea8109dc4e8540f1dc">cmsis_os2.h</a>
+</li>
+<li>osThreadDetached
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa9336c1073858d6b118e2e011636246f">cmsis_os2.h</a>
+</li>
+<li>osThreadEnumerate()
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga5606604d56e21ece1a654664be877439">cmsis_os2.h</a>
+</li>
+<li>osThreadError
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820da339313e26613bc12f66a852e2ff8745e">cmsis_os2.h</a>
+</li>
+<li>osThreadExit()
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaddaa452dd7610e4096647a566d3556fc">cmsis_os2.h</a>
+</li>
+<li>osThreadFlagsClear()
+: <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga656abc1c862c5b9a2b13584c42cc0bfa">cmsis_os2.h</a>
+</li>
+<li>osThreadFlagsGet()
+: <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga85c8d2c89466e25abbcb545d9ddd71ba">cmsis_os2.h</a>
+</li>
+<li>osThreadFlagsSet()
+: <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga6f89ef9caded1d9963c7b12b0f6412c9">cmsis_os2.h</a>
+</li>
+<li>osThreadFlagsWait()
+: <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b">cmsis_os2.h</a>
+</li>
+<li>osThreadFunc_t
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gadd51f99a6eb50b94eee75f27cae815eb">cmsis_os2.h</a>
+</li>
+<li>osThreadGetCount()
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga495b3f812224e7301f23a691793765db">cmsis_os2.h</a>
+</li>
+<li>osThreadGetId()
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">cmsis_os2.h</a>
+</li>
+<li>osThreadGetName()
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gac3230f3a55a297514b013ebf38f27e0a">cmsis_os2.h</a>
+</li>
+<li>osThreadGetPriority()
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga0aeaf349604f456e68e78f9d3b42e44b">cmsis_os2.h</a>
+</li>
+<li>osThreadGetStackSize()
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gab9f8bd715d671c6ee27644867bc1bf65">cmsis_os2.h</a>
+</li>
+<li>osThreadGetStackSpace()
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga9c83bd5dd8de329701775d6ef7012720">cmsis_os2.h</a>
+</li>
+<li>osThreadGetState()
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gacc0a98b42f0a5928e12dc91dc76866b9">cmsis_os2.h</a>
+</li>
+<li>osThreadId_t
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">cmsis_os2.h</a>
+</li>
+<li>osThreadInactive
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820dae9d77830b6866e287417b6e1d983e971">cmsis_os2.h</a>
+</li>
+<li>osThreadJoin()
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga3fca90fb0679afeb968aa8c3d5874487">cmsis_os2.h</a>
+</li>
+<li>osThreadJoinable
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga249499c519f3f8eef5673009ab6cfcbe">cmsis_os2.h</a>
+</li>
+<li>osThreadNew()
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">cmsis_os2.h</a>
+</li>
+<li>osThreadReady
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820da59e286915944fe0e4d1ffdb1f2946f14">cmsis_os2.h</a>
+</li>
+<li>osThreadReserved
+: <a class="el" href="cmsis__os2_8h.html#gad3dc89e942e38d9f3af858a0269a820da8872f7e352370eb11ee772c7dcca6e6c">cmsis_os2.h</a>
+</li>
+<li>osThreadResume()
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga3dbad90eff394b02de76a452c84c5d80">cmsis_os2.h</a>
+</li>
+<li>osThreadRunning
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820dac4fe336e0790188fcf7d667372eca19d">cmsis_os2.h</a>
+</li>
+<li>osThreadSetPriority()
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga861a420fb2d643115b06622903fb3bfb">cmsis_os2.h</a>
+</li>
+<li>osThreadState_t
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad3dc89e942e38d9f3af858a0269a820d">cmsis_os2.h</a>
+</li>
+<li>osThreadSuspend()
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa9de419d0152bf77e9bbcd1f369fb990">cmsis_os2.h</a>
+</li>
+<li>osThreadTerminate()
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga2f8ba6dba6e9c065a6e236ffd410d74a">cmsis_os2.h</a>
+</li>
+<li>osThreadTerminated
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820dad5b2726c2d0228f4f1a76cf6b630963c">cmsis_os2.h</a>
+</li>
+<li>osThreadYield()
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad01c7ec26535b1de6b018bb9466720e2">cmsis_os2.h</a>
+</li>
+<li>osTimerDelete()
+: <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad0001dd74721ab461789324806db2453">cmsis_os2.h</a>
+</li>
+<li>osTimerFunc_t
+: <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaacf768c1ec64b020598afb985d7b30be">cmsis_os2.h</a>
+</li>
+<li>osTimerGetName()
+: <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#ga4f82a98eee4d9ea79507e44340d3d319">cmsis_os2.h</a>
+</li>
+<li>osTimerId_t
+: <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">cmsis_os2.h</a>
+</li>
+<li>osTimerIsRunning()
+: <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#ga69d3589f54194022c30dd01e45ec6741">cmsis_os2.h</a>
+</li>
+<li>osTimerNew()
+: <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">cmsis_os2.h</a>
+</li>
+<li>osTimerOnce
+: <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915a2e0e1f31c742c84b497c4d7143357bdb">cmsis_os2.h</a>
+</li>
+<li>osTimerPeriodic
+: <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915ab3463d921dc310938094745c230f2b35">cmsis_os2.h</a>
+</li>
+<li>osTimerStart()
+: <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d">cmsis_os2.h</a>
+</li>
+<li>osTimerStop()
+: <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gabd7a89356da7717293eb0bc5d87b8ac9">cmsis_os2.h</a>
+</li>
+<li>osTimerType_t
+: <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#ga7dc24a4c2b90334427081c3da7a71915">cmsis_os2.h</a>
+</li>
+<li>osWaitForever
+: <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">cmsis_os2.h</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/globals_p.html b/docs/RTOS2/html/globals_p.html
new file mode 100644
index 0000000..1afcca5
--- /dev/null
+++ b/docs/RTOS2/html/globals_p.html
@@ -0,0 +1,153 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Globals</title>
+<title>CMSIS-RTOS2: Globals</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Macros</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals.html#index__"><span>_</span></a></li>
+ <li><a href="globals_e.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_i.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_o.html#index_o"><span>o</span></a></li>
+ <li class="current"><a href="globals_p.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_s.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_t.html#index_t"><span>t</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('globals_p.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
+
+<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
+<li>PendSV_Handler()
+: <a class="el" href="rtx__os_8h.html#a6303e1f258cbdc1f970ce579cc015623">rtx_os.h</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/globals_s.html b/docs/RTOS2/html/globals_s.html
new file mode 100644
index 0000000..09aabf4
--- /dev/null
+++ b/docs/RTOS2/html/globals_s.html
@@ -0,0 +1,156 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Globals</title>
+<title>CMSIS-RTOS2: Globals</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Macros</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals.html#index__"><span>_</span></a></li>
+ <li><a href="globals_e.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_i.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_o.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_p.html#index_p"><span>p</span></a></li>
+ <li class="current"><a href="globals_s.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_t.html#index_t"><span>t</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('globals_s.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
+
+<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
+<li>SVC_Handler()
+: <a class="el" href="rtx__os_8h.html#a3e5ddb3df0d62f2dc357e64a3f04a6ce">rtx_os.h</a>
+</li>
+<li>SysTick_Handler()
+: <a class="el" href="rtx__os_8h.html#ab5e09814056d617c521549e542639b7e">rtx_os.h</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/globals_t.html b/docs/RTOS2/html/globals_t.html
new file mode 100644
index 0000000..a1a0a75
--- /dev/null
+++ b/docs/RTOS2/html/globals_t.html
@@ -0,0 +1,156 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Globals</title>
+<title>CMSIS-RTOS2: Globals</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Macros</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals.html#index__"><span>_</span></a></li>
+ <li><a href="globals_e.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_i.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_o.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_p.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_s.html#index_s"><span>s</span></a></li>
+ <li class="current"><a href="globals_t.html#index_t"><span>t</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('globals_t.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
+
+<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
+<li>TZ_MODULEID_T
+: <a class="el" href="cmsis__os2_8h.html#a78775dae56f0c9698cdab6e1ca74503f">cmsis_os2.h</a>
+</li>
+<li>TZ_ModuleId_t
+: <a class="el" href="cmsis__os2_8h.html#ad5ef21485fe5f60263bc0b48006202cb">cmsis_os2.h</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/globals_type.html b/docs/RTOS2/html/globals_type.html
new file mode 100644
index 0000000..8e2c4c4
--- /dev/null
+++ b/docs/RTOS2/html/globals_type.html
@@ -0,0 +1,170 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Globals</title>
+<title>CMSIS-RTOS2: Globals</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li class="current"><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Macros</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('globals_type.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;<ul>
+<li>IRQHandler_t
+: <a class="el" href="os__tick_8h.html#afbfa2180a9b6208f34891d539e9e2d52">os_tick.h</a>
+</li>
+<li>osEventFlagsId_t
+: <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">cmsis_os2.h</a>
+</li>
+<li>osMemoryPoolId_t
+: <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">cmsis_os2.h</a>
+</li>
+<li>osMessageQueueId_t
+: <a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">cmsis_os2.h</a>
+</li>
+<li>osMutexId_t
+: <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">cmsis_os2.h</a>
+</li>
+<li>osSemaphoreId_t
+: <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">cmsis_os2.h</a>
+</li>
+<li>osThreadFunc_t
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gadd51f99a6eb50b94eee75f27cae815eb">cmsis_os2.h</a>
+</li>
+<li>osThreadId_t
+: <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">cmsis_os2.h</a>
+</li>
+<li>osTimerFunc_t
+: <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaacf768c1ec64b020598afb985d7b30be">cmsis_os2.h</a>
+</li>
+<li>osTimerId_t
+: <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">cmsis_os2.h</a>
+</li>
+<li>TZ_ModuleId_t
+: <a class="el" href="cmsis__os2_8h.html#ad5ef21485fe5f60263bc0b48006202cb">cmsis_os2.h</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/globals_vars.html b/docs/RTOS2/html/globals_vars.html
new file mode 100644
index 0000000..edb7f43
--- /dev/null
+++ b/docs/RTOS2/html/globals_vars.html
@@ -0,0 +1,164 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Globals</title>
+<title>CMSIS-RTOS2: Globals</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li class="current"><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Macros</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('globals_vars.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;<ul>
+<li>osRtxConfig
+: <a class="el" href="rtx__os_8h.html#a489fda965fa634809f401ae6458a6f45">rtx_os.h</a>
+</li>
+<li>osRtxEventFlagsMemUsage
+: <a class="el" href="rtx__os_8h.html#a0c81327f94697890809ce4a594bb9d5c">rtx_os.h</a>
+</li>
+<li>osRtxInfo
+: <a class="el" href="rtx__os_8h.html#ad2270125c4e4991c3231d752b6ee5f3f">rtx_os.h</a>
+</li>
+<li>osRtxMemoryPoolMemUsage
+: <a class="el" href="rtx__os_8h.html#ae5dea30a13d7a2316699a7f201504bc7">rtx_os.h</a>
+</li>
+<li>osRtxMessageQueueMemUsage
+: <a class="el" href="rtx__os_8h.html#af3da38b316a84990128e8d9f34e3e6d3">rtx_os.h</a>
+</li>
+<li>osRtxMutexMemUsage
+: <a class="el" href="rtx__os_8h.html#a683927dcd67dcb912884d16efa81a58d">rtx_os.h</a>
+</li>
+<li>osRtxSemaphoreMemUsage
+: <a class="el" href="rtx__os_8h.html#aec50b39ce30d9c87916d077f6f764387">rtx_os.h</a>
+</li>
+<li>osRtxThreadMemUsage
+: <a class="el" href="rtx__os_8h.html#a90374bf1d999b2e1594763ab6c97cd69">rtx_os.h</a>
+</li>
+<li>osRtxTimerMemUsage
+: <a class="el" href="rtx__os_8h.html#aa3e7cf488411dbdc814420b81f36b935">rtx_os.h</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/group__CMSIS__RTOS.html b/docs/RTOS2/html/group__CMSIS__RTOS.html
new file mode 100644
index 0000000..e547e40
--- /dev/null
+++ b/docs/RTOS2/html/group__CMSIS__RTOS.html
@@ -0,0 +1,178 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>CMSIS-RTOS API v2</title>
+<title>CMSIS-RTOS2: CMSIS-RTOS API v2</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__CMSIS__RTOS.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#groups">Content</a> </div>
+ <div class="headertitle">
+<div class="title">CMSIS-RTOS API v2</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>C interface of <a class="el" href="rtos_api2.html">CMSIS-RTOS C API v2</a> defined in <a class="el" href="cmsis__os2_8h.html">cmsis_os2.h</a>.
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
+Content</h2></td></tr>
+<tr class="memitem:group__CMSIS__RTOS__MemoryMgmt"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__MemoryMgmt.html">Memory Management</a></td></tr>
+<tr class="memdesc:group__CMSIS__RTOS__MemoryMgmt"><td class="mdescLeft">&#160;</td><td class="mdescRight">Information about memory management possibilities. <br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__CMSIS__RTOS__KernelCtrl"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html">Kernel Information and Control</a></td></tr>
+<tr class="memdesc:group__CMSIS__RTOS__KernelCtrl"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides version/system information and starts/controls the RTOS Kernel. <br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__CMSIS__RTOS__ThreadMgmt"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html">Thread Management</a></td></tr>
+<tr class="memdesc:group__CMSIS__RTOS__ThreadMgmt"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define, create, and control thread functions. <br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__CMSIS__RTOS__ThreadFlagsMgmt"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html">Thread Flags</a></td></tr>
+<tr class="memdesc:group__CMSIS__RTOS__ThreadFlagsMgmt"><td class="mdescLeft">&#160;</td><td class="mdescRight">Synchronize threads using flags. <br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__CMSIS__RTOS__EventFlags"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__EventFlags.html">Event Flags</a></td></tr>
+<tr class="memdesc:group__CMSIS__RTOS__EventFlags"><td class="mdescLeft">&#160;</td><td class="mdescRight">Synchronize threads using event flags. <br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__CMSIS__RTOS__Wait"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__Wait.html">Generic Wait Functions</a></td></tr>
+<tr class="memdesc:group__CMSIS__RTOS__Wait"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for a certain period of time. <br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__CMSIS__RTOS__TimerMgmt"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html">Timer Management</a></td></tr>
+<tr class="memdesc:group__CMSIS__RTOS__TimerMgmt"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create and control timer and timer callback functions. <br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__CMSIS__RTOS__MutexMgmt"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html">Mutex Management</a></td></tr>
+<tr class="memdesc:group__CMSIS__RTOS__MutexMgmt"><td class="mdescLeft">&#160;</td><td class="mdescRight">Synchronize resource access using Mutual Exclusion (Mutex). <br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__CMSIS__RTOS__SemaphoreMgmt"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html">Semaphores</a></td></tr>
+<tr class="memdesc:group__CMSIS__RTOS__SemaphoreMgmt"><td class="mdescLeft">&#160;</td><td class="mdescRight">Access shared resources simultaneously from different threads. <br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__CMSIS__RTOS__PoolMgmt"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html">Memory Pool</a></td></tr>
+<tr class="memdesc:group__CMSIS__RTOS__PoolMgmt"><td class="mdescLeft">&#160;</td><td class="mdescRight">Manage thread-safe fixed-size blocks of dynamic memory. <br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__CMSIS__RTOS__Message"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__Message.html">Message Queue</a></td></tr>
+<tr class="memdesc:group__CMSIS__RTOS__Message"><td class="mdescLeft">&#160;</td><td class="mdescRight">Exchange messages between threads in a FIFO-like operation. <br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__CMSIS__RTOS__Definitions"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__Definitions.html">Definitions</a></td></tr>
+<tr class="memdesc:group__CMSIS__RTOS__Definitions"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constants and enumerations used by many CMSIS-RTOS functions. <br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
+<p>C interface of <a class="el" href="rtos_api2.html">CMSIS-RTOS C API v2</a> defined in <b>cmsis_os2.h</b></p>
+<p>The CMSIS-RTOS2 is a generic API layer that interfaces to an RTOS kernel.</p>
+<p>The complete API interface is defined in the <a class="el" href="genRTOS2IF.html#cmsis_os2_h">cmsis_os2.h header file</a>. When using dynamic memory allocation for objects, source code or libraries require no modifications when using on a different CMSIS-RTOS2 implementation.</p>
+<p>Refer to <a class="el" href="rtos_api2.html#rtos_api2_basics">Common Design Concepts</a> for further details. </p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/group__CMSIS__RTOS.js b/docs/RTOS2/html/group__CMSIS__RTOS.js
new file mode 100644
index 0000000..9fed12b
--- /dev/null
+++ b/docs/RTOS2/html/group__CMSIS__RTOS.js
@@ -0,0 +1,15 @@
+var group__CMSIS__RTOS =
+[
+ [ "Memory Management", "group__CMSIS__RTOS__MemoryMgmt.html", null ],
+ [ "Kernel Information and Control", "group__CMSIS__RTOS__KernelCtrl.html", "group__CMSIS__RTOS__KernelCtrl" ],
+ [ "Thread Management", "group__CMSIS__RTOS__ThreadMgmt.html", "group__CMSIS__RTOS__ThreadMgmt" ],
+ [ "Thread Flags", "group__CMSIS__RTOS__ThreadFlagsMgmt.html", "group__CMSIS__RTOS__ThreadFlagsMgmt" ],
+ [ "Event Flags", "group__CMSIS__RTOS__EventFlags.html", "group__CMSIS__RTOS__EventFlags" ],
+ [ "Generic Wait Functions", "group__CMSIS__RTOS__Wait.html", "group__CMSIS__RTOS__Wait" ],
+ [ "Timer Management", "group__CMSIS__RTOS__TimerMgmt.html", "group__CMSIS__RTOS__TimerMgmt" ],
+ [ "Mutex Management", "group__CMSIS__RTOS__MutexMgmt.html", "group__CMSIS__RTOS__MutexMgmt" ],
+ [ "Semaphores", "group__CMSIS__RTOS__SemaphoreMgmt.html", "group__CMSIS__RTOS__SemaphoreMgmt" ],
+ [ "Memory Pool", "group__CMSIS__RTOS__PoolMgmt.html", "group__CMSIS__RTOS__PoolMgmt" ],
+ [ "Message Queue", "group__CMSIS__RTOS__Message.html", "group__CMSIS__RTOS__Message" ],
+ [ "Definitions", "group__CMSIS__RTOS__Definitions.html", "group__CMSIS__RTOS__Definitions" ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__CMSIS__RTOS__Definitions.html b/docs/RTOS2/html/group__CMSIS__RTOS__Definitions.html
new file mode 100644
index 0000000..6ad3530
--- /dev/null
+++ b/docs/RTOS2/html/group__CMSIS__RTOS__Definitions.html
@@ -0,0 +1,297 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Definitions</title>
+<title>CMSIS-RTOS2: Definitions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__CMSIS__RTOS__Definitions.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#groups">Content</a> &#124;
+<a href="#define-members">Macros</a> &#124;
+<a href="#enum-members">Enumerations</a> </div>
+ <div class="headertitle">
+<div class="title">Definitions<div class="ingroups"><a class="el" href="group__CMSIS__RTOS.html">CMSIS-RTOS API v2</a></div></div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Constants and enumerations used by many CMSIS-RTOS functions.
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
+Content</h2></td></tr>
+<tr class="memitem:group__flags__error__codes"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flags__error__codes.html">Flags Functions Error Codes</a></td></tr>
+<tr class="memdesc:group__flags__error__codes"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constants used by <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html">Thread Flags</a> and <a class="el" href="group__CMSIS__RTOS__EventFlags.html">Event Flags</a> to return error codes. <br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
+Macros</h2></td></tr>
+<tr class="memitem:ga9eb9a7a797a42e4b55eb171ecc609ddb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>&#160;&#160;&#160;0xFFFFFFFFU</td></tr>
+<tr class="memdesc:ga9eb9a7a797a42e4b55eb171ecc609ddb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait forever timeout value. <a href="#ga9eb9a7a797a42e4b55eb171ecc609ddb">More...</a><br/></td></tr>
+<tr class="separator:ga9eb9a7a797a42e4b55eb171ecc609ddb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga18e63587b8450d5b8798b6f6ec04e012"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga18e63587b8450d5b8798b6f6ec04e012">osFlagsWaitAny</a>&#160;&#160;&#160;0x00000000U</td></tr>
+<tr class="memdesc:ga18e63587b8450d5b8798b6f6ec04e012"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for any flag (default). <a href="#ga18e63587b8450d5b8798b6f6ec04e012">More...</a><br/></td></tr>
+<tr class="separator:ga18e63587b8450d5b8798b6f6ec04e012"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8b6f562736fbfb5428940e0c017dec24"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga8b6f562736fbfb5428940e0c017dec24">osFlagsWaitAll</a>&#160;&#160;&#160;0x00000001U</td></tr>
+<tr class="memdesc:ga8b6f562736fbfb5428940e0c017dec24"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for all flags. <a href="#ga8b6f562736fbfb5428940e0c017dec24">More...</a><br/></td></tr>
+<tr class="separator:ga8b6f562736fbfb5428940e0c017dec24"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaade844a42237d8c37569d4d9b16b9f1c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__Definitions.html#gaade844a42237d8c37569d4d9b16b9f1c">osFlagsNoClear</a>&#160;&#160;&#160;0x00000002U</td></tr>
+<tr class="memdesc:gaade844a42237d8c37569d4d9b16b9f1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Do not clear flags which have been specified to wait for. <a href="#gaade844a42237d8c37569d4d9b16b9f1c">More...</a><br/></td></tr>
+<tr class="separator:gaade844a42237d8c37569d4d9b16b9f1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr class="memitem:ga6c0dbe6069e4e7f47bb4cd32ae2b813e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> { <br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f">osOK</a> = 0,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813eabb7b2d2c4efa66df42f1c10635467b09">osError</a> = -1,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea913eb5df15ad85f8557eb3a456b56879">osErrorTimeout</a> = -2,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea8fc5801e8b0482bdf22ad63a77f0155d">osErrorResource</a> = -3,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813eac24adca6a5d072c9f01c32178ba0d109">osErrorParameter</a> = -4,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813eaf1fac0240218e51eb30a13da2f8aae81">osErrorNoMemory</a> = -5,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea21635bdc492d3094fe83027fa4a30e2f">osErrorISR</a> = -6,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea66cc9ce9106b508df0e4a733a55a439d">osStatusReserved</a> = 0x7FFFFFFF
+<br/>
+ }</td></tr>
+<tr class="memdesc:ga6c0dbe6069e4e7f47bb4cd32ae2b813e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Status code values returned by CMSIS-RTOS functions. <a href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">More...</a><br/></td></tr>
+<tr class="separator:ga6c0dbe6069e4e7f47bb4cd32ae2b813e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
+<p>The following constants and enumerations are used by many CMSIS-RTOS function calls. </p>
+<h2 class="groupheader">Macro Definition Documentation</h2>
+<a class="anchor" id="ga9eb9a7a797a42e4b55eb171ecc609ddb"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osWaitForever&#160;&#160;&#160;0xFFFFFFFFU</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>A special <a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a> that informs the RTOS to wait infinite until a resource becomes available. It applies to the following functions:</p>
+<ul>
+<li><a class="el" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a> : Wait for Timeout (Time Delay).</li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b">osThreadFlagsWait</a> : Wait for one or more Thread Flags of the current running thread to become signaled.</li>
+<li><a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">osEventFlagsWait</a> : Wait for one or more Event Flags to become signaled.</li>
+<li><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gabc54686ea0fc281823b1763422d2a924">osMutexAcquire</a> : Acquire a Mutex or timeout if it is locked.</li>
+<li><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7e94c8b242a0c81f2cc79ec22895c87b">osSemaphoreAcquire</a> : Acquire a Semaphore token or timeout if no tokens are available.</li>
+<li><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga8ead54e99ccb8f112356c88f99d38fbe">osMemoryPoolAlloc</a> : Allocate a memory block from a Memory Pool.</li>
+<li><a class="el" href="group__CMSIS__RTOS__Message.html#gaa515fc8b956f721a8f72b2c505813bfc">osMessageQueuePut</a> : Put a Message into a Queue or timeout if Queue is full.</li>
+<li><a class="el" href="group__CMSIS__RTOS__Message.html#gad90d4959466a7a65105061da8256ab9e">osMessageQueueGet</a> : Get a Message from a Queue or timeout if Queue is empty. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga18e63587b8450d5b8798b6f6ec04e012"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osFlagsWaitAny&#160;&#160;&#160;0x00000000U</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Reference:</p>
+<ul>
+<li><a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">osEventFlagsWait</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b">osThreadFlagsWait</a> </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga8b6f562736fbfb5428940e0c017dec24"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osFlagsWaitAll&#160;&#160;&#160;0x00000001U</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Reference:</p>
+<ul>
+<li><a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">osEventFlagsWait</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b">osThreadFlagsWait</a> </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gaade844a42237d8c37569d4d9b16b9f1c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osFlagsNoClear&#160;&#160;&#160;0x00000002U</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Reference:</p>
+<ul>
+<li><a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">osEventFlagsWait</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b">osThreadFlagsWait</a> </li>
+</ul>
+
+</div>
+</div>
+<h2 class="groupheader">Enumeration Type Documentation</h2>
+<a class="anchor" id="ga6c0dbe6069e4e7f47bb4cd32ae2b813e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>The <b>osStatus_t</b> enumeration defines the event status and error codes that are returned by many CMSIS-RTOS functions. </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f"></a>osOK</em>&#160;</td><td class="fielddoc">
+<p>Operation completed successfully. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="ga6c0dbe6069e4e7f47bb4cd32ae2b813eabb7b2d2c4efa66df42f1c10635467b09"></a>osError</em>&#160;</td><td class="fielddoc">
+<p>Unspecified RTOS error: run-time error but no other error message fits. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="ga6c0dbe6069e4e7f47bb4cd32ae2b813ea913eb5df15ad85f8557eb3a456b56879"></a>osErrorTimeout</em>&#160;</td><td class="fielddoc">
+<p>Operation not completed within the timeout period. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="ga6c0dbe6069e4e7f47bb4cd32ae2b813ea8fc5801e8b0482bdf22ad63a77f0155d"></a>osErrorResource</em>&#160;</td><td class="fielddoc">
+<p>Resource not available. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="ga6c0dbe6069e4e7f47bb4cd32ae2b813eac24adca6a5d072c9f01c32178ba0d109"></a>osErrorParameter</em>&#160;</td><td class="fielddoc">
+<p>Parameter error. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="ga6c0dbe6069e4e7f47bb4cd32ae2b813eaf1fac0240218e51eb30a13da2f8aae81"></a>osErrorNoMemory</em>&#160;</td><td class="fielddoc">
+<p>System is out of memory: it was impossible to allocate or reserve memory for the operation. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="ga6c0dbe6069e4e7f47bb4cd32ae2b813ea21635bdc492d3094fe83027fa4a30e2f"></a>osErrorISR</em>&#160;</td><td class="fielddoc">
+<p>Not allowed in ISR context: the function cannot be called from interrupt service routines. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="ga6c0dbe6069e4e7f47bb4cd32ae2b813ea66cc9ce9106b508df0e4a733a55a439d"></a>osStatusReserved</em>&#160;</td><td class="fielddoc">
+<p>Prevents enum down-size compiler optimization. </p>
+</td></tr>
+</table>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/group__CMSIS__RTOS__Definitions.js b/docs/RTOS2/html/group__CMSIS__RTOS__Definitions.js
new file mode 100644
index 0000000..c9b38ed
--- /dev/null
+++ b/docs/RTOS2/html/group__CMSIS__RTOS__Definitions.js
@@ -0,0 +1,18 @@
+var group__CMSIS__RTOS__Definitions =
+[
+ [ "Flags Functions Error Codes", "group__flags__error__codes.html", "group__flags__error__codes" ],
+ [ "osWaitForever", "group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb", null ],
+ [ "osFlagsWaitAny", "group__CMSIS__RTOS__Definitions.html#ga18e63587b8450d5b8798b6f6ec04e012", null ],
+ [ "osFlagsWaitAll", "group__CMSIS__RTOS__Definitions.html#ga8b6f562736fbfb5428940e0c017dec24", null ],
+ [ "osFlagsNoClear", "group__CMSIS__RTOS__Definitions.html#gaade844a42237d8c37569d4d9b16b9f1c", null ],
+ [ "osStatus_t", "group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e", [
+ [ "osOK", "cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f", null ],
+ [ "osError", "cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813eabb7b2d2c4efa66df42f1c10635467b09", null ],
+ [ "osErrorTimeout", "cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea913eb5df15ad85f8557eb3a456b56879", null ],
+ [ "osErrorResource", "cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea8fc5801e8b0482bdf22ad63a77f0155d", null ],
+ [ "osErrorParameter", "cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813eac24adca6a5d072c9f01c32178ba0d109", null ],
+ [ "osErrorNoMemory", "cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813eaf1fac0240218e51eb30a13da2f8aae81", null ],
+ [ "osErrorISR", "cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea21635bdc492d3094fe83027fa4a30e2f", null ],
+ [ "osStatusReserved", "cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea66cc9ce9106b508df0e4a733a55a439d", null ]
+ ] ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__CMSIS__RTOS__EventFlags.html b/docs/RTOS2/html/group__CMSIS__RTOS__EventFlags.html
new file mode 100644
index 0000000..9d7271b
--- /dev/null
+++ b/docs/RTOS2/html/group__CMSIS__RTOS__EventFlags.html
@@ -0,0 +1,656 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Event Flags</title>
+<title>CMSIS-RTOS2: Event Flags</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__CMSIS__RTOS__EventFlags.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">Event Flags<div class="ingroups"><a class="el" href="group__CMSIS__RTOS.html">CMSIS-RTOS API v2</a></div></div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Synchronize threads using event flags.
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Structures</h2></td></tr>
+<tr class="memitem:structosEventFlagsAttr__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#structosEventFlagsAttr__t">osEventFlagsAttr_t</a></td></tr>
+<tr class="memdesc:structosEventFlagsAttr__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attributes structure for event flags. <a href="group__CMSIS__RTOS__EventFlags.html#structosEventFlagsAttr__t">More...</a><br/></td></tr>
+<tr class="separator:structosEventFlagsAttr__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr class="memitem:gafdbab933146d6d81d7cca7287e267a50"><td class="memItemLeft" align="right" valign="top">typedef void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a></td></tr>
+<tr class="separator:gafdbab933146d6d81d7cca7287e267a50"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:gab14b1caeb12ffa42cce1bfe889cd07df"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a> (const <a class="el" href="group__CMSIS__RTOS__EventFlags.html#structosEventFlagsAttr__t">osEventFlagsAttr_t</a> *attr)</td></tr>
+<tr class="memdesc:gab14b1caeb12ffa42cce1bfe889cd07df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create and Initialize an Event Flags object. <a href="#gab14b1caeb12ffa42cce1bfe889cd07df">More...</a><br/></td></tr>
+<tr class="separator:gab14b1caeb12ffa42cce1bfe889cd07df"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga33b71d14cecf90b4e72639dd19f23a5e"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga33b71d14cecf90b4e72639dd19f23a5e">osEventFlagsSet</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id, uint32_t flags)</td></tr>
+<tr class="memdesc:ga33b71d14cecf90b4e72639dd19f23a5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the specified Event Flags. <a href="#ga33b71d14cecf90b4e72639dd19f23a5e">More...</a><br/></td></tr>
+<tr class="separator:ga33b71d14cecf90b4e72639dd19f23a5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga93bf258ca0007c6641fbe8e4f2b8a1e5"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga93bf258ca0007c6641fbe8e4f2b8a1e5">osEventFlagsClear</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id, uint32_t flags)</td></tr>
+<tr class="memdesc:ga93bf258ca0007c6641fbe8e4f2b8a1e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear the specified Event Flags. <a href="#ga93bf258ca0007c6641fbe8e4f2b8a1e5">More...</a><br/></td></tr>
+<tr class="separator:ga93bf258ca0007c6641fbe8e4f2b8a1e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8bda3185f46bfd278cea8a6cf357677d"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga8bda3185f46bfd278cea8a6cf357677d">osEventFlagsGet</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id)</td></tr>
+<tr class="memdesc:ga8bda3185f46bfd278cea8a6cf357677d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current Event Flags. <a href="#ga8bda3185f46bfd278cea8a6cf357677d">More...</a><br/></td></tr>
+<tr class="separator:ga8bda3185f46bfd278cea8a6cf357677d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga52acb34a8322e58020227344fe662b4e"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">osEventFlagsWait</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id, uint32_t flags, uint32_t options, uint32_t timeout)</td></tr>
+<tr class="memdesc:ga52acb34a8322e58020227344fe662b4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for one or more Event Flags to become signaled. <a href="#ga52acb34a8322e58020227344fe662b4e">More...</a><br/></td></tr>
+<tr class="separator:ga52acb34a8322e58020227344fe662b4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7c4acf2fb0d506ec82905dee53fb5435"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga7c4acf2fb0d506ec82905dee53fb5435">osEventFlagsDelete</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id)</td></tr>
+<tr class="memdesc:ga7c4acf2fb0d506ec82905dee53fb5435"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete an Event Flags object. <a href="#ga7c4acf2fb0d506ec82905dee53fb5435">More...</a><br/></td></tr>
+<tr class="separator:ga7c4acf2fb0d506ec82905dee53fb5435"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga59f4ddf0ee8c395b1672bb978d1cfc88"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga59f4ddf0ee8c395b1672bb978d1cfc88">osEventFlagsGetName</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id)</td></tr>
+<tr class="memdesc:ga59f4ddf0ee8c395b1672bb978d1cfc88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get name of an Event Flags object. <a href="#ga59f4ddf0ee8c395b1672bb978d1cfc88">More...</a><br/></td></tr>
+<tr class="separator:ga59f4ddf0ee8c395b1672bb978d1cfc88"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
+<p>The event flags management functions in CMSIS-RTOS allow you to control or wait for event flags. Each signal has up to 31 event flags.</p>
+<p>A thread</p>
+<ul>
+<li>can wait for event flags to be set (using <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">osEventFlagsWait</a>). Using this function, it enters the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">BLOCKED</a> state.</li>
+<li>may set one or more flags in any other given thread (using <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga33b71d14cecf90b4e72639dd19f23a5e">osEventFlagsSet</a>).</li>
+<li>may clear its own signals or the signals of other threads (using <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga93bf258ca0007c6641fbe8e4f2b8a1e5">osEventFlagsClear</a>).</li>
+</ul>
+<p>When a thread wakes up and resumes execution, its signal flags are automatically cleared (unless event flags option <a class="el" href="group__CMSIS__RTOS__Definitions.html#gaade844a42237d8c37569d4d9b16b9f1c">osFlagsNoClear</a> is specified).</p>
+<dl class="section note"><dt>Note</dt><dd>The functions <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga33b71d14cecf90b4e72639dd19f23a5e">osEventFlagsSet</a>, <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga93bf258ca0007c6641fbe8e4f2b8a1e5">osEventFlagsClear</a>, <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga8bda3185f46bfd278cea8a6cf357677d">osEventFlagsGet</a>, and <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">osEventFlagsWait</a> can be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd>
+<dd>
+Refer to <a class="el" href="config_rtx5.html#eventFlagsConfig">Event Flags Configuration</a> for RTX5 configuration options.</dd></dl>
+<h2>Working with Events </h2>
+<p>Here is a simple example that shows how two thread can communicate with each others using event flags:</p>
+<div class="image">
+<img src="simple_signal.png" alt="simple_signal.png"/>
+<div class="caption">
+Simple event communication</div></div>
+<p> The following steps are required to use event flags:</p>
+<ol type="1">
+<li>In the thread that is supposed to send a event with id sig1_id, call the set function: <div class="fragment"><div class="line"><a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a> (1000); <span class="comment">// wait for 1 second</span></div>
+<div class="line"><a class="code" href="group__CMSIS__RTOS__EventFlags.html#ga33b71d14cecf90b4e72639dd19f23a5e">osEventFlagsSet</a> (sig1_id, 0x0001U); <span class="comment">// set the flag 0x0001U for event sig1_id</span></div>
+</div><!-- fragment --></li>
+<li>In another thread (or threads) that are supposed to wait for the event, call the wait function: <div class="fragment"><div class="line"><a class="code" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">osEventFlagsWait</a> (sig1_id, 0x0001U, NULL, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>); <span class="comment">// wait forever for any flag</span></div>
+</div><!-- fragment --></li>
+</ol>
+<p>The following complete example code can be directly used with the "CMSIS-RTOS2 main template" and is also provided as a stand-alone template for RTX5:</p>
+<p><b>Code Example</b> </p>
+<div class="fragment"><div class="line"><span class="keywordtype">void</span> Thread_EventSender (<span class="keywordtype">void</span> *argument); <span class="comment">// thread function 1</span></div>
+<div class="line"><span class="keywordtype">void</span> Thread_EventReceiver (<span class="keywordtype">void</span> *argument); <span class="comment">// thread function 2</span></div>
+<div class="line"><a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> tid_Thread_EventSender; <span class="comment">// thread id 1</span></div>
+<div class="line"><a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> tid_Thread_EventReceiver; <span class="comment">// thread id 2</span></div>
+<div class="line"> </div>
+<div class="line"><a class="code" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> evt_id; <span class="comment">// message queue id</span></div>
+<div class="line"> </div>
+<div class="line"><span class="preprocessor">#define FLAGS_MSK1 0x00000001ul</span></div>
+<div class="line"><span class="preprocessor"></span> </div>
+<div class="line"><span class="keywordtype">void</span> app_main (<span class="keywordtype">void</span>)</div>
+<div class="line">{</div>
+<div class="line"> tid_Thread_EventSender = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> (Thread_EventSender, NULL, NULL);</div>
+<div class="line"> <span class="keywordflow">if</span> (tid_Thread_EventSender == NULL) {</div>
+<div class="line"> ; <span class="comment">// do something</span></div>
+<div class="line"> }</div>
+<div class="line"> tid_Thread_EventReceiver = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> (Thread_EventReceiver, NULL, NULL);</div>
+<div class="line"> <span class="keywordflow">if</span> (tid_Thread_EventReceiver == NULL) {</div>
+<div class="line"> ; <span class="comment">// do something</span></div>
+<div class="line"> }</div>
+<div class="line"> ; <span class="comment">// do something</span></div>
+<div class="line">}</div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> Thread_EventSender (<span class="keywordtype">void</span> *argument)</div>
+<div class="line">{</div>
+<div class="line"> evt_id = <a class="code" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>(NULL);</div>
+<div class="line"> <span class="keywordflow">while</span> (1) { </div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__EventFlags.html#ga33b71d14cecf90b4e72639dd19f23a5e">osEventFlagsSet</a>(evt_id, FLAGS_MSK1);</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a> (1000); <span class="comment">// suspend thread</span></div>
+<div class="line"> }</div>
+<div class="line">}</div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> Thread_EventReceiver (<span class="keywordtype">void</span> *argument)</div>
+<div class="line">{</div>
+<div class="line"> uint32_t flags;</div>
+<div class="line"> <span class="keywordflow">while</span> (1) {</div>
+<div class="line"> flags = <a class="code" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">osEventFlagsWait</a> (evt_id,FLAGS_MSK1,<a class="code" href="group__CMSIS__RTOS__Definitions.html#ga18e63587b8450d5b8798b6f6ec04e012">osFlagsWaitAny</a>, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>);</div>
+<div class="line"> <span class="comment">//handle event</span></div>
+<div class="line"> }</div>
+<div class="line">}</div>
+</div><!-- fragment --> <hr/><h2 class="groupheader">Data Structure Documentation</h2>
+<a name="structosEventFlagsAttr__t" id="structosEventFlagsAttr__t"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osEventFlagsAttr_t</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"><p>Attributes to configure an event flag set.</p>
+<p>Refer to <a class="el" href="group__CMSIS__RTOS__MemoryMgmt.html">Memory Management</a> for details about usage of</p>
+<ul>
+<li><a class="el" href="group__CMSIS__RTOS__EventFlags.html#a1e100dc33d403841ed3c344e3397868e" title="memory for control block ">osEventFlagsAttr_t::cb_mem</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__EventFlags.html#aa55a4335d12dc2785dc00fdc292d1159" title="size of provided memory for control block ">osEventFlagsAttr_t::cb_size</a> </li>
+</ul>
+</div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ab74e6bf80237ddc4109968cedc58c151"></a>const char *</td>
+<td class="fieldname">
+name</td>
+<td class="fielddoc">
+name of the event flags <p>Pointer to a string with a human readable name of the event object.<br/>
+Default: <span class="XML-Token">NULL</span>. </p>
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a6e93b49cb79c12f768d72580c7731f30"></a>uint32_t</td>
+<td class="fieldname">
+attr_bits</td>
+<td class="fielddoc">
+attribute bits <p>Reserved for future use (set to '0').<br/>
+Default: <span class="XML-Token">0</span>. </p>
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a1e100dc33d403841ed3c344e3397868e"></a>void *</td>
+<td class="fieldname">
+cb_mem</td>
+<td class="fielddoc">
+memory for control block <p>Pointer to a memory location for the event control block object. This can optionally be used for custom memory management systems.<br/>
+Default: <span class="XML-Token">NULL</span> (uses kernel memory management). </p>
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="aa55a4335d12dc2785dc00fdc292d1159"></a>uint32_t</td>
+<td class="fieldname">
+cb_size</td>
+<td class="fielddoc">
+size of provided memory for control block <p>The size of the memory block passed with <a class="el" href="group__CMSIS__RTOS__EventFlags.html#a1e100dc33d403841ed3c344e3397868e">cb_mem</a>. Must be the size of an event control block object or larger. </p>
+</td></tr>
+</table>
+
+</div>
+</div>
+<h2 class="groupheader">Typedef Documentation</h2>
+<a class="anchor" id="gafdbab933146d6d81d7cca7287e267a50"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Event Flags ID identifies the event flags.</p>
+<p>Returned by:</p>
+<ul>
+<li><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a> </li>
+</ul>
+
+</div>
+</div>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="gab14b1caeb12ffa42cce1bfe889cd07df"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> osEventFlagsNew </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="group__CMSIS__RTOS__EventFlags.html#structosEventFlagsAttr__t">osEventFlagsAttr_t</a> *&#160;</td>
+ <td class="paramname"><em>attr</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">attr</td><td>event flags attributes; NULL: default values. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>event flags ID for reference by other functions or NULL in case of error.</dd></dl>
+<p>The function <b>osEventFlagsNew</b> creates a new event flags object that is used to send events across threads and returns the pointer to the event flags object identifier or <span class="XML-Token">NULL</span> in case of an error. It can be safely called before the RTOS is started (call to <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221">osKernelStart</a>), but not before it is initialized (call to <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659">osKernelInitialize</a>).</p>
+<p>The parameter <em>attr</em> sets the event flags attributes (refer to <a class="el" href="group__CMSIS__RTOS__EventFlags.html#structosEventFlagsAttr__t">osEventFlagsAttr_t</a>). Default attributes will be used if set to <span class="XML-Token">NULL</span>, i.e. kernel memory allocation is used for the event control block.</p>
+<dl class="section note"><dt>Note</dt><dd>Cannot be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
+<p><b>Code Example</b> </p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span> <span class="comment">// CMSIS RTOS header file</span></div>
+<div class="line"> </div>
+<div class="line"><a class="code" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> evt_id; <span class="comment">// message queue id</span></div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> Thread_EventSender (<span class="keywordtype">void</span> *argument)</div>
+<div class="line">{</div>
+<div class="line"> evt_id = <a class="code" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>(NULL);</div>
+<div class="line"> <span class="keywordflow">while</span> (1) { </div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__EventFlags.html#ga33b71d14cecf90b4e72639dd19f23a5e">osEventFlagsSet</a>(evt_id, FLAGS_MSK1);</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gad01c7ec26535b1de6b018bb9466720e2">osThreadYield</a> (); <span class="comment">// suspend thread</span></div>
+<div class="line"> }</div>
+<div class="line">}</div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> Thread_EventReceiver (<span class="keywordtype">void</span> *argument)</div>
+<div class="line">{</div>
+<div class="line"> uint32_t flags;</div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordflow">while</span> (1) {</div>
+<div class="line"> flags = <a class="code" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">osEventFlagsWait</a> (evt_id,FLAGS_MSK1,<a class="code" href="group__CMSIS__RTOS__Definitions.html#ga18e63587b8450d5b8798b6f6ec04e012">osFlagsWaitAny</a>, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>);</div>
+<div class="line"> <span class="comment">//handle event</span></div>
+<div class="line"> }</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ga33b71d14cecf90b4e72639dd19f23a5e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint32_t osEventFlagsSet </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
+ <td class="paramname"><em>ef_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>flags</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>specifies the flags that shall be set. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>event flags after setting or error code if highest bit set.</dd></dl>
+<p>The function <b>osEventFlagsSet</b> sets the event flags specified by the parameter <em>flags</em> in an event flags object specified by parameter <em>ef_id</em>. All threads waiting for the flag set will be notified to resume from <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">BLOCKED</a> state. The function returns the event flags after setting or an error code (highest bit is set, refer to <a class="el" href="group__flags__error__codes.html">Flags Functions Error Codes</a>).</p>
+<p>Possible <a class="el" href="group__flags__error__codes.html">Flags Functions Error Codes</a> return values:</p>
+<ul>
+<li><em>osFlagsErrorUnknown:</em> Unspecified error.</li>
+<li><em>osFlagsErrorResource:</em> Event flags object specified by parameter <em>ef_id</em> is not ready to be used.</li>
+<li><em>osFlagsErrorParameter:</em> Parameter <em>ef_id</em> does not identify a valid event flags object or <em>flags</em> has highest bit set.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>This function may be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
+<p><b>Code Example</b> </p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span> <span class="comment">// CMSIS RTOS header file</span></div>
+<div class="line"> </div>
+<div class="line"><a class="code" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> evt_id; <span class="comment">// message queue id</span></div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> Thread_EventSender (<span class="keywordtype">void</span> *argument)</div>
+<div class="line">{</div>
+<div class="line"> evt_id = <a class="code" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>(NULL);</div>
+<div class="line"> <span class="keywordflow">while</span> (1) { </div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__EventFlags.html#ga33b71d14cecf90b4e72639dd19f23a5e">osEventFlagsSet</a>(evt_id, FLAGS_MSK1);</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gad01c7ec26535b1de6b018bb9466720e2">osThreadYield</a> (); <span class="comment">// suspend thread</span></div>
+<div class="line"> }</div>
+<div class="line">}</div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> Thread_EventReceiver (<span class="keywordtype">void</span> *argument)</div>
+<div class="line">{</div>
+<div class="line"> uint32_t flags;</div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordflow">while</span> (1) {</div>
+<div class="line"> flags = <a class="code" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">osEventFlagsWait</a> (evt_id,FLAGS_MSK1,<a class="code" href="group__CMSIS__RTOS__Definitions.html#ga18e63587b8450d5b8798b6f6ec04e012">osFlagsWaitAny</a>, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>);</div>
+<div class="line"> <span class="comment">//handle event</span></div>
+<div class="line"> }</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ga93bf258ca0007c6641fbe8e4f2b8a1e5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint32_t osEventFlagsClear </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
+ <td class="paramname"><em>ef_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>flags</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>specifies the flags that shall be cleared. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>event flags before clearing or error code if highest bit set.</dd></dl>
+<p>The function <b>osEventFlagsClear</b> clears the event flags specified by the parameter <em>flags</em> in an event flags object specified by parameter <em>ef_id</em>. The function returns the event flags before clearing or an error code (highest bit is set, refer to <a class="el" href="group__flags__error__codes.html">Flags Functions Error Codes</a>).</p>
+<p>Possible <a class="el" href="group__flags__error__codes.html">Flags Functions Error Codes</a> return values:</p>
+<ul>
+<li><em>osFlagsErrorUnknown:</em> Unspecified error.</li>
+<li><em>osFlagsErrorResource:</em> Event flags object specified by parameter <em>ef_id</em> is not ready to be used.</li>
+<li><em>osFlagsErrorParameter:</em> Parameter <em>ef_id</em> does not identify a valid event flags object or <em>flags</em> has highest bit set.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>This function may be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga8bda3185f46bfd278cea8a6cf357677d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint32_t osEventFlagsGet </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
+ <td class="paramname"><em>ef_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>current event flags.</dd></dl>
+<p>The function <b>osEventFlagsGet</b> returns the event flags currently set in an event flags object specified by parameter <em>ef_id</em> or <span class="XML-Token">0</span> in case of an error.</p>
+<dl class="section note"><dt>Note</dt><dd>This function may be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga52acb34a8322e58020227344fe662b4e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint32_t osEventFlagsWait </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
+ <td class="paramname"><em>ef_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>flags</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>options</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>timeout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>specifies the flags to wait for. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">options</td><td>specifies flags options (osFlagsXxxx). </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td><a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a> or 0 in case of no time-out. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>event flags before clearing or error code if highest bit set.</dd></dl>
+<p>The function <b>osEventFlagsWait</b> suspends the execution of the currently <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">RUNNING</a> thread until any or all event flags specified by the parameter <em>flags</em> in the event object specified by parameter <em>ef_id</em> are set. When these event flags are already set, the function returns instantly. Otherwise, the thread is put into the state <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">BLOCKED</a>.</p>
+<p>The <em>options</em> parameter specifies the wait condition: </p>
+<table class="doxtable">
+<tr>
+<th>Option </th><th></th></tr>
+<tr>
+<td><b>osFlagsWaitAny</b> </td><td>Wait for any flag (default). </td></tr>
+<tr>
+<td><b>osFlagsWaitAll</b> </td><td>Wait for all flags. </td></tr>
+<tr>
+<td><b>osFlagsNoClear</b> </td><td>Do not clear flags which have been specified to wait for. </td></tr>
+</table>
+<p>If <code>osFlagsNoClear</code> is set in the options <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga93bf258ca0007c6641fbe8e4f2b8a1e5">osEventFlagsClear</a> can be used to clear flags manually.</p>
+<p>The parameter <em>timeout</em> specifies how long the system waits for event flags. While the system waits, the thread that is calling this function is put into the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">BLOCKED</a> state. The parameter <a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">timeout</a> can have the following values:</p>
+<ul>
+<li>when <em>timeout</em> is <span class="XML-Token">0</span>, the function returns instantly (i.e. try semantics).</li>
+<li>when <em>timeout</em> is set to <b>osWaitForever</b> the function will wait for an infinite time until the event flags become available (i.e. wait semantics).</li>
+<li>all other values specify a time in kernel ticks for a timeout (i.e. timed-wait semantics).</li>
+</ul>
+<p>The function returns the event flags before clearing or an error code (highest bit is set, refer to <a class="el" href="group__flags__error__codes.html">Flags Functions Error Codes</a>).</p>
+<p>Possible <a class="el" href="group__flags__error__codes.html">Flags Functions Error Codes</a> return values:</p>
+<ul>
+<li><em>osFlagsErrorUnknown:</em> Unspecified error.</li>
+<li><em>osFlagsErrorTimeout:</em> The awaited flags has not been set during given timeout.</li>
+<li><em>osFlagsErrorResource:</em> Event flags object specified by parameter <em>ef_id</em> is not ready to be used.</li>
+<li><em>osFlagsErrorParameter:</em> Parameter <em>ef_id</em> does not identify a valid event flags object or <em>flags</em> has highest bit set.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>May be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a> if the parameter <em>timeout</em> is set to <span class="XML-Token">0</span>.</dd></dl>
+<p><b>Code</b> <b>Example</b> </p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span> <span class="comment">// CMSIS RTOS header file</span></div>
+<div class="line"> </div>
+<div class="line"><a class="code" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> evt_id; <span class="comment">// message queue id</span></div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> Thread_EventSender (<span class="keywordtype">void</span> *argument)</div>
+<div class="line">{</div>
+<div class="line"> evt_id = <a class="code" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>(NULL);</div>
+<div class="line"> <span class="keywordflow">while</span> (1) { </div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__EventFlags.html#ga33b71d14cecf90b4e72639dd19f23a5e">osEventFlagsSet</a>(evt_id, FLAGS_MSK1);</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gad01c7ec26535b1de6b018bb9466720e2">osThreadYield</a> (); <span class="comment">// suspend thread</span></div>
+<div class="line"> }</div>
+<div class="line">}</div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> Thread_EventReceiver (<span class="keywordtype">void</span> *argument)</div>
+<div class="line">{</div>
+<div class="line"> uint32_t flags;</div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordflow">while</span> (1) {</div>
+<div class="line"> flags = <a class="code" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">osEventFlagsWait</a> (evt_id,FLAGS_MSK1,<a class="code" href="group__CMSIS__RTOS__Definitions.html#ga18e63587b8450d5b8798b6f6ec04e012">osFlagsWaitAny</a>, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>);</div>
+<div class="line"> <span class="comment">//handle event</span></div>
+<div class="line"> }</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ga7c4acf2fb0d506ec82905dee53fb5435"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> osEventFlagsDelete </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
+ <td class="paramname"><em>ef_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>status code that indicates the execution status of the function.</dd></dl>
+<p>The function <b>osEventFlagsDelete</b> deletes the event flags object specified by parameter <em>ef_id</em> and releases the internal memory obtained for the event flags handling. After this call, the <em>ef_id</em> is no longer valid and cannot be used. This can cause starvation of threads that are waiting for flags of this event object. The <em>ef_id</em> may be created again using the function <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>.</p>
+<p>Possible <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> return values:</p>
+<ul>
+<li><em>osOK:</em> the specified event flags object has been deleted.</li>
+<li><em>osErrorISR:</em> <b>osEventFlagsDelete</b> cannot be called from interrupt service routines.</li>
+<li><em>osErrorParameter:</em> the value of the parameter <em>ef_id</em> is incorrect.</li>
+<li><em>osErrorResource:</em> parameter <em>ef_id</em> is <span class="XML-Token">NULL</span> or wrong.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga59f4ddf0ee8c395b1672bb978d1cfc88"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const char * osEventFlagsGetName </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
+ <td class="paramname"><em>ef_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>name as null-terminated string.</dd></dl>
+<p>The function <b>osEventFlagsGetName</b> returns the pointer to the name string of the event flags object identified by parameter <em>ef_id</em> or <span class="XML-Token">NULL</span> in case of an error.</p>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
+<p><b>Code Example</b> </p>
+<div class="fragment"><div class="line"><span class="keywordtype">void</span> EvtFlagsGetName_example (<span class="keywordtype">void</span>) {</div>
+<div class="line"> <span class="keywordtype">char</span> id; <span class="comment">// id of the event flags object</span></div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordtype">id</span> = <a class="code" href="group__CMSIS__RTOS__EventFlags.html#ga59f4ddf0ee8c395b1672bb978d1cfc88">osEventFlagsGetName</a> ();</div>
+<div class="line"> <span class="keywordflow">if</span> (<span class="keywordtype">id</span> == NULL) {</div>
+<div class="line"> <span class="comment">// Failed to get the event flags object name</span></div>
+<div class="line"> }</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/group__CMSIS__RTOS__EventFlags.js b/docs/RTOS2/html/group__CMSIS__RTOS__EventFlags.js
new file mode 100644
index 0000000..d51031c
--- /dev/null
+++ b/docs/RTOS2/html/group__CMSIS__RTOS__EventFlags.js
@@ -0,0 +1,17 @@
+var group__CMSIS__RTOS__EventFlags =
+[
+ [ "osEventFlagsAttr_t", "group__CMSIS__RTOS__EventFlags.html#structosEventFlagsAttr__t", [
+ [ "name", "group__CMSIS__RTOS__EventFlags.html#ab74e6bf80237ddc4109968cedc58c151", null ],
+ [ "attr_bits", "group__CMSIS__RTOS__EventFlags.html#a6e93b49cb79c12f768d72580c7731f30", null ],
+ [ "cb_mem", "group__CMSIS__RTOS__EventFlags.html#a1e100dc33d403841ed3c344e3397868e", null ],
+ [ "cb_size", "group__CMSIS__RTOS__EventFlags.html#aa55a4335d12dc2785dc00fdc292d1159", null ]
+ ] ],
+ [ "osEventFlagsId_t", "group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50", null ],
+ [ "osEventFlagsNew", "group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df", null ],
+ [ "osEventFlagsSet", "group__CMSIS__RTOS__EventFlags.html#ga33b71d14cecf90b4e72639dd19f23a5e", null ],
+ [ "osEventFlagsClear", "group__CMSIS__RTOS__EventFlags.html#ga93bf258ca0007c6641fbe8e4f2b8a1e5", null ],
+ [ "osEventFlagsGet", "group__CMSIS__RTOS__EventFlags.html#ga8bda3185f46bfd278cea8a6cf357677d", null ],
+ [ "osEventFlagsWait", "group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e", null ],
+ [ "osEventFlagsDelete", "group__CMSIS__RTOS__EventFlags.html#ga7c4acf2fb0d506ec82905dee53fb5435", null ],
+ [ "osEventFlagsGetName", "group__CMSIS__RTOS__EventFlags.html#ga59f4ddf0ee8c395b1672bb978d1cfc88", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__CMSIS__RTOS__EventFlags_structosEventFlagsAttr__t.js b/docs/RTOS2/html/group__CMSIS__RTOS__EventFlags_structosEventFlagsAttr__t.js
new file mode 100644
index 0000000..1a29eaa
--- /dev/null
+++ b/docs/RTOS2/html/group__CMSIS__RTOS__EventFlags_structosEventFlagsAttr__t.js
@@ -0,0 +1,7 @@
+var group__CMSIS__RTOS__EventFlags_structosEventFlagsAttr__t =
+[
+ [ "name", "group__CMSIS__RTOS__EventFlags.html#ab74e6bf80237ddc4109968cedc58c151", null ],
+ [ "attr_bits", "group__CMSIS__RTOS__EventFlags.html#a6e93b49cb79c12f768d72580c7731f30", null ],
+ [ "cb_mem", "group__CMSIS__RTOS__EventFlags.html#a1e100dc33d403841ed3c344e3397868e", null ],
+ [ "cb_size", "group__CMSIS__RTOS__EventFlags.html#aa55a4335d12dc2785dc00fdc292d1159", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__CMSIS__RTOS__KernelCtrl.html b/docs/RTOS2/html/group__CMSIS__RTOS__KernelCtrl.html
new file mode 100644
index 0000000..7f2075b
--- /dev/null
+++ b/docs/RTOS2/html/group__CMSIS__RTOS__KernelCtrl.html
@@ -0,0 +1,813 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Kernel Information and Control</title>
+<title>CMSIS-RTOS2: Kernel Information and Control</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__CMSIS__RTOS__KernelCtrl.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#enum-members">Enumerations</a> &#124;
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">Kernel Information and Control<div class="ingroups"><a class="el" href="group__CMSIS__RTOS.html">CMSIS-RTOS API v2</a></div></div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Provides version/system information and starts/controls the RTOS Kernel.
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Structures</h2></td></tr>
+<tr class="memitem:structosVersion__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#structosVersion__t">osVersion_t</a></td></tr>
+<tr class="memdesc:structosVersion__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Version information. <a href="group__CMSIS__RTOS__KernelCtrl.html#structosVersion__t">More...</a><br/></td></tr>
+<tr class="separator:structosVersion__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr class="memitem:ga08326469274b668140ca934b168a5ad4"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga08326469274b668140ca934b168a5ad4">osKernelState_t</a> { <br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga08326469274b668140ca934b168a5ad4a2ad3e5912db47b497529d036c89e7995">osKernelInactive</a> = 0,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga08326469274b668140ca934b168a5ad4a0596c6e14113447604753656417c9a24">osKernelReady</a> = 1,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga08326469274b668140ca934b168a5ad4a8e0b699fbe1c8bb66fefadd5911cb6ce">osKernelRunning</a> = 2,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga08326469274b668140ca934b168a5ad4a2fe382ad5ebab2257b35740414b28b01">osKernelLocked</a> = 3,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga08326469274b668140ca934b168a5ad4ad364464ad84d63b1413a9ac8a962390c">osKernelSuspended</a> = 4,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga08326469274b668140ca934b168a5ad4a0545c92c18ce8e6b24e82a0d694a0b4a">osKernelError</a> = -1,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga08326469274b668140ca934b168a5ad4ab0a47576defa29396a649d9173d4bc4b">osKernelReserved</a> = 0x7FFFFFFFU
+<br/>
+ }</td></tr>
+<tr class="memdesc:ga08326469274b668140ca934b168a5ad4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Kernel state. <a href="group__CMSIS__RTOS__KernelCtrl.html#ga08326469274b668140ca934b168a5ad4">More...</a><br/></td></tr>
+<tr class="separator:ga08326469274b668140ca934b168a5ad4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:gae818f6611d25ba3140bede410a52d659"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659">osKernelInitialize</a> (void)</td></tr>
+<tr class="memdesc:gae818f6611d25ba3140bede410a52d659"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the RTOS Kernel. <a href="#gae818f6611d25ba3140bede410a52d659">More...</a><br/></td></tr>
+<tr class="separator:gae818f6611d25ba3140bede410a52d659"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6f7764e7250c5c5364c00c45a5d1d199"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga6f7764e7250c5c5364c00c45a5d1d199">osKernelGetInfo</a> (<a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#structosVersion__t">osVersion_t</a> *version, char *id_buf, uint32_t id_size)</td></tr>
+<tr class="memdesc:ga6f7764e7250c5c5364c00c45a5d1d199"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get RTOS Kernel Information. <a href="#ga6f7764e7250c5c5364c00c45a5d1d199">More...</a><br/></td></tr>
+<tr class="separator:ga6f7764e7250c5c5364c00c45a5d1d199"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga48b69b81012fce051f639be288b243ba"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga08326469274b668140ca934b168a5ad4">osKernelState_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga48b69b81012fce051f639be288b243ba">osKernelGetState</a> (void)</td></tr>
+<tr class="memdesc:ga48b69b81012fce051f639be288b243ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current RTOS Kernel state. <a href="#ga48b69b81012fce051f639be288b243ba">More...</a><br/></td></tr>
+<tr class="separator:ga48b69b81012fce051f639be288b243ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga9ae2cc00f0d89d7b6a307bba942b5221"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221">osKernelStart</a> (void)</td></tr>
+<tr class="memdesc:ga9ae2cc00f0d89d7b6a307bba942b5221"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start the RTOS Kernel scheduler. <a href="#ga9ae2cc00f0d89d7b6a307bba942b5221">More...</a><br/></td></tr>
+<tr class="separator:ga9ae2cc00f0d89d7b6a307bba942b5221"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga948609ee930d9b38336b9e1c2a4dfe12"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga948609ee930d9b38336b9e1c2a4dfe12">osKernelLock</a> (void)</td></tr>
+<tr class="memdesc:ga948609ee930d9b38336b9e1c2a4dfe12"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lock the RTOS Kernel scheduler. <a href="#ga948609ee930d9b38336b9e1c2a4dfe12">More...</a><br/></td></tr>
+<tr class="separator:ga948609ee930d9b38336b9e1c2a4dfe12"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf401728b4657456198c33fe75f8d6720"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gaf401728b4657456198c33fe75f8d6720">osKernelUnlock</a> (void)</td></tr>
+<tr class="memdesc:gaf401728b4657456198c33fe75f8d6720"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unlock the RTOS Kernel scheduler. <a href="#gaf401728b4657456198c33fe75f8d6720">More...</a><br/></td></tr>
+<tr class="separator:gaf401728b4657456198c33fe75f8d6720"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae7d0a71b9586cbbb49fcbdf6a04f0289"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae7d0a71b9586cbbb49fcbdf6a04f0289">osKernelRestoreLock</a> (int32_t lock)</td></tr>
+<tr class="memdesc:gae7d0a71b9586cbbb49fcbdf6a04f0289"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore the RTOS Kernel scheduler lock state. <a href="#gae7d0a71b9586cbbb49fcbdf6a04f0289">More...</a><br/></td></tr>
+<tr class="separator:gae7d0a71b9586cbbb49fcbdf6a04f0289"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae26683e1606ec633354a2876c68f0c1f"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae26683e1606ec633354a2876c68f0c1f">osKernelSuspend</a> (void)</td></tr>
+<tr class="memdesc:gae26683e1606ec633354a2876c68f0c1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Suspend the RTOS Kernel scheduler. <a href="#gae26683e1606ec633354a2876c68f0c1f">More...</a><br/></td></tr>
+<tr class="separator:gae26683e1606ec633354a2876c68f0c1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8c4b4d7ed34cab73c001665d9176aced"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga8c4b4d7ed34cab73c001665d9176aced">osKernelResume</a> (uint32_t sleep_ticks)</td></tr>
+<tr class="memdesc:ga8c4b4d7ed34cab73c001665d9176aced"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resume the RTOS Kernel scheduler. <a href="#ga8c4b4d7ed34cab73c001665d9176aced">More...</a><br/></td></tr>
+<tr class="separator:ga8c4b4d7ed34cab73c001665d9176aced"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga84bcdbf2fb76b10c8df4e439f0c7e11b"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga84bcdbf2fb76b10c8df4e439f0c7e11b">osKernelGetTickCount</a> (void)</td></tr>
+<tr class="memdesc:ga84bcdbf2fb76b10c8df4e439f0c7e11b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the RTOS kernel tick count. <a href="#ga84bcdbf2fb76b10c8df4e439f0c7e11b">More...</a><br/></td></tr>
+<tr class="separator:ga84bcdbf2fb76b10c8df4e439f0c7e11b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7a8d7bd927eaaa58999f91d7d6310cee"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga7a8d7bd927eaaa58999f91d7d6310cee">osKernelGetTickFreq</a> (void)</td></tr>
+<tr class="memdesc:ga7a8d7bd927eaaa58999f91d7d6310cee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the RTOS kernel tick frequency. <a href="#ga7a8d7bd927eaaa58999f91d7d6310cee">More...</a><br/></td></tr>
+<tr class="separator:ga7a8d7bd927eaaa58999f91d7d6310cee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae0fcaff6cecfb4013bb556c87afcd7d2"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae0fcaff6cecfb4013bb556c87afcd7d2">osKernelGetSysTimerCount</a> (void)</td></tr>
+<tr class="memdesc:gae0fcaff6cecfb4013bb556c87afcd7d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the RTOS kernel system timer count. <a href="#gae0fcaff6cecfb4013bb556c87afcd7d2">More...</a><br/></td></tr>
+<tr class="separator:gae0fcaff6cecfb4013bb556c87afcd7d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4d69215a93220f72be3684cad582f16a"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga4d69215a93220f72be3684cad582f16a">osKernelGetSysTimerFreq</a> (void)</td></tr>
+<tr class="memdesc:ga4d69215a93220f72be3684cad582f16a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the RTOS kernel system timer frequency. <a href="#ga4d69215a93220f72be3684cad582f16a">More...</a><br/></td></tr>
+<tr class="separator:ga4d69215a93220f72be3684cad582f16a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
+<p>The kernel Information and Control function group allows to:</p>
+<ul>
+<li>obtain information about the system and the underlying kernel.</li>
+<li>obtain version information about the CMSIS-RTOS API.</li>
+<li>initialize of the RTOS kernel for creating objects.</li>
+<li>start the RTOS kernel and thread switching.</li>
+<li>check the execution status of the RTOS kernel.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>The kernel information and control functions cannot be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd>
+<dd>
+The kernel initialization for RTX5 is documented in <a class="el" href="theory_of_operation.html#SystemStartup">System Startup</a>.</dd></dl>
+<p><b>Code Example</b> </p>
+<div class="fragment"><div class="line"><span class="comment">/*----------------------------------------------------------------------------</span></div>
+<div class="line"><span class="comment"> * Application main thread</span></div>
+<div class="line"><span class="comment"> *---------------------------------------------------------------------------*/</span></div>
+<div class="line"><span class="keywordtype">void</span> app_main (<span class="keywordtype">void</span> *argument) {</div>
+<div class="line"> </div>
+<div class="line"> <span class="comment">// ...</span></div>
+<div class="line"> <span class="keywordflow">for</span> (;;) {}</div>
+<div class="line">}</div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">int</span> main (<span class="keywordtype">void</span>) {</div>
+<div class="line"> </div>
+<div class="line"> <span class="comment">// System Initialization</span></div>
+<div class="line"> SystemCoreClockUpdate();</div>
+<div class="line"><span class="preprocessor">#ifdef RTE_Compiler_EventRecorder</span></div>
+<div class="line"><span class="preprocessor"></span> <span class="comment">// Initialize and start Event Recorder</span></div>
+<div class="line"> EventRecorderInitialize(EventRecordError, 1U);</div>
+<div class="line"><span class="preprocessor">#endif</span></div>
+<div class="line"><span class="preprocessor"></span> <span class="comment">// ...</span></div>
+<div class="line"> </div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659">osKernelInitialize</a>(); <span class="comment">// Initialize CMSIS-RTOS</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(app_main, NULL, NULL); <span class="comment">// Create application main thread</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221">osKernelStart</a>(); <span class="comment">// Start thread execution</span></div>
+<div class="line"> <span class="keywordflow">for</span> (;;) {}</div>
+<div class="line">}</div>
+</div><!-- fragment --> <hr/><h2 class="groupheader">Data Structure Documentation</h2>
+<a name="structosVersion__t" id="structosVersion__t"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osVersion_t</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"><p>Identifies the underlying RTOS kernel and API version number. The version is represented in a combined decimal number in the format: major.minor.rev: mmnnnrrrr</p>
+<p>Use <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga6f7764e7250c5c5364c00c45a5d1d199">osKernelGetInfo</a> to retrieve the version numbers. </p>
+</div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a76a1ef1a4d3d9bd3e70783051f22a6d3"></a>uint32_t</td>
+<td class="fieldname">
+api</td>
+<td class="fielddoc">
+API version (major.minor.rev: mmnnnrrrr dec). </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ad8075d3f42141346ae2c56389358f9e7"></a>uint32_t</td>
+<td class="fieldname">
+kernel</td>
+<td class="fielddoc">
+Kernel version (major.minor.rev: mmnnnrrrr dec). </td></tr>
+</table>
+
+</div>
+</div>
+<h2 class="groupheader">Enumeration Type Documentation</h2>
+<a class="anchor" id="ga08326469274b668140ca934b168a5ad4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga08326469274b668140ca934b168a5ad4">osKernelState_t</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>State of the kernel as retrieved by <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga48b69b81012fce051f639be288b243ba">osKernelGetState</a>. In case <b>osKernelGetState</b> fails or if it is called from an ISR, it will return <code>osKernelError</code>, otherwise it returns the kernel state. </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ga08326469274b668140ca934b168a5ad4a2ad3e5912db47b497529d036c89e7995"></a>osKernelInactive</em>&#160;</td><td class="fielddoc">
+<p>Inactive. </p>
+<p>The kernel is not ready yet. <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659">osKernelInitialize</a> needs to be executed successfully. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="ga08326469274b668140ca934b168a5ad4a0596c6e14113447604753656417c9a24"></a>osKernelReady</em>&#160;</td><td class="fielddoc">
+<p>Ready. </p>
+<p>The kernel is not yet running. <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221">osKernelStart</a> transfers the kernel to the running state. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="ga08326469274b668140ca934b168a5ad4a8e0b699fbe1c8bb66fefadd5911cb6ce"></a>osKernelRunning</em>&#160;</td><td class="fielddoc">
+<p>Running. </p>
+<p>The kernel is initialized and running. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="ga08326469274b668140ca934b168a5ad4a2fe382ad5ebab2257b35740414b28b01"></a>osKernelLocked</em>&#160;</td><td class="fielddoc">
+<p>Locked. </p>
+<p>The kernel was locked with <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga948609ee930d9b38336b9e1c2a4dfe12">osKernelLock</a>. The functions <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gaf401728b4657456198c33fe75f8d6720">osKernelUnlock</a> or <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae7d0a71b9586cbbb49fcbdf6a04f0289">osKernelRestoreLock</a> unlocks it. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="ga08326469274b668140ca934b168a5ad4ad364464ad84d63b1413a9ac8a962390c"></a>osKernelSuspended</em>&#160;</td><td class="fielddoc">
+<p>Suspended. </p>
+<p>The kernel was suspended using <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae26683e1606ec633354a2876c68f0c1f">osKernelSuspend</a>. The function <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga8c4b4d7ed34cab73c001665d9176aced">osKernelResume</a> returns to normal operation. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="ga08326469274b668140ca934b168a5ad4a0545c92c18ce8e6b24e82a0d694a0b4a"></a>osKernelError</em>&#160;</td><td class="fielddoc">
+<p>Error. </p>
+<p>An error occurred. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="ga08326469274b668140ca934b168a5ad4ab0a47576defa29396a649d9173d4bc4b"></a>osKernelReserved</em>&#160;</td><td class="fielddoc">
+<p>Prevents enum down-size compiler optimization. </p>
+<p>Reserved. </p>
+</td></tr>
+</table>
+
+</div>
+</div>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="gae818f6611d25ba3140bede410a52d659"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> osKernelInitialize </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>status code that indicates the execution status of the function.</dd></dl>
+<p>The function <b>osKernelInitialize</b> initializes the RTOS Kernel. Before it is successfully executed, only the functions <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga6f7764e7250c5c5364c00c45a5d1d199">osKernelGetInfo</a> and <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga48b69b81012fce051f639be288b243ba">osKernelGetState</a> may be called.</p>
+<p>Possible <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> return values:</p>
+<ul>
+<li><em>osOK</em> in case of success.</li>
+<li><em>osError</em> if an unspecific error occurred.</li>
+<li><em>osErrorISR</em> if called from an <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routine</a>.</li>
+<li><em>osErrorNoMemory</em> if no memory could be reserved for the operation.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
+<p><b> Code Example</b> </p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;RTE_Components.h&quot;</span></div>
+<div class="line"><span class="preprocessor">#include CMSIS_device_header</span></div>
+<div class="line"><span class="preprocessor"></span><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
+<div class="line"> </div>
+<div class="line"><span class="comment">/*----------------------------------------------------------------------------</span></div>
+<div class="line"><span class="comment"> * Application main thread</span></div>
+<div class="line"><span class="comment"> *---------------------------------------------------------------------------*/</span></div>
+<div class="line"><span class="keywordtype">void</span> app_main (<span class="keywordtype">void</span> *argument) {</div>
+<div class="line"> </div>
+<div class="line"> <span class="comment">// ...</span></div>
+<div class="line"> <span class="keywordflow">for</span> (;;) {}</div>
+<div class="line">}</div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">int</span> main (<span class="keywordtype">void</span>) {</div>
+<div class="line"> </div>
+<div class="line"> <span class="comment">// System Initialization</span></div>
+<div class="line"> SystemCoreClockUpdate();</div>
+<div class="line"> <span class="comment">// ...</span></div>
+<div class="line"> </div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659">osKernelInitialize</a>(); <span class="comment">// Initialize CMSIS-RTOS</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(app_main, NULL, NULL); <span class="comment">// Create application main thread</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221">osKernelStart</a>(); <span class="comment">// Start thread execution</span></div>
+<div class="line"> <span class="keywordflow">for</span> (;;) {}</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ga6f7764e7250c5c5364c00c45a5d1d199"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> osKernelGetInfo </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#structosVersion__t">osVersion_t</a> *&#160;</td>
+ <td class="paramname"><em>version</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&#160;</td>
+ <td class="paramname"><em>id_buf</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>id_size</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[out]</td><td class="paramname">version</td><td>pointer to buffer for retrieving version information. </td></tr>
+ <tr><td class="paramdir">[out]</td><td class="paramname">id_buf</td><td>pointer to buffer for retrieving kernel identification string. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">id_size</td><td>size of buffer for kernel identification string. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>status code that indicates the execution status of the function.</dd></dl>
+<p>The function <b>osKernelGetInfo</b> retrieves the API and kernel version of the underlying RTOS kernel and a human readable identifier string for the kernel. It can be safely called before the RTOS is initialized or started (call to <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659">osKernelInitialize</a> or <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221">osKernelStart</a>).</p>
+<p>Possible <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> return values:</p>
+<ul>
+<li><em>osOK</em> in case of success.</li>
+<li><em>osError</em> if an unspecific error occurred.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>This function may be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
+<p><b>Code Example</b> </p>
+<div class="fragment"><div class="line"><span class="keywordtype">void</span> info (<span class="keywordtype">void</span>) {</div>
+<div class="line"> <span class="keywordtype">char</span> infobuf[100];</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#structosVersion__t">osVersion_t</a> osv;</div>
+<div class="line"> osStatus_t status;</div>
+<div class="line"> </div>
+<div class="line"> status = <a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#ga6f7764e7250c5c5364c00c45a5d1d199">osKernelGetInfo</a>(&amp;osv, infobuf, <span class="keyword">sizeof</span>(infobuf));</div>
+<div class="line"> <span class="keywordflow">if</span>(status == <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f">osOK</a>) {</div>
+<div class="line"> printf(<span class="stringliteral">&quot;Kernel Information: %s\r\n&quot;</span>, infobuf);</div>
+<div class="line"> printf(<span class="stringliteral">&quot;Kernel Version : %d\r\n&quot;</span>, osv.<a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#ad8075d3f42141346ae2c56389358f9e7">kernel</a>);</div>
+<div class="line"> printf(<span class="stringliteral">&quot;Kernel API Version: %d\r\n&quot;</span>, osv.<a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#a76a1ef1a4d3d9bd3e70783051f22a6d3">api</a>);</div>
+<div class="line"> }</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ga48b69b81012fce051f639be288b243ba"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga08326469274b668140ca934b168a5ad4">osKernelState_t</a> osKernelGetState </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>current RTOS Kernel state.</dd></dl>
+<p>The function <b>osKernelGetState</b> returns the current state of the kernel and can be safely called before the RTOS is initialized or started (call to <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659">osKernelInitialize</a> or <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221">osKernelStart</a>). In case it fails it will return <code>osKernelError</code>, otherwise it returns the kernel state (refer to <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga08326469274b668140ca934b168a5ad4">osKernelState_t</a> for the list of kernel states).</p>
+<p>Possible <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga08326469274b668140ca934b168a5ad4">osKernelState_t</a> return values:</p>
+<ul>
+<li><a class="el" href="cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a0545c92c18ce8e6b24e82a0d694a0b4a">osKernelError</a> if an unspecific error occurred.</li>
+<li>the actual kernel state otherwise.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>This function may be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
+<p><b>Code Example</b> </p>
+<div class="fragment"><div class="line"><span class="keywordtype">int</span> main (<span class="keywordtype">void</span>) {</div>
+<div class="line"> <span class="comment">// System Initialization</span></div>
+<div class="line"> SystemCoreClockUpdate();</div>
+<div class="line"> <span class="comment">// ...</span></div>
+<div class="line"> <span class="keywordflow">if</span>(<a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#ga48b69b81012fce051f639be288b243ba">osKernelGetState</a>() == <a class="code" href="cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a2ad3e5912db47b497529d036c89e7995">osKernelInactive</a>) { <span class="comment">// Is the kernel initialized?</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659">osKernelInitialize</a>(); <span class="comment">// Initialize CMSIS-RTOS kernel</span></div>
+<div class="line"> }</div>
+<div class="line"> ;</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ga9ae2cc00f0d89d7b6a307bba942b5221"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> osKernelStart </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>status code that indicates the execution status of the function.</dd></dl>
+<p>The function <b>osKernelStart</b> starts the RTOS kernel and begins thread switching. It will not return to its calling function in case of success. Before it is successfully executed, only the functions <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga6f7764e7250c5c5364c00c45a5d1d199">osKernelGetInfo</a>, <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga48b69b81012fce051f639be288b243ba">osKernelGetState</a>, and object creation functions (<b>osXxxNew</b>) may be called.</p>
+<p>At least one initial thread should be created prior osKernelStart, see <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>.</p>
+<p>Possible <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> return values:</p>
+<ul>
+<li><em>osError</em> if an unspecific error occurred.</li>
+<li><em>osErrorISR</em> if called from an <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routine</a>.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
+<p><b>Code Example</b> </p>
+<div class="fragment"><div class="line"><span class="keywordtype">int</span> main (<span class="keywordtype">void</span>) {</div>
+<div class="line"> <span class="comment">// System Initialization</span></div>
+<div class="line"> SystemCoreClockUpdate();</div>
+<div class="line"> <span class="comment">// ...</span></div>
+<div class="line"> <span class="keywordflow">if</span>(<a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#ga48b69b81012fce051f639be288b243ba">osKernelGetState</a>() == <a class="code" href="cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a2ad3e5912db47b497529d036c89e7995">osKernelInactive</a>) {</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659">osKernelInitialize</a>();</div>
+<div class="line"> }</div>
+<div class="line"> ; <span class="comment">// ... Start Threads</span></div>
+<div class="line"> <span class="keywordflow">if</span> (<a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#ga48b69b81012fce051f639be288b243ba">osKernelGetState</a>() == <a class="code" href="cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a0596c6e14113447604753656417c9a24">osKernelReady</a>) { <span class="comment">// If kernel is ready to run...</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221">osKernelStart</a>(); <span class="comment">// ... start thread execution</span></div>
+<div class="line"> }</div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordflow">while</span>(1); <span class="comment">// only reached in case of error</span></div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ga948609ee930d9b38336b9e1c2a4dfe12"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int32_t osKernelLock </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>previous lock state (1 - locked, 0 - not locked, error code if negative).</dd></dl>
+<p>The function <b>osKernelLock</b> allows to lock all task switches. It returns the previous value of the lock state (<span class="XML-Token">1</span> if it was locked, <span class="XML-Token">0</span> if it was unlocked), or a negative number representing an error code otherwise (refer to <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>).</p>
+<p>Possible <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> return values:</p>
+<ul>
+<li><em>osError</em> if an unspecific error occurred.</li>
+<li><em>osErrorISR</em> if called from an <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routine</a>.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
+<p><b>Code Example</b> </p>
+<div class="fragment"><div class="line">int32_t state = <a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#ga948609ee930d9b38336b9e1c2a4dfe12">osKernelLock</a>();</div>
+<div class="line"><span class="comment">// ... critical code</span></div>
+<div class="line">osKernelRestore(state);</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="gaf401728b4657456198c33fe75f8d6720"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int32_t osKernelUnlock </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>previous lock state (1 - locked, 0 - not locked, error code if negative).</dd></dl>
+<p>The function <b>osKernelUnlock</b> resumes from <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga948609ee930d9b38336b9e1c2a4dfe12">osKernelLock</a>. It returns the previous value of the lock state (<span class="XML-Token">1</span> if it was locked, <span class="XML-Token">0</span> if it was unlocked), or a negative number representing an error code otherwise (refer to <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>).</p>
+<p>Possible <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> return values:</p>
+<ul>
+<li><em>osError</em> if an unspecific error occurred.</li>
+<li><em>osErrorISR</em> if called from an <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routine</a>.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
+<p><b>Code Example</b> </p>
+<div class="fragment"><div class="line">int32_t sl = <a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#ga948609ee930d9b38336b9e1c2a4dfe12">osKernelLock</a>();</div>
+<div class="line"><span class="comment">// ... critical code</span></div>
+<div class="line">{</div>
+<div class="line"> int32_t su = <a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#gaf401728b4657456198c33fe75f8d6720">osKernelUnlock</a>();</div>
+<div class="line"> <span class="comment">// ... uncritical code</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#gae7d0a71b9586cbbb49fcbdf6a04f0289">osKernelRestoreLock</a>(su);</div>
+<div class="line">}</div>
+<div class="line"><span class="comment">// ... critical code</span></div>
+<div class="line"><a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#gae7d0a71b9586cbbb49fcbdf6a04f0289">osKernelRestoreLock</a>(sl);</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="gae7d0a71b9586cbbb49fcbdf6a04f0289"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int32_t osKernelRestoreLock </td>
+ <td>(</td>
+ <td class="paramtype">int32_t&#160;</td>
+ <td class="paramname"><em>lock</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">lock</td><td>lock state obtained by <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga948609ee930d9b38336b9e1c2a4dfe12">osKernelLock</a> or <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gaf401728b4657456198c33fe75f8d6720">osKernelUnlock</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>new lock state (1 - locked, 0 - not locked, error code if negative).</dd></dl>
+<p>The function <b>osKernelRestoreLock</b> restores the previous lock state after <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga948609ee930d9b38336b9e1c2a4dfe12">osKernelLock</a> or <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gaf401728b4657456198c33fe75f8d6720">osKernelUnlock</a>.</p>
+<p>The argument <em>lock</em> specifies the lock state as obtained by <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga948609ee930d9b38336b9e1c2a4dfe12">osKernelLock</a> or <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gaf401728b4657456198c33fe75f8d6720">osKernelUnlock</a>.</p>
+<p>The function returns the new value of the lock state (<span class="XML-Token">1</span> if it was locked, <span class="XML-Token">0</span> if it was unlocked), or a negative number representing an error code otherwise (refer to <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>).</p>
+<p>Possible <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> return values:</p>
+<ul>
+<li><em>osError</em> if an unspecific error occurred.</li>
+<li><em>osErrorISR</em> if called from an <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routine</a>.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
+<p><b>Code Example</b> </p>
+<div class="fragment"><div class="line">int32_t sl = <a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#ga948609ee930d9b38336b9e1c2a4dfe12">osKernelLock</a>();</div>
+<div class="line"><span class="comment">// ... critical code</span></div>
+<div class="line">{</div>
+<div class="line"> int32_t su = <a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#gaf401728b4657456198c33fe75f8d6720">osKernelUnlock</a>();</div>
+<div class="line"> <span class="comment">// ... uncritical code</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#gae7d0a71b9586cbbb49fcbdf6a04f0289">osKernelRestoreLock</a>(su);</div>
+<div class="line">}</div>
+<div class="line"><span class="comment">// ... critical code</span></div>
+<div class="line"><a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#gae7d0a71b9586cbbb49fcbdf6a04f0289">osKernelRestoreLock</a>(sl);</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="gae26683e1606ec633354a2876c68f0c1f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint32_t osKernelSuspend </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>time in ticks, for how long the system can sleep or power-down.</dd></dl>
+<p>CMSIS-RTOS provides extension for tick-less operation which is useful for applications that use extensively low-power modes where the SysTick timer is also disabled. To provide a time-tick in such power-saving modes a wake-up timer is used to derive timer intervals. The function <b>osKernelSuspend</b> suspends the RTX kernel scheduler and thus enables sleep modes.</p>
+<p>The return value can be used to determine the amount of system ticks until the next tick-based kernel event will occure, i.e. a delayed thread becomed ready again. It is recommended to set up the low power timer to generate a wake-up interrupt based on this return value.</p>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
+<p><b>Code Example</b> </p>
+<div class="fragment"><div class="line"><span class="keywordtype">void</span> <a class="code" href="group__rtx5__specific__functions.html#ga074068b8efa7074cee68a71481d0b072">osRtxIdleThread</a> (<span class="keywordtype">void</span>) {</div>
+<div class="line"> <span class="comment">/* The idle thread is running</span></div>
+<div class="line"><span class="comment"> when no other thread is ready</span></div>
+<div class="line"><span class="comment"> to run. */</span></div>
+<div class="line"> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> sleep;</div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordflow">for</span> (;;) {</div>
+<div class="line"> <span class="comment">/* HERE: include optional user</span></div>
+<div class="line"><span class="comment"> code to be executed when no</span></div>
+<div class="line"><span class="comment"> task runs. */</span></div>
+<div class="line"> sleep = <a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#gae26683e1606ec633354a2876c68f0c1f">osKernelSuspend</a>(); <span class="comment">/* Suspend RTX thread scheduler */</span></div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordflow">if</span> (sleep) { <span class="comment">/* How long can we sleep? */</span></div>
+<div class="line"> <span class="comment">/* &quot;sleep&quot; is in RTX Timer Ticks</span></div>
+<div class="line"><span class="comment"> which is 1ms in this</span></div>
+<div class="line"><span class="comment"> configuration */</span></div>
+<div class="line"> </div>
+<div class="line"> <span class="comment">/* Setup wake-up e.g. watchdog */</span></div>
+<div class="line"> </div>
+<div class="line"> __WFE(); <span class="comment">/* Enter Power-down mode */</span></div>
+<div class="line"> </div>
+<div class="line"> <span class="comment">/* After Wake-up */</span></div>
+<div class="line"> sleep = tc; <span class="comment">/* Adjust with cycles slept */</span> </div>
+<div class="line"> }</div>
+<div class="line"> </div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#ga8c4b4d7ed34cab73c001665d9176aced">osKernelResume</a>(sleep); <span class="comment">/* Resume thread scheduler */</span></div>
+<div class="line"> }</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ga8c4b4d7ed34cab73c001665d9176aced"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void osKernelResume </td>
+ <td>(</td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>sleep_ticks</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">sleep_ticks</td><td>time in ticks for how long the system was in sleep or power-down mode.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>CMSIS-RTOS provides extension for tick-less operation which is useful for applications that use extensively low-power modes where the SysTick timer is also disabled. To provide a time-tick in such power-saving modes a wake-up timer is used to derive timer intervals. The function <b>osKernelResume</b> enables the RTX kernel scheduler and thus wakes up the system from sleep mode.</p>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
+<p><b>Code Example</b> </p>
+<div class="fragment"><div class="line"><span class="keywordtype">void</span> <a class="code" href="group__rtx5__specific__functions.html#ga074068b8efa7074cee68a71481d0b072">osRtxIdleThread</a> (<span class="keywordtype">void</span>) {</div>
+<div class="line"> <span class="comment">/* The idle thread is running</span></div>
+<div class="line"><span class="comment"> when no other thread is ready</span></div>
+<div class="line"><span class="comment"> to run. */</span></div>
+<div class="line"> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> sleep;</div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordflow">for</span> (;;) {</div>
+<div class="line"> <span class="comment">/* HERE: include optional user</span></div>
+<div class="line"><span class="comment"> code to be executed when no</span></div>
+<div class="line"><span class="comment"> task runs. */</span></div>
+<div class="line"> sleep = <a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#gae26683e1606ec633354a2876c68f0c1f">osKernelSuspend</a>(); <span class="comment">/* Suspend RTX thread scheduler */</span></div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordflow">if</span> (sleep) { <span class="comment">/* How long can we sleep? */</span></div>
+<div class="line"> <span class="comment">/* &quot;sleep&quot; is in RTX Timer Ticks</span></div>
+<div class="line"><span class="comment"> which is 1ms in this</span></div>
+<div class="line"><span class="comment"> configuration */</span></div>
+<div class="line"> </div>
+<div class="line"> <span class="comment">/* Setup wake-up e.g. watchdog */</span></div>
+<div class="line"> </div>
+<div class="line"> __WFE(); <span class="comment">/* Enter Power-down mode */</span></div>
+<div class="line"> </div>
+<div class="line"> <span class="comment">/* After Wake-up */</span></div>
+<div class="line"> sleep = tc; <span class="comment">/* Adjust with cycles slept */</span> </div>
+<div class="line"> }</div>
+<div class="line"> </div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#ga8c4b4d7ed34cab73c001665d9176aced">osKernelResume</a>(sleep); <span class="comment">/* Resume thread scheduler */</span></div>
+<div class="line"> }</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ga84bcdbf2fb76b10c8df4e439f0c7e11b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint32_t osKernelGetTickCount </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>RTOS kernel current tick count.</dd></dl>
+<p>The function <b>osKernelGetTickCount</b> returns the current RTOS kernel tick count.</p>
+<dl class="section note"><dt>Note</dt><dd>This function may be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
+<p><b>Code</b> <b>Example</b> </p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> Thread_1 (<span class="keywordtype">void</span> *arg) { <span class="comment">// Thread function</span></div>
+<div class="line"> uint32_t tick;</div>
+<div class="line"></div>
+<div class="line"> tick = <a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#ga84bcdbf2fb76b10c8df4e439f0c7e11b">osKernelGetTickCount</a>(); <span class="comment">// retrieve the number of system ticks</span></div>
+<div class="line"> <span class="keywordflow">for</span> (;;) {</div>
+<div class="line"> tick += 1000; <span class="comment">// delay 1000 ticks periodically</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__Wait.html#ga3c807924c2d6d43bc2ffb49da3f7f3a1">osDelayUntil</a>(tick);</div>
+<div class="line"> <span class="comment">// ...</span></div>
+<div class="line"> }</div>
+<div class="line">}</div>
+</div><!-- fragment --><p>Due to the limited value range used for the tick count it may overflow during runtime, i.e. after 2<sup>32</sup> ticks which are roughly 49days @ 1ms. Typically one has not to take special care of this unless a monotonic counter is needed. For such a case an additional 64bit tick counter can be implemented as follows. The given example needs GetTick() called at least twice per tick overflow to work properly.</p>
+<p><b>Code</b> <b>Example</b> </p>
+<div class="fragment"><div class="line">uint64_t GetTick(<span class="keywordtype">void</span>) {</div>
+<div class="line"> <span class="keyword">static</span> uint32_t tick_h = 0U;</div>
+<div class="line"> <span class="keyword">static</span> uint32_t tick_l = 0U;</div>
+<div class="line"> uint32_t tick;</div>
+<div class="line"></div>
+<div class="line"> tick = <a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#ga84bcdbf2fb76b10c8df4e439f0c7e11b">osKernelGetTickCount</a>();</div>
+<div class="line"> <span class="keywordflow">if</span> (tick &lt; tick_l) {</div>
+<div class="line"> tick_h++;</div>
+<div class="line"> }</div>
+<div class="line"> tick_l = tick;</div>
+<div class="line"></div>
+<div class="line"> <span class="keywordflow">return</span> (((uint64_t)tick_h &lt;&lt; 32) | tick_l);</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ga7a8d7bd927eaaa58999f91d7d6310cee"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint32_t osKernelGetTickFreq </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>frequency of the kernel tick in hertz, i.e. kernel ticks per second.</dd></dl>
+<p>The function <b>osKernelGetTickFreq</b> returns the frequency of the current RTOS kernel tick.</p>
+<dl class="section note"><dt>Note</dt><dd>This function may be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gae0fcaff6cecfb4013bb556c87afcd7d2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint32_t osKernelGetSysTimerCount </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>RTOS kernel current system timer count as 32-bit value.</dd></dl>
+<p>The function <b>osKernelGetSysTimerCount</b> returns the current RTOS kernel system timer as a 32-bit value.</p>
+<dl class="section note"><dt>Note</dt><dd>This function may be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga4d69215a93220f72be3684cad582f16a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint32_t osKernelGetSysTimerFreq </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>frequency of the system timer in hertz, i.e. timer ticks per second.</dd></dl>
+<p>The function <b>osKernelGetSysTimerFreq</b> returns the frequency of the current RTOS kernel system timer.</p>
+<dl class="section note"><dt>Note</dt><dd>This function may be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/group__CMSIS__RTOS__KernelCtrl.js b/docs/RTOS2/html/group__CMSIS__RTOS__KernelCtrl.js
new file mode 100644
index 0000000..19f988e
--- /dev/null
+++ b/docs/RTOS2/html/group__CMSIS__RTOS__KernelCtrl.js
@@ -0,0 +1,29 @@
+var group__CMSIS__RTOS__KernelCtrl =
+[
+ [ "osVersion_t", "group__CMSIS__RTOS__KernelCtrl.html#structosVersion__t", [
+ [ "api", "group__CMSIS__RTOS__KernelCtrl.html#a76a1ef1a4d3d9bd3e70783051f22a6d3", null ],
+ [ "kernel", "group__CMSIS__RTOS__KernelCtrl.html#ad8075d3f42141346ae2c56389358f9e7", null ]
+ ] ],
+ [ "osKernelState_t", "group__CMSIS__RTOS__KernelCtrl.html#ga08326469274b668140ca934b168a5ad4", [
+ [ "osKernelInactive", "cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a2ad3e5912db47b497529d036c89e7995", null ],
+ [ "osKernelReady", "cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a0596c6e14113447604753656417c9a24", null ],
+ [ "osKernelRunning", "cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a8e0b699fbe1c8bb66fefadd5911cb6ce", null ],
+ [ "osKernelLocked", "cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a2fe382ad5ebab2257b35740414b28b01", null ],
+ [ "osKernelSuspended", "cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4ad364464ad84d63b1413a9ac8a962390c", null ],
+ [ "osKernelError", "cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a0545c92c18ce8e6b24e82a0d694a0b4a", null ],
+ [ "osKernelReserved", "cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4ab0a47576defa29396a649d9173d4bc4b", null ]
+ ] ],
+ [ "osKernelInitialize", "group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659", null ],
+ [ "osKernelGetInfo", "group__CMSIS__RTOS__KernelCtrl.html#ga6f7764e7250c5c5364c00c45a5d1d199", null ],
+ [ "osKernelGetState", "group__CMSIS__RTOS__KernelCtrl.html#ga48b69b81012fce051f639be288b243ba", null ],
+ [ "osKernelStart", "group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221", null ],
+ [ "osKernelLock", "group__CMSIS__RTOS__KernelCtrl.html#ga948609ee930d9b38336b9e1c2a4dfe12", null ],
+ [ "osKernelUnlock", "group__CMSIS__RTOS__KernelCtrl.html#gaf401728b4657456198c33fe75f8d6720", null ],
+ [ "osKernelRestoreLock", "group__CMSIS__RTOS__KernelCtrl.html#gae7d0a71b9586cbbb49fcbdf6a04f0289", null ],
+ [ "osKernelSuspend", "group__CMSIS__RTOS__KernelCtrl.html#gae26683e1606ec633354a2876c68f0c1f", null ],
+ [ "osKernelResume", "group__CMSIS__RTOS__KernelCtrl.html#ga8c4b4d7ed34cab73c001665d9176aced", null ],
+ [ "osKernelGetTickCount", "group__CMSIS__RTOS__KernelCtrl.html#ga84bcdbf2fb76b10c8df4e439f0c7e11b", null ],
+ [ "osKernelGetTickFreq", "group__CMSIS__RTOS__KernelCtrl.html#ga7a8d7bd927eaaa58999f91d7d6310cee", null ],
+ [ "osKernelGetSysTimerCount", "group__CMSIS__RTOS__KernelCtrl.html#gae0fcaff6cecfb4013bb556c87afcd7d2", null ],
+ [ "osKernelGetSysTimerFreq", "group__CMSIS__RTOS__KernelCtrl.html#ga4d69215a93220f72be3684cad582f16a", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__CMSIS__RTOS__KernelCtrl_structosVersion__t.js b/docs/RTOS2/html/group__CMSIS__RTOS__KernelCtrl_structosVersion__t.js
new file mode 100644
index 0000000..64ecd5d
--- /dev/null
+++ b/docs/RTOS2/html/group__CMSIS__RTOS__KernelCtrl_structosVersion__t.js
@@ -0,0 +1,5 @@
+var group__CMSIS__RTOS__KernelCtrl_structosVersion__t =
+[
+ [ "api", "group__CMSIS__RTOS__KernelCtrl.html#a76a1ef1a4d3d9bd3e70783051f22a6d3", null ],
+ [ "kernel", "group__CMSIS__RTOS__KernelCtrl.html#ad8075d3f42141346ae2c56389358f9e7", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__CMSIS__RTOS__MemoryMgmt.html b/docs/RTOS2/html/group__CMSIS__RTOS__MemoryMgmt.html
new file mode 100644
index 0000000..be44ec0
--- /dev/null
+++ b/docs/RTOS2/html/group__CMSIS__RTOS__MemoryMgmt.html
@@ -0,0 +1,183 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Memory Management</title>
+<title>CMSIS-RTOS2: Memory Management</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__CMSIS__RTOS__MemoryMgmt.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">Memory Management<div class="ingroups"><a class="el" href="group__CMSIS__RTOS.html">CMSIS-RTOS API v2</a></div></div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Information about memory management possibilities.
+<a href="#details">More...</a></p>
+<p>The <a class="el" href="group__CMSIS__RTOS.html">CMSIS-RTOS API v2</a> offers two options for memory management the user can choose. For object storage one can either use</p>
+<ul>
+<li><a class="el" href="group__CMSIS__RTOS__MemoryMgmt.html#CMSIS_RTOS_MemoryMgmt_Automatic">Automatic Dynamic Allocation</a> (fully portable), or</li>
+<li><a class="el" href="group__CMSIS__RTOS__MemoryMgmt.html#CMSIS_RTOS_MemoryMgmt_Manual">Manual User-defined Allocation</a> (implementation specific).</li>
+</ul>
+<p>In order to affect the memory allocation scheme all RTOS objects that can be created on request, i.e. those having a <code>osXxxNew</code> function, accept an optional <code>osXxxAttr_t attr</code> argument on creation. As a rule of thumb the object attributes at least have members to assign custom control block memory, i.e. <code>cb_mem</code> and <code>cb_size</code> members. By default, i.e. <code>attr</code> is <code>NULL</code> or <code>cb_mem</code> is <code>NULL</code>, <a class="el" href="group__CMSIS__RTOS__MemoryMgmt.html#CMSIS_RTOS_MemoryMgmt_Automatic">Automatic Dynamic Allocation</a> is used. Providing a pointer to user memory in <code>cb_mem</code> switches to <a class="el" href="group__CMSIS__RTOS__MemoryMgmt.html#CMSIS_RTOS_MemoryMgmt_Manual">Manual User-defined Allocation</a>.</p>
+<dl class="section note"><dt>Note</dt><dd>For detailed information about memory allocation strategies provided in RTX5 refer to <a class="el" href="theory_of_operation.html#MemoryAllocation">Memory Allocation</a>.</dd></dl>
+<h1><a class="anchor" id="CMSIS_RTOS_MemoryMgmt_Automatic"></a>
+Automatic Dynamic Allocation</h1>
+<p>The automatic allocation is the default and viable for many use-cases. Moreover it is fully portable across different implementations of the <a class="el" href="group__CMSIS__RTOS.html">CMSIS-RTOS API v2</a>. The common drawback of dynamic memory allocation is the possibility of memory fragmentation and exhaustion. Given that all needed objects are created once upon system initialization and never deleted at runtime this class of runtime failures can be prevented, though.</p>
+<p>The actual allocation strategy used is implementation specific, i.e. whether global heap or preallocated memory pools are used.</p>
+<p><b> Code Example:</b> </p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span> <span class="comment">// implementation agnostic</span></div>
+<div class="line"> </div>
+<div class="line"><a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id;</div>
+<div class="line"><a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex2_id;</div>
+<div class="line"> </div>
+<div class="line"><span class="keyword">const</span> <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#structosMutexAttr__t">osMutexAttr_t</a> Thread_Mutex_attr = {</div>
+<div class="line"> <span class="stringliteral">&quot;myThreadMutex&quot;</span>, <span class="comment">// human readable mutex name</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga65c2482cc64a35d03871f3180f305926">osMutexRecursive</a> | <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga40fba270cb31a977b3bd551d41eb9599">osMutexPrioInherit</a>, <span class="comment">// attr_bits</span></div>
+<div class="line"> NULL, <span class="comment">// memory for control block (default)</span></div>
+<div class="line"> 0U <span class="comment">// size for control block (default)</span></div>
+<div class="line">};</div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> CreateMutex (<span class="keywordtype">void</span>) {</div>
+<div class="line"> mutex_id = <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8">osMutexNew</a>(NULL); <span class="comment">// use default values for all attributes</span></div>
+<div class="line"> mutex2_id = <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8">osMutexNew</a>(&amp;Thread_Mutex_attr); <span class="comment">// use attributes from defined structure</span></div>
+<div class="line"> :</div>
+<div class="line">}</div>
+</div><!-- fragment --><p>The Mutexes in this example are created using automatic memory allocation.</p>
+<h1><a class="anchor" id="CMSIS_RTOS_MemoryMgmt_Manual"></a>
+Manual User-defined Allocation</h1>
+<p>One can get fine grained control over memory allocation by providing user-defined memory. The actual requirements such user-defined memory are implementation specific. Thus one needs to carefully refer to the size and alignment rules of the implementation used, e.g. for RTX see <a class="el" href="theory_of_operation.html#StaticObjectMemory">Static Object Memory</a>.</p>
+<p><b> Code Example:</b> </p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="rtx__os_8h.html">rtx_os.h</a>&quot;</span> <span class="comment">// implementation specific</span></div>
+<div class="line"> </div>
+<div class="line"><a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id;</div>
+<div class="line"> </div>
+<div class="line"><span class="keyword">static</span> uint32_t mutex_cb[<a class="code" href="group__rtx5__specific__defines.html#ga188bfaaf7477cf24cbc9f207feaeb53a">osRtxMutexCbSize</a>/4U]; <span class="comment">// implementation specific</span></div>
+<div class="line"> </div>
+<div class="line"><span class="keyword">const</span> <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#structosMutexAttr__t">osMutexAttr_t</a> Thread_Mutex_attr = {</div>
+<div class="line"> <span class="stringliteral">&quot;myThreadMutex&quot;</span>, <span class="comment">// human readable mutex name</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga65c2482cc64a35d03871f3180f305926">osMutexRecursive</a> | <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga40fba270cb31a977b3bd551d41eb9599">osMutexPrioInherit</a>, <span class="comment">// attr_bits</span></div>
+<div class="line"> mutex_cb, <span class="comment">// memory for control block (user-defined)</span></div>
+<div class="line"> <span class="keyword">sizeof</span>(mutex_cb) <span class="comment">// size for control block (user-defined)</span></div>
+<div class="line">};</div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> CreateMutex (<span class="keywordtype">void</span>) {</div>
+<div class="line"> mutex_id = <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8">osMutexNew</a>(&amp;Thread_Mutex_attr); <span class="comment">// use attributes from defined structure</span></div>
+<div class="line"> :</div>
+<div class="line">}</div>
+</div><!-- fragment --><p>The above example uses user-defined memory for the mutex control block. Depending on the actual implementation used one needs to include the specific header file, <code><a class="el" href="rtx__os_8h.html">rtx_os.h</a></code> in this case. </p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/group__CMSIS__RTOS__Message.html b/docs/RTOS2/html/group__CMSIS__RTOS__Message.html
new file mode 100644
index 0000000..3684b6d
--- /dev/null
+++ b/docs/RTOS2/html/group__CMSIS__RTOS__Message.html
@@ -0,0 +1,675 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Message Queue</title>
+<title>CMSIS-RTOS2: Message Queue</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__CMSIS__RTOS__Message.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">Message Queue<div class="ingroups"><a class="el" href="group__CMSIS__RTOS.html">CMSIS-RTOS API v2</a></div></div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Exchange messages between threads in a FIFO-like operation.
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Structures</h2></td></tr>
+<tr class="memitem:structosMessageQueueAttr__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__Message.html#structosMessageQueueAttr__t">osMessageQueueAttr_t</a></td></tr>
+<tr class="memdesc:structosMessageQueueAttr__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attributes structure for message queue. <a href="group__CMSIS__RTOS__Message.html#structosMessageQueueAttr__t">More...</a><br/></td></tr>
+<tr class="separator:structosMessageQueueAttr__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga24e895a00f9d484db33aaf784c57bfed"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a> (uint32_t msg_count, uint32_t msg_size, const <a class="el" href="group__CMSIS__RTOS__Message.html#structosMessageQueueAttr__t">osMessageQueueAttr_t</a> *attr)</td></tr>
+<tr class="memdesc:ga24e895a00f9d484db33aaf784c57bfed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create and Initialize a Message Queue object. <a href="#ga24e895a00f9d484db33aaf784c57bfed">More...</a><br/></td></tr>
+<tr class="separator:ga24e895a00f9d484db33aaf784c57bfed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae7cf7bf2b97a5ae481fb60fcce99247a"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__Message.html#gae7cf7bf2b97a5ae481fb60fcce99247a">osMessageQueueGetName</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id)</td></tr>
+<tr class="memdesc:gae7cf7bf2b97a5ae481fb60fcce99247a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get name of a Message Queue object. <a href="#gae7cf7bf2b97a5ae481fb60fcce99247a">More...</a><br/></td></tr>
+<tr class="separator:gae7cf7bf2b97a5ae481fb60fcce99247a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa515fc8b956f721a8f72b2c505813bfc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__Message.html#gaa515fc8b956f721a8f72b2c505813bfc">osMessageQueuePut</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id, const void *msg_ptr, uint8_t msg_prio, uint32_t timeout)</td></tr>
+<tr class="memdesc:gaa515fc8b956f721a8f72b2c505813bfc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Put a Message into a Queue or timeout if Queue is full. <a href="#gaa515fc8b956f721a8f72b2c505813bfc">More...</a><br/></td></tr>
+<tr class="separator:gaa515fc8b956f721a8f72b2c505813bfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad90d4959466a7a65105061da8256ab9e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__Message.html#gad90d4959466a7a65105061da8256ab9e">osMessageQueueGet</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id, void *msg_ptr, uint8_t *msg_prio, uint32_t timeout)</td></tr>
+<tr class="memdesc:gad90d4959466a7a65105061da8256ab9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a Message from a Queue or timeout if Queue is empty. <a href="#gad90d4959466a7a65105061da8256ab9e">More...</a><br/></td></tr>
+<tr class="separator:gad90d4959466a7a65105061da8256ab9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac24f87d4f395e9e9c900c320e45ade8a"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__Message.html#gac24f87d4f395e9e9c900c320e45ade8a">osMessageQueueGetCapacity</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id)</td></tr>
+<tr class="memdesc:gac24f87d4f395e9e9c900c320e45ade8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get maximum number of messages in a Message Queue. <a href="#gac24f87d4f395e9e9c900c320e45ade8a">More...</a><br/></td></tr>
+<tr class="separator:gac24f87d4f395e9e9c900c320e45ade8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga96d3d84069b20359de48109e28a1a89e"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__Message.html#ga96d3d84069b20359de48109e28a1a89e">osMessageQueueGetMsgSize</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id)</td></tr>
+<tr class="memdesc:ga96d3d84069b20359de48109e28a1a89e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get maximum message size in a Memory Pool. <a href="#ga96d3d84069b20359de48109e28a1a89e">More...</a><br/></td></tr>
+<tr class="separator:ga96d3d84069b20359de48109e28a1a89e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6a32ac394fcff568b251c160cc3014b2"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__Message.html#ga6a32ac394fcff568b251c160cc3014b2">osMessageQueueGetCount</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id)</td></tr>
+<tr class="memdesc:ga6a32ac394fcff568b251c160cc3014b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get number of queued messages in a Message Queue. <a href="#ga6a32ac394fcff568b251c160cc3014b2">More...</a><br/></td></tr>
+<tr class="separator:ga6a32ac394fcff568b251c160cc3014b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaddf0904427436dd3880d46263c2dc9fa"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__Message.html#gaddf0904427436dd3880d46263c2dc9fa">osMessageQueueGetSpace</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id)</td></tr>
+<tr class="memdesc:gaddf0904427436dd3880d46263c2dc9fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get number of available slots for messages in a Message Queue. <a href="#gaddf0904427436dd3880d46263c2dc9fa">More...</a><br/></td></tr>
+<tr class="separator:gaddf0904427436dd3880d46263c2dc9fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac6dce7f9ad132d266292c2e979d861b4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__Message.html#gac6dce7f9ad132d266292c2e979d861b4">osMessageQueueReset</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id)</td></tr>
+<tr class="memdesc:gac6dce7f9ad132d266292c2e979d861b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset a Message Queue to initial empty state. <a href="#gac6dce7f9ad132d266292c2e979d861b4">More...</a><br/></td></tr>
+<tr class="separator:gac6dce7f9ad132d266292c2e979d861b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaba987f665444e0d83fa6a3a68bc72abe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__Message.html#gaba987f665444e0d83fa6a3a68bc72abe">osMessageQueueDelete</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id)</td></tr>
+<tr class="memdesc:gaba987f665444e0d83fa6a3a68bc72abe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete a Message Queue object. <a href="#gaba987f665444e0d83fa6a3a68bc72abe">More...</a><br/></td></tr>
+<tr class="separator:gaba987f665444e0d83fa6a3a68bc72abe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
+<p><b>Message</b> <b>passing</b> is another basic communication model between threads. In the message passing model, one thread sends data explicitly, while another thread receives it. The operation is more like some kind of I/O rather than a direct access to information to be shared. In CMSIS-RTOS, this mechanism is called s <b>message</b> <b>queue</b>. The data is passed from one thread to another in a FIFO-like operation. Using message queue functions, you can control, send, receive, or wait for messages. The data to be passed can be of integer or pointer type:</p>
+<div class="image">
+<img src="MessageQueue.png" alt="MessageQueue.png"/>
+<div class="caption">
+CMSIS-RTOS Message Queue</div></div>
+<p> Compared to a <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html">Memory Pool</a>, message queues are less efficient in general, but solve a broader range of problems. Sometimes, threads do not have a common address space or the use of shared memory raises problems, such as mutual exclusion.</p>
+<dl class="section note"><dt>Note</dt><dd>The functions <a class="el" href="group__CMSIS__RTOS__Message.html#gaa515fc8b956f721a8f72b2c505813bfc">osMessageQueuePut</a>, <a class="el" href="group__CMSIS__RTOS__Message.html#gad90d4959466a7a65105061da8256ab9e">osMessageQueueGet</a>, <a class="el" href="group__CMSIS__RTOS__Message.html#gac24f87d4f395e9e9c900c320e45ade8a">osMessageQueueGetCapacity</a>, <a class="el" href="group__CMSIS__RTOS__Message.html#ga96d3d84069b20359de48109e28a1a89e">osMessageQueueGetMsgSize</a>, <a class="el" href="group__CMSIS__RTOS__Message.html#ga6a32ac394fcff568b251c160cc3014b2">osMessageQueueGetCount</a>, <a class="el" href="group__CMSIS__RTOS__Message.html#gaddf0904427436dd3880d46263c2dc9fa">osMessageQueueGetSpace</a> can be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd>
+<dd>
+Refer to <a class="el" href="config_rtx5.html#msgQueueConfig">Message Queue Configuration</a> for RTX5 configuration options. </dd></dl>
+<hr/><h2 class="groupheader">Data Structure Documentation</h2>
+<a name="structosMessageQueueAttr__t" id="structosMessageQueueAttr__t"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osMessageQueueAttr_t</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"><p>Specifies the following attributes for the <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a> function. </p>
+</div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ab74e6bf80237ddc4109968cedc58c151"></a>const char *</td>
+<td class="fieldname">
+name</td>
+<td class="fielddoc">
+name of the message queue <p>Pointer to a constant string with a human readable name (displayed during debugging) of the message queue object.</p>
+<p>Default: <span class="XML-Token">NULL</span> no name specified. </p>
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a6e93b49cb79c12f768d72580c7731f30"></a>uint32_t</td>
+<td class="fieldname">
+attr_bits</td>
+<td class="fielddoc">
+attribute bits <p>Reserved for future use (must be set to '0' for future compatibility). </p>
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a1e100dc33d403841ed3c344e3397868e"></a>void *</td>
+<td class="fieldname">
+cb_mem</td>
+<td class="fielddoc">
+memory for control block <p>Pointer to a memory for the message queue control block object. Refer to <a class="el" href="theory_of_operation.html#StaticObjectMemory">Static Object Memory</a> for more information.</p>
+<p>Default: <span class="XML-Token">NULL</span> to use <a class="el" href="group__CMSIS__RTOS__MemoryMgmt.html#CMSIS_RTOS_MemoryMgmt_Automatic">Automatic Dynamic Allocation</a> for the message queue control block. </p>
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="aa55a4335d12dc2785dc00fdc292d1159"></a>uint32_t</td>
+<td class="fieldname">
+cb_size</td>
+<td class="fielddoc">
+size of provided memory for control block <p>The size (in bytes) of memory block passed with <a class="el" href="group__CMSIS__RTOS__Message.html#a1e100dc33d403841ed3c344e3397868e">cb_mem</a>. For RTX, the minimum value is defined with <a class="el" href="group__rtx5__specific__defines.html#gaa8d067c476faa6bfc8e5e21f3b3c844e">osRtxMessageQueueCbSize</a> (higher values are permitted).</p>
+<p>Default: <span class="XML-Token">0</span> as the default is no memory provided with <a class="el" href="group__CMSIS__RTOS__Message.html#a1e100dc33d403841ed3c344e3397868e">cb_mem</a>. </p>
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a4e208dc0fb049b42c4b90cbd2791c5ad"></a>void *</td>
+<td class="fieldname">
+mq_mem</td>
+<td class="fielddoc">
+memory for data storage <p>Pointer to a memory for the message queue data. Refer to <a class="el" href="theory_of_operation.html#StaticObjectMemory">Static Object Memory</a> for more information.</p>
+<p>Default: <span class="XML-Token">NULL</span> to use <a class="el" href="group__CMSIS__RTOS__MemoryMgmt.html#CMSIS_RTOS_MemoryMgmt_Automatic">Automatic Dynamic Allocation</a> for the memory pool data. </p>
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ac1cc09f875e20c926920b57bb83c70ee"></a>uint32_t</td>
+<td class="fieldname">
+mq_size</td>
+<td class="fielddoc">
+size of provided memory for data storage <p>The size (in bytes) of memory block passed with <a class="el" href="group__CMSIS__RTOS__Message.html#a4e208dc0fb049b42c4b90cbd2791c5ad">mq_mem</a>. The minimum memory block size is <code>msg_count * msg_size</code> (parameters of the <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a> function). The <em>msg_size</em> is rounded up to a double even number to ensure 32-bit alignment of the memory blocks.</p>
+<p>Default: 0 as the default is no memory provided with <a class="el" href="group__CMSIS__RTOS__Message.html#a4e208dc0fb049b42c4b90cbd2791c5ad">mq_mem</a>. </p>
+</td></tr>
+</table>
+
+</div>
+</div>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ga24e895a00f9d484db33aaf784c57bfed"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> osMessageQueueNew </td>
+ <td>(</td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>msg_count</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>msg_size</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="group__CMSIS__RTOS__Message.html#structosMessageQueueAttr__t">osMessageQueueAttr_t</a> *&#160;</td>
+ <td class="paramname"><em>attr</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">msg_count</td><td>maximum number of messages in queue. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">msg_size</td><td>maximum message size in bytes. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">attr</td><td>message queue attributes; NULL: default values. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>message queue ID for reference by other functions or NULL in case of error.</dd></dl>
+<p>The function <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a> creates and initializes a message queue object. The function returns a message queue object identifier or <span class="XML-Token">NULL</span> in case of an error.</p>
+<p>The function can be called after kernel initialization with <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659">osKernelInitialize</a>. It is possible to create message queue objects before the RTOS kernel is started with <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221">osKernelStart</a>.</p>
+<p>The total amount of memory required for the message queue data is at least <code>msg_count * msg_size</code>. The <em>msg_size</em> is rounded up to a double even number to ensure 32-bit alignment of the memory blocks.</p>
+<p>The memory blocks allocated from the message queue have a fixed size defined with the parameter <code>msg_size</code>.</p>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
+<p><b>Code Example</b></p>
+<p>Refer to <a class="el" href="group__CMSIS__RTOS__Message.html#gaa515fc8b956f721a8f72b2c505813bfc">osMessageQueuePut</a> </p>
+
+</div>
+</div>
+<a class="anchor" id="gae7cf7bf2b97a5ae481fb60fcce99247a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const char * osMessageQueueGetName </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a>&#160;</td>
+ <td class="paramname"><em>mq_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mq_id</td><td>message queue ID obtained by <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>name as null-terminated string.</dd></dl>
+<p>The function <b>osMessageQueueGetName</b> returns the pointer to the name string of the message queue identified by parameter <em>mq_id</em> or <span class="XML-Token">NULL</span> in case of an error.</p>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaa515fc8b956f721a8f72b2c505813bfc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> osMessageQueuePut </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a>&#160;</td>
+ <td class="paramname"><em>mq_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const void *&#160;</td>
+ <td class="paramname"><em>msg_ptr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint8_t&#160;</td>
+ <td class="paramname"><em>msg_prio</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>timeout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mq_id</td><td>message queue ID obtained by <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">msg_ptr</td><td>pointer to buffer with message to put into a queue. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">msg_prio</td><td>message priority. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td><a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a> or 0 in case of no time-out. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>status code that indicates the execution status of the function.</dd></dl>
+<p>The blocking function <b>osMessageQueuePut</b> puts the message pointed to by <em>msg_ptr</em> into the the message queue specified by parameter <em>mq_id</em>. The parameter <em>msg_prio</em> is used to sort message according their priority (higher numbers indicate a higher priority) on insertion.</p>
+<p>The parameter <em>timeout</em> specifies how long the system waits to put the message into the queue. While the system waits, the thread that is calling this function is put into the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">BLOCKED</a> state. The parameter <a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">timeout</a> can have the following values:</p>
+<ul>
+<li>when <em>timeout</em> is <span class="XML-Token">0</span>, the function returns instantly (i.e. try semantics).</li>
+<li>when <em>timeout</em> is set to <b>osWaitForever</b> the function will wait for an infinite time until the message is delivered (i.e. wait semantics).</li>
+<li>all other values specify a time in kernel ticks for a timeout (i.e. timed-wait semantics).</li>
+</ul>
+<p>Possible <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> return values:</p>
+<ul>
+<li><em>osOK:</em> the message has been put into the queue.</li>
+<li><em>osErrorTimeout:</em> the message could not be put into the queue in the given time (wait-timed semantics).</li>
+<li><em>osErrorResource:</em> not enough space in the queue (try semantics).</li>
+<li><em>osErrorParameter:</em> the parameter <em>mq_id</em> is incorrect, non-zero timeout specified in an ISR.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>May be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a> if the parameter <em>timeout</em> is set to <span class="XML-Token">0</span>.</dd></dl>
+<p><b>Code Example:</b> </p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span> <span class="comment">// CMSIS RTOS header file</span></div>
+<div class="line"> </div>
+<div class="line"><span class="comment">/*----------------------------------------------------------------------------</span></div>
+<div class="line"><span class="comment"> * Message Queue creation &amp; usage</span></div>
+<div class="line"><span class="comment"> *---------------------------------------------------------------------------*/</span></div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> Thread_MsgQueue1 (<span class="keywordtype">void</span> *argument); <span class="comment">// thread function 1</span></div>
+<div class="line"><span class="keywordtype">void</span> Thread_MsgQueue2 (<span class="keywordtype">void</span> *argument); <span class="comment">// thread function 2</span></div>
+<div class="line"><a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> tid_Thread_MsgQueue1; <span class="comment">// thread id 1</span></div>
+<div class="line"><a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> tid_Thread_MsgQueue2; <span class="comment">// thread id 2</span></div>
+<div class="line"> </div>
+<div class="line"><span class="preprocessor">#define MSGQUEUE_OBJECTS 16 // number of Message Queue Objects</span></div>
+<div class="line"><span class="preprocessor"></span> </div>
+<div class="line"><span class="keyword">typedef</span> <span class="keyword">struct </span>{ <span class="comment">// object data type</span></div>
+<div class="line"> uint8_t Buf[32];</div>
+<div class="line"> uint8_t Idx;</div>
+<div class="line">} MSGQUEUE_OBJ_t;</div>
+<div class="line"> </div>
+<div class="line"><a class="code" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mid_MsgQueue; <span class="comment">// message queue id</span></div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">int</span> Init_MsgQueue (<span class="keywordtype">void</span>) {</div>
+<div class="line"> </div>
+<div class="line"> mid_MsgQueue = <a class="code" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a>(MSGQUEUE_OBJECTS, <span class="keyword">sizeof</span>(MSGQUEUE_OBJ_t), NULL);</div>
+<div class="line"> <span class="keywordflow">if</span> (!mid_MsgQueue) {</div>
+<div class="line"> ; <span class="comment">// Message Queue object not created, handle failure</span></div>
+<div class="line"> }</div>
+<div class="line"> </div>
+<div class="line"> tid_Thread_MsgQueue1 = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> (Thread_MsgQueue1, NULL, NULL);</div>
+<div class="line"> <span class="keywordflow">if</span> (!tid_Thread_MsgQueue1) <span class="keywordflow">return</span>(-1);</div>
+<div class="line"> tid_Thread_MsgQueue2 = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> (Thread_MsgQueue2, NULL, NULL);</div>
+<div class="line"> <span class="keywordflow">if</span> (!tid_Thread_MsgQueue2) <span class="keywordflow">return</span>(-1);</div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordflow">return</span>(0);</div>
+<div class="line">}</div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> Thread_MsgQueue1 (<span class="keywordtype">void</span> *argument) {</div>
+<div class="line"> MSGQUEUE_OBJ_t msg;</div>
+<div class="line"></div>
+<div class="line"> <span class="keywordflow">while</span> (1) {</div>
+<div class="line"> ; <span class="comment">// Insert thread code here...</span></div>
+<div class="line"> msg.Buf[0] = 0x55; <span class="comment">// do some work...</span></div>
+<div class="line"> msg.Idx = 0;</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__Message.html#gaa515fc8b956f721a8f72b2c505813bfc">osMessageQueuePut</a> (mid_MsgQueue, &amp;msg, 0, NULL);</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gad01c7ec26535b1de6b018bb9466720e2">osThreadYield</a> (); <span class="comment">// suspend thread</span></div>
+<div class="line"> }</div>
+<div class="line">}</div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> Thread_MsgQueue2 (<span class="keywordtype">void</span> *argument) {</div>
+<div class="line"></div>
+<div class="line"> MSGQUEUE_OBJ_t msg;</div>
+<div class="line"> osStatus_t status;</div>
+<div class="line"></div>
+<div class="line"> <span class="keywordflow">while</span> (1) {</div>
+<div class="line"> ; <span class="comment">// Insert thread code here...</span></div>
+<div class="line"> status = <a class="code" href="group__CMSIS__RTOS__Message.html#gad90d4959466a7a65105061da8256ab9e">osMessageQueueGet</a> (mid_MsgQueue, &amp;msg, NULL, NULL); <span class="comment">// wait for message</span></div>
+<div class="line"> <span class="keywordflow">if</span> (status == <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f">osOK</a>) {</div>
+<div class="line"> ; <span class="comment">// process data</span></div>
+<div class="line"> }</div>
+<div class="line"> }</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="gad90d4959466a7a65105061da8256ab9e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> osMessageQueueGet </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a>&#160;</td>
+ <td class="paramname"><em>mq_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>msg_ptr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint8_t *&#160;</td>
+ <td class="paramname"><em>msg_prio</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>timeout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mq_id</td><td>message queue ID obtained by <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a>. </td></tr>
+ <tr><td class="paramdir">[out]</td><td class="paramname">msg_ptr</td><td>pointer to buffer for message to get from a queue. </td></tr>
+ <tr><td class="paramdir">[out]</td><td class="paramname">msg_prio</td><td>pointer to buffer for message priority or NULL. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td><a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a> or 0 in case of no time-out. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>status code that indicates the execution status of the function.</dd></dl>
+<p>The function <b>osMessageQueueGet</b> retrieves a message from the message queue specified by the parameter <em>mq_id</em> and saves it to the buffer pointed to by the parameter <em>msg_ptr</em>. The message priority is stored to parameter <em>msg_prio</em> if not token{NULL}.</p>
+<p>The parameter <em>timeout</em> specifies how long the system waits to retrieve the message from the queue. While the system waits, the thread that is calling this function is put into the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">BLOCKED</a> state. The parameter <a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">timeout</a> can have the following values:</p>
+<ul>
+<li>when <em>timeout</em> is <span class="XML-Token">0</span>, the function returns instantly (i.e. try semantics).</li>
+<li>when <em>timeout</em> is set to <b>osWaitForever</b> the function will wait for an infinite time until the message is retrieved (i.e. wait semantics).</li>
+<li>all other values specify a time in kernel ticks for a timeout (i.e. timed-wait semantics).</li>
+</ul>
+<p>Possible <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> return values:</p>
+<ul>
+<li><em>osOK:</em> the message has been retrieved from the queue.</li>
+<li><em>osErrorTimeout:</em> the message could not be retrieved from the queue in the given time (timed-wait semantics).</li>
+<li><em>osErrorResource:</em> nothing to get from the queue (try semantics).</li>
+<li><em>osErrorParameter:</em> the parameter <em>mq_id</em> is incorrect, non-zero timeout specified in an ISR.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>May be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a> if the parameter <em>timeout</em> is set to <span class="XML-Token">0</span>.</dd></dl>
+<p><b>Code Example</b></p>
+<p>Refer to <a class="el" href="group__CMSIS__RTOS__Message.html#gaa515fc8b956f721a8f72b2c505813bfc">osMessageQueuePut</a> </p>
+
+</div>
+</div>
+<a class="anchor" id="gac24f87d4f395e9e9c900c320e45ade8a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint32_t osMessageQueueGetCapacity </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a>&#160;</td>
+ <td class="paramname"><em>mq_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mq_id</td><td>message queue ID obtained by <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>maximum number of messages.</dd></dl>
+<p>The function <b>osMessageQueueGetCapacity</b> returns the maximum number of messages in the message queue object specified by parameter <em>mq_id</em> or <span class="XML-Token">0</span> in case of an error.</p>
+<dl class="section note"><dt>Note</dt><dd>This function may be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga96d3d84069b20359de48109e28a1a89e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint32_t osMessageQueueGetMsgSize </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a>&#160;</td>
+ <td class="paramname"><em>mq_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mq_id</td><td>message queue ID obtained by <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>maximum message size in bytes.</dd></dl>
+<p>The function <b>osMessageQueueGetMsgSize</b> returns the maximum message size in bytes for the message queue object specified by parameter <em>mq_id</em> or <span class="XML-Token">0</span> in case of an error.</p>
+<dl class="section note"><dt>Note</dt><dd>This function may be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga6a32ac394fcff568b251c160cc3014b2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint32_t osMessageQueueGetCount </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a>&#160;</td>
+ <td class="paramname"><em>mq_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mq_id</td><td>message queue ID obtained by <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>number of queued messages.</dd></dl>
+<p>The function <b>osMessageQueueGetCount</b> returns the number of queued messages in the message queue object specified by parameter <em>mq_id</em> or <span class="XML-Token">0</span> in case of an error.</p>
+<dl class="section note"><dt>Note</dt><dd>This function may be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaddf0904427436dd3880d46263c2dc9fa"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint32_t osMessageQueueGetSpace </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a>&#160;</td>
+ <td class="paramname"><em>mq_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mq_id</td><td>message queue ID obtained by <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>number of available slots for messages.</dd></dl>
+<p>The function <b>osMessageQueueGetSpace</b> returns the number available slots for messages in the message queue object specified by parameter <em>mq_id</em> or <span class="XML-Token">0</span> in case of an error.</p>
+<dl class="section note"><dt>Note</dt><dd>This function may be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gac6dce7f9ad132d266292c2e979d861b4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> osMessageQueueReset </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a>&#160;</td>
+ <td class="paramname"><em>mq_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mq_id</td><td>message queue ID obtained by <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>status code that indicates the execution status of the function.</dd></dl>
+<p>The function <b>osMessageQueueReset</b> resets the message queue specified by the parameter <em>mq_id</em>.</p>
+<p>Possible <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> return values:</p>
+<ul>
+<li><em>osOK:</em> the message queue has been rest.</li>
+<li><em>osErrorParameter:</em> parameter <em>mq_id</em> is <span class="XML-Token">NULL</span> or invalid.</li>
+<li><em>osErrorResource:</em> the message queue specified by parameter <em>mq_id</em> is in an invalid message queue state.</li>
+<li><em>osErrorISR:</em> <b>osMessageQueueReset</b> cannot be called from interrupt service routines.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaba987f665444e0d83fa6a3a68bc72abe"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> osMessageQueueDelete </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a>&#160;</td>
+ <td class="paramname"><em>mq_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mq_id</td><td>message queue ID obtained by <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>status code that indicates the execution status of the function.</dd></dl>
+<p>The function <b>osMessageQueueDelete</b> deletes a message queue object specified by parameter <em>mq_id</em>. It releases internal memory obtained for message queue handling. After this call, the <em>mq_id</em> is no longer valid and cannot be used. The message queue may be created again using the function <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a>.</p>
+<p>Possible <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> return values:</p>
+<ul>
+<li><em>osOK:</em> the message queue object has been deleted.</li>
+<li><em>osErrorParameter:</em> parameter <em>mq_id</em> is <span class="XML-Token">NULL</span> or invalid.</li>
+<li><em>osErrorResource:</em> the message queue specified by parameter <em>mq_id</em> is in an invalid message queue state.</li>
+<li><em>osErrorISR:</em> <b>osMessageQueueDelete</b> cannot be called from interrupt service routines.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/group__CMSIS__RTOS__Message.js b/docs/RTOS2/html/group__CMSIS__RTOS__Message.js
new file mode 100644
index 0000000..000849b
--- /dev/null
+++ b/docs/RTOS2/html/group__CMSIS__RTOS__Message.js
@@ -0,0 +1,21 @@
+var group__CMSIS__RTOS__Message =
+[
+ [ "osMessageQueueAttr_t", "group__CMSIS__RTOS__Message.html#structosMessageQueueAttr__t", [
+ [ "name", "group__CMSIS__RTOS__Message.html#ab74e6bf80237ddc4109968cedc58c151", null ],
+ [ "attr_bits", "group__CMSIS__RTOS__Message.html#a6e93b49cb79c12f768d72580c7731f30", null ],
+ [ "cb_mem", "group__CMSIS__RTOS__Message.html#a1e100dc33d403841ed3c344e3397868e", null ],
+ [ "cb_size", "group__CMSIS__RTOS__Message.html#aa55a4335d12dc2785dc00fdc292d1159", null ],
+ [ "mq_mem", "group__CMSIS__RTOS__Message.html#a4e208dc0fb049b42c4b90cbd2791c5ad", null ],
+ [ "mq_size", "group__CMSIS__RTOS__Message.html#ac1cc09f875e20c926920b57bb83c70ee", null ]
+ ] ],
+ [ "osMessageQueueNew", "group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed", null ],
+ [ "osMessageQueueGetName", "group__CMSIS__RTOS__Message.html#gae7cf7bf2b97a5ae481fb60fcce99247a", null ],
+ [ "osMessageQueuePut", "group__CMSIS__RTOS__Message.html#gaa515fc8b956f721a8f72b2c505813bfc", null ],
+ [ "osMessageQueueGet", "group__CMSIS__RTOS__Message.html#gad90d4959466a7a65105061da8256ab9e", null ],
+ [ "osMessageQueueGetCapacity", "group__CMSIS__RTOS__Message.html#gac24f87d4f395e9e9c900c320e45ade8a", null ],
+ [ "osMessageQueueGetMsgSize", "group__CMSIS__RTOS__Message.html#ga96d3d84069b20359de48109e28a1a89e", null ],
+ [ "osMessageQueueGetCount", "group__CMSIS__RTOS__Message.html#ga6a32ac394fcff568b251c160cc3014b2", null ],
+ [ "osMessageQueueGetSpace", "group__CMSIS__RTOS__Message.html#gaddf0904427436dd3880d46263c2dc9fa", null ],
+ [ "osMessageQueueReset", "group__CMSIS__RTOS__Message.html#gac6dce7f9ad132d266292c2e979d861b4", null ],
+ [ "osMessageQueueDelete", "group__CMSIS__RTOS__Message.html#gaba987f665444e0d83fa6a3a68bc72abe", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__CMSIS__RTOS__Message_structosMessageQueueAttr__t.js b/docs/RTOS2/html/group__CMSIS__RTOS__Message_structosMessageQueueAttr__t.js
new file mode 100644
index 0000000..6bc7b60
--- /dev/null
+++ b/docs/RTOS2/html/group__CMSIS__RTOS__Message_structosMessageQueueAttr__t.js
@@ -0,0 +1,9 @@
+var group__CMSIS__RTOS__Message_structosMessageQueueAttr__t =
+[
+ [ "name", "group__CMSIS__RTOS__Message.html#ab74e6bf80237ddc4109968cedc58c151", null ],
+ [ "attr_bits", "group__CMSIS__RTOS__Message.html#a6e93b49cb79c12f768d72580c7731f30", null ],
+ [ "cb_mem", "group__CMSIS__RTOS__Message.html#a1e100dc33d403841ed3c344e3397868e", null ],
+ [ "cb_size", "group__CMSIS__RTOS__Message.html#aa55a4335d12dc2785dc00fdc292d1159", null ],
+ [ "mq_mem", "group__CMSIS__RTOS__Message.html#a4e208dc0fb049b42c4b90cbd2791c5ad", null ],
+ [ "mq_size", "group__CMSIS__RTOS__Message.html#ac1cc09f875e20c926920b57bb83c70ee", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__CMSIS__RTOS__MutexMgmt.html b/docs/RTOS2/html/group__CMSIS__RTOS__MutexMgmt.html
new file mode 100644
index 0000000..9b6d2ee
--- /dev/null
+++ b/docs/RTOS2/html/group__CMSIS__RTOS__MutexMgmt.html
@@ -0,0 +1,655 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Mutex Management</title>
+<title>CMSIS-RTOS2: Mutex Management</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__CMSIS__RTOS__MutexMgmt.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#define-members">Macros</a> &#124;
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">Mutex Management<div class="ingroups"><a class="el" href="group__CMSIS__RTOS.html">CMSIS-RTOS API v2</a></div></div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Synchronize resource access using Mutual Exclusion (Mutex).
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Structures</h2></td></tr>
+<tr class="memitem:structosMutexAttr__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#structosMutexAttr__t">osMutexAttr_t</a></td></tr>
+<tr class="memdesc:structosMutexAttr__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attributes structure for mutex. <a href="group__CMSIS__RTOS__MutexMgmt.html#structosMutexAttr__t">More...</a><br/></td></tr>
+<tr class="separator:structosMutexAttr__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
+Macros</h2></td></tr>
+<tr class="memitem:ga65c2482cc64a35d03871f3180f305926"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga65c2482cc64a35d03871f3180f305926">osMutexRecursive</a>&#160;&#160;&#160;0x00000001U</td></tr>
+<tr class="memdesc:ga65c2482cc64a35d03871f3180f305926"><td class="mdescLeft">&#160;</td><td class="mdescRight">Recursive mutex. <a href="#ga65c2482cc64a35d03871f3180f305926">More...</a><br/></td></tr>
+<tr class="separator:ga65c2482cc64a35d03871f3180f305926"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga40fba270cb31a977b3bd551d41eb9599"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga40fba270cb31a977b3bd551d41eb9599">osMutexPrioInherit</a>&#160;&#160;&#160;0x00000002U</td></tr>
+<tr class="memdesc:ga40fba270cb31a977b3bd551d41eb9599"><td class="mdescLeft">&#160;</td><td class="mdescRight">Priority inherit protocol. <a href="#ga40fba270cb31a977b3bd551d41eb9599">More...</a><br/></td></tr>
+<tr class="separator:ga40fba270cb31a977b3bd551d41eb9599"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf0e1dee376798b4d516d164981526780"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gaf0e1dee376798b4d516d164981526780">osMutexRobust</a>&#160;&#160;&#160;0x00000008U</td></tr>
+<tr class="memdesc:gaf0e1dee376798b4d516d164981526780"><td class="mdescLeft">&#160;</td><td class="mdescRight">Robust mutex. <a href="#gaf0e1dee376798b4d516d164981526780">More...</a><br/></td></tr>
+<tr class="separator:gaf0e1dee376798b4d516d164981526780"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr class="memitem:ga313801836c62deb23055efb55a420e42"><td class="memItemLeft" align="right" valign="top">typedef void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a></td></tr>
+<tr class="separator:ga313801836c62deb23055efb55a420e42"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:gab90920022ab944296821368ef6bb52f8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8">osMutexNew</a> (const <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#structosMutexAttr__t">osMutexAttr_t</a> *attr)</td></tr>
+<tr class="memdesc:gab90920022ab944296821368ef6bb52f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create and Initialize a Mutex object. <a href="#gab90920022ab944296821368ef6bb52f8">More...</a><br/></td></tr>
+<tr class="separator:gab90920022ab944296821368ef6bb52f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga00b5e58cd247a412d1afd18732d8b752"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga00b5e58cd247a412d1afd18732d8b752">osMutexGetName</a> (<a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id)</td></tr>
+<tr class="memdesc:ga00b5e58cd247a412d1afd18732d8b752"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get name of a Mutex object. <a href="#ga00b5e58cd247a412d1afd18732d8b752">More...</a><br/></td></tr>
+<tr class="separator:ga00b5e58cd247a412d1afd18732d8b752"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gabc54686ea0fc281823b1763422d2a924"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gabc54686ea0fc281823b1763422d2a924">osMutexAcquire</a> (<a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id, uint32_t timeout)</td></tr>
+<tr class="memdesc:gabc54686ea0fc281823b1763422d2a924"><td class="mdescLeft">&#160;</td><td class="mdescRight">Acquire a Mutex or timeout if it is locked. <a href="#gabc54686ea0fc281823b1763422d2a924">More...</a><br/></td></tr>
+<tr class="separator:gabc54686ea0fc281823b1763422d2a924"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaea629705703580ff58776bf73c8db915"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gaea629705703580ff58776bf73c8db915">osMutexRelease</a> (<a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id)</td></tr>
+<tr class="memdesc:gaea629705703580ff58776bf73c8db915"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release a Mutex that was acquired by <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gabc54686ea0fc281823b1763422d2a924">osMutexAcquire</a>. <a href="#gaea629705703580ff58776bf73c8db915">More...</a><br/></td></tr>
+<tr class="separator:gaea629705703580ff58776bf73c8db915"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7f9a7666df0978738cd570cb700b83fb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga7f9a7666df0978738cd570cb700b83fb">osMutexGetOwner</a> (<a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id)</td></tr>
+<tr class="memdesc:ga7f9a7666df0978738cd570cb700b83fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get Thread which owns a Mutex object. <a href="#ga7f9a7666df0978738cd570cb700b83fb">More...</a><br/></td></tr>
+<tr class="separator:ga7f9a7666df0978738cd570cb700b83fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gabee73ad227ba4587d3db12ef9bd582bc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gabee73ad227ba4587d3db12ef9bd582bc">osMutexDelete</a> (<a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id)</td></tr>
+<tr class="memdesc:gabee73ad227ba4587d3db12ef9bd582bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete a Mutex object. <a href="#gabee73ad227ba4587d3db12ef9bd582bc">More...</a><br/></td></tr>
+<tr class="separator:gabee73ad227ba4587d3db12ef9bd582bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
+<p><b>Mutual exclusion</b> (widely known as <b>Mutex</b>) is used in various operating systems for resource management. Many resources in a microcontroller device can be used repeatedly, but only by one thread at a time (for example communication channels, memory, and files). Mutexes are used to protect access to a shared resource. A mutex is created and then passed between the threads (they can acquire and release the mutex).</p>
+<div class="image">
+<img src="Mutex.png" alt="Mutex.png"/>
+<div class="caption">
+CMSIS-RTOS Mutex</div></div>
+<p> A mutex is a special version of a <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html">semaphore</a>. Like the semaphore, it is a container for tokens. But instead of being able to have multiple tokens, a mutex can only carry one (representing the resource). Thus, a mutex token is binary and bounded, i.e. it is either <em>available</em>, or <em>blocked</em> by a owning thread. The advantage of a mutex is that it introduces thread ownership. When a thread acquires a mutex and becomes its owner, subsequent mutex acquires from that thread will succeed immediately without any latency (if <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga65c2482cc64a35d03871f3180f305926">osMutexRecursive</a> is specified). Thus, mutex acquires/releases can be nested.</p>
+<div class="image">
+<img src="mutex_states.png" alt="mutex_states.png"/>
+<div class="caption">
+CMSIS-RTOS Mutex States</div></div>
+ <dl class="section note"><dt>Note</dt><dd>Mutex management functions cannot be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a> (ISR), unlike a binary semaphore that can be released from an ISR. </dd>
+<dd>
+Refer to <a class="el" href="config_rtx5.html#mutexConfig">Mutex Configuration</a> for RTX5 configuration options. </dd></dl>
+<hr/><h2 class="groupheader">Data Structure Documentation</h2>
+<a name="structosMutexAttr__t" id="structosMutexAttr__t"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osMutexAttr_t</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"><p>Specifies the following attributes for the <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8">osMutexNew</a> function. </p>
+</div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ab74e6bf80237ddc4109968cedc58c151"></a>const char *</td>
+<td class="fieldname">
+name</td>
+<td class="fielddoc">
+name of the mutex <p>Pointer to a constant string with a human readable name (displayed during debugging) of the mutex object.</p>
+<p>Default: <span class="XML-Token">NULL</span> no name specified. </p>
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a6e93b49cb79c12f768d72580c7731f30"></a>uint32_t</td>
+<td class="fieldname">
+attr_bits</td>
+<td class="fielddoc">
+attribute bits <p>The following bit masks can be used to set options:</p>
+<ul>
+<li><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga65c2482cc64a35d03871f3180f305926">osMutexRecursive</a> : a thread can consume the mutex multiple times without locking itself.</li>
+<li><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga40fba270cb31a977b3bd551d41eb9599">osMutexPrioInherit</a> : priority of a waiting thread is raised (when lower) to priority of mutex owner thread.</li>
+<li><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gaf0e1dee376798b4d516d164981526780">osMutexRobust</a> : the mutex is automatically released when owner thread is terminated.</li>
+</ul>
+<p>Use logical <em>'OR'</em> operation to select multiple options, for example: </p>
+<div class="fragment"><div class="line"><a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga65c2482cc64a35d03871f3180f305926">osMutexRecursive</a> | <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga40fba270cb31a977b3bd551d41eb9599">osMutexPrioInherit</a>;</div>
+</div><!-- fragment --><p>Default: <span class="XML-Token">0</span> which specifies:</p>
+<ul>
+<li><em>non recursive mutex</em> : a thread cannot consume the mutex multiple times.</li>
+<li><em>non priority raising</em> : the priority of a waiting thread is not changed.</li>
+<li><em>mutex is not automatically release</em> : the mutex object must be always is automatically released when owner thread is terminated. </li>
+</ul>
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a1e100dc33d403841ed3c344e3397868e"></a>void *</td>
+<td class="fieldname">
+cb_mem</td>
+<td class="fielddoc">
+memory for control block <p>Pointer to a memory for the mutex control block object. Refer to <a class="el" href="theory_of_operation.html#StaticObjectMemory">Static Object Memory</a> for more information.</p>
+<p>Default: <span class="XML-Token">NULL</span> to use <a class="el" href="group__CMSIS__RTOS__MemoryMgmt.html#CMSIS_RTOS_MemoryMgmt_Automatic">Automatic Dynamic Allocation</a> for the mutex control block. </p>
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="aa55a4335d12dc2785dc00fdc292d1159"></a>uint32_t</td>
+<td class="fieldname">
+cb_size</td>
+<td class="fielddoc">
+size of provided memory for control block <p>The size (in bytes) of memory block passed with <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#a1e100dc33d403841ed3c344e3397868e">cb_mem</a>. For RTX, the minimum value is defined with <a class="el" href="group__rtx5__specific__defines.html#ga188bfaaf7477cf24cbc9f207feaeb53a">osRtxMutexCbSize</a> (higher values are permitted).</p>
+<p>Default: <span class="XML-Token">0</span> as the default is no memory provided with <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#a1e100dc33d403841ed3c344e3397868e">cb_mem</a>. </p>
+</td></tr>
+</table>
+
+</div>
+</div>
+<h2 class="groupheader">Macro Definition Documentation</h2>
+<a class="anchor" id="ga65c2482cc64a35d03871f3180f305926"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osMutexRecursive&#160;&#160;&#160;0x00000001U</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Recursive flag in <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#structosMutexAttr__t" title="Attributes structure for mutex. ">osMutexAttr_t</a>.</p>
+<p>The same thread can consume a mutex multiple times without locking itself. Each time the owning thread acquires the mutex the lock count is incremented. The mutex must be released multiple times as well until the lock count reaches zero. At reaching zero the mutex is actually released and can be acquired by other threads.</p>
+<dl class="section note"><dt>Note</dt><dd>The maximum amount of recursive locks possible is implementation specific, i.e. the type size used for the lock count. If the maximum amount of recursive locks is depleted mutex acquire might fail.</dd></dl>
+<p><b>Code Example</b> </p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
+<div class="line"> </div>
+<div class="line"><a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id; </div>
+<div class="line"> </div>
+<div class="line"><span class="keyword">const</span> <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#structosMutexAttr__t">osMutexAttr_t</a> Thread_Mutex_attr = {</div>
+<div class="line"> <span class="stringliteral">&quot;myThreadMutex&quot;</span>, <span class="comment">// human readable mutex name</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga65c2482cc64a35d03871f3180f305926">osMutexRecursive</a>, <span class="comment">// attr_bits</span></div>
+<div class="line"> NULL, <span class="comment">// memory for control block </span></div>
+<div class="line"> 0U <span class="comment">// size for control block</span></div>
+<div class="line">};</div>
+<div class="line"> </div>
+<div class="line"><span class="comment">// must be called from a thread context</span></div>
+<div class="line"><span class="keywordtype">void</span> UseMutexRecursively(<span class="keywordtype">int</span> count) {</div>
+<div class="line"> osStatus_t result = <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#gabc54686ea0fc281823b1763422d2a924">osMutexAcquire</a>(mutex_id, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>); <span class="comment">// lock count is incremented, might fail when lock count is depleted</span></div>
+<div class="line"> <span class="keywordflow">if</span> (result == <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f">osOK</a>) {</div>
+<div class="line"> <span class="keywordflow">if</span> (count &lt; 10) {</div>
+<div class="line"> UseMutexRecursively(count + 1);</div>
+<div class="line"> }</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#gaea629705703580ff58776bf73c8db915">osMutexRelease</a>(mutex_id); <span class="comment">// lock count is decremented, actually releases the mutex on lock count zero</span></div>
+<div class="line"> }</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ga40fba270cb31a977b3bd551d41eb9599"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osMutexPrioInherit&#160;&#160;&#160;0x00000002U</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Priority inheritance flag in <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#structosMutexAttr__t" title="Attributes structure for mutex. ">osMutexAttr_t</a>.</p>
+<p>A mutex using priority inheritance protocol transfers a waiting threads priority to the current mutex owner if the owners thread priority is lower. This assures that a low priority thread does not block a high priority thread.</p>
+<p>Otherwise a low priority thread might hold a mutex but is not granted execution time due to another mid priority thread. Without priority inheritance the high priority thread waiting for the mutex would be blocked by the mid priority thread, called priority inversion.</p>
+<p><b>Code Example</b></p>
+<p>This example reveals a blocked high priority thread if <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga40fba270cb31a977b3bd551d41eb9599">osMutexPrioInherit</a> is removed.</p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
+<div class="line"> </div>
+<div class="line"><a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id; </div>
+<div class="line"> </div>
+<div class="line"><span class="keyword">const</span> <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#structosMutexAttr__t">osMutexAttr_t</a> Thread_Mutex_attr = {</div>
+<div class="line"> <span class="stringliteral">&quot;myThreadMutex&quot;</span>, <span class="comment">// human readable mutex name</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga40fba270cb31a977b3bd551d41eb9599">osMutexPrioInherit</a>, <span class="comment">// attr_bits</span></div>
+<div class="line"> NULL, <span class="comment">// memory for control block </span></div>
+<div class="line"> 0U <span class="comment">// size for control block</span></div>
+<div class="line">};</div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> HighPrioThread(<span class="keywordtype">void</span> *argument) {</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a>(1000); <span class="comment">// wait 1s until start actual work</span></div>
+<div class="line"> <span class="keywordflow">while</span>(1) {</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#gabc54686ea0fc281823b1763422d2a924">osMutexAcquire</a>(mutex_id, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>); <span class="comment">// try to acquire mutex</span></div>
+<div class="line"> <span class="comment">// do stuff</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#gaea629705703580ff58776bf73c8db915">osMutexRelease</a>(mutex_id);</div>
+<div class="line"> }</div>
+<div class="line">}</div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> MidPrioThread(<span class="keywordtype">void</span> *argument) {</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a>(1000); <span class="comment">// wait 1s until start actual work</span></div>
+<div class="line"> <span class="keywordflow">while</span>(1) {</div>
+<div class="line"> <span class="comment">// do non blocking stuff</span></div>
+<div class="line"> }</div>
+<div class="line">}</div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> LowPrioThread(<span class="keywordtype">void</span> *argument) {</div>
+<div class="line"> <span class="keywordflow">while</span>(1) {</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#gabc54686ea0fc281823b1763422d2a924">osMutexAcquire</a>(mutex_id, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>);</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a>(5000); <span class="comment">// block mutex for 5s</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#gaea629705703580ff58776bf73c8db915">osMutexRelease</a>(mutex_id);</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a>(5000); <span class="comment">// sleep for 5s</span></div>
+<div class="line"> }</div>
+<div class="line">}</div>
+</div><!-- fragment --><p>During the first second the high and mid priority threads are delayed. Thus the low priority thread can start its work, acquires the mutex and delays while holding it.</p>
+<p>After the first second the high and mid priority threads become ready. Thus the high priority thread gets precedence and tries to acquire the mutex. Because the mutex is already owned by the low priority thread the high priority thread gets blocked.</p>
+<p>Finally the mid priority thread gets executed and start doing a lot of non-blocking stuff, i.e. it does not call any blocking RTOS functionality.</p>
+<p>Without <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga40fba270cb31a977b3bd551d41eb9599">osMutexPrioInherit</a> we would stuck here forever. Even if the low priority thread gets ready after 5s. Due to its low priority the mid priority thread always gets precedence. The effect called priority inversion leads to the mid priority thread blocking the high priority thread indirectly.</p>
+<p>Using <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga40fba270cb31a977b3bd551d41eb9599">osMutexPrioInherit</a> as shown in the example code we get rid of this situation. Due to the priority inheritance protocol the low priority thread inherits the high priority while holding the mutex. Thus the low priority thread gets precedence over the mid priority thread until it release the mutex. On osMutexRelease the high priority thread get ready and is scheduled immediately. </p>
+
+</div>
+</div>
+<a class="anchor" id="gaf0e1dee376798b4d516d164981526780"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osMutexRobust&#160;&#160;&#160;0x00000008U</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Robust flag in <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#structosMutexAttr__t" title="Attributes structure for mutex. ">osMutexAttr_t</a>.</p>
+<p>Robust mutexes are automatically released if the owning thread is terminated (either by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaddaa452dd7610e4096647a566d3556fc">osThreadExit</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga2f8ba6dba6e9c065a6e236ffd410d74a">osThreadTerminate</a>). Non-robust mutexes are not released and the user must assure mutex release manually.</p>
+<p><b>Code Example</b></p>
+<p>This example reveals a blocked mutex if osMutexRobust is removed.</p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
+<div class="line"> </div>
+<div class="line"><a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id; </div>
+<div class="line"> </div>
+<div class="line"><span class="keyword">const</span> <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#structosMutexAttr__t">osMutexAttr_t</a> Thread_Mutex_attr = {</div>
+<div class="line"> <span class="stringliteral">&quot;myThreadMutex&quot;</span>, <span class="comment">// human readable mutex name</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#gaf0e1dee376798b4d516d164981526780">osMutexRobust</a>, <span class="comment">// attr_bits</span></div>
+<div class="line"> NULL, <span class="comment">// memory for control block </span></div>
+<div class="line"> 0U <span class="comment">// size for control block</span></div>
+<div class="line">};</div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> Thread(<span class="keywordtype">void</span> *argument) {</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#gabc54686ea0fc281823b1763422d2a924">osMutexAcquire</a>(mutex_id, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>);</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaddaa452dd7610e4096647a566d3556fc">osThreadExit</a>();</div>
+<div class="line">}</div>
+</div><!-- fragment --><p>Due to <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gaf0e1dee376798b4d516d164981526780">osMutexRobust</a> the mutex gets released automatically. A non-robust mutex would stay locked and cannot be released anymore. </p>
+
+</div>
+</div>
+<h2 class="groupheader">Typedef Documentation</h2>
+<a class="anchor" id="ga313801836c62deb23055efb55a420e42"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Mutex ID identifies the mutex.</p>
+<p>Returned by:</p>
+<ul>
+<li><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8">osMutexNew</a> </li>
+</ul>
+
+</div>
+</div>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="gab90920022ab944296821368ef6bb52f8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> osMutexNew </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#structosMutexAttr__t">osMutexAttr_t</a> *&#160;</td>
+ <td class="paramname"><em>attr</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">attr</td><td>mutex attributes; NULL: default values. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>mutex ID for reference by other functions or NULL in case of error.</dd></dl>
+<p>The function <b>osMutexNew</b> creates and initializes a new mutex object and returns the pointer to the mutex object identifier or <span class="XML-Token">NULL</span> in case of an error. It can be safely called before the RTOS is started (call to <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221">osKernelStart</a>), but not before it is initialized (call to <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659">osKernelInitialize</a>).</p>
+<p>The parameter <em>attr</em> sets the mutex object attributes (refer to <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#structosMutexAttr__t">osMutexAttr_t</a>). Default attributes will be used if set to <span class="XML-Token">NULL</span>.</p>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
+<p><b>Code Example</b> </p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
+<div class="line"> </div>
+<div class="line"><a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id; </div>
+<div class="line"> </div>
+<div class="line"><span class="keyword">const</span> <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#structosMutexAttr__t">osMutexAttr_t</a> Thread_Mutex_attr = {</div>
+<div class="line"> <span class="stringliteral">&quot;myThreadMutex&quot;</span>, <span class="comment">// human readable mutex name</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga65c2482cc64a35d03871f3180f305926">osMutexRecursive</a> | <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga40fba270cb31a977b3bd551d41eb9599">osMutexPrioInherit</a>, <span class="comment">// attr_bits</span></div>
+<div class="line"> NULL, <span class="comment">// memory for control block </span></div>
+<div class="line"> 0U <span class="comment">// size for control block</span></div>
+<div class="line"> };</div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> CreateMutex (<span class="keywordtype">void</span>) {</div>
+<div class="line"> mutex_id = <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8">osMutexNew</a>(&amp;Thread_Mutex_attr);</div>
+<div class="line"> <span class="keywordflow">if</span> (mutex_id != NULL) {</div>
+<div class="line"> <span class="comment">// Mutex object created</span></div>
+<div class="line"> } </div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ga00b5e58cd247a412d1afd18732d8b752"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">*const char * osMutexGetName </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a>&#160;</td>
+ <td class="paramname"><em>mutex_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mutex_id</td><td>mutex ID obtained by <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8">osMutexNew</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>name as null-terminated string.</dd></dl>
+<p>The function <b>osMutexGetName</b> returns the pointer to the name string of the mutex identified by parameter <em>mutex_id</em> or <span class="XML-Token">NULL</span> in case of an error.</p>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gabc54686ea0fc281823b1763422d2a924"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> osMutexAcquire </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a>&#160;</td>
+ <td class="paramname"><em>mutex_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>timeout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mutex_id</td><td>mutex ID obtained by <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8">osMutexNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td><a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a> or 0 in case of no time-out. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>status code that indicates the execution status of the function.</dd></dl>
+<p>The blocking function <b>osMutexAcquire</b> waits until a mutex object specified by parameter <em>mutex_id</em> becomes available. If no other thread has obtained the mutex, the function instantly returns and blocks the mutex object.</p>
+<p>The parameter <em>timeout</em> specifies how long the system waits to acquire the mutex. While the system waits, the thread that is calling this function is put into the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">BLOCKED</a> state. The parameter <a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">timeout</a> can have the following values:</p>
+<ul>
+<li>when <em>timeout</em> is <span class="XML-Token">0</span>, the function returns instantly (i.e. try semantics).</li>
+<li>when <em>timeout</em> is set to <b>osWaitForever</b> the function will wait for an infinite time until the mutex becomes available (i.e. wait semantics).</li>
+<li>all other values specify a time in kernel ticks for a timeout (i.e. timed-wait semantics).</li>
+</ul>
+<p>Possible <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> return values:</p>
+<ul>
+<li><em>osOK:</em> the mutex has been obtained.</li>
+<li><em>osErrorTimeout:</em> the mutex could not be obtained in the given time.</li>
+<li><em>osErrorParameter:</em> parameter <em>mutex_id</em> is <span class="XML-Token">NULL</span> or invalid.</li>
+<li><em>osErrorResource:</em> the mutex specified by parameter <em>mutex_id</em> is in an invalid mutex state or the mutex could not be obtained when no <em>timeout</em> was specified.</li>
+<li><em>osErrorISR:</em> cannot be called from interrupt service routines.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
+<p><b>Code Example</b> </p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> WaitMutex (<span class="keywordtype">void</span>) {</div>
+<div class="line"><a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id; </div>
+<div class="line">osStatus_t status;</div>
+<div class="line"> </div>
+<div class="line"> mutex_id = <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8">osMutexNew</a>(NULL);</div>
+<div class="line"> <span class="keywordflow">if</span> (mutex_id != NULL) {</div>
+<div class="line"> status = <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#gabc54686ea0fc281823b1763422d2a924">osMutexAcquire</a>(mutex_id, 0);</div>
+<div class="line"> <span class="keywordflow">if</span> (status != <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f">osOK</a>) {</div>
+<div class="line"> <span class="comment">// handle failure code</span></div>
+<div class="line"> }</div>
+<div class="line"> }</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="gaea629705703580ff58776bf73c8db915"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> osMutexRelease </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a>&#160;</td>
+ <td class="paramname"><em>mutex_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mutex_id</td><td>mutex ID obtained by <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8">osMutexNew</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>status code that indicates the execution status of the function.</dd></dl>
+<p>The function <b>osMutexRelease</b> releases a mutex specified by parameter <em>mutex_id</em>. Other threads that currently wait for this mutex will be put into the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">READY</a> state.</p>
+<p>Possible <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> return values:</p>
+<ul>
+<li><em>osOK:</em> the mutex has been correctly released.</li>
+<li><em>osErrorParameter:</em> parameter <em>mutex_id</em> is <span class="XML-Token">NULL</span> or invalid.</li>
+<li><em>osErrorResource:</em> the mutex specified by parameter <em>mutex_id</em> is in an invalid mutex state or the mutex was not obtained before/the current thread is not the owner of the mutex.</li>
+<li><em>osErrorISR:</em> <b>osMutexRelease</b> cannot be called from interrupt service routines.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
+<p><b>Code Example</b> </p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
+<div class="line"> </div>
+<div class="line"><a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id; <span class="comment">// Mutex id populated by the function osMutexNew()</span></div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> ReleaseMutex (<a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id) {</div>
+<div class="line"> osStatus_t status;</div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordflow">if</span> (mutex_id != NULL) {</div>
+<div class="line"> status = <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#gaea629705703580ff58776bf73c8db915">osMutexRelease</a>(mutex_id);</div>
+<div class="line"> <span class="keywordflow">if</span> (status != <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f">osOK</a>) {</div>
+<div class="line"> <span class="comment">// handle failure code</span></div>
+<div class="line"> }</div>
+<div class="line"> }</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ga7f9a7666df0978738cd570cb700b83fb"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> osMutexGetOwner </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a>&#160;</td>
+ <td class="paramname"><em>mutex_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mutex_id</td><td>mutex ID obtained by <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8">osMutexNew</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>thread ID of owner thread or NULL when mutex was not acquired.</dd></dl>
+<p>The function <b>osMutexGetOwner</b> returns the thread ID of the thread that acquired a mutex specified by parameter <em>mutex_id</em>. In case of an error or if the mutex is not blocked by any thread, it returns <span class="XML-Token">NULL</span>.</p>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gabee73ad227ba4587d3db12ef9bd582bc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> osMutexDelete </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a>&#160;</td>
+ <td class="paramname"><em>mutex_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mutex_id</td><td>mutex ID obtained by <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8">osMutexNew</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>status code that indicates the execution status of the function.</dd></dl>
+<p>The function <b>osMutexDelete</b> deletes a mutex object specified by parameter <em>mutex_id</em>. It releases internal memory obtained for mutex handling. After this call, the <em>mutex_id</em> is no longer valid and cannot be used. The mutex may be created again using the function <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8">osMutexNew</a>.</p>
+<p>Possible <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> return values:</p>
+<ul>
+<li><em>osOK:</em> the mutex object has been deleted.</li>
+<li><em>osErrorParameter:</em> parameter <em>mutex_id</em> is <span class="XML-Token">NULL</span> or invalid.</li>
+<li><em>osErrorResource:</em> the mutex specified by parameter <em>mutex_id</em> is in an invalid mutex state.</li>
+<li><em>osErrorISR:</em> <b>osMutexDelete</b> cannot be called from interrupt service routines.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
+<p><b>Code Example</b> </p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
+<div class="line"> </div>
+<div class="line"><a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id; <span class="comment">// Mutex id populated by the function osMutexNew()</span></div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> DeleteMutex (<a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id) {</div>
+<div class="line"> osStatus_t status;</div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordflow">if</span> (mutex_id != NULL) {</div>
+<div class="line"> status = <a class="code" href="group__CMSIS__RTOS__MutexMgmt.html#gabee73ad227ba4587d3db12ef9bd582bc">osMutexDelete</a>(mutex_id);</div>
+<div class="line"> <span class="keywordflow">if</span> (status != <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f">osOK</a>) {</div>
+<div class="line"> <span class="comment">// handle failure code</span></div>
+<div class="line"> }</div>
+<div class="line"> }</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/group__CMSIS__RTOS__MutexMgmt.js b/docs/RTOS2/html/group__CMSIS__RTOS__MutexMgmt.js
new file mode 100644
index 0000000..2569c62
--- /dev/null
+++ b/docs/RTOS2/html/group__CMSIS__RTOS__MutexMgmt.js
@@ -0,0 +1,19 @@
+var group__CMSIS__RTOS__MutexMgmt =
+[
+ [ "osMutexAttr_t", "group__CMSIS__RTOS__MutexMgmt.html#structosMutexAttr__t", [
+ [ "name", "group__CMSIS__RTOS__MutexMgmt.html#ab74e6bf80237ddc4109968cedc58c151", null ],
+ [ "attr_bits", "group__CMSIS__RTOS__MutexMgmt.html#a6e93b49cb79c12f768d72580c7731f30", null ],
+ [ "cb_mem", "group__CMSIS__RTOS__MutexMgmt.html#a1e100dc33d403841ed3c344e3397868e", null ],
+ [ "cb_size", "group__CMSIS__RTOS__MutexMgmt.html#aa55a4335d12dc2785dc00fdc292d1159", null ]
+ ] ],
+ [ "osMutexRecursive", "group__CMSIS__RTOS__MutexMgmt.html#ga65c2482cc64a35d03871f3180f305926", null ],
+ [ "osMutexPrioInherit", "group__CMSIS__RTOS__MutexMgmt.html#ga40fba270cb31a977b3bd551d41eb9599", null ],
+ [ "osMutexRobust", "group__CMSIS__RTOS__MutexMgmt.html#gaf0e1dee376798b4d516d164981526780", null ],
+ [ "osMutexId_t", "group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42", null ],
+ [ "osMutexNew", "group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8", null ],
+ [ "osMutexGetName", "group__CMSIS__RTOS__MutexMgmt.html#ga00b5e58cd247a412d1afd18732d8b752", null ],
+ [ "osMutexAcquire", "group__CMSIS__RTOS__MutexMgmt.html#gabc54686ea0fc281823b1763422d2a924", null ],
+ [ "osMutexRelease", "group__CMSIS__RTOS__MutexMgmt.html#gaea629705703580ff58776bf73c8db915", null ],
+ [ "osMutexGetOwner", "group__CMSIS__RTOS__MutexMgmt.html#ga7f9a7666df0978738cd570cb700b83fb", null ],
+ [ "osMutexDelete", "group__CMSIS__RTOS__MutexMgmt.html#gabee73ad227ba4587d3db12ef9bd582bc", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__CMSIS__RTOS__MutexMgmt_structosMutexAttr__t.js b/docs/RTOS2/html/group__CMSIS__RTOS__MutexMgmt_structosMutexAttr__t.js
new file mode 100644
index 0000000..28b7627
--- /dev/null
+++ b/docs/RTOS2/html/group__CMSIS__RTOS__MutexMgmt_structosMutexAttr__t.js
@@ -0,0 +1,7 @@
+var group__CMSIS__RTOS__MutexMgmt_structosMutexAttr__t =
+[
+ [ "name", "group__CMSIS__RTOS__MutexMgmt.html#ab74e6bf80237ddc4109968cedc58c151", null ],
+ [ "attr_bits", "group__CMSIS__RTOS__MutexMgmt.html#a6e93b49cb79c12f768d72580c7731f30", null ],
+ [ "cb_mem", "group__CMSIS__RTOS__MutexMgmt.html#a1e100dc33d403841ed3c344e3397868e", null ],
+ [ "cb_size", "group__CMSIS__RTOS__MutexMgmt.html#aa55a4335d12dc2785dc00fdc292d1159", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__CMSIS__RTOS__PoolMgmt.html b/docs/RTOS2/html/group__CMSIS__RTOS__PoolMgmt.html
new file mode 100644
index 0000000..aacfbb5
--- /dev/null
+++ b/docs/RTOS2/html/group__CMSIS__RTOS__PoolMgmt.html
@@ -0,0 +1,638 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Memory Pool</title>
+<title>CMSIS-RTOS2: Memory Pool</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__CMSIS__RTOS__PoolMgmt.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">Memory Pool<div class="ingroups"><a class="el" href="group__CMSIS__RTOS.html">CMSIS-RTOS API v2</a></div></div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Manage thread-safe fixed-size blocks of dynamic memory.
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Structures</h2></td></tr>
+<tr class="memitem:structosMemoryPoolAttr__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#structosMemoryPoolAttr__t">osMemoryPoolAttr_t</a></td></tr>
+<tr class="memdesc:structosMemoryPoolAttr__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attributes structure for memory pool. <a href="group__CMSIS__RTOS__PoolMgmt.html#structosMemoryPoolAttr__t">More...</a><br/></td></tr>
+<tr class="separator:structosMemoryPoolAttr__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr class="memitem:ga2e44473caf338266f56800960294f960"><td class="memItemLeft" align="right" valign="top">typedef void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a></td></tr>
+<tr class="separator:ga2e44473caf338266f56800960294f960"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga497ced5d72dc5cd405c4c418516220dc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">osMemoryPoolNew</a> (uint32_t block_count, uint32_t block_size, const <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#structosMemoryPoolAttr__t">osMemoryPoolAttr_t</a> *attr)</td></tr>
+<tr class="memdesc:ga497ced5d72dc5cd405c4c418516220dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create and Initialize a Memory Pool object. <a href="#ga497ced5d72dc5cd405c4c418516220dc">More...</a><br/></td></tr>
+<tr class="separator:ga497ced5d72dc5cd405c4c418516220dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab414a1e138205a55820acfa277c8f386"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gab414a1e138205a55820acfa277c8f386">osMemoryPoolGetName</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id)</td></tr>
+<tr class="memdesc:gab414a1e138205a55820acfa277c8f386"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get name of a Memory Pool object. <a href="#gab414a1e138205a55820acfa277c8f386">More...</a><br/></td></tr>
+<tr class="separator:gab414a1e138205a55820acfa277c8f386"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8ead54e99ccb8f112356c88f99d38fbe"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga8ead54e99ccb8f112356c88f99d38fbe">osMemoryPoolAlloc</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id, uint32_t timeout)</td></tr>
+<tr class="memdesc:ga8ead54e99ccb8f112356c88f99d38fbe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocate a memory block from a Memory Pool. <a href="#ga8ead54e99ccb8f112356c88f99d38fbe">More...</a><br/></td></tr>
+<tr class="separator:ga8ead54e99ccb8f112356c88f99d38fbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gabb4f4560daa6d1f8c8789082ee186d16"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gabb4f4560daa6d1f8c8789082ee186d16">osMemoryPoolFree</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id, void *block)</td></tr>
+<tr class="memdesc:gabb4f4560daa6d1f8c8789082ee186d16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an allocated memory block back to a Memory Pool. <a href="#gabb4f4560daa6d1f8c8789082ee186d16">More...</a><br/></td></tr>
+<tr class="separator:gabb4f4560daa6d1f8c8789082ee186d16"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad696e94bfbe28f0b6613f9303fdf6a37"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gad696e94bfbe28f0b6613f9303fdf6a37">osMemoryPoolGetCapacity</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id)</td></tr>
+<tr class="memdesc:gad696e94bfbe28f0b6613f9303fdf6a37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get maximum number of memory blocks in a Memory Pool. <a href="#gad696e94bfbe28f0b6613f9303fdf6a37">More...</a><br/></td></tr>
+<tr class="separator:gad696e94bfbe28f0b6613f9303fdf6a37"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab2bf059b7fa7679c3cccdaeec60b6c0e"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gab2bf059b7fa7679c3cccdaeec60b6c0e">osMemoryPoolGetBlockSize</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id)</td></tr>
+<tr class="memdesc:gab2bf059b7fa7679c3cccdaeec60b6c0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get memory block size in a Memory Pool. <a href="#gab2bf059b7fa7679c3cccdaeec60b6c0e">More...</a><br/></td></tr>
+<tr class="separator:gab2bf059b7fa7679c3cccdaeec60b6c0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga958a9449bff8c95ce213de98eef5739d"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga958a9449bff8c95ce213de98eef5739d">osMemoryPoolGetCount</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id)</td></tr>
+<tr class="memdesc:ga958a9449bff8c95ce213de98eef5739d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get number of memory blocks used in a Memory Pool. <a href="#ga958a9449bff8c95ce213de98eef5739d">More...</a><br/></td></tr>
+<tr class="separator:ga958a9449bff8c95ce213de98eef5739d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0394cffa9479a7994e3b03c79c1cb909"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga0394cffa9479a7994e3b03c79c1cb909">osMemoryPoolGetSpace</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id)</td></tr>
+<tr class="memdesc:ga0394cffa9479a7994e3b03c79c1cb909"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get number of memory blocks available in a Memory Pool. <a href="#ga0394cffa9479a7994e3b03c79c1cb909">More...</a><br/></td></tr>
+<tr class="separator:ga0394cffa9479a7994e3b03c79c1cb909"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8c39e7e5cd2b9eda907466808e59d62e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga8c39e7e5cd2b9eda907466808e59d62e">osMemoryPoolDelete</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id)</td></tr>
+<tr class="memdesc:ga8c39e7e5cd2b9eda907466808e59d62e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete a Memory Pool object. <a href="#ga8c39e7e5cd2b9eda907466808e59d62e">More...</a><br/></td></tr>
+<tr class="separator:ga8c39e7e5cd2b9eda907466808e59d62e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
+<p><b>Memory</b> <b>Pools</b> are fixed-size blocks of memory that are thread-safe. They operate much faster than the dynamically allocated heap and do not suffer from fragmentation. Being thread-safe, they can be accessed from threads and ISRs alike.</p>
+<p>A Memory Pool can be seen as a linked list of available (unused) memory blocks of fixed and equal size. Allocating memory from a pool (using <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga8ead54e99ccb8f112356c88f99d38fbe">osMemoryPoolAlloc</a>) simply unchains a block from the list and hands over control to the user. Freeing memory to the pool (using <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gabb4f4560daa6d1f8c8789082ee186d16">osMemoryPoolFree</a>) simply rechains the block into the list.</p>
+<div class="image">
+<img src="mempool.png" alt="mempool.png"/>
+<div class="caption">
+CMSIS-RTOS Memory Pools</div></div>
+ <dl class="section note"><dt>Note</dt><dd>One must not write to freed block. It is up to the implementation to reuse the memory of unused blocks for internal control data, i.e. linked list pointers.</dd></dl>
+<p><b>Shared</b> <b>memory</b> is one of the basic models to exchange information between threads. Using memory pools for exchanging data, you can share more complex objects between threads if compared to a <a class="el" href="group__CMSIS__RTOS__Message.html">Message Queue</a>. Memory pool management functions are used to define and manage such fixed-sized memory pools.</p>
+<dl class="section note"><dt>Note</dt><dd>The functions <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga8ead54e99ccb8f112356c88f99d38fbe">osMemoryPoolAlloc</a>, <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gabb4f4560daa6d1f8c8789082ee186d16">osMemoryPoolFree</a>, <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gad696e94bfbe28f0b6613f9303fdf6a37">osMemoryPoolGetCapacity</a>, <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gab2bf059b7fa7679c3cccdaeec60b6c0e">osMemoryPoolGetBlockSize</a>, <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga958a9449bff8c95ce213de98eef5739d">osMemoryPoolGetCount</a>, <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga0394cffa9479a7994e3b03c79c1cb909">osMemoryPoolGetSpace</a> can be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd>
+<dd>
+Refer to <a class="el" href="config_rtx5.html#memPoolConfig">Memory Pool Configuration</a> for RTX5 configuration options. </dd></dl>
+<hr/><h2 class="groupheader">Data Structure Documentation</h2>
+<a name="structosMemoryPoolAttr__t" id="structosMemoryPoolAttr__t"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osMemoryPoolAttr_t</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"><p>Attributes to configure a memory pool.</p>
+<p>Refer to <a class="el" href="group__CMSIS__RTOS__MemoryMgmt.html">Memory Management</a> for details about usage of</p>
+<ul>
+<li><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#a1e100dc33d403841ed3c344e3397868e" title="memory for control block ">osMemoryPoolAttr_t::cb_mem</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#aa55a4335d12dc2785dc00fdc292d1159" title="size of provided memory for control block ">osMemoryPoolAttr_t::cb_size</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#a5799465cca9c71c5587ceb0986f5b06a" title="memory for data storage ">osMemoryPoolAttr_t::mp_mem</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#a66c26015c0ac8e88a4ad907c120aee4f" title="size of provided memory for data storage ">osMemoryPoolAttr_t::mp_size</a> </li>
+</ul>
+</div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ab74e6bf80237ddc4109968cedc58c151"></a>const char *</td>
+<td class="fieldname">
+name</td>
+<td class="fielddoc">
+name of the memory pool <p>Pointer to a string with a human readable name of the memory pool object.<br/>
+Default: <span class="XML-Token">NULL</span>. </p>
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a6e93b49cb79c12f768d72580c7731f30"></a>uint32_t</td>
+<td class="fieldname">
+attr_bits</td>
+<td class="fielddoc">
+attribute bits <p>Reserved for future use (set to '0').<br/>
+Default: <span class="XML-Token">0</span>. </p>
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a1e100dc33d403841ed3c344e3397868e"></a>void *</td>
+<td class="fieldname">
+cb_mem</td>
+<td class="fielddoc">
+memory for control block <p>Pointer to a memory location for the memory pool control block object. This can optionally be used for custom memory management systems.<br/>
+Default: <span class="XML-Token">NULL</span> (uses kernel memory management). </p>
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="aa55a4335d12dc2785dc00fdc292d1159"></a>uint32_t</td>
+<td class="fieldname">
+cb_size</td>
+<td class="fielddoc">
+size of provided memory for control block <p>The size of the memory block passed with <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#a1e100dc33d403841ed3c344e3397868e">cb_mem</a>. Must be the size of a memory pool control block object or larger. </p>
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a5799465cca9c71c5587ceb0986f5b06a"></a>void *</td>
+<td class="fieldname">
+mp_mem</td>
+<td class="fielddoc">
+memory for data storage <p>Pointer to a memory location for the data of the memory pool object.<br/>
+Default: <span class="XML-Token">NULL</span>. </p>
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a66c26015c0ac8e88a4ad907c120aee4f"></a>uint32_t</td>
+<td class="fieldname">
+mp_size</td>
+<td class="fielddoc">
+size of provided memory for data storage <p>The size of the memory passed with <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#a5799465cca9c71c5587ceb0986f5b06a">mp_mem</a>. </p>
+</td></tr>
+</table>
+
+</div>
+</div>
+<h2 class="groupheader">Typedef Documentation</h2>
+<a class="anchor" id="ga2e44473caf338266f56800960294f960"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Memory Pool ID identifies the memory pool.</p>
+<p>Returned by:</p>
+<ul>
+<li><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">osMemoryPoolNew</a> </li>
+</ul>
+
+</div>
+</div>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ga497ced5d72dc5cd405c4c418516220dc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> osMemoryPoolNew </td>
+ <td>(</td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>block_count</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>block_size</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#structosMemoryPoolAttr__t">osMemoryPoolAttr_t</a> *&#160;</td>
+ <td class="paramname"><em>attr</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">block_count</td><td>maximum number of memory blocks in memory pool. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">block_size</td><td>memory block size in bytes. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">attr</td><td>memory pool attributes; NULL: default values. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>memory pool ID for reference by other functions or NULL in case of error.</dd></dl>
+<p>The function <b>osMemoryPoolNew</b> creates and initializes a memory pool object and returns the pointer to the memory pool object identifier or <span class="XML-Token">NULL</span> in case of an error. It can be safely called before the RTOS is started (call to <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221">osKernelStart</a>), but not before it is initialized (call to <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659">osKernelInitialize</a>).</p>
+<p>The total amount of memory needed is at least <code>block_count * block_size</code>. Memory from the pool can only be allocated/freed in fixed portions of <code>block_size</code>.</p>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
+<p><b>Code</b> <b>Example</b> </p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span> <span class="comment">// CMSIS RTOS header file</span></div>
+<div class="line"> </div>
+<div class="line"><span class="comment">/*----------------------------------------------------------------------------</span></div>
+<div class="line"><span class="comment"> * Memory Pool creation &amp; usage</span></div>
+<div class="line"><span class="comment"> *---------------------------------------------------------------------------*/</span></div>
+<div class="line"> </div>
+<div class="line"><span class="preprocessor">#define MEMPOOL_OBJECTS 16 // number of Memory Pool Objects</span></div>
+<div class="line"><span class="preprocessor"></span> </div>
+<div class="line"><span class="keyword">typedef</span> <span class="keyword">struct </span>{ <span class="comment">// object data type</span></div>
+<div class="line"> uint8_t Buf[32];</div>
+<div class="line"> uint8_t Idx;</div>
+<div class="line">} MEM_BLOCK_t;</div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> Thread_MemPool (<span class="keywordtype">void</span> *argument); <span class="comment">// thread function</span></div>
+<div class="line"><a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> tid_Thread_MemPool; <span class="comment">// thread id</span></div>
+<div class="line"> </div>
+<div class="line"><a class="code" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mpid_MemPool; <span class="comment">// memory pool id</span></div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">int</span> Init_MemPool (<span class="keywordtype">void</span>)</div>
+<div class="line">{</div>
+<div class="line"> </div>
+<div class="line"> mpid_MemPool = <a class="code" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">osMemoryPoolNew</a>(MEMPOOL_OBJECTS,<span class="keyword">sizeof</span>(MEM_BLOCK_t), NULL);</div>
+<div class="line"> <span class="keywordflow">if</span> (mpid_MemPool == NULL) {</div>
+<div class="line"> ; <span class="comment">// MemPool object not created, handle failure</span></div>
+<div class="line"> }</div>
+<div class="line"> </div>
+<div class="line"> tid_Thread_MemPool = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> (Thread_MemPool,NULL , NULL);</div>
+<div class="line"> <span class="keywordflow">if</span> (tid_Thread_MemPool == NULL) {</div>
+<div class="line"> <span class="keywordflow">return</span>(-1);</div>
+<div class="line"> }</div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordflow">return</span>(0);</div>
+<div class="line">}</div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> Thread_MemPool (<span class="keywordtype">void</span> *argument)</div>
+<div class="line">{</div>
+<div class="line"> osStatus_t status;</div>
+<div class="line"> MEM_BLOCK_t *pMem = 0;</div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordflow">while</span> (1) {</div>
+<div class="line"> ; <span class="comment">// Insert thread code here...</span></div>
+<div class="line"> </div>
+<div class="line"> pMem = (MEM_BLOCK_t *)<a class="code" href="group__CMSIS__RTOS__PoolMgmt.html#ga8ead54e99ccb8f112356c88f99d38fbe">osMemoryPoolAlloc</a> (mpid_MemPool, NULL); <span class="comment">// get Mem Block</span></div>
+<div class="line"> <span class="keywordflow">if</span> (pMem) { <span class="comment">// Mem Block was available</span></div>
+<div class="line"> pMem-&gt;Buf[0] = 0x55; <span class="comment">// do some work...</span></div>
+<div class="line"> pMem-&gt;Idx = 0;</div>
+<div class="line"> </div>
+<div class="line"> status = <a class="code" href="group__CMSIS__RTOS__PoolMgmt.html#gabb4f4560daa6d1f8c8789082ee186d16">osMemoryPoolFree</a> (mpid_MemPool, pMem); <span class="comment">// free mem block</span></div>
+<div class="line"> <span class="keywordflow">switch</span> (status) {</div>
+<div class="line"> <span class="keywordflow">case</span> <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f">osOK</a>:</div>
+<div class="line"> <span class="keywordflow">break</span>;</div>
+<div class="line"> <span class="keywordflow">case</span> <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813eac24adca6a5d072c9f01c32178ba0d109">osErrorParameter</a>:</div>
+<div class="line"> <span class="keywordflow">break</span>;</div>
+<div class="line"> <span class="keywordflow">case</span> <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813eaf1fac0240218e51eb30a13da2f8aae81">osErrorNoMemory</a>:</div>
+<div class="line"> <span class="keywordflow">break</span>;</div>
+<div class="line"> <span class="keywordflow">default</span>:</div>
+<div class="line"> <span class="keywordflow">break</span>;</div>
+<div class="line"> }</div>
+<div class="line"> }</div>
+<div class="line"> </div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gad01c7ec26535b1de6b018bb9466720e2">osThreadYield</a> (); <span class="comment">// suspend thread</span></div>
+<div class="line"> }</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="gab414a1e138205a55820acfa277c8f386"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const char * osMemoryPoolGetName </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a>&#160;</td>
+ <td class="paramname"><em>mp_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mp_id</td><td>memory pool ID obtained by <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">osMemoryPoolNew</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>name as null-terminated string.</dd></dl>
+<p>The function <b>osMemoryPoolGetName</b> returns the pointer to the name string of the memory pool identified by parameter <em>mp_id</em> or <span class="XML-Token">NULL</span> in case of an error.</p>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga8ead54e99ccb8f112356c88f99d38fbe"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void * osMemoryPoolAlloc </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a>&#160;</td>
+ <td class="paramname"><em>mp_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>timeout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mp_id</td><td>memory pool ID obtained by <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">osMemoryPoolNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td><a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a> or 0 in case of no time-out. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>address of the allocated memory block or NULL in case of no memory is available.</dd></dl>
+<p>The blocking function <b>osMemoryPoolAlloc</b> allocates the memory pool parameter <em>mp_id</em> and returns a pointer to the address of the allocated memory or <span class="XML-Token">0</span> in case of an error.</p>
+<p>The parameter <em>timeout</em> specifies how long the system waits to allocate the memory. While the system waits, the thread that is calling this function is put into the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">BLOCKED</a> state. The thread will become <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">READY</a> as soon as at least one block of memory gets available.</p>
+<p>The parameter <a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">timeout</a> can have the following values:</p>
+<ul>
+<li>when <em>timeout</em> is <span class="XML-Token">0</span>, the function returns instantly (i.e. try semantics).</li>
+<li>when <em>timeout</em> is set to <b>osWaitForever</b> the function will wait for an infinite time until the memory is allocated (i.e. wait semantics).</li>
+<li>all other values specify a time in kernel ticks for a timeout (i.e. timed-wait semantics).</li>
+</ul>
+<p>The result is the pointer to the memory block allocated, or NULL if no memory is available.</p>
+<dl class="section note"><dt>Note</dt><dd>It is in the responsibility of the user to respect the block size, i.e. not access memory beyond the blocks limit.</dd>
+<dd>
+May be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a> if the parameter <em>timeout</em> is set to <span class="XML-Token">0</span>.</dd></dl>
+<p><b>Code</b> <b>Example</b> </p>
+<p>Refer to <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">osMemoryPoolNew</a>. </p>
+
+</div>
+</div>
+<a class="anchor" id="gabb4f4560daa6d1f8c8789082ee186d16"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> osMemoryPoolFree </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a>&#160;</td>
+ <td class="paramname"><em>mp_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>block</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mp_id</td><td>memory pool ID obtained by <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">osMemoryPoolNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">block</td><td>address of the allocated memory block to be returned to the memory pool. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>status code that indicates the execution status of the function.</dd></dl>
+<p>The function <b>osMemoryPoolFree</b> frees the memory pool block specified by the parameter <em>block</em> in the memory pool object specified by the parameter <em>mp_id</em>. The memory block is put back to the list of available blocks.</p>
+<p>If another thread is waiting for memory to become available the thread is put to <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">READY</a> state.</p>
+<p>Possible <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> return values:</p>
+<ul>
+<li><em>osOK:</em> the memory has been freed.</li>
+<li><em>osErrorParameter:</em> parameter <em>mp_id</em> is <span class="XML-Token">NULL</span> or invalid, <em>block</em> points to invalid memory.</li>
+<li><em>osErrorResource:</em> the memory pool specified by parameter <em>mp_id</em> is in an invalid memory pool state.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd><b>osMemoryPoolFree</b> may perform certain checks on the <em>block</em> pointer given. But using <b>osMemoryPoolFree</b> with a pointer other than one received from <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga8ead54e99ccb8f112356c88f99d38fbe">osMemoryPoolAlloc</a> has <b>UNPREDICTED</b> behaviour.</dd>
+<dd>
+This function may be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
+<p><b>Code</b> <b>Example</b> </p>
+<p>Refer to <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">osMemoryPoolNew</a>. </p>
+
+</div>
+</div>
+<a class="anchor" id="gad696e94bfbe28f0b6613f9303fdf6a37"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint32_t osMemoryPoolGetCapacity </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a>&#160;</td>
+ <td class="paramname"><em>mp_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mp_id</td><td>memory pool ID obtained by <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">osMemoryPoolNew</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>maximum number of memory blocks.</dd></dl>
+<p>The function <b>osMemoryPoolGetCapacity</b> returns the maximum number of memory blocks in the memory pool object specified by parameter <em>mp_id</em> or <span class="XML-Token">0</span> in case of an error.</p>
+<dl class="section note"><dt>Note</dt><dd>This function may be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gab2bf059b7fa7679c3cccdaeec60b6c0e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint32_t osMemoryPoolGetBlockSize </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a>&#160;</td>
+ <td class="paramname"><em>mp_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mp_id</td><td>memory pool ID obtained by <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">osMemoryPoolNew</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>memory block size in bytes.</dd></dl>
+<p>The function <b>osMemoryPoolGetBlockSize</b> returns the memory block size in bytes in the memory pool object specified by parameter <em>mp_id</em> or <span class="XML-Token">0</span> in case of an error.</p>
+<dl class="section note"><dt>Note</dt><dd>This function may be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga958a9449bff8c95ce213de98eef5739d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint32_t osMemoryPoolGetCount </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a>&#160;</td>
+ <td class="paramname"><em>mp_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mp_id</td><td>memory pool ID obtained by <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">osMemoryPoolNew</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>number of memory blocks used.</dd></dl>
+<p>The function <b>osMemoryPoolGetCount</b> returns the number of memory blocks used in the memory pool object specified by parameter <em>mp_id</em> or <span class="XML-Token">0</span> in case of an error.</p>
+<dl class="section note"><dt>Note</dt><dd>This function may be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga0394cffa9479a7994e3b03c79c1cb909"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint32_t osMemoryPoolGetSpace </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a>&#160;</td>
+ <td class="paramname"><em>mp_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mp_id</td><td>memory pool ID obtained by <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">osMemoryPoolNew</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>number of memory blocks available.</dd></dl>
+<p>The function <b>osMemoryPoolGetSpace</b> returns the number of memory blocks available in the memory pool object specified by parameter <em>mp_id</em> or <span class="XML-Token">0</span> in case of an error.</p>
+<dl class="section note"><dt>Note</dt><dd>This function may be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga8c39e7e5cd2b9eda907466808e59d62e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> osMemoryPoolDelete </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a>&#160;</td>
+ <td class="paramname"><em>mp_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mp_id</td><td>memory pool ID obtained by <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">osMemoryPoolNew</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>status code that indicates the execution status of the function.</dd></dl>
+<p>The function <b>osMemoryPoolDelete</b> deletes a memory pool object specified by parameter <em>mp_id</em>. It releases internal memory obtained for memory pool handling. After this call, the <em>mp_id</em> is no longer valid and cannot be used. The memory pool may be created again using the function <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">osMemoryPoolNew</a>.</p>
+<p>Possible <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> return values:</p>
+<ul>
+<li><em>osOK:</em> the memory pool object has been deleted.</li>
+<li><em>osErrorParameter:</em> parameter <em>mp_id</em> is <span class="XML-Token">NULL</span> or invalid.</li>
+<li><em>osErrorResource:</em> the memory pool specified by parameter <em>mp_id</em> is in an invalid memory pool state.</li>
+<li><em>osErrorISR:</em> <b>osMemoryPoolDelete</b> cannot be called from interrupt service routines.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/group__CMSIS__RTOS__PoolMgmt.js b/docs/RTOS2/html/group__CMSIS__RTOS__PoolMgmt.js
new file mode 100644
index 0000000..061aa89
--- /dev/null
+++ b/docs/RTOS2/html/group__CMSIS__RTOS__PoolMgmt.js
@@ -0,0 +1,21 @@
+var group__CMSIS__RTOS__PoolMgmt =
+[
+ [ "osMemoryPoolAttr_t", "group__CMSIS__RTOS__PoolMgmt.html#structosMemoryPoolAttr__t", [
+ [ "name", "group__CMSIS__RTOS__PoolMgmt.html#ab74e6bf80237ddc4109968cedc58c151", null ],
+ [ "attr_bits", "group__CMSIS__RTOS__PoolMgmt.html#a6e93b49cb79c12f768d72580c7731f30", null ],
+ [ "cb_mem", "group__CMSIS__RTOS__PoolMgmt.html#a1e100dc33d403841ed3c344e3397868e", null ],
+ [ "cb_size", "group__CMSIS__RTOS__PoolMgmt.html#aa55a4335d12dc2785dc00fdc292d1159", null ],
+ [ "mp_mem", "group__CMSIS__RTOS__PoolMgmt.html#a5799465cca9c71c5587ceb0986f5b06a", null ],
+ [ "mp_size", "group__CMSIS__RTOS__PoolMgmt.html#a66c26015c0ac8e88a4ad907c120aee4f", null ]
+ ] ],
+ [ "osMemoryPoolId_t", "group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960", null ],
+ [ "osMemoryPoolNew", "group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc", null ],
+ [ "osMemoryPoolGetName", "group__CMSIS__RTOS__PoolMgmt.html#gab414a1e138205a55820acfa277c8f386", null ],
+ [ "osMemoryPoolAlloc", "group__CMSIS__RTOS__PoolMgmt.html#ga8ead54e99ccb8f112356c88f99d38fbe", null ],
+ [ "osMemoryPoolFree", "group__CMSIS__RTOS__PoolMgmt.html#gabb4f4560daa6d1f8c8789082ee186d16", null ],
+ [ "osMemoryPoolGetCapacity", "group__CMSIS__RTOS__PoolMgmt.html#gad696e94bfbe28f0b6613f9303fdf6a37", null ],
+ [ "osMemoryPoolGetBlockSize", "group__CMSIS__RTOS__PoolMgmt.html#gab2bf059b7fa7679c3cccdaeec60b6c0e", null ],
+ [ "osMemoryPoolGetCount", "group__CMSIS__RTOS__PoolMgmt.html#ga958a9449bff8c95ce213de98eef5739d", null ],
+ [ "osMemoryPoolGetSpace", "group__CMSIS__RTOS__PoolMgmt.html#ga0394cffa9479a7994e3b03c79c1cb909", null ],
+ [ "osMemoryPoolDelete", "group__CMSIS__RTOS__PoolMgmt.html#ga8c39e7e5cd2b9eda907466808e59d62e", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__CMSIS__RTOS__PoolMgmt_structosMemoryPoolAttr__t.js b/docs/RTOS2/html/group__CMSIS__RTOS__PoolMgmt_structosMemoryPoolAttr__t.js
new file mode 100644
index 0000000..969141b
--- /dev/null
+++ b/docs/RTOS2/html/group__CMSIS__RTOS__PoolMgmt_structosMemoryPoolAttr__t.js
@@ -0,0 +1,9 @@
+var group__CMSIS__RTOS__PoolMgmt_structosMemoryPoolAttr__t =
+[
+ [ "name", "group__CMSIS__RTOS__PoolMgmt.html#ab74e6bf80237ddc4109968cedc58c151", null ],
+ [ "attr_bits", "group__CMSIS__RTOS__PoolMgmt.html#a6e93b49cb79c12f768d72580c7731f30", null ],
+ [ "cb_mem", "group__CMSIS__RTOS__PoolMgmt.html#a1e100dc33d403841ed3c344e3397868e", null ],
+ [ "cb_size", "group__CMSIS__RTOS__PoolMgmt.html#aa55a4335d12dc2785dc00fdc292d1159", null ],
+ [ "mp_mem", "group__CMSIS__RTOS__PoolMgmt.html#a5799465cca9c71c5587ceb0986f5b06a", null ],
+ [ "mp_size", "group__CMSIS__RTOS__PoolMgmt.html#a66c26015c0ac8e88a4ad907c120aee4f", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__CMSIS__RTOS__SemaphoreMgmt.html b/docs/RTOS2/html/group__CMSIS__RTOS__SemaphoreMgmt.html
new file mode 100644
index 0000000..38d76d2
--- /dev/null
+++ b/docs/RTOS2/html/group__CMSIS__RTOS__SemaphoreMgmt.html
@@ -0,0 +1,554 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Semaphores</title>
+<title>CMSIS-RTOS2: Semaphores</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__CMSIS__RTOS__SemaphoreMgmt.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">Semaphores<div class="ingroups"><a class="el" href="group__CMSIS__RTOS.html">CMSIS-RTOS API v2</a></div></div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Access shared resources simultaneously from different threads.
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Structures</h2></td></tr>
+<tr class="memitem:structosSemaphoreAttr__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#structosSemaphoreAttr__t">osSemaphoreAttr_t</a></td></tr>
+<tr class="memdesc:structosSemaphoreAttr__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attributes structure for semaphore. <a href="group__CMSIS__RTOS__SemaphoreMgmt.html#structosSemaphoreAttr__t">More...</a><br/></td></tr>
+<tr class="separator:structosSemaphoreAttr__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr class="memitem:ga6e1c1c4b04175bb92b013c8f37249f40"><td class="memItemLeft" align="right" valign="top">typedef void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a></td></tr>
+<tr class="separator:ga6e1c1c4b04175bb92b013c8f37249f40"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga2a39806ace781a0008a4374ca701b14a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a> (uint32_t max_count, uint32_t initial_count, const <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#structosSemaphoreAttr__t">osSemaphoreAttr_t</a> *attr)</td></tr>
+<tr class="memdesc:ga2a39806ace781a0008a4374ca701b14a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create and Initialize a Semaphore object. <a href="#ga2a39806ace781a0008a4374ca701b14a">More...</a><br/></td></tr>
+<tr class="separator:ga2a39806ace781a0008a4374ca701b14a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga9586952051f00285f1482dbe6695bbc4"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga9586952051f00285f1482dbe6695bbc4">osSemaphoreGetName</a> (<a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> semaphore_id)</td></tr>
+<tr class="memdesc:ga9586952051f00285f1482dbe6695bbc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get name of a Semaphore object. <a href="#ga9586952051f00285f1482dbe6695bbc4">More...</a><br/></td></tr>
+<tr class="separator:ga9586952051f00285f1482dbe6695bbc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7e94c8b242a0c81f2cc79ec22895c87b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7e94c8b242a0c81f2cc79ec22895c87b">osSemaphoreAcquire</a> (<a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> semaphore_id, uint32_t timeout)</td></tr>
+<tr class="memdesc:ga7e94c8b242a0c81f2cc79ec22895c87b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Acquire a Semaphore token or timeout if no tokens are available. <a href="#ga7e94c8b242a0c81f2cc79ec22895c87b">More...</a><br/></td></tr>
+<tr class="separator:ga7e94c8b242a0c81f2cc79ec22895c87b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0abcee1b5449d7a6928fb9248c690bb6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga0abcee1b5449d7a6928fb9248c690bb6">osSemaphoreRelease</a> (<a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> semaphore_id)</td></tr>
+<tr class="memdesc:ga0abcee1b5449d7a6928fb9248c690bb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release a Semaphore token up to the initial maximum count. <a href="#ga0abcee1b5449d7a6928fb9248c690bb6">More...</a><br/></td></tr>
+<tr class="separator:ga0abcee1b5449d7a6928fb9248c690bb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7559d4dff3cda9992fc5ab5de3e74c70"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7559d4dff3cda9992fc5ab5de3e74c70">osSemaphoreGetCount</a> (<a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> semaphore_id)</td></tr>
+<tr class="memdesc:ga7559d4dff3cda9992fc5ab5de3e74c70"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get current Semaphore token count. <a href="#ga7559d4dff3cda9992fc5ab5de3e74c70">More...</a><br/></td></tr>
+<tr class="separator:ga7559d4dff3cda9992fc5ab5de3e74c70"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga81258ce9c67fa89f07cc49d2e136cd88"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga81258ce9c67fa89f07cc49d2e136cd88">osSemaphoreDelete</a> (<a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> semaphore_id)</td></tr>
+<tr class="memdesc:ga81258ce9c67fa89f07cc49d2e136cd88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete a Semaphore object. <a href="#ga81258ce9c67fa89f07cc49d2e136cd88">More...</a><br/></td></tr>
+<tr class="separator:ga81258ce9c67fa89f07cc49d2e136cd88"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
+<p>Semaphores are used to manage and protect access to shared resources. Semaphores are very similar to <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html">Mutexes</a>. Whereas a Mutex permits just one thread to access a shared resource at a time, a semaphore can be used to permit a fixed number of threads/ISRs to access a pool of shared resources. Using semaphores, access to a group of identical peripherals can be managed (for example multiple DMA channels).</p>
+<div class="image">
+<img src="Semaphore.png" alt="Semaphore.png"/>
+<div class="caption">
+CMSIS-RTOS Semaphore</div></div>
+<p> A semaphore object should be initialized to the maximum number of available tokens. This number of available resources is specified as parameter of the <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a> function. Each time a semaphore token is obtained with <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7e94c8b242a0c81f2cc79ec22895c87b">osSemaphoreAcquire</a> (in <em>available</em> state), the semaphore count is decremented. When the semaphore count is 0 (i.e. <em>depleted</em> state), no more semaphore tokens can be obtained. The thread/ISR that tries to obtain the semaphore token needs to wait until the next token is free. Semaphores are released with <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga0abcee1b5449d7a6928fb9248c690bb6">osSemaphoreRelease</a> incrementing the semaphore count.</p>
+<div class="image">
+<img src="semaphore_states.png" alt="semaphore_states.png"/>
+<div class="caption">
+CMSIS-RTOS Semaphore States</div></div>
+ <dl class="section note"><dt>Note</dt><dd>The functions <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7e94c8b242a0c81f2cc79ec22895c87b">osSemaphoreAcquire</a>, <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7559d4dff3cda9992fc5ab5de3e74c70">osSemaphoreGetCount</a>, and <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga0abcee1b5449d7a6928fb9248c690bb6">osSemaphoreRelease</a> can be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd>
+<dd>
+Refer to <a class="el" href="config_rtx5.html#semaphoreConfig">Semaphore Configuration</a> for RTX5 configuration options.</dd></dl>
+<h2>Semaphore Use Cases </h2>
+<p>Due to their flexibility, semaphores cover a wide range of synchronizing applications. At the same time, they are perhaps the most challenging RTOS object to understand. The following explains a use case for semaphores, taken from the book <a href="http://www.greenteapress.com/semaphores/" target="_blank">The Little Book Of Semaphores</a> by Allen B. Downey which is available for free download.</p>
+<p><b>Non-binary Semaphore (Multiplex)</b></p>
+<p>A multiplex limits the number of threads that can access a critical section of code. For example, this could be a function accessing DMA resources which can only support a limited number of calls.</p>
+<p>To allow multiple threads to run the function, initialize a semaphore to the maximum number of threads that can be allowed. The number of tokens in the semaphore represents the number of additional threads that may enter. If this number is zero, then the next thread trying to access the function will have to wait until one of the other threads exits and releases its token. When all threads have exited the token number is back to n. The following example shows the code for one of the threads that might access the resource:</p>
+<div class="fragment"><div class="line"><a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> multiplex_id;</div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> thread_n (<span class="keywordtype">void</span>)</div>
+<div class="line">{</div>
+<div class="line"> multiplex_id = <a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a>(3, 3, NULL);</div>
+<div class="line"> <span class="keywordflow">while</span>(1)</div>
+<div class="line"> {</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7e94c8b242a0c81f2cc79ec22895c87b">osSemaphoreAcquire</a>(multiplex_id, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>);</div>
+<div class="line"> <span class="comment">// do something</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga0abcee1b5449d7a6928fb9248c690bb6">osSemaphoreRelease</a>(multiplex_id);</div>
+<div class="line"> }</div>
+<div class="line">}</div>
+</div><!-- fragment --><p><b>Producer/Consumer Semaphore</b></p>
+<p>The producer-consumer problem can be solved using two semaphores.</p>
+<p>A first semaphore (<span class="XML-Token">empty_id</span>) counts down the available (empty) buffers, i.e. the producer thread can wait for available buffer slots by acquiring from this one.</p>
+<p>A second semaphore (<span class="XML-Token">filled_id</span>) counts up the used (filled) buffers, i.e. the consumer thread can wait for available data by acquiring from this one.</p>
+<p>It is crucial for the correct behaviour that the threads acquire and release on both semaphores in the given sequence. According to this example one can have multiple producer and/or consumer threads running concurrently.</p>
+<div class="fragment"><div class="line"><span class="preprocessor">#define BUFFER_SIZE 10</span></div>
+<div class="line"><span class="preprocessor"></span><a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> empty_id = <a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a>(BUFFER_SIZE, BUFFER_SIZE, NULL);</div>
+<div class="line"><a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> filled_id = <a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a>(BUFFER_SIZE, 0, NULL);</div>
+<div class="line"></div>
+<div class="line"><span class="keywordtype">void</span> producer_thread (<span class="keywordtype">void</span>)</div>
+<div class="line">{</div>
+<div class="line"> <span class="keywordflow">while</span>(1)</div>
+<div class="line"> {</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7e94c8b242a0c81f2cc79ec22895c87b">osSemaphoreAcquire</a>(empty_id, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>);</div>
+<div class="line"> <span class="comment">// produce data</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga0abcee1b5449d7a6928fb9248c690bb6">osSemaphoreRelease</a>(filled_id);</div>
+<div class="line"> }</div>
+<div class="line">}</div>
+<div class="line"></div>
+<div class="line"><span class="keywordtype">void</span> consumer_thread (<span class="keywordtype">void</span>)</div>
+<div class="line">{</div>
+<div class="line"> <span class="keywordflow">while</span>(1)</div>
+<div class="line"> {</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7e94c8b242a0c81f2cc79ec22895c87b">osSemaphoreAcquire</a>(filled_id, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>);</div>
+<div class="line"> <span class="comment">// consume data</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga0abcee1b5449d7a6928fb9248c690bb6">osSemaphoreRelease</a>(empty_id);</div>
+<div class="line"> }</div>
+<div class="line">}</div>
+</div><!-- fragment --> <hr/><h2 class="groupheader">Data Structure Documentation</h2>
+<a name="structosSemaphoreAttr__t" id="structosSemaphoreAttr__t"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osSemaphoreAttr_t</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"><p>Specifies the following attributes for the <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a> function. </p>
+</div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ab74e6bf80237ddc4109968cedc58c151"></a>const char *</td>
+<td class="fieldname">
+name</td>
+<td class="fielddoc">
+name of the semaphore <p>Pointer to a constant string with a human readable name (displayed during debugging) of the semaphore object.</p>
+<p>Default: <span class="XML-Token">NULL</span> no name specified. </p>
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a6e93b49cb79c12f768d72580c7731f30"></a>uint32_t</td>
+<td class="fieldname">
+attr_bits</td>
+<td class="fielddoc">
+attribute bits <p>Reserved for future use (must be set to '0' for future compatibility). </p>
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a1e100dc33d403841ed3c344e3397868e"></a>void *</td>
+<td class="fieldname">
+cb_mem</td>
+<td class="fielddoc">
+memory for control block <p>Pointer to a memory for the semaphore control block object. Refer to <a class="el" href="theory_of_operation.html#StaticObjectMemory">Static Object Memory</a> for more information.</p>
+<p>Default: <span class="XML-Token">NULL</span> to use <a class="el" href="group__CMSIS__RTOS__MemoryMgmt.html#CMSIS_RTOS_MemoryMgmt_Automatic">Automatic Dynamic Allocation</a> for the semaphore control block. </p>
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="aa55a4335d12dc2785dc00fdc292d1159"></a>uint32_t</td>
+<td class="fieldname">
+cb_size</td>
+<td class="fielddoc">
+size of provided memory for control block <p>The size (in bytes) of memory block passed with <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#a1e100dc33d403841ed3c344e3397868e">cb_mem</a>. For RTX, the minimum value is defined with <a class="el" href="group__rtx5__specific__defines.html#ga0949b67063d0bd427fbee9c816b5d45a">osRtxSemaphoreCbSize</a> (higher values are permitted).</p>
+<p>Default: <span class="XML-Token">0</span> as the default is no memory provided with <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#a1e100dc33d403841ed3c344e3397868e">cb_mem</a>. </p>
+</td></tr>
+</table>
+
+</div>
+</div>
+<h2 class="groupheader">Typedef Documentation</h2>
+<a class="anchor" id="ga6e1c1c4b04175bb92b013c8f37249f40"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Semaphore ID identifies the semaphore.</p>
+<p>Returned by:</p>
+<ul>
+<li><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a> </li>
+</ul>
+
+</div>
+</div>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ga2a39806ace781a0008a4374ca701b14a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> osSemaphoreNew </td>
+ <td>(</td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>max_count</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>initial_count</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#structosSemaphoreAttr__t">osSemaphoreAttr_t</a> *&#160;</td>
+ <td class="paramname"><em>attr</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">max_count</td><td>maximum number of available tokens. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">initial_count</td><td>initial number of available tokens. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">attr</td><td>semaphore attributes; NULL: default values. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>semaphore ID for reference by other functions or NULL in case of error.</dd></dl>
+<p>The function <b>osSemaphoreNew</b> creates and initializes a semaphore object that is used to manage access to shared resources and returns the pointer to the semaphore object identifier or <span class="XML-Token">NULL</span> in case of an error. It can be safely called before the RTOS is started (call to <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221">osKernelStart</a>), but not before it is initialized (call to <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659">osKernelInitialize</a>).</p>
+<p>The parameter <em>max_count</em> specifies the maximum number of available tokens. A <em>max_count</em> value of 1 creates a binary semaphore.</p>
+<p>The parameter <em>initial_count</em> sets the initial number of available tokens.</p>
+<p>The parameter <em>attr</em> specifies additional semaphore attributes. Default attributes will be used if set to <span class="XML-Token">NULL</span>.</p>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
+<p><b>Code Example</b> </p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span> <span class="comment">// CMSIS RTOS header file</span></div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> Thread_Semaphore (<span class="keywordtype">void</span> *argument); <span class="comment">// thread function</span></div>
+<div class="line"><a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> tid_Thread_Semaphore; <span class="comment">// thread id</span></div>
+<div class="line"> </div>
+<div class="line"><a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> sid_Thread_Semaphore; <span class="comment">// semaphore id</span></div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">int</span> Init_Semaphore (<span class="keywordtype">void</span>)</div>
+<div class="line">{</div>
+<div class="line"> </div>
+<div class="line"> sid_Thread_Semaphore = <a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a>(2, 2, NULL);</div>
+<div class="line"> <span class="keywordflow">if</span> (!sid_Thread_Semaphore) {</div>
+<div class="line"> ; <span class="comment">// Semaphore object not created, handle failure</span></div>
+<div class="line"> }</div>
+<div class="line"> </div>
+<div class="line"> tid_Thread_Semaphore = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> (Thread_Semaphore, NULL, NULL);</div>
+<div class="line"> <span class="keywordflow">if</span> (!tid_Thread_Semaphore) {</div>
+<div class="line"> <span class="keywordflow">return</span>(-1);</div>
+<div class="line"> }</div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordflow">return</span>(0);</div>
+<div class="line">}</div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> Thread_Semaphore (<span class="keywordtype">void</span> *argument)</div>
+<div class="line">{</div>
+<div class="line"> osStatus_t val;</div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordflow">while</span> (1) {</div>
+<div class="line"> ; <span class="comment">// Insert thread code here...</span></div>
+<div class="line"> </div>
+<div class="line"> val = <a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7e94c8b242a0c81f2cc79ec22895c87b">osSemaphoreAcquire</a> (sid_Thread_Semaphore, 10); <span class="comment">// wait for max. 10 ticks for semaphore token to get available</span></div>
+<div class="line"> <span class="keywordflow">switch</span> (val) {</div>
+<div class="line"> <span class="keywordflow">case</span> <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f">osOK</a>:</div>
+<div class="line"> ; <span class="comment">// Use protected code here...</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga0abcee1b5449d7a6928fb9248c690bb6">osSemaphoreRelease</a> (sid_Thread_Semaphore); <span class="comment">// Return a token back to a semaphore</span></div>
+<div class="line"> <span class="keywordflow">break</span>;</div>
+<div class="line"> <span class="keywordflow">case</span> <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea8fc5801e8b0482bdf22ad63a77f0155d">osErrorResource</a>:</div>
+<div class="line"> <span class="keywordflow">break</span>;</div>
+<div class="line"> <span class="keywordflow">case</span> <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813eac24adca6a5d072c9f01c32178ba0d109">osErrorParameter</a>:</div>
+<div class="line"> <span class="keywordflow">break</span>;</div>
+<div class="line"> <span class="keywordflow">default</span>:</div>
+<div class="line"> <span class="keywordflow">break</span>;</div>
+<div class="line"> }</div>
+<div class="line"> </div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gad01c7ec26535b1de6b018bb9466720e2">osThreadYield</a> (); <span class="comment">// suspend thread</span></div>
+<div class="line"> }</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ga9586952051f00285f1482dbe6695bbc4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const char * osSemaphoreGetName </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a>&#160;</td>
+ <td class="paramname"><em>semaphore_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">semaphore_id</td><td>semaphore ID obtained by <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>name as null-terminated string.</dd></dl>
+<p>The function <b>osSemaphoreGetName</b> returns the pointer to the name string of the semaphore identified by parameter <em>semaphore_id</em> or <span class="XML-Token">NULL</span> in case of an error.</p>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga7e94c8b242a0c81f2cc79ec22895c87b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> osSemaphoreAcquire </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a>&#160;</td>
+ <td class="paramname"><em>semaphore_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>timeout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">semaphore_id</td><td>semaphore ID obtained by <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td><a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a> or 0 in case of no time-out. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>status code that indicates the execution status of the function.</dd></dl>
+<p>The blocking function <b>osSemaphoreAcquire</b> waits until a token of the semaphore object specified by parameter <em>semaphore_id</em> becomes available. If a token is available, the function instantly returns and decrements the token count.</p>
+<p>The parameter <em>timeout</em> specifies how long the system waits to acquire the token. While the system waits, the thread that is calling this function is put into the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">BLOCKED</a> state. The parameter <a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">timeout</a> can have the following values:</p>
+<ul>
+<li>when <em>timeout</em> is <span class="XML-Token">0</span>, the function returns instantly (i.e. try semantics).</li>
+<li>when <em>timeout</em> is set to <b>osWaitForever</b> the function will wait for an infinite time until the semaphore becomes available (i.e. wait semantics).</li>
+<li>all other values specify a time in kernel ticks for a timeout (i.e. timed-wait semantics).</li>
+</ul>
+<p>Possible <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> return values:</p>
+<ul>
+<li><em>osOK:</em> the token has been obtained.</li>
+<li><em>osErrorTimeout:</em> the token could not be obtained in the given time.</li>
+<li><em>osErrorResource:</em> the token could not be obtained when no <em>timeout</em> was specified.</li>
+<li><em>osErrorParameter:</em> the parameter <em>semaphore_id</em> is incorrect.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>May be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a> if the parameter <em>timeout</em> is set to <span class="XML-Token">0</span>.</dd></dl>
+<p><b>Code Example</b></p>
+<p>Refer to <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a>. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga0abcee1b5449d7a6928fb9248c690bb6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> osSemaphoreRelease </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a>&#160;</td>
+ <td class="paramname"><em>semaphore_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">semaphore_id</td><td>semaphore ID obtained by <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>status code that indicates the execution status of the function.</dd></dl>
+<p>The function <b>osSemaphoreRelease</b> releases a token of the semaphore object specified by parameter <em>semaphore_id</em>. Tokens can only be released up to the maximum count specified at creation time, see <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a>. Other threads that currently wait for a token of this semaphore object will be put into the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">READY</a> state.</p>
+<p>Possible <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> return values:</p>
+<ul>
+<li><em>osOK:</em> the token has been correctly released and the count increased.</li>
+<li><em>osErrorResource:</em> the maximum token count has been reached.</li>
+<li><em>osErrorParameter:</em> the parameter <em>semaphore_id</em> is incorrect.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>This function may be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
+<p><b>Code Example</b></p>
+<p>Refer to <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a>. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga7559d4dff3cda9992fc5ab5de3e74c70"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint32_t osSemaphoreGetCount </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a>&#160;</td>
+ <td class="paramname"><em>semaphore_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">semaphore_id</td><td>semaphore ID obtained by <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>number of tokens available.</dd></dl>
+<p>The function <b>osSemaphoreGetCount</b> returns the number of available tokens of the semaphore object specified by parameter <em>semaphore_id</em>. In case of an error it returns <span class="XML-Token">0</span>.</p>
+<dl class="section note"><dt>Note</dt><dd>This function may be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga81258ce9c67fa89f07cc49d2e136cd88"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> osSemaphoreDelete </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a>&#160;</td>
+ <td class="paramname"><em>semaphore_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">semaphore_id</td><td>semaphore ID obtained by <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>status code that indicates the execution status of the function.</dd></dl>
+<p>The function <b>osSemaphoreDelete</b> deletes a semaphore object specified by parameter <em>semaphore_id</em>. It releases internal memory obtained for semaphore handling. After this call, the <em>semaphore_id</em> is no longer valid and cannot be used. The semaphore may be created again using the function <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a>.</p>
+<p>Possible <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> return values:</p>
+<ul>
+<li><em>osOK:</em> the semaphore object has been deleted.</li>
+<li><em>osErrorParameter:</em> the parameter <em>semaphore_id</em> is <span class="XML-Token">NULL</span> or invalid.</li>
+<li><em>osErrorResource:</em> the semaphore specified by parameter <em>semaphore_id</em> is in an invalid semaphore state.</li>
+<li><em>osErrorISR:</em> <b>osSemaphoreDelete</b> cannot be called from interrupt service routines.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/group__CMSIS__RTOS__SemaphoreMgmt.js b/docs/RTOS2/html/group__CMSIS__RTOS__SemaphoreMgmt.js
new file mode 100644
index 0000000..cf5b4b6
--- /dev/null
+++ b/docs/RTOS2/html/group__CMSIS__RTOS__SemaphoreMgmt.js
@@ -0,0 +1,16 @@
+var group__CMSIS__RTOS__SemaphoreMgmt =
+[
+ [ "osSemaphoreAttr_t", "group__CMSIS__RTOS__SemaphoreMgmt.html#structosSemaphoreAttr__t", [
+ [ "name", "group__CMSIS__RTOS__SemaphoreMgmt.html#ab74e6bf80237ddc4109968cedc58c151", null ],
+ [ "attr_bits", "group__CMSIS__RTOS__SemaphoreMgmt.html#a6e93b49cb79c12f768d72580c7731f30", null ],
+ [ "cb_mem", "group__CMSIS__RTOS__SemaphoreMgmt.html#a1e100dc33d403841ed3c344e3397868e", null ],
+ [ "cb_size", "group__CMSIS__RTOS__SemaphoreMgmt.html#aa55a4335d12dc2785dc00fdc292d1159", null ]
+ ] ],
+ [ "osSemaphoreId_t", "group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40", null ],
+ [ "osSemaphoreNew", "group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a", null ],
+ [ "osSemaphoreGetName", "group__CMSIS__RTOS__SemaphoreMgmt.html#ga9586952051f00285f1482dbe6695bbc4", null ],
+ [ "osSemaphoreAcquire", "group__CMSIS__RTOS__SemaphoreMgmt.html#ga7e94c8b242a0c81f2cc79ec22895c87b", null ],
+ [ "osSemaphoreRelease", "group__CMSIS__RTOS__SemaphoreMgmt.html#ga0abcee1b5449d7a6928fb9248c690bb6", null ],
+ [ "osSemaphoreGetCount", "group__CMSIS__RTOS__SemaphoreMgmt.html#ga7559d4dff3cda9992fc5ab5de3e74c70", null ],
+ [ "osSemaphoreDelete", "group__CMSIS__RTOS__SemaphoreMgmt.html#ga81258ce9c67fa89f07cc49d2e136cd88", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__CMSIS__RTOS__SemaphoreMgmt_structosSemaphoreAttr__t.js b/docs/RTOS2/html/group__CMSIS__RTOS__SemaphoreMgmt_structosSemaphoreAttr__t.js
new file mode 100644
index 0000000..41ef6a9
--- /dev/null
+++ b/docs/RTOS2/html/group__CMSIS__RTOS__SemaphoreMgmt_structosSemaphoreAttr__t.js
@@ -0,0 +1,7 @@
+var group__CMSIS__RTOS__SemaphoreMgmt_structosSemaphoreAttr__t =
+[
+ [ "name", "group__CMSIS__RTOS__SemaphoreMgmt.html#ab74e6bf80237ddc4109968cedc58c151", null ],
+ [ "attr_bits", "group__CMSIS__RTOS__SemaphoreMgmt.html#a6e93b49cb79c12f768d72580c7731f30", null ],
+ [ "cb_mem", "group__CMSIS__RTOS__SemaphoreMgmt.html#a1e100dc33d403841ed3c344e3397868e", null ],
+ [ "cb_size", "group__CMSIS__RTOS__SemaphoreMgmt.html#aa55a4335d12dc2785dc00fdc292d1159", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__CMSIS__RTOS__ThreadFlagsMgmt.html b/docs/RTOS2/html/group__CMSIS__RTOS__ThreadFlagsMgmt.html
new file mode 100644
index 0000000..5c25af2
--- /dev/null
+++ b/docs/RTOS2/html/group__CMSIS__RTOS__ThreadFlagsMgmt.html
@@ -0,0 +1,376 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Thread Flags</title>
+<title>CMSIS-RTOS2: Thread Flags</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__CMSIS__RTOS__ThreadFlagsMgmt.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">Thread Flags<div class="ingroups"><a class="el" href="group__CMSIS__RTOS.html">CMSIS-RTOS API v2</a></div></div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Synchronize threads using flags.
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga6f89ef9caded1d9963c7b12b0f6412c9"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga6f89ef9caded1d9963c7b12b0f6412c9">osThreadFlagsSet</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id, uint32_t flags)</td></tr>
+<tr class="memdesc:ga6f89ef9caded1d9963c7b12b0f6412c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the specified Thread Flags of a thread. <a href="#ga6f89ef9caded1d9963c7b12b0f6412c9">More...</a><br/></td></tr>
+<tr class="separator:ga6f89ef9caded1d9963c7b12b0f6412c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga656abc1c862c5b9a2b13584c42cc0bfa"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga656abc1c862c5b9a2b13584c42cc0bfa">osThreadFlagsClear</a> (uint32_t flags)</td></tr>
+<tr class="memdesc:ga656abc1c862c5b9a2b13584c42cc0bfa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear the specified Thread Flags of current running thread. <a href="#ga656abc1c862c5b9a2b13584c42cc0bfa">More...</a><br/></td></tr>
+<tr class="separator:ga656abc1c862c5b9a2b13584c42cc0bfa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga85c8d2c89466e25abbcb545d9ddd71ba"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga85c8d2c89466e25abbcb545d9ddd71ba">osThreadFlagsGet</a> (void)</td></tr>
+<tr class="memdesc:ga85c8d2c89466e25abbcb545d9ddd71ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current Thread Flags of current running thread. <a href="#ga85c8d2c89466e25abbcb545d9ddd71ba">More...</a><br/></td></tr>
+<tr class="separator:ga85c8d2c89466e25abbcb545d9ddd71ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac11542ad6300b600f872fc96e340ec2b"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b">osThreadFlagsWait</a> (uint32_t flags, uint32_t options, uint32_t timeout)</td></tr>
+<tr class="memdesc:gac11542ad6300b600f872fc96e340ec2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for one or more Thread Flags of the current running thread to become signaled. <a href="#gac11542ad6300b600f872fc96e340ec2b">More...</a><br/></td></tr>
+<tr class="separator:gac11542ad6300b600f872fc96e340ec2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
+<p>Thread Flags are a more specialized version of the Event Flags. See <a class="el" href="group__CMSIS__RTOS__EventFlags.html">Event Flags</a>. While Event Flags can be used to globally signal a number of threads, thread flags are only send to a single specific thread. Every thread instance can receive thread flags without any additional allocation of a thread flags object.</p>
+<dl class="section note"><dt>Note</dt><dd>Thread flag management functions cannot be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>, except for <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga6f89ef9caded1d9963c7b12b0f6412c9">osThreadFlagsSet</a>.</dd></dl>
+<p><b>Usage Example</b></p>
+<p>The following (incomplete) code excerpt sketches the usage principals for <b>Thread Flags</b>.</p>
+<p>The behavior is the following:</p>
+<ul>
+<li>app_main starts executing</li>
+<li>statement A sets thread flags to 0x02 (flags = 0x02 – after set)</li>
+<li>app_main enters delay</li>
+<li>execution switches to threadX</li>
+<li>statement B waits for flag 0x01 and blocks since flag is not set</li>
+<li>execution switches to app_main</li>
+<li>statement C sets thread flags to 0x07</li>
+<li>threadX wakes-up and clears flag 0x01, thread flags = 0x06, return value set to 0x07 (before clear), note: all this happens during statement C</li>
+<li>statement C returns with flags = 0x06</li>
+<li>app_main enters delay</li>
+<li>execution switches to threadX</li>
+<li>statement B returns with flagsX = 0x07</li>
+</ul>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
+<div class="line"> </div>
+<div class="line"><a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> tid;</div>
+<div class="line">uint32_t flagsX;</div>
+<div class="line">uint32_t flags;</div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> threadX (<span class="keywordtype">void</span> *argument) {</div>
+<div class="line"> </div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a>(1U);</div>
+<div class="line"> <span class="keywordflow">for</span> (;;) {</div>
+<div class="line"> flagsX = <a class="code" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b">osThreadFlagsWait</a>(0x0001U, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga18e63587b8450d5b8798b6f6ec04e012">osFlagsWaitAny</a>, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>); <span class="comment">/* B */</span></div>
+<div class="line"> }</div>
+<div class="line">}</div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> app_main (<span class="keywordtype">void</span> *argument) {</div>
+<div class="line"> </div>
+<div class="line"> tid = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(threadX, NULL, NULL);</div>
+<div class="line"> </div>
+<div class="line"> flags = <a class="code" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga6f89ef9caded1d9963c7b12b0f6412c9">osThreadFlagsSet</a>(tid, 0x0002U); <span class="comment">/* A */</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a>(2U);</div>
+<div class="line"> flags = <a class="code" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga6f89ef9caded1d9963c7b12b0f6412c9">osThreadFlagsSet</a>(tid, 0x0005U); <span class="comment">/* C */</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a>(2U);</div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordflow">for</span>(;;);</div>
+<div class="line">}</div>
+</div><!-- fragment --> <h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ga6f89ef9caded1d9963c7b12b0f6412c9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint32_t osThreadFlagsSet </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
+ <td class="paramname"><em>thread_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>flags</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>specifies the flags of the thread that shall be set. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>thread flags after setting or error code if highest bit set.</dd></dl>
+<p>The function <b>osThreadFlagsSet</b> sets the thread flags for a thread specified by parameter <em>thread_id</em>. It returns the flags set, or an error code if highest bit is set (refer to <a class="el" href="group__flags__error__codes.html">Flags Functions Error Codes</a>). This function may be used also within interrupt service routines. Threads waiting for a flag to be set will resume from <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">BLOCKED</a> state.</p>
+<p>Possible <a class="el" href="group__flags__error__codes.html">Flags Functions Error Codes</a> return values:</p>
+<ul>
+<li><em>osFlagsErrorUnknown:</em> Unspecified error.</li>
+<li><em>osFlagsErrorResource:</em> Thread specified by parameter <em>thread_id</em> is not active to receive flags.</li>
+<li><em>osFlagsErrorParameter:</em> Parameter <em>thread_id</em> is not a valid thread or <em>flags</em> has highest bit set.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>This function may be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
+<p><b>Code</b> <b>Example</b> </p>
+<div class="fragment"><div class="line"><span class="comment">/*----------------------------------------------------------------------------</span></div>
+<div class="line"><span class="comment"> * Function &#39;signal_func&#39; called from multiple threads</span></div>
+<div class="line"><span class="comment"> *---------------------------------------------------------------------------*/</span></div>
+<div class="line"><span class="keywordtype">void</span> signal_func (<a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> tid) {</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga6f89ef9caded1d9963c7b12b0f6412c9">osThreadFlagsSet</a>(tid_clock, 0x0100); <span class="comment">/* set signal to clock thread */</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a>(500); <span class="comment">/* delay 500ms */</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga6f89ef9caded1d9963c7b12b0f6412c9">osThreadFlagsSet</a>(tid_clock, 0x0100); <span class="comment">/* set signal to clock thread */</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a>(500); <span class="comment">/* delay 500ms */</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga6f89ef9caded1d9963c7b12b0f6412c9">osThreadFlagsSet</a>(tid, 0x0001); <span class="comment">/* set signal to thread &#39;thread&#39; */</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a>(500); <span class="comment">/* delay 500ms */</span></div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ga656abc1c862c5b9a2b13584c42cc0bfa"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint32_t osThreadFlagsClear </td>
+ <td>(</td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>flags</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>specifies the flags of the thread that shall be cleared. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>thread flags before clearing or error code if highest bit set.</dd></dl>
+<p>The function <b>osThreadFlagsClear</b> clears the specified flags for the currently running thread. It returns the flags before clearing, or an error code if highest bit is set (refer to <a class="el" href="group__flags__error__codes.html">Flags Functions Error Codes</a>).</p>
+<p>Possible <a class="el" href="group__flags__error__codes.html">Flags Functions Error Codes</a> return values:</p>
+<ul>
+<li><em>osFlagsErrorUnknown:</em> Unspecified error, i.e. not called from a running threads context.</li>
+<li><em>osFlagsErrorResource:</em> Running thread is not active to receive flags.</li>
+<li><em>osFlagsErrorParameter:</em> Parameter <em>flags</em> has highest bit set.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga85c8d2c89466e25abbcb545d9ddd71ba"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint32_t osThreadFlagsGet </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>current thread flags.</dd></dl>
+<p>The function <b>osThreadFlagsGet</b> returns the flags currently set for the currently running thread. If called without a active and currently running thread <b>osThreadFlagsGet</b> return zero.</p>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gac11542ad6300b600f872fc96e340ec2b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint32_t osThreadFlagsWait </td>
+ <td>(</td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>flags</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>options</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>timeout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>specifies the flags to wait for. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">options</td><td>specifies flags options (osFlagsXxxx). </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td><a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a> or 0 in case of no time-out. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>thread flags before clearing or error code if highest bit set.</dd></dl>
+<p>The function <b>osThreadFlagsWait</b> suspends the execution of the currently <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">RUNNING</a> thread until any or all of the thread flags specified with the parameter <em>flags</em> are set. When these thread flags are already set, the function returns instantly. Otherwise the thread is put into the state <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">BLOCKED</a>.</p>
+<p>The parameter <em>options</em> specifies the wait condition: </p>
+<table class="doxtable">
+<tr>
+<th>Option </th><th></th></tr>
+<tr>
+<td><b>osFlagsWaitAny</b> </td><td>Wait for any flag (default). </td></tr>
+<tr>
+<td><b>osFlagsWaitAll</b> </td><td>Wait for all flags. </td></tr>
+<tr>
+<td><b>osFlagsNoClear</b> </td><td>Do not clear flags which have been specified to wait for. </td></tr>
+</table>
+<p>If <code>osFlagsNoClear</code> is set in the options <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga656abc1c862c5b9a2b13584c42cc0bfa">osThreadFlagsClear</a> can be used to clear flags manually. Otherwise <b>osThreadFlagsWait</b> automatically clears the flags waited for.</p>
+<p>The parameter <a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">timeout</a> represents a number of timer ticks and is an upper bound. The exact time delay depends on the actual time elapsed since the last timer tick.</p>
+<p>The function returns the flags before clearing, or an error code if highest bit is set (refer to <a class="el" href="group__flags__error__codes.html">Flags Functions Error Codes</a>).</p>
+<p>Possible <a class="el" href="group__flags__error__codes.html">Flags Functions Error Codes</a> return values:</p>
+<ul>
+<li><em>osFlagsErrorUnknown:</em> Unspecified error, i.e. not called from a running threads context.</li>
+<li><em>osFlagsErrorTimeout:</em> The awaited flags has not been set during given timeout.</li>
+<li><em>osFlagsErrorResource:</em> Running thread is not active to receive flags.</li>
+<li><em>osFlagsErrorParameter:</em> Parameter <em>flags</em> has highest bit set.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
+<p><b>Code Example</b> </p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> Thread (<span class="keywordtype">void</span>* arg) {</div>
+<div class="line"> ;</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b">osThreadFlagsWait</a> (0x00000001U, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga18e63587b8450d5b8798b6f6ec04e012">osFlagsWaitAny</a>, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>); <span class="comment">// Wait forever until thread flag 1 is set.</span></div>
+<div class="line"> ;</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b">osThreadFlagsWait</a> (0x00000003U, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga18e63587b8450d5b8798b6f6ec04e012">osFlagsWaitAny</a>, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>); <span class="comment">// Wait forever until either thread flag 0 or 1 is set.</span></div>
+<div class="line"> ;</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b">osThreadFlagsWait</a> (0x00000003U, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga8b6f562736fbfb5428940e0c017dec24">osFlagsWaitAll</a>, 10); <span class="comment">// Wait for 10 timer ticks until thread flags 0 and 1 are set. Timeout afterwards.</span></div>
+<div class="line"> ;</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b">osThreadFlagsWait</a> (0x00000003U, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga8b6f562736fbfb5428940e0c017dec24">osFlagsWaitAll</a> | <a class="code" href="group__CMSIS__RTOS__Definitions.html#gaade844a42237d8c37569d4d9b16b9f1c">osFlagsNoClear</a>, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>); <span class="comment">// Same as the above, but the flags will not be cleared.</span></div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/group__CMSIS__RTOS__ThreadFlagsMgmt.js b/docs/RTOS2/html/group__CMSIS__RTOS__ThreadFlagsMgmt.js
new file mode 100644
index 0000000..80852eb
--- /dev/null
+++ b/docs/RTOS2/html/group__CMSIS__RTOS__ThreadFlagsMgmt.js
@@ -0,0 +1,7 @@
+var group__CMSIS__RTOS__ThreadFlagsMgmt =
+[
+ [ "osThreadFlagsSet", "group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga6f89ef9caded1d9963c7b12b0f6412c9", null ],
+ [ "osThreadFlagsClear", "group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga656abc1c862c5b9a2b13584c42cc0bfa", null ],
+ [ "osThreadFlagsGet", "group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga85c8d2c89466e25abbcb545d9ddd71ba", null ],
+ [ "osThreadFlagsWait", "group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__CMSIS__RTOS__ThreadMgmt.html b/docs/RTOS2/html/group__CMSIS__RTOS__ThreadMgmt.html
new file mode 100644
index 0000000..dba38af
--- /dev/null
+++ b/docs/RTOS2/html/group__CMSIS__RTOS__ThreadMgmt.html
@@ -0,0 +1,1467 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Thread Management</title>
+<title>CMSIS-RTOS2: Thread Management</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__CMSIS__RTOS__ThreadMgmt.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#define-members">Macros</a> &#124;
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#enum-members">Enumerations</a> &#124;
+<a href="#enumval-members">Enumerator</a> &#124;
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">Thread Management<div class="ingroups"><a class="el" href="group__CMSIS__RTOS.html">CMSIS-RTOS API v2</a></div></div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Define, create, and control thread functions.
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Structures</h2></td></tr>
+<tr class="memitem:structosThreadAttr__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t">osThreadAttr_t</a></td></tr>
+<tr class="memdesc:structosThreadAttr__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attributes structure for thread. <a href="group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t">More...</a><br/></td></tr>
+<tr class="separator:structosThreadAttr__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
+Macros</h2></td></tr>
+<tr class="memitem:ga249499c519f3f8eef5673009ab6cfcbe"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga249499c519f3f8eef5673009ab6cfcbe">osThreadJoinable</a>&#160;&#160;&#160;0x00000001U</td></tr>
+<tr class="memdesc:ga249499c519f3f8eef5673009ab6cfcbe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Thread created in joinable mode. <a href="#ga249499c519f3f8eef5673009ab6cfcbe">More...</a><br/></td></tr>
+<tr class="separator:ga249499c519f3f8eef5673009ab6cfcbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa9336c1073858d6b118e2e011636246f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa9336c1073858d6b118e2e011636246f">osThreadDetached</a>&#160;&#160;&#160;0x00000000U</td></tr>
+<tr class="memdesc:gaa9336c1073858d6b118e2e011636246f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Thread created in detached mode (default) <a href="#gaa9336c1073858d6b118e2e011636246f">More...</a><br/></td></tr>
+<tr class="separator:gaa9336c1073858d6b118e2e011636246f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr class="memitem:gadd51f99a6eb50b94eee75f27cae815eb"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gadd51f99a6eb50b94eee75f27cae815eb">osThreadFunc_t</a> )(void *argument)</td></tr>
+<tr class="memdesc:gadd51f99a6eb50b94eee75f27cae815eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Entry point of a thread. <a href="#gadd51f99a6eb50b94eee75f27cae815eb">More...</a><br/></td></tr>
+<tr class="separator:gadd51f99a6eb50b94eee75f27cae815eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa6c32fe2a3e0a2e01f212d55b02e51c7"><td class="memItemLeft" align="right" valign="top">typedef void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a></td></tr>
+<tr class="separator:gaa6c32fe2a3e0a2e01f212d55b02e51c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr class="memitem:gad3dc89e942e38d9f3af858a0269a820d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad3dc89e942e38d9f3af858a0269a820d">osThreadState_t</a> { <br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820dae9d77830b6866e287417b6e1d983e971">osThreadInactive</a> = 0,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820da59e286915944fe0e4d1ffdb1f2946f14">osThreadReady</a> = 1,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820dac4fe336e0790188fcf7d667372eca19d">osThreadRunning</a> = 2,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820daf0e992e354fba8695957c530226a4968">osThreadBlocked</a> = 3,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820dad5b2726c2d0228f4f1a76cf6b630963c">osThreadTerminated</a> = 4,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820da339313e26613bc12f66a852e2ff8745e">osThreadError</a> = -1,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad3dc89e942e38d9f3af858a0269a820da8872f7e352370eb11ee772c7dcca6e6c">osThreadReserved</a> = 0x7FFFFFFF
+<br/>
+ }</td></tr>
+<tr class="memdesc:gad3dc89e942e38d9f3af858a0269a820d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Thread state. <a href="group__CMSIS__RTOS__ThreadMgmt.html#gad3dc89e942e38d9f3af858a0269a820d">More...</a><br/></td></tr>
+<tr class="separator:gad3dc89e942e38d9f3af858a0269a820d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad4e3e0971b41f2d17584a8c6837342ec"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ec">osPriority_t</a> { <br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca6c437c7185161a3bd1e7e4669dfa17a3">osPriorityNone</a> = 0,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad4e3e0971b41f2d17584a8c6837342ecacd5864eac01a6916a7c866bb51a6aac1">osPriorityIdle</a> = 1,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca61cb822239ac8f66dfbdc7291598a3d4">osPriorityLow</a> = 8,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ecaba2b6919f0b630c8c1b2c940e3bfadbe">osPriorityLow1</a> = 8+1,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca78ad5d00aa07a2b4bf30a639544f5507">osPriorityLow2</a> = 8+2,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca28ccb07942c16f5f5efefb6cf68a7f50">osPriorityLow3</a> = 8+3,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca5a4a4f26d5b220a968e221e854f69a81">osPriorityLow4</a> = 8+4,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ecad69b8c14809bc5bdce4887f5a57d9353">osPriorityLow5</a> = 8+5,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ecac0f188468664d06d4cd9e6e1ed351393">osPriorityLow6</a> = 8+6,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca5b151ebba7fdeb1baaa9b7b420890b7a">osPriorityLow7</a> = 8+7,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca193b650117c209b4a203954542bcc3e6">osPriorityBelowNormal</a> = 16,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca9138da7187690b15f52d8e5729c18da5">osPriorityBelowNormal1</a> = 16+1,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca4f081d6735bf2f513338b07eddf13ae3">osPriorityBelowNormal2</a> = 16+2,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca19c013690d0d6bf3ac90707942be3fdf">osPriorityBelowNormal3</a> = 16+3,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca36931ad6cee5e4700e2c8622bdd2cd24">osPriorityBelowNormal4</a> = 16+4,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca0bcd9ad1e7a02e3bf03be7dcc8ece38e">osPriorityBelowNormal5</a> = 16+5,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ecabd3cc7df5b92b752ddf1e7843a786c05">osPriorityBelowNormal6</a> = 16+6,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ecab18e3bda7b5e418e309a62d6267ea14b">osPriorityBelowNormal7</a> = 16+7,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca45a2895ad30c79fb97de18cac7cc19f1">osPriorityNormal</a> = 24,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca3e70c19e03d5a54e66bd071f0776782c">osPriorityNormal1</a> = 24+1,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca19e96f2b025b6462a43b1965043c8205">osPriorityNormal2</a> = 24+2,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca402bd7ab26fb57c8cee8cf94168f4c91">osPriorityNormal3</a> = 24+3,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca93ef07d3a107aeee6508bfd29ba3485d">osPriorityNormal4</a> = 24+4,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca68f3f6fdaa639de300277802aa13a0ab">osPriorityNormal5</a> = 24+5,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca8221eb0d059726a6309f1f2d0cdb6204">osPriorityNormal6</a> = 24+6,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca049abd04f8951415407ec9d92bd9b80b">osPriorityNormal7</a> = 24+7,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca17b36cd9cd38652c2bc6d4803990674b">osPriorityAboveNormal</a> = 32,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ecabfeafc713edfc7b9130aa5c762d68998">osPriorityAboveNormal1</a> = 32+1,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca901acf86070e06f5990b611734ee2562">osPriorityAboveNormal2</a> = 32+2,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ecad566b876b64e6efdc3eba0fc04e54013">osPriorityAboveNormal3</a> = 32+3,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca6ccac37d7dae4586a2031966d36a63ec">osPriorityAboveNormal4</a> = 32+4,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ecae36e8b38ee046a3104bcccabb10cf78c">osPriorityAboveNormal5</a> = 32+5,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca61e6ce27e1e0f34f2540b413b8a8b207">osPriorityAboveNormal6</a> = 32+6,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ecadbbb0fed3ada6b9b50d4a628abc2a67d">osPriorityAboveNormal7</a> = 32+7,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca914433934143a9ba767e59577c56e6c2">osPriorityHigh</a> = 40,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca17b7a7e6febf12444a84e90edfce36cb">osPriorityHigh1</a> = 40+1,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca40a120cf8bbc42e575455c027f3d9b03">osPriorityHigh2</a> = 40+2,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca0b15518b0b5321a29efa0b42b2f8c759">osPriorityHigh3</a> = 40+3,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ecafe5a4f393fab04551ac7d93e80cdf0fb">osPriorityHigh4</a> = 40+4,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca5960841bfbdd959b163429e8502ea4e9">osPriorityHigh5</a> = 40+5,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca5714dda6effc1a3f8ec155d97e3e69bc">osPriorityHigh6</a> = 40+6,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca63ad0cc52a701ef3d9df52b59b995652">osPriorityHigh7</a> = 40+7,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca1485dec3702434a1ec3cb74c7a17a4af">osPriorityRealtime</a> = 48,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ecaf685a06b30f0635476e21347a986305b">osPriorityRealtime1</a> = 48+1,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ecab832bd9de84e5eec2ecad69d085dadff">osPriorityRealtime2</a> = 48+2,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca3f2261e5e733e92844ae8c630f2f9eaa">osPriorityRealtime3</a> = 48+3,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ecaf614e3dc966d559cd9d9d2a0f78ebe70">osPriorityRealtime4</a> = 48+4,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ecaff84f31ceff203c711fb9476443507df">osPriorityRealtime5</a> = 48+5,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342eca80ae9d0dd256312c0c8f44af48316194">osPriorityRealtime6</a> = 48+6,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ecaa76da6825c4bd31c4958200bc289103b">osPriorityRealtime7</a> = 48+7,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad4e3e0971b41f2d17584a8c6837342eca4b4fa46c3ebaf4259662a0a0a3173b7f">osPriorityISR</a> = 56,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ecae35f5e2f9c64ad346822521b643bdea4">osPriorityError</a> = -1,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ecac86c171f8d466cced0cb1b03bb03343b">osPriorityReserved</a> = 0x7FFFFFFF
+<br/>
+ }</td></tr>
+<tr class="memdesc:gad4e3e0971b41f2d17584a8c6837342ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Priority values. <a href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ec">More...</a><br/></td></tr>
+<tr class="separator:gad4e3e0971b41f2d17584a8c6837342ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga48d68b8666d99d28fa646ee1d2182b8f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gadd51f99a6eb50b94eee75f27cae815eb">osThreadFunc_t</a> func, void *argument, const <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t">osThreadAttr_t</a> *attr)</td></tr>
+<tr class="memdesc:ga48d68b8666d99d28fa646ee1d2182b8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a thread and add it to Active Threads. <a href="#ga48d68b8666d99d28fa646ee1d2182b8f">More...</a><br/></td></tr>
+<tr class="separator:ga48d68b8666d99d28fa646ee1d2182b8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac3230f3a55a297514b013ebf38f27e0a"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gac3230f3a55a297514b013ebf38f27e0a">osThreadGetName</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:gac3230f3a55a297514b013ebf38f27e0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get name of a thread. <a href="#gac3230f3a55a297514b013ebf38f27e0a">More...</a><br/></td></tr>
+<tr class="separator:gac3230f3a55a297514b013ebf38f27e0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8df03548e89fbc56402a5cd584a505da"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a> (void)</td></tr>
+<tr class="memdesc:ga8df03548e89fbc56402a5cd584a505da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the thread ID of the current running thread. <a href="#ga8df03548e89fbc56402a5cd584a505da">More...</a><br/></td></tr>
+<tr class="separator:ga8df03548e89fbc56402a5cd584a505da"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gacc0a98b42f0a5928e12dc91dc76866b9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad3dc89e942e38d9f3af858a0269a820d">osThreadState_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gacc0a98b42f0a5928e12dc91dc76866b9">osThreadGetState</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:gacc0a98b42f0a5928e12dc91dc76866b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get current thread state of a thread. <a href="#gacc0a98b42f0a5928e12dc91dc76866b9">More...</a><br/></td></tr>
+<tr class="separator:gacc0a98b42f0a5928e12dc91dc76866b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga861a420fb2d643115b06622903fb3bfb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga861a420fb2d643115b06622903fb3bfb">osThreadSetPriority</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id, <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ec">osPriority_t</a> priority)</td></tr>
+<tr class="memdesc:ga861a420fb2d643115b06622903fb3bfb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Change priority of a thread. <a href="#ga861a420fb2d643115b06622903fb3bfb">More...</a><br/></td></tr>
+<tr class="separator:ga861a420fb2d643115b06622903fb3bfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0aeaf349604f456e68e78f9d3b42e44b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ec">osPriority_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga0aeaf349604f456e68e78f9d3b42e44b">osThreadGetPriority</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:ga0aeaf349604f456e68e78f9d3b42e44b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get current priority of a thread. <a href="#ga0aeaf349604f456e68e78f9d3b42e44b">More...</a><br/></td></tr>
+<tr class="separator:ga0aeaf349604f456e68e78f9d3b42e44b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad01c7ec26535b1de6b018bb9466720e2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad01c7ec26535b1de6b018bb9466720e2">osThreadYield</a> (void)</td></tr>
+<tr class="memdesc:gad01c7ec26535b1de6b018bb9466720e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pass control to next thread that is in state <b>READY</b>. <a href="#gad01c7ec26535b1de6b018bb9466720e2">More...</a><br/></td></tr>
+<tr class="separator:gad01c7ec26535b1de6b018bb9466720e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa9de419d0152bf77e9bbcd1f369fb990"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa9de419d0152bf77e9bbcd1f369fb990">osThreadSuspend</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:gaa9de419d0152bf77e9bbcd1f369fb990"><td class="mdescLeft">&#160;</td><td class="mdescRight">Suspend execution of a thread. <a href="#gaa9de419d0152bf77e9bbcd1f369fb990">More...</a><br/></td></tr>
+<tr class="separator:gaa9de419d0152bf77e9bbcd1f369fb990"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3dbad90eff394b02de76a452c84c5d80"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga3dbad90eff394b02de76a452c84c5d80">osThreadResume</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:ga3dbad90eff394b02de76a452c84c5d80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resume execution of a thread. <a href="#ga3dbad90eff394b02de76a452c84c5d80">More...</a><br/></td></tr>
+<tr class="separator:ga3dbad90eff394b02de76a452c84c5d80"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaaad14cd9547341ea8109dc4e8540f1dc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaaad14cd9547341ea8109dc4e8540f1dc">osThreadDetach</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:gaaad14cd9547341ea8109dc4e8540f1dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Detach a thread (thread storage can be reclaimed when thread terminates). <a href="#gaaad14cd9547341ea8109dc4e8540f1dc">More...</a><br/></td></tr>
+<tr class="separator:gaaad14cd9547341ea8109dc4e8540f1dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3fca90fb0679afeb968aa8c3d5874487"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga3fca90fb0679afeb968aa8c3d5874487">osThreadJoin</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:ga3fca90fb0679afeb968aa8c3d5874487"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for specified thread to terminate. <a href="#ga3fca90fb0679afeb968aa8c3d5874487">More...</a><br/></td></tr>
+<tr class="separator:ga3fca90fb0679afeb968aa8c3d5874487"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaddaa452dd7610e4096647a566d3556fc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cmsis__os2_8h.html#a153a4a31b276a9758959580538720a51">__NO_RETURN</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaddaa452dd7610e4096647a566d3556fc">osThreadExit</a> (void)</td></tr>
+<tr class="memdesc:gaddaa452dd7610e4096647a566d3556fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Terminate execution of current running thread. <a href="#gaddaa452dd7610e4096647a566d3556fc">More...</a><br/></td></tr>
+<tr class="separator:gaddaa452dd7610e4096647a566d3556fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2f8ba6dba6e9c065a6e236ffd410d74a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga2f8ba6dba6e9c065a6e236ffd410d74a">osThreadTerminate</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:ga2f8ba6dba6e9c065a6e236ffd410d74a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Terminate execution of a thread. <a href="#ga2f8ba6dba6e9c065a6e236ffd410d74a">More...</a><br/></td></tr>
+<tr class="separator:ga2f8ba6dba6e9c065a6e236ffd410d74a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab9f8bd715d671c6ee27644867bc1bf65"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gab9f8bd715d671c6ee27644867bc1bf65">osThreadGetStackSize</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:gab9f8bd715d671c6ee27644867bc1bf65"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get stack size of a thread. <a href="#gab9f8bd715d671c6ee27644867bc1bf65">More...</a><br/></td></tr>
+<tr class="separator:gab9f8bd715d671c6ee27644867bc1bf65"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga9c83bd5dd8de329701775d6ef7012720"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga9c83bd5dd8de329701775d6ef7012720">osThreadGetStackSpace</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:ga9c83bd5dd8de329701775d6ef7012720"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get available stack space of a thread based on stack watermark recording during execution. <a href="#ga9c83bd5dd8de329701775d6ef7012720">More...</a><br/></td></tr>
+<tr class="separator:ga9c83bd5dd8de329701775d6ef7012720"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga495b3f812224e7301f23a691793765db"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga495b3f812224e7301f23a691793765db">osThreadGetCount</a> (void)</td></tr>
+<tr class="memdesc:ga495b3f812224e7301f23a691793765db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get number of active threads. <a href="#ga495b3f812224e7301f23a691793765db">More...</a><br/></td></tr>
+<tr class="separator:ga495b3f812224e7301f23a691793765db"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5606604d56e21ece1a654664be877439"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga5606604d56e21ece1a654664be877439">osThreadEnumerate</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> *thread_array, uint32_t array_items)</td></tr>
+<tr class="memdesc:ga5606604d56e21ece1a654664be877439"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumerate active threads. <a href="#ga5606604d56e21ece1a654664be877439">More...</a><br/></td></tr>
+<tr class="separator:ga5606604d56e21ece1a654664be877439"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
+<p>The Thread Management function group allows defining, creating, and controlling thread functions in the system.</p>
+<dl class="section note"><dt>Note</dt><dd>Thread management functions cannot be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
+<p><a class="anchor" id="ThreadStates"></a></p>
+<h2>Thread states </h2>
+<p>Threads can be in the following states:</p>
+<ul>
+<li><b>RUNNING:</b> The thread that is currently running is in the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">RUNNING</a> state. Only one thread at a time can be in this state.</li>
+<li><b>READY:</b> Threads which are ready to run are in the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">READY</a> state. Once the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">RUNNING</a> thread has terminated, or is <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">BLOCKED</a>, the next <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">READY</a> thread with the highest priority becomes the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">RUNNING</a> thread.</li>
+<li><b>BLOCKED:</b> Threads that are blocked either delayed, waiting for an event to occur or suspended are in the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">BLOCKED</a> state.</li>
+<li><b>TERMINATED:</b> When <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga2f8ba6dba6e9c065a6e236ffd410d74a">osThreadTerminate</a> is called, threads are <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">TERMINATED</a> with resources not yet released.</li>
+<li><b>INACTIVE:</b> Threads that are not created or have been terminated with all resources released are in the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">INACTIVE</a> state.</li>
+</ul>
+<div class="image">
+<img src="ThreadStatus.png" alt="ThreadStatus.png"/>
+<div class="caption">
+Thread State and State Transitions</div></div>
+<p>A CMSIS-RTOS assumes that threads are scheduled as shown in the figure <b>Thread State and State Transitions</b>. The thread states change as follows:</p>
+<ul>
+<li>A thread is created using the function <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>. This puts the thread into the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">READY</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">RUNNING</a> state (depending on the thread priority).</li>
+<li>CMSIS-RTOS is preemptive. The active thread with the highest priority becomes the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">RUNNING</a> thread provided it does not wait for any event. The initial priority of a thread is defined with the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t">osThreadAttr_t</a> but may be changed during execution using the function <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga861a420fb2d643115b06622903fb3bfb">osThreadSetPriority</a>.</li>
+<li>The <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">RUNNING</a> thread transfers into the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">BLOCKED</a> state when it is delayed, waiting for an event or suspended.</li>
+<li>Active threads can be terminated any time using the function <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga2f8ba6dba6e9c065a6e236ffd410d74a">osThreadTerminate</a>. Threads can terminate also by just returning from the thread function. Threads that are terminated are in the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">INACTIVE</a> state and typically do not consume any dynamic memory resources.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>Refer to <a class="el" href="config_rtx5.html#threadConfig">Thread Configuration</a> for RTX5 configuration options.</dd></dl>
+<p><a class="anchor" id="thread_examples"></a></p>
+<h1>Thread Examples </h1>
+<p>The following examples show various scenarios to create threads:</p>
+<p><b>Example 1 - Create a simple thread</b></p>
+<p>Create a thread out of the function thread1 using all default values for thread attributes and memory from the <a class="el" href="theory_of_operation.html#GlobalMemoryPool">Global Memory Pool</a>.</p>
+<div class="fragment"><div class="line"><a class="code" href="cmsis__os2_8h.html#a153a4a31b276a9758959580538720a51">__NO_RETURN</a> <span class="keywordtype">void</span> thread1 (<span class="keywordtype">void</span> *argument) {</div>
+<div class="line"> <span class="comment">// ...</span></div>
+<div class="line"> <span class="keywordflow">for</span> (;;) {}</div>
+<div class="line">}</div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">int</span> main (<span class="keywordtype">void</span>) {</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659">osKernelInitialize</a>();</div>
+<div class="line"> ;</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(thread1, NULL, NULL); <span class="comment">// Create thread with default settings</span></div>
+<div class="line"> ;</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221">osKernelStart</a>(); </div>
+<div class="line">}</div>
+</div><!-- fragment --><p><b>Example 2 - Create thread with stack non-default stack size</b></p>
+<p>Similar to the simple thread all attributes are default. The stack is dynamically allocated from the <a class="el" href="theory_of_operation.html#GlobalMemoryPool">Global Memory Pool</a></p>
+<p><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#aacbc9a219f2d6870e9ce89bb93f975c9">osThreadAttr_t::stack_size</a> is used to pass the stack size in Bytes to osThreadNew.</p>
+<div class="fragment"><div class="line"><a class="code" href="cmsis__os2_8h.html#a153a4a31b276a9758959580538720a51">__NO_RETURN</a> <span class="keywordtype">void</span> thread1 (<span class="keywordtype">void</span> *argument) {</div>
+<div class="line"> <span class="comment">// ...</span></div>
+<div class="line"> <span class="keywordflow">for</span> (;;) {}</div>
+<div class="line">}</div>
+<div class="line"> </div>
+<div class="line"><span class="keyword">const</span> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t">osThreadAttr_t</a> thread1_attr = {</div>
+<div class="line"> .<a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#aacbc9a219f2d6870e9ce89bb93f975c9">stack_size</a> = 1024 <span class="comment">// Create the thread stack with a size of 1024 bytes</span></div>
+<div class="line">};</div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">int</span> main (<span class="keywordtype">void</span>) {</div>
+<div class="line"> ; </div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(thread1, NULL, &amp;thread1_attr); <span class="comment">// Create thread with custom sized stack memory</span></div>
+<div class="line"> ;</div>
+<div class="line">}</div>
+</div><!-- fragment --><p><b>Example 3 - Create thread with statically allocated stack</b></p>
+<p>Similar to the simple thread all attributes are default. The stack is statically allocated using the <code>uint64_t</code> array <code>thread1_stk_1</code>. This allocates 64*8 Bytes (=512 Bytes) with an alignment of 8 Bytes (mandatory for Cortex-M stack memory).</p>
+<p><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ad7c9b42355a4c8b9467130ab3fb19e43">osThreadAttr_t::stack_mem</a> holds a pointer to the stacks lowest address.</p>
+<p><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#aacbc9a219f2d6870e9ce89bb93f975c9">osThreadAttr_t::stack_size</a> is used to pass the stack size in Bytes to osThreadNew.</p>
+<div class="fragment"><div class="line"><a class="code" href="cmsis__os2_8h.html#a153a4a31b276a9758959580538720a51">__NO_RETURN</a> <span class="keywordtype">void</span> thread1 (<span class="keywordtype">void</span> *argument) {</div>
+<div class="line"> <span class="comment">// ...</span></div>
+<div class="line"> <span class="keywordflow">for</span> (;;) {}</div>
+<div class="line">}</div>
+<div class="line"> </div>
+<div class="line"><span class="keyword">static</span> uint64_t thread1_stk_1[64];</div>
+<div class="line"> </div>
+<div class="line"><span class="keyword">const</span> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t">osThreadAttr_t</a> thread1_attr = {</div>
+<div class="line"> .<a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ad7c9b42355a4c8b9467130ab3fb19e43">stack_mem</a> = &amp;thread1_stk_1[0],</div>
+<div class="line"> .stack_size = <span class="keyword">sizeof</span>(thread1_stk_1)</div>
+<div class="line">};</div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">int</span> main (<span class="keywordtype">void</span>) {</div>
+<div class="line"> ; </div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(thread1, NULL, &amp;thread1_attr); <span class="comment">// Create thread with statically allocated stack memory</span></div>
+<div class="line"> ;</div>
+<div class="line">}</div>
+</div><!-- fragment --><p><b>Example 4 - Thread with statically allocated task control block</b></p>
+<p>Typically this method is chosen together with a statically allocated stack as shown in Example 2. </p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
+<div class="line"> </div>
+<div class="line"><span class="comment">//include rtx_os.h for types of RTX objects</span></div>
+<div class="line"><span class="preprocessor">#include &quot;<a class="code" href="rtx__os_8h.html">rtx_os.h</a>&quot;</span></div>
+<div class="line"></div>
+<div class="line"><a class="code" href="cmsis__os2_8h.html#a153a4a31b276a9758959580538720a51">__NO_RETURN</a> <span class="keywordtype">void</span> thread1 (<span class="keywordtype">void</span> *argument) {</div>
+<div class="line"> <span class="comment">// ...</span></div>
+<div class="line"> <span class="keywordflow">for</span> (;;) {}</div>
+<div class="line">}</div>
+<div class="line"> </div>
+<div class="line"><span class="keyword">static</span> <a class="code" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a> thread1_tcb;</div>
+<div class="line"> </div>
+<div class="line"><span class="keyword">const</span> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t">osThreadAttr_t</a> thread1_attr = {</div>
+<div class="line"> .<a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#a1e100dc33d403841ed3c344e3397868e">cb_mem</a> = &amp;thread1_tcb,</div>
+<div class="line"> .cb_size = <span class="keyword">sizeof</span>(thread1_tcb),</div>
+<div class="line">};</div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">int</span> main (<span class="keywordtype">void</span>) {</div>
+<div class="line"> ;</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(thread1, NULL, &amp;thread1_attr); <span class="comment">// Create thread with custom tcb memory</span></div>
+<div class="line"> ;</div>
+<div class="line">}</div>
+</div><!-- fragment --><p><b>Example 5 - Create thread with a different priority</b></p>
+<p>The default priority of RTX is <a class="el" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca45a2895ad30c79fb97de18cac7cc19f1">osPriorityNormal</a>. Often you want to run a task with a higher or lower priority. Using the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t">osThreadAttr_t</a> control structure you can set any initial priority required.</p>
+<div class="fragment"><div class="line"><a class="code" href="cmsis__os2_8h.html#a153a4a31b276a9758959580538720a51">__NO_RETURN</a> <span class="keywordtype">void</span> thread1 (<span class="keywordtype">void</span> *argument) {</div>
+<div class="line"> <span class="comment">// ...</span></div>
+<div class="line"> <span class="keywordflow">for</span> (;;) {}</div>
+<div class="line">}</div>
+<div class="line"> </div>
+<div class="line"><span class="keyword">const</span> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t">osThreadAttr_t</a> thread1_attr = {</div>
+<div class="line"> .<a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#a6a5183df4c54c3e28dc8dc704f2487d5">priority</a> = <a class="code" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca914433934143a9ba767e59577c56e6c2">osPriorityHigh</a> <span class="comment">//Set initial thread priority to high </span></div>
+<div class="line">};</div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">int</span> main (<span class="keywordtype">void</span>) {</div>
+<div class="line"> ;</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(thread1, NULL, &amp;thread1_attr); </div>
+<div class="line"> ;</div>
+<div class="line">}</div>
+</div><!-- fragment --><p><a class="anchor" id="joinable_threads"></a><b>Example 6 - Joinable threads</b></p>
+<p>In this example a master thread creates four threads with the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga249499c519f3f8eef5673009ab6cfcbe">osThreadJoinable</a> attribute. These will do some work and return using the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaddaa452dd7610e4096647a566d3556fc">osThreadExit</a> call after finished. <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga3fca90fb0679afeb968aa8c3d5874487">osThreadJoin</a> is used to synchronize the thread termination.</p>
+<div class="fragment"><div class="line"><a class="code" href="cmsis__os2_8h.html#a153a4a31b276a9758959580538720a51">__NO_RETURN</a> <span class="keywordtype">void</span> worker (<span class="keywordtype">void</span> *argument) { </div>
+<div class="line"> ; <span class="comment">// work a lot on data[] </span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a>(1000); </div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaddaa452dd7610e4096647a566d3556fc">osThreadExit</a>();</div>
+<div class="line">}</div>
+<div class="line"> </div>
+<div class="line"><a class="code" href="cmsis__os2_8h.html#a153a4a31b276a9758959580538720a51">__NO_RETURN</a> <span class="keywordtype">void</span> thread1 (<span class="keywordtype">void</span> *argument) {</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t">osThreadAttr_t</a> worker_attr;</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> worker_ids[4];</div>
+<div class="line"> uint8_t data[4][10];</div>
+<div class="line"></div>
+<div class="line"> memset(&amp;worker_attr, 0, <span class="keyword">sizeof</span>(worker_attr));</div>
+<div class="line"> worker_attr.<a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#a6e93b49cb79c12f768d72580c7731f30">attr_bits</a> = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga249499c519f3f8eef5673009ab6cfcbe">osThreadJoinable</a>;</div>
+<div class="line"> </div>
+<div class="line"> worker_ids[0] = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(worker, &amp;data[0][0], &amp;worker_attr); </div>
+<div class="line"> worker_ids[1] = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(worker, &amp;data[1][0], &amp;worker_attr); </div>
+<div class="line"> worker_ids[2] = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(worker, &amp;data[2][0], &amp;worker_attr); </div>
+<div class="line"> worker_ids[3] = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(worker, &amp;data[3][0], &amp;worker_attr); </div>
+<div class="line"> </div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga3fca90fb0679afeb968aa8c3d5874487">osThreadJoin</a>(worker_ids[0]);</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga3fca90fb0679afeb968aa8c3d5874487">osThreadJoin</a>(worker_ids[1]);</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga3fca90fb0679afeb968aa8c3d5874487">osThreadJoin</a>(worker_ids[2]);</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga3fca90fb0679afeb968aa8c3d5874487">osThreadJoin</a>(worker_ids[3]);</div>
+<div class="line"> </div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaddaa452dd7610e4096647a566d3556fc">osThreadExit</a>(); </div>
+<div class="line">}</div>
+</div><!-- fragment --> <hr/><h2 class="groupheader">Data Structure Documentation</h2>
+<a name="structosThreadAttr__t" id="structosThreadAttr__t"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osThreadAttr_t</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"><p>Specifies the following attributes for the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> function. </p>
+</div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ab74e6bf80237ddc4109968cedc58c151"></a>const char *</td>
+<td class="fieldname">
+name</td>
+<td class="fielddoc">
+name of the thread <p>Pointer to a constant string with a human readable name (displayed during debugging) of the thread object.</p>
+<p>Default: <span class="XML-Token">NULL</span> no name specified (debugger may display function name instead). </p>
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a6e93b49cb79c12f768d72580c7731f30"></a>uint32_t</td>
+<td class="fieldname">
+attr_bits</td>
+<td class="fielddoc">
+attribute bits <p>The following bit masks can be used to set options:</p>
+<ul>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa9336c1073858d6b118e2e011636246f">osThreadDetached</a> : create thread in a detached mode (default).</li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga249499c519f3f8eef5673009ab6cfcbe">osThreadJoinable</a> : create thread in <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#joinable_threads">joinable mode</a>. </li>
+</ul>
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a1e100dc33d403841ed3c344e3397868e"></a>void *</td>
+<td class="fieldname">
+cb_mem</td>
+<td class="fielddoc">
+memory for control block <p>Pointer to a memory for the thread control block object. Refer to <a class="el" href="theory_of_operation.html#StaticObjectMemory">Static Object Memory</a> for more information.</p>
+<p>Default: <span class="XML-Token">NULL</span> to use <a class="el" href="group__CMSIS__RTOS__MemoryMgmt.html#CMSIS_RTOS_MemoryMgmt_Automatic">Automatic Dynamic Allocation</a> for the thread control block. </p>
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="aa55a4335d12dc2785dc00fdc292d1159"></a>uint32_t</td>
+<td class="fieldname">
+cb_size</td>
+<td class="fielddoc">
+size of provided memory for control block <p>The size (in bytes) of memory block passed with <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#a1e100dc33d403841ed3c344e3397868e">cb_mem</a>. For RTX, the minimum value is defined with <a class="el" href="group__rtx5__specific__defines.html#ga30d19272204231956582ebfff69567f6">osRtxThreadCbSize</a> (higher values are permitted).</p>
+<p>Default: <span class="XML-Token">0</span> as the default is no memory provided with <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#a1e100dc33d403841ed3c344e3397868e">cb_mem</a>. </p>
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ad7c9b42355a4c8b9467130ab3fb19e43"></a>void *</td>
+<td class="fieldname">
+stack_mem</td>
+<td class="fielddoc">
+memory for stack <p>Pointer to a memory location for the thread stack (64-bit aligned).</p>
+<p>Default: <span class="XML-Token">NULL</span> to allocate stack from a fixed-size memory pool using <a class="el" href="theory_of_operation.html#ThreadStack">Thread Stack Management</a>. </p>
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="aacbc9a219f2d6870e9ce89bb93f975c9"></a>uint32_t</td>
+<td class="fieldname">
+stack_size</td>
+<td class="fielddoc">
+size of stack <p>The size (in bytes) of the stack specified by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ad7c9b42355a4c8b9467130ab3fb19e43">stack_mem</a>.</p>
+<p>Default: <span class="XML-Token">0</span> as the default is no memory provided with <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ad7c9b42355a4c8b9467130ab3fb19e43">stack_mem</a>. </p>
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a6a5183df4c54c3e28dc8dc704f2487d5"></a><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ec">osPriority_t</a></td>
+<td class="fieldname">
+priority</td>
+<td class="fielddoc">
+initial thread priority (default: osPriorityNormal) <p>Specifies the initial thread priority with a value from <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ec" title="Priority values. ">osPriority_t</a>.</p>
+<p>Default: <span class="XML-Token">osPriorityNormal</span>. </p>
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a697f2aad6119d655d212ea10245ae394"></a><a class="el" href="cmsis__os2_8h.html#ad5ef21485fe5f60263bc0b48006202cb">TZ_ModuleId_t</a></td>
+<td class="fieldname">
+tz_module</td>
+<td class="fielddoc">
+TrustZone module identifier. <p>TrustZone Thread Context Management Identifier to allocate context memory for threads. The RTOS kernel that runs in non-secure state calls the interface functions defined by the header file TZ_context.h. Can safely be set to zero for threads not using secure calls at all. See <a href="../../Core/html/group__context__trustzone__functions.html">TrustZone RTOS Context Management</a>.</p>
+<p>Default: token{0} not thread context specified. </p>
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a66f538babc389986738ec70104e0562b"></a>uint32_t</td>
+<td class="fieldname">
+reserved</td>
+<td class="fielddoc">
+reserved (must be 0) <p>Reserved for future use. </p>
+</td></tr>
+</table>
+
+</div>
+</div>
+<h2 class="groupheader">Macro Definition Documentation</h2>
+<a class="anchor" id="ga249499c519f3f8eef5673009ab6cfcbe"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osThreadJoinable&#160;&#160;&#160;0x00000001U</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>A thread in this state can be joined using <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga3fca90fb0679afeb968aa8c3d5874487">osThreadJoin</a>. </p>
+
+</div>
+</div>
+<a class="anchor" id="gaa9336c1073858d6b118e2e011636246f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osThreadDetached&#160;&#160;&#160;0x00000000U</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>A thread in this state cannot be joined using <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga3fca90fb0679afeb968aa8c3d5874487">osThreadJoin</a>. </p>
+
+</div>
+</div>
+<h2 class="groupheader">Typedef Documentation</h2>
+<a class="anchor" id="gadd51f99a6eb50b94eee75f27cae815eb"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void(* osThreadFunc_t)(void *argument)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Entry function for threads. Setting up a new thread (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>) will start execution with a call into this entry function. The optional argument can be used to hand over arbitrary user data to the thread, i.e. to identify the thread or for runtime parameters.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">argument</td><td>Arbitrary user data set on <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gaa6c32fe2a3e0a2e01f212d55b02e51c7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Thread ID identifies the thread.</p>
+<p>Returned by:</p>
+<ul>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga5606604d56e21ece1a654664be877439">osThreadEnumerate</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga7f9a7666df0978738cd570cb700b83fb">osMutexGetOwner</a> </li>
+</ul>
+
+</div>
+</div>
+<h2 class="groupheader">Enumeration Type Documentation</h2>
+<a class="anchor" id="gad3dc89e942e38d9f3af858a0269a820d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad3dc89e942e38d9f3af858a0269a820d">osThreadState_t</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>State of a thread as retrieved by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gacc0a98b42f0a5928e12dc91dc76866b9">osThreadGetState</a>. In case <b>osThreadGetState</b> fails or if it is called from an ISR, it will return <code>osThreadError</code>, otherwise it returns the thread state. </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggad3dc89e942e38d9f3af858a0269a820dae9d77830b6866e287417b6e1d983e971"></a>osThreadInactive</em>&#160;</td><td class="fielddoc">
+<p>Inactive. </p>
+<p>The thread is created but not actively used, or has been terminated. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="ggad3dc89e942e38d9f3af858a0269a820da59e286915944fe0e4d1ffdb1f2946f14"></a>osThreadReady</em>&#160;</td><td class="fielddoc">
+<p>Ready. </p>
+<p>The thread is ready for execution but not currently running. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="ggad3dc89e942e38d9f3af858a0269a820dac4fe336e0790188fcf7d667372eca19d"></a>osThreadRunning</em>&#160;</td><td class="fielddoc">
+<p>Running. </p>
+<p>The thread is currently running. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="ggad3dc89e942e38d9f3af858a0269a820daf0e992e354fba8695957c530226a4968"></a>osThreadBlocked</em>&#160;</td><td class="fielddoc">
+<p>Blocked. </p>
+<p>The thread is currently blocked (delayed, waiting for an event or suspended). </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="ggad3dc89e942e38d9f3af858a0269a820dad5b2726c2d0228f4f1a76cf6b630963c"></a>osThreadTerminated</em>&#160;</td><td class="fielddoc">
+<p>Terminated. </p>
+<p>The thread is terminated and all its resources are freed. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="ggad3dc89e942e38d9f3af858a0269a820da339313e26613bc12f66a852e2ff8745e"></a>osThreadError</em>&#160;</td><td class="fielddoc">
+<p>Error. </p>
+<p>The thread thread has raised an error condition and cannot be scheduled. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad3dc89e942e38d9f3af858a0269a820da8872f7e352370eb11ee772c7dcca6e6c"></a>osThreadReserved</em>&#160;</td><td class="fielddoc">
+<p>Prevents enum down-size compiler optimization. </p>
+</td></tr>
+</table>
+
+</div>
+</div>
+<a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342ec"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ec">osPriority_t</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>The <b>osPriority_t</b> value specifies the priority for a thread. The default thread priority should be <em>osPriorityNormal</em>. If an active thread becomes ready that has a higher priority than the currently running thread then a thread switch occurs immediately. The system continues executing the thread with the higher priority.</p>
+<p>To prevent from a priority inversion, a CMSIS-RTOS compliant OS may optionally implement a <b>priority inheritance</b> method. A priority inversion occurs when a high priority thread is waiting for a resource or event that is controlled by a thread with a lower priority. Thus causing the high priority thread potentially beeing blocked forever by another thread with lower priority. To come over this issue the low priority thread controlling the resource should be treated as having the higher priority until it releases the resource.</p>
+<dl class="section note"><dt>Note</dt><dd>Priority inheritance only applies to mutexes. </dd></dl>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342eca6c437c7185161a3bd1e7e4669dfa17a3"></a>osPriorityNone</em>&#160;</td><td class="fielddoc">
+<p>No priority (not initialized). </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="ggad4e3e0971b41f2d17584a8c6837342ecacd5864eac01a6916a7c866bb51a6aac1"></a>osPriorityIdle</em>&#160;</td><td class="fielddoc">
+<p>Reserved for Idle thread. </p>
+<p>This lowest priority should not be used for any other thread. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342eca61cb822239ac8f66dfbdc7291598a3d4"></a>osPriorityLow</em>&#160;</td><td class="fielddoc">
+<p>Priority: low. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342ecaba2b6919f0b630c8c1b2c940e3bfadbe"></a>osPriorityLow1</em>&#160;</td><td class="fielddoc">
+<p>Priority: low + 1. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342eca78ad5d00aa07a2b4bf30a639544f5507"></a>osPriorityLow2</em>&#160;</td><td class="fielddoc">
+<p>Priority: low + 2. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342eca28ccb07942c16f5f5efefb6cf68a7f50"></a>osPriorityLow3</em>&#160;</td><td class="fielddoc">
+<p>Priority: low + 3. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342eca5a4a4f26d5b220a968e221e854f69a81"></a>osPriorityLow4</em>&#160;</td><td class="fielddoc">
+<p>Priority: low + 4. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342ecad69b8c14809bc5bdce4887f5a57d9353"></a>osPriorityLow5</em>&#160;</td><td class="fielddoc">
+<p>Priority: low + 5. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342ecac0f188468664d06d4cd9e6e1ed351393"></a>osPriorityLow6</em>&#160;</td><td class="fielddoc">
+<p>Priority: low + 6. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342eca5b151ebba7fdeb1baaa9b7b420890b7a"></a>osPriorityLow7</em>&#160;</td><td class="fielddoc">
+<p>Priority: low + 7. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342eca193b650117c209b4a203954542bcc3e6"></a>osPriorityBelowNormal</em>&#160;</td><td class="fielddoc">
+<p>Priority: below normal. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342eca9138da7187690b15f52d8e5729c18da5"></a>osPriorityBelowNormal1</em>&#160;</td><td class="fielddoc">
+<p>Priority: below normal + 1. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342eca4f081d6735bf2f513338b07eddf13ae3"></a>osPriorityBelowNormal2</em>&#160;</td><td class="fielddoc">
+<p>Priority: below normal + 2. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342eca19c013690d0d6bf3ac90707942be3fdf"></a>osPriorityBelowNormal3</em>&#160;</td><td class="fielddoc">
+<p>Priority: below normal + 3. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342eca36931ad6cee5e4700e2c8622bdd2cd24"></a>osPriorityBelowNormal4</em>&#160;</td><td class="fielddoc">
+<p>Priority: below normal + 4. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342eca0bcd9ad1e7a02e3bf03be7dcc8ece38e"></a>osPriorityBelowNormal5</em>&#160;</td><td class="fielddoc">
+<p>Priority: below normal + 5. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342ecabd3cc7df5b92b752ddf1e7843a786c05"></a>osPriorityBelowNormal6</em>&#160;</td><td class="fielddoc">
+<p>Priority: below normal + 6. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342ecab18e3bda7b5e418e309a62d6267ea14b"></a>osPriorityBelowNormal7</em>&#160;</td><td class="fielddoc">
+<p>Priority: below normal + 7. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342eca45a2895ad30c79fb97de18cac7cc19f1"></a>osPriorityNormal</em>&#160;</td><td class="fielddoc">
+<p>Priority: normal. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342eca3e70c19e03d5a54e66bd071f0776782c"></a>osPriorityNormal1</em>&#160;</td><td class="fielddoc">
+<p>Priority: normal + 1. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342eca19e96f2b025b6462a43b1965043c8205"></a>osPriorityNormal2</em>&#160;</td><td class="fielddoc">
+<p>Priority: normal + 2. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342eca402bd7ab26fb57c8cee8cf94168f4c91"></a>osPriorityNormal3</em>&#160;</td><td class="fielddoc">
+<p>Priority: normal + 3. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342eca93ef07d3a107aeee6508bfd29ba3485d"></a>osPriorityNormal4</em>&#160;</td><td class="fielddoc">
+<p>Priority: normal + 4. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342eca68f3f6fdaa639de300277802aa13a0ab"></a>osPriorityNormal5</em>&#160;</td><td class="fielddoc">
+<p>Priority: normal + 5. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342eca8221eb0d059726a6309f1f2d0cdb6204"></a>osPriorityNormal6</em>&#160;</td><td class="fielddoc">
+<p>Priority: normal + 6. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342eca049abd04f8951415407ec9d92bd9b80b"></a>osPriorityNormal7</em>&#160;</td><td class="fielddoc">
+<p>Priority: normal + 7. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342eca17b36cd9cd38652c2bc6d4803990674b"></a>osPriorityAboveNormal</em>&#160;</td><td class="fielddoc">
+<p>Priority: above normal. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342ecabfeafc713edfc7b9130aa5c762d68998"></a>osPriorityAboveNormal1</em>&#160;</td><td class="fielddoc">
+<p>Priority: above normal + 1. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342eca901acf86070e06f5990b611734ee2562"></a>osPriorityAboveNormal2</em>&#160;</td><td class="fielddoc">
+<p>Priority: above normal + 2. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342ecad566b876b64e6efdc3eba0fc04e54013"></a>osPriorityAboveNormal3</em>&#160;</td><td class="fielddoc">
+<p>Priority: above normal + 3. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342eca6ccac37d7dae4586a2031966d36a63ec"></a>osPriorityAboveNormal4</em>&#160;</td><td class="fielddoc">
+<p>Priority: above normal + 4. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342ecae36e8b38ee046a3104bcccabb10cf78c"></a>osPriorityAboveNormal5</em>&#160;</td><td class="fielddoc">
+<p>Priority: above normal + 5. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342eca61e6ce27e1e0f34f2540b413b8a8b207"></a>osPriorityAboveNormal6</em>&#160;</td><td class="fielddoc">
+<p>Priority: above normal + 6. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342ecadbbb0fed3ada6b9b50d4a628abc2a67d"></a>osPriorityAboveNormal7</em>&#160;</td><td class="fielddoc">
+<p>Priority: above normal + 7. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342eca914433934143a9ba767e59577c56e6c2"></a>osPriorityHigh</em>&#160;</td><td class="fielddoc">
+<p>Priority: high. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342eca17b7a7e6febf12444a84e90edfce36cb"></a>osPriorityHigh1</em>&#160;</td><td class="fielddoc">
+<p>Priority: high + 1. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342eca40a120cf8bbc42e575455c027f3d9b03"></a>osPriorityHigh2</em>&#160;</td><td class="fielddoc">
+<p>Priority: high + 2. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342eca0b15518b0b5321a29efa0b42b2f8c759"></a>osPriorityHigh3</em>&#160;</td><td class="fielddoc">
+<p>Priority: high + 3. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342ecafe5a4f393fab04551ac7d93e80cdf0fb"></a>osPriorityHigh4</em>&#160;</td><td class="fielddoc">
+<p>Priority: high + 4. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342eca5960841bfbdd959b163429e8502ea4e9"></a>osPriorityHigh5</em>&#160;</td><td class="fielddoc">
+<p>Priority: high + 5. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342eca5714dda6effc1a3f8ec155d97e3e69bc"></a>osPriorityHigh6</em>&#160;</td><td class="fielddoc">
+<p>Priority: high + 6. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342eca63ad0cc52a701ef3d9df52b59b995652"></a>osPriorityHigh7</em>&#160;</td><td class="fielddoc">
+<p>Priority: high + 7. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342eca1485dec3702434a1ec3cb74c7a17a4af"></a>osPriorityRealtime</em>&#160;</td><td class="fielddoc">
+<p>Priority: realtime. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342ecaf685a06b30f0635476e21347a986305b"></a>osPriorityRealtime1</em>&#160;</td><td class="fielddoc">
+<p>Priority: realtime + 1. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342ecab832bd9de84e5eec2ecad69d085dadff"></a>osPriorityRealtime2</em>&#160;</td><td class="fielddoc">
+<p>Priority: realtime + 2. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342eca3f2261e5e733e92844ae8c630f2f9eaa"></a>osPriorityRealtime3</em>&#160;</td><td class="fielddoc">
+<p>Priority: realtime + 3. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342ecaf614e3dc966d559cd9d9d2a0f78ebe70"></a>osPriorityRealtime4</em>&#160;</td><td class="fielddoc">
+<p>Priority: realtime + 4. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342ecaff84f31ceff203c711fb9476443507df"></a>osPriorityRealtime5</em>&#160;</td><td class="fielddoc">
+<p>Priority: realtime + 5. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342eca80ae9d0dd256312c0c8f44af48316194"></a>osPriorityRealtime6</em>&#160;</td><td class="fielddoc">
+<p>Priority: realtime + 6. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342ecaa76da6825c4bd31c4958200bc289103b"></a>osPriorityRealtime7</em>&#160;</td><td class="fielddoc">
+<p>Priority: realtime + 7. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="ggad4e3e0971b41f2d17584a8c6837342eca4b4fa46c3ebaf4259662a0a0a3173b7f"></a>osPriorityISR</em>&#160;</td><td class="fielddoc">
+<p>Reserved for ISR deferred thread. </p>
+<p>This highest priority might be used by the RTOS implementation but must not be used for any user thread. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342ecae35f5e2f9c64ad346822521b643bdea4"></a>osPriorityError</em>&#160;</td><td class="fielddoc">
+<p>System cannot determine priority or illegal priority. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gad4e3e0971b41f2d17584a8c6837342ecac86c171f8d466cced0cb1b03bb03343b"></a>osPriorityReserved</em>&#160;</td><td class="fielddoc">
+<p>Prevents enum down-size compiler optimization. </p>
+</td></tr>
+</table>
+
+</div>
+</div>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ga48d68b8666d99d28fa646ee1d2182b8f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> osThreadNew </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gadd51f99a6eb50b94eee75f27cae815eb">osThreadFunc_t</a>&#160;</td>
+ <td class="paramname"><em>func</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>argument</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t">osThreadAttr_t</a> *&#160;</td>
+ <td class="paramname"><em>attr</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>thread function. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">argument</td><td>pointer that is passed to the thread function as start argument. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">attr</td><td>thread attributes; NULL: default values. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>thread ID for reference by other functions or NULL in case of error.</dd></dl>
+<p>The function <b>osThreadNew</b> starts a thread function by adding it to the list of active threads and sets it to state <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">READY</a>. Arguments for the thread function are passed using the parameter pointer <em>*argument</em>. When the priority of the created thread function is higher than the current <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">RUNNING</a> thread, the created thread function starts instantly and becomes the new <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">RUNNING</a> thread. Thread attributes are defined with the parameter pointer <em>attr</em>. Attributes include settings for thread priority, stack size, or memory allocation.</p>
+<p>The function can be safely called before the RTOS is started (call to <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221">osKernelStart</a>), but not before it is initialized (call to <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659">osKernelInitialize</a>).</p>
+<p>The function <b>osThreadNew</b> returns the pointer to the thread object identifier or <span class="XML-Token">NULL</span> in case of an error.</p>
+<dl class="section note"><dt>Note</dt><dd>Cannot be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
+<p><b>Code</b> <b>Example</b> </p>
+<p>Refer to the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#thread_examples">Thread Examples</a> section. </p>
+
+</div>
+</div>
+<a class="anchor" id="gac3230f3a55a297514b013ebf38f27e0a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const char * osThreadGetName </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
+ <td class="paramname"><em>thread_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>name as null-terminated string.</dd></dl>
+<p>The function <b>osThreadGetName</b> returns the pointer to the name string of the thread identified by parameter <em>thread_id</em> or <span class="XML-Token">NULL</span> in case of an error.</p>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
+<p><b>Code Example</b> </p>
+<div class="fragment"><div class="line"><span class="keywordtype">void</span> ThreadGetName_example (<span class="keywordtype">void</span>) {</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a> ();</div>
+<div class="line"> <span class="keyword">const</span> <span class="keywordtype">char</span>* name = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gac3230f3a55a297514b013ebf38f27e0a">osThreadGetName</a> (thread_id);</div>
+<div class="line"> <span class="keywordflow">if</span> (name == NULL) {</div>
+<div class="line"> <span class="comment">// Failed to get the thread name; not in a thread</span></div>
+<div class="line"> }</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ga8df03548e89fbc56402a5cd584a505da"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> osThreadGetId </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>thread ID for reference by other functions or NULL in case of error.</dd></dl>
+<p>The function <b>osThreadGetId</b> returns the thread object ID of the currently running thread or NULL in case of an error.</p>
+<dl class="section note"><dt>Note</dt><dd>This function may be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
+<p><b>Code Example</b> </p>
+<div class="fragment"><div class="line"><span class="keywordtype">void</span> ThreadGetId_example (<span class="keywordtype">void</span>) {</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> id; <span class="comment">// id for the currently running thread</span></div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordtype">id</span> = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a> ();</div>
+<div class="line"> <span class="keywordflow">if</span> (<span class="keywordtype">id</span> == NULL) {</div>
+<div class="line"> <span class="comment">// Failed to get the id</span></div>
+<div class="line"> }</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="gacc0a98b42f0a5928e12dc91dc76866b9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad3dc89e942e38d9f3af858a0269a820d">osThreadState_t</a> osThreadGetState </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
+ <td class="paramname"><em>thread_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>current thread state of the specified thread.</dd></dl>
+<p>The function <b>osThreadGetState</b> returns the state of the thread identified by parameter <em>thread_id</em>. In case it fails or if it is called from an ISR, it will return <code>osThreadError</code>, otherwise it returns the thread state (refer to <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad3dc89e942e38d9f3af858a0269a820d">osThreadState_t</a> for the list of thread states).</p>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga861a420fb2d643115b06622903fb3bfb"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> osThreadSetPriority </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
+ <td class="paramname"><em>thread_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ec">osPriority_t</a>&#160;</td>
+ <td class="paramname"><em>priority</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">priority</td><td>new priority value for the thread function. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>status code that indicates the execution status of the function.</dd></dl>
+<p>The function <b>osThreadSetPriority</b> changes the priority of an active thread specified by the parameter <em>thread_id</em> to the priority specified by the parameter <em>priority</em>.</p>
+<p>Possible <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> return values:</p>
+<ul>
+<li><em>osOK:</em> the priority of the specified thread has been changed successfully.</li>
+<li><em>osErrorParameter:</em> <em>thread_id</em> is <span class="XML-Token">NULL</span> or invalid or <em>priority</em> is incorrect.</li>
+<li><em>osErrorResource:</em> thread specified by parameter <em>thread_id</em> is in an invalid thread state.</li>
+<li><em>osErrorISR:</em> the function <b>osThreadSetPriority</b> cannot be called from interrupt service routines.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
+<p><b>Code Example</b> </p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> Thread_1 (<span class="keywordtype">void</span> <span class="keyword">const</span> *arg) { <span class="comment">// Thread function</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> id; <span class="comment">// id for the currently running thread</span></div>
+<div class="line"> osStatus_t status; <span class="comment">// status of the executed function</span></div>
+<div class="line"> </div>
+<div class="line"> : </div>
+<div class="line"> <span class="keywordtype">id</span> = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a> (); <span class="comment">// Obtain ID of current running thread</span></div>
+<div class="line"> </div>
+<div class="line"> status = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga861a420fb2d643115b06622903fb3bfb">osThreadSetPriority</a> (<span class="keywordtype">id</span>, <a class="code" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca193b650117c209b4a203954542bcc3e6">osPriorityBelowNormal</a>); <span class="comment">// Set thread priority</span></div>
+<div class="line"> <span class="keywordflow">if</span> (status == <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f">osOK</a>) {</div>
+<div class="line"> <span class="comment">// Thread priority changed to BelowNormal</span></div>
+<div class="line"> }</div>
+<div class="line"> <span class="keywordflow">else</span> {</div>
+<div class="line"> <span class="comment">// Failed to set the priority</span></div>
+<div class="line"> }</div>
+<div class="line"> : </div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ga0aeaf349604f456e68e78f9d3b42e44b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ec">osPriority_t</a> osThreadGetPriority </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
+ <td class="paramname"><em>thread_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>current priority value of the specified thread.</dd></dl>
+<p>The function <b>osThreadGetPriority</b> returns the priority of an active thread specified by the parameter <em>thread_id</em>.</p>
+<p>Possible <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ec">osPriority_t</a> return values:</p>
+<ul>
+<li><em>priority:</em> the priority of the specified thread.</li>
+<li><em>osPriorityError:</em> priority cannot be determined or is illegal. It is also returned when the function is called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
+<p><b>Code Example</b> </p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> Thread_1 (<span class="keywordtype">void</span> <span class="keyword">const</span> *arg) { <span class="comment">// Thread function</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> id; <span class="comment">// id for the currently running thread</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ec">osPriority_t</a> priority; <span class="comment">// thread priority</span></div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordtype">id</span> = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a> (); <span class="comment">// Obtain ID of current running thread</span></div>
+<div class="line"> priority = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga0aeaf349604f456e68e78f9d3b42e44b">osThreadGetPriority</a> (<span class="keywordtype">id</span>); <span class="comment">// Obtain the thread priority</span></div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="gad01c7ec26535b1de6b018bb9466720e2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> osThreadYield </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>status code that indicates the execution status of the function.</dd></dl>
+<p>The function <b>osThreadYield</b> passes control to the next thread with the same priority that is in the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">READY</a> state. If there is no other thread with the same priority in state <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">READY</a>, then the current thread continues execution and no thread switch occurs. <b>osThreadYield</b> does not set the thread to state <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">BLOCKED</a>. Thus no thread with a lower priority will be scheduled even if threads in state <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">READY</a> are available.</p>
+<p>Possible <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> return values:</p>
+<ul>
+<li><em>osOK:</em> control has been passed to the next thread successfully.</li>
+<li><em>osError:</em> an unspecified error has occurred.</li>
+<li><em>osErrorISR:</em> the function <b>osThreadYield</b> cannot be called from interrupt service routines.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd>
+<dd>
+This function <b>has no impact</b> when called when the kernel is locked, see <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga948609ee930d9b38336b9e1c2a4dfe12">osKernelLock</a>.</dd></dl>
+<p><b>Code Example</b> </p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> Thread_1 (<span class="keywordtype">void</span> <span class="keyword">const</span> *arg) { <span class="comment">// Thread function</span></div>
+<div class="line"> osStatus_t status; <span class="comment">// status of the executed function</span></div>
+<div class="line"> :</div>
+<div class="line"> <span class="keywordflow">while</span> (1) {</div>
+<div class="line"> status = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gad01c7ec26535b1de6b018bb9466720e2">osThreadYield</a>(); <span class="comment">// </span></div>
+<div class="line"> <span class="keywordflow">if</span> (status != <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f">osOK</a>) {</div>
+<div class="line"> <span class="comment">// an error occurred</span></div>
+<div class="line"> }</div>
+<div class="line"> }</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="gaa9de419d0152bf77e9bbcd1f369fb990"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> osThreadSuspend </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
+ <td class="paramname"><em>thread_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>status code that indicates the execution status of the function.</dd></dl>
+<p>The function <b>osThreadSuspend</b> suspends the execution of the thread identified by parameter <em>thread_id</em>. The thread is put into the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">BLOCKED</a> state (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820daf0e992e354fba8695957c530226a4968">osThreadBlocked</a>). Suspending the running thread will cause a context switch to another thread in <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">READY</a> state immediately. The suspended thread is not executed until explicitly resumed with the function <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga3dbad90eff394b02de76a452c84c5d80">osThreadResume</a>.</p>
+<p>Threads that are already <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">BLOCKED</a> are removed from any wait list and become ready when they are resumed. Thus it is not recommended to suspend an already blocked thread.</p>
+<p>Possible <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> return values:</p>
+<ul>
+<li><em>osOK:</em> the thread has been suspended successfully.</li>
+<li><em>osErrorParameter:</em> <em>thread_id</em> is <span class="XML-Token">NULL</span> or invalid.</li>
+<li><em>osErrorResource:</em> thread specified by parameter <em>thread_id</em> is in an invalid thread state.</li>
+<li><em>osErrorISR:</em> the function <b>osThreadSuspend</b> cannot be called from interrupt service routines.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd>
+<dd>
+This function <b>must not</b> be called to suspend the running thread when the kernel is locked, i.e. <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga948609ee930d9b38336b9e1c2a4dfe12">osKernelLock</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga3dbad90eff394b02de76a452c84c5d80"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> osThreadResume </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
+ <td class="paramname"><em>thread_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>status code that indicates the execution status of the function.</dd></dl>
+<p>The function <b>osThreadResume</b> puts the thread identified by parameter <em>thread_id</em> (which has to be in <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">BLOCKED</a> state) back to the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">READY</a> state. If the resumed thread has a higher priority than the running thread a context switch occurs immediately.</p>
+<p>The thread becomes ready regardless of the reason why the thread was blocked. Thus it is not recommended to resume a thread not suspended by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa9de419d0152bf77e9bbcd1f369fb990">osThreadSuspend</a>.</p>
+<p>Functions that will put a thread into <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">BLOCKED</a> state are: <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">osEventFlagsWait</a> and <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b">osThreadFlagsWait</a>, <a class="el" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a> and <a class="el" href="group__CMSIS__RTOS__Wait.html#ga3c807924c2d6d43bc2ffb49da3f7f3a1">osDelayUntil</a>, <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gabc54686ea0fc281823b1763422d2a924">osMutexAcquire</a> and <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7e94c8b242a0c81f2cc79ec22895c87b">osSemaphoreAcquire</a>, <a class="el" href="group__CMSIS__RTOS__Message.html#gad90d4959466a7a65105061da8256ab9e">osMessageQueueGet</a>, <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga8ead54e99ccb8f112356c88f99d38fbe">osMemoryPoolAlloc</a>, <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga3fca90fb0679afeb968aa8c3d5874487">osThreadJoin</a>, <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa9de419d0152bf77e9bbcd1f369fb990">osThreadSuspend</a>.</p>
+<p>Possible <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> return values:</p>
+<ul>
+<li><em>osOK:</em> the thread has been resumed successfully.</li>
+<li><em>osErrorParameter:</em> <em>thread_id</em> is <span class="XML-Token">NULL</span> or invalid.</li>
+<li><em>osErrorResource:</em> thread specified by parameter <em>thread_id</em> is in an invalid thread state.</li>
+<li><em>osErrorISR:</em> the function <b>osThreadResume</b> cannot be called from interrupt service routines.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd>
+<dd>
+This function <b>may be</b> called when kernel is locked (<a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga948609ee930d9b38336b9e1c2a4dfe12">osKernelLock</a>). Under this circumstances a potential context switch is delayed until the kernel gets unlocked, i.e. <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gaf401728b4657456198c33fe75f8d6720">osKernelUnlock</a> or <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae7d0a71b9586cbbb49fcbdf6a04f0289">osKernelRestoreLock</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaaad14cd9547341ea8109dc4e8540f1dc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> osThreadDetach </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
+ <td class="paramname"><em>thread_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>status code that indicates the execution status of the function.</dd></dl>
+<p>The function <b>osThreadDetach</b> changes the attribute of a thread (specified by <em>thread_id</em>) to <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa9336c1073858d6b118e2e011636246f">osThreadDetached</a>. Detached threads are not joinable with <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga3fca90fb0679afeb968aa8c3d5874487">osThreadJoin</a>. When a detached thread is terminated, all resources are returned to the system. The behavior of <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaaad14cd9547341ea8109dc4e8540f1dc">osThreadDetach</a> on an already detached thread is undefined.</p>
+<p>Possible <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> return values:</p>
+<ul>
+<li><em>osOK:</em> the attribute of the specified thread has been changed to detached successfully.</li>
+<li><em>osErrorParameter:</em> <em>thread_id</em> is <span class="XML-Token">NULL</span> or invalid.</li>
+<li><em>osErrorResource:</em> thread specified by parameter <em>thread_id</em> is in an invalid thread state.</li>
+<li><em>osErrorISR:</em> the function <b>osThreadDetach</b> cannot be called from interrupt service routines.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga3fca90fb0679afeb968aa8c3d5874487"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> osThreadJoin </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
+ <td class="paramname"><em>thread_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>status code that indicates the execution status of the function.</dd></dl>
+<p>The function <b>osThreadJoin</b> waits for the thread specified by <em>thread_id</em> to terminate. If that thread has already terminated, then <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga3fca90fb0679afeb968aa8c3d5874487">osThreadJoin</a> returns immediately. The thread must be joinable. By default threads are created with the attribute <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa9336c1073858d6b118e2e011636246f">osThreadDetached</a>.</p>
+<p>Possible <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> return values:</p>
+<ul>
+<li><em>osOK:</em> if the thread has already been terminated and joined or once the thread has been terminated and the join operations succeeds.</li>
+<li><em>osErrorParameter:</em> <em>thread_id</em> is <span class="XML-Token">NULL</span> or invalid.</li>
+<li><em>osErrorResource:</em> parameter <em>thread_id</em> is <span class="XML-Token">NULL</span> or refers to a thread that is not an active thread or the thread is not joinable.</li>
+<li><em>osErrorISR:</em> the function <b>osThreadJoin</b> cannot be called from interrupt service routines.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaddaa452dd7610e4096647a566d3556fc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="cmsis__os2_8h.html#a153a4a31b276a9758959580538720a51">__NO_RETURN</a> void osThreadExit </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>The function <b>osThreadExit</b> terminates the calling thread. This allows the thread to be synchronized with <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga3fca90fb0679afeb968aa8c3d5874487">osThreadJoin</a>.</p>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
+<p><b>Code</b> <b>Example</b> </p>
+<div class="fragment"><div class="line"><a class="code" href="cmsis__os2_8h.html#a153a4a31b276a9758959580538720a51">__NO_RETURN</a> <span class="keywordtype">void</span> worker (<span class="keywordtype">void</span> *argument) {</div>
+<div class="line"> <span class="comment">// do something</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a>(1000);</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaddaa452dd7610e4096647a566d3556fc">osThreadExit</a>();</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ga2f8ba6dba6e9c065a6e236ffd410d74a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> osThreadTerminate </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
+ <td class="paramname"><em>thread_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>status code that indicates the execution status of the function.</dd></dl>
+<p>The function <b>osThreadTerminate</b> removes the thread specified by parameter <em>thread_id</em> from the list of active threads. If the thread is currently <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">RUNNING</a>, the thread terminates and the execution continues with the next <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">READY</a> thread. If no such thread exists, the function will not terminate the running thread, but return <em>osErrorResource</em>.</p>
+<p>Possible <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> return values:</p>
+<ul>
+<li><em>osOK:</em> the specified thread has been removed from the active thread list successfully.</li>
+<li><em>osErrorParameter:</em> <em>thread_id</em> is <span class="XML-Token">NULL</span> or invalid.</li>
+<li><em>osErrorResource:</em> thread specified by parameter <em>thread_id</em> is in an invalid thread state or no other <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">READY</a> thread exists.</li>
+<li><em>osErrorISR:</em> the function <b>osThreadTerminate</b> cannot be called from interrupt service routines.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd>
+<dd>
+Avoid calling the function with a <em>thread_id</em> that does not exist or has been terminated already.</dd></dl>
+<p><b>Code Example</b> </p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> Thread_1 (<span class="keywordtype">void</span> *arg); <span class="comment">// function prototype for Thread_1</span></div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> ThreadTerminate_example (<span class="keywordtype">void</span>) {</div>
+<div class="line"> osStatus_t status;</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> id;</div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordtype">id</span> = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> (Thread_1, NULL, NULL); <span class="comment">// create the thread</span></div>
+<div class="line"> <span class="comment">// do something</span></div>
+<div class="line"> status = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga2f8ba6dba6e9c065a6e236ffd410d74a">osThreadTerminate</a> (<span class="keywordtype">id</span>); <span class="comment">// stop the thread</span></div>
+<div class="line"> <span class="keywordflow">if</span> (status == <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f">osOK</a>) {</div>
+<div class="line"> <span class="comment">// Thread was terminated successfully</span></div>
+<div class="line"> }</div>
+<div class="line"> <span class="keywordflow">else</span> {</div>
+<div class="line"> <span class="comment">// Failed to terminate a thread</span></div>
+<div class="line"> }</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="gab9f8bd715d671c6ee27644867bc1bf65"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint32_t osThreadGetStackSize </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
+ <td class="paramname"><em>thread_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>stack size in bytes.</dd></dl>
+<p>The function <b>osThreadGetStackSize</b> returns the stack size of the thread specified by parameter <em>thread_id</em>. In case of an error, it returns <span class="XML-Token">0</span>.</p>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga9c83bd5dd8de329701775d6ef7012720"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint32_t osThreadGetStackSpace </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
+ <td class="paramname"><em>thread_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>remaining stack space in bytes.</dd></dl>
+<p>The function <b>osThreadGetStackSpace</b> returns the size of unused stack space for the thread specified by parameter <em>thread_id</em>. Stack watermark recording during execution needs to be enabled (refer to <a class="el" href="config_rtx5.html#threadConfig">Thread Configuration</a>). In case of an error, it returns <span class="XML-Token">0</span>.</p>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga495b3f812224e7301f23a691793765db"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint32_t osThreadGetCount </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>number of active threads.</dd></dl>
+<p>The function <b>osThreadGetCount</b> returns the number of active threads or <span class="XML-Token">0</span> in case of an error.</p>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga5606604d56e21ece1a654664be877439"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint32_t osThreadEnumerate </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> *&#160;</td>
+ <td class="paramname"><em>thread_array</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>array_items</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[out]</td><td class="paramname">thread_array</td><td>pointer to array for retrieving thread IDs. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">array_items</td><td>maximum number of items in array for retrieving thread IDs. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>number of enumerated threads.</dd></dl>
+<p>The function <b>osThreadEnumerate</b> returns the number of enumerated threads or <span class="XML-Token">0</span> in case of an error.</p>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/group__CMSIS__RTOS__ThreadMgmt.js b/docs/RTOS2/html/group__CMSIS__RTOS__ThreadMgmt.js
new file mode 100644
index 0000000..d98ec65
--- /dev/null
+++ b/docs/RTOS2/html/group__CMSIS__RTOS__ThreadMgmt.js
@@ -0,0 +1,107 @@
+var group__CMSIS__RTOS__ThreadMgmt =
+[
+ [ "osThreadAttr_t", "group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t", [
+ [ "name", "group__CMSIS__RTOS__ThreadMgmt.html#ab74e6bf80237ddc4109968cedc58c151", null ],
+ [ "attr_bits", "group__CMSIS__RTOS__ThreadMgmt.html#a6e93b49cb79c12f768d72580c7731f30", null ],
+ [ "cb_mem", "group__CMSIS__RTOS__ThreadMgmt.html#a1e100dc33d403841ed3c344e3397868e", null ],
+ [ "cb_size", "group__CMSIS__RTOS__ThreadMgmt.html#aa55a4335d12dc2785dc00fdc292d1159", null ],
+ [ "stack_mem", "group__CMSIS__RTOS__ThreadMgmt.html#ad7c9b42355a4c8b9467130ab3fb19e43", null ],
+ [ "stack_size", "group__CMSIS__RTOS__ThreadMgmt.html#aacbc9a219f2d6870e9ce89bb93f975c9", null ],
+ [ "priority", "group__CMSIS__RTOS__ThreadMgmt.html#a6a5183df4c54c3e28dc8dc704f2487d5", null ],
+ [ "tz_module", "group__CMSIS__RTOS__ThreadMgmt.html#a697f2aad6119d655d212ea10245ae394", null ],
+ [ "reserved", "group__CMSIS__RTOS__ThreadMgmt.html#a66f538babc389986738ec70104e0562b", null ]
+ ] ],
+ [ "osThreadJoinable", "group__CMSIS__RTOS__ThreadMgmt.html#ga249499c519f3f8eef5673009ab6cfcbe", null ],
+ [ "osThreadDetached", "group__CMSIS__RTOS__ThreadMgmt.html#gaa9336c1073858d6b118e2e011636246f", null ],
+ [ "osThreadFunc_t", "group__CMSIS__RTOS__ThreadMgmt.html#gadd51f99a6eb50b94eee75f27cae815eb", null ],
+ [ "osThreadId_t", "group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7", null ],
+ [ "osThreadState_t", "group__CMSIS__RTOS__ThreadMgmt.html#gad3dc89e942e38d9f3af858a0269a820d", [
+ [ "osThreadInactive", "group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820dae9d77830b6866e287417b6e1d983e971", null ],
+ [ "osThreadReady", "group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820da59e286915944fe0e4d1ffdb1f2946f14", null ],
+ [ "osThreadRunning", "group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820dac4fe336e0790188fcf7d667372eca19d", null ],
+ [ "osThreadBlocked", "group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820daf0e992e354fba8695957c530226a4968", null ],
+ [ "osThreadTerminated", "group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820dad5b2726c2d0228f4f1a76cf6b630963c", null ],
+ [ "osThreadError", "group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820da339313e26613bc12f66a852e2ff8745e", null ],
+ [ "osThreadReserved", "cmsis__os2_8h.html#gad3dc89e942e38d9f3af858a0269a820da8872f7e352370eb11ee772c7dcca6e6c", null ]
+ ] ],
+ [ "osPriority_t", "group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ec", [
+ [ "osPriorityNone", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca6c437c7185161a3bd1e7e4669dfa17a3", null ],
+ [ "osPriorityIdle", "group__CMSIS__RTOS__ThreadMgmt.html#ggad4e3e0971b41f2d17584a8c6837342ecacd5864eac01a6916a7c866bb51a6aac1", null ],
+ [ "osPriorityLow", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca61cb822239ac8f66dfbdc7291598a3d4", null ],
+ [ "osPriorityLow1", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecaba2b6919f0b630c8c1b2c940e3bfadbe", null ],
+ [ "osPriorityLow2", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca78ad5d00aa07a2b4bf30a639544f5507", null ],
+ [ "osPriorityLow3", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca28ccb07942c16f5f5efefb6cf68a7f50", null ],
+ [ "osPriorityLow4", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca5a4a4f26d5b220a968e221e854f69a81", null ],
+ [ "osPriorityLow5", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecad69b8c14809bc5bdce4887f5a57d9353", null ],
+ [ "osPriorityLow6", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecac0f188468664d06d4cd9e6e1ed351393", null ],
+ [ "osPriorityLow7", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca5b151ebba7fdeb1baaa9b7b420890b7a", null ],
+ [ "osPriorityBelowNormal", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca193b650117c209b4a203954542bcc3e6", null ],
+ [ "osPriorityBelowNormal1", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca9138da7187690b15f52d8e5729c18da5", null ],
+ [ "osPriorityBelowNormal2", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca4f081d6735bf2f513338b07eddf13ae3", null ],
+ [ "osPriorityBelowNormal3", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca19c013690d0d6bf3ac90707942be3fdf", null ],
+ [ "osPriorityBelowNormal4", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca36931ad6cee5e4700e2c8622bdd2cd24", null ],
+ [ "osPriorityBelowNormal5", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca0bcd9ad1e7a02e3bf03be7dcc8ece38e", null ],
+ [ "osPriorityBelowNormal6", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecabd3cc7df5b92b752ddf1e7843a786c05", null ],
+ [ "osPriorityBelowNormal7", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecab18e3bda7b5e418e309a62d6267ea14b", null ],
+ [ "osPriorityNormal", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca45a2895ad30c79fb97de18cac7cc19f1", null ],
+ [ "osPriorityNormal1", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca3e70c19e03d5a54e66bd071f0776782c", null ],
+ [ "osPriorityNormal2", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca19e96f2b025b6462a43b1965043c8205", null ],
+ [ "osPriorityNormal3", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca402bd7ab26fb57c8cee8cf94168f4c91", null ],
+ [ "osPriorityNormal4", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca93ef07d3a107aeee6508bfd29ba3485d", null ],
+ [ "osPriorityNormal5", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca68f3f6fdaa639de300277802aa13a0ab", null ],
+ [ "osPriorityNormal6", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca8221eb0d059726a6309f1f2d0cdb6204", null ],
+ [ "osPriorityNormal7", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca049abd04f8951415407ec9d92bd9b80b", null ],
+ [ "osPriorityAboveNormal", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca17b36cd9cd38652c2bc6d4803990674b", null ],
+ [ "osPriorityAboveNormal1", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecabfeafc713edfc7b9130aa5c762d68998", null ],
+ [ "osPriorityAboveNormal2", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca901acf86070e06f5990b611734ee2562", null ],
+ [ "osPriorityAboveNormal3", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecad566b876b64e6efdc3eba0fc04e54013", null ],
+ [ "osPriorityAboveNormal4", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca6ccac37d7dae4586a2031966d36a63ec", null ],
+ [ "osPriorityAboveNormal5", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecae36e8b38ee046a3104bcccabb10cf78c", null ],
+ [ "osPriorityAboveNormal6", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca61e6ce27e1e0f34f2540b413b8a8b207", null ],
+ [ "osPriorityAboveNormal7", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecadbbb0fed3ada6b9b50d4a628abc2a67d", null ],
+ [ "osPriorityHigh", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca914433934143a9ba767e59577c56e6c2", null ],
+ [ "osPriorityHigh1", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca17b7a7e6febf12444a84e90edfce36cb", null ],
+ [ "osPriorityHigh2", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca40a120cf8bbc42e575455c027f3d9b03", null ],
+ [ "osPriorityHigh3", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca0b15518b0b5321a29efa0b42b2f8c759", null ],
+ [ "osPriorityHigh4", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecafe5a4f393fab04551ac7d93e80cdf0fb", null ],
+ [ "osPriorityHigh5", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca5960841bfbdd959b163429e8502ea4e9", null ],
+ [ "osPriorityHigh6", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca5714dda6effc1a3f8ec155d97e3e69bc", null ],
+ [ "osPriorityHigh7", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca63ad0cc52a701ef3d9df52b59b995652", null ],
+ [ "osPriorityRealtime", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca1485dec3702434a1ec3cb74c7a17a4af", null ],
+ [ "osPriorityRealtime1", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecaf685a06b30f0635476e21347a986305b", null ],
+ [ "osPriorityRealtime2", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecab832bd9de84e5eec2ecad69d085dadff", null ],
+ [ "osPriorityRealtime3", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca3f2261e5e733e92844ae8c630f2f9eaa", null ],
+ [ "osPriorityRealtime4", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecaf614e3dc966d559cd9d9d2a0f78ebe70", null ],
+ [ "osPriorityRealtime5", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecaff84f31ceff203c711fb9476443507df", null ],
+ [ "osPriorityRealtime6", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca80ae9d0dd256312c0c8f44af48316194", null ],
+ [ "osPriorityRealtime7", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecaa76da6825c4bd31c4958200bc289103b", null ],
+ [ "osPriorityISR", "group__CMSIS__RTOS__ThreadMgmt.html#ggad4e3e0971b41f2d17584a8c6837342eca4b4fa46c3ebaf4259662a0a0a3173b7f", null ],
+ [ "osPriorityError", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecae35f5e2f9c64ad346822521b643bdea4", null ],
+ [ "osPriorityReserved", "cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecac86c171f8d466cced0cb1b03bb03343b", null ]
+ ] ],
+ [ "osThreadInactive", "group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820dae9d77830b6866e287417b6e1d983e971", null ],
+ [ "osThreadReady", "group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820da59e286915944fe0e4d1ffdb1f2946f14", null ],
+ [ "osThreadRunning", "group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820dac4fe336e0790188fcf7d667372eca19d", null ],
+ [ "osThreadBlocked", "group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820daf0e992e354fba8695957c530226a4968", null ],
+ [ "osThreadTerminated", "group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820dad5b2726c2d0228f4f1a76cf6b630963c", null ],
+ [ "osThreadError", "group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820da339313e26613bc12f66a852e2ff8745e", null ],
+ [ "osPriorityIdle", "group__CMSIS__RTOS__ThreadMgmt.html#ggad4e3e0971b41f2d17584a8c6837342ecacd5864eac01a6916a7c866bb51a6aac1", null ],
+ [ "osPriorityISR", "group__CMSIS__RTOS__ThreadMgmt.html#ggad4e3e0971b41f2d17584a8c6837342eca4b4fa46c3ebaf4259662a0a0a3173b7f", null ],
+ [ "osThreadNew", "group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f", null ],
+ [ "osThreadGetName", "group__CMSIS__RTOS__ThreadMgmt.html#gac3230f3a55a297514b013ebf38f27e0a", null ],
+ [ "osThreadGetId", "group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da", null ],
+ [ "osThreadGetState", "group__CMSIS__RTOS__ThreadMgmt.html#gacc0a98b42f0a5928e12dc91dc76866b9", null ],
+ [ "osThreadSetPriority", "group__CMSIS__RTOS__ThreadMgmt.html#ga861a420fb2d643115b06622903fb3bfb", null ],
+ [ "osThreadGetPriority", "group__CMSIS__RTOS__ThreadMgmt.html#ga0aeaf349604f456e68e78f9d3b42e44b", null ],
+ [ "osThreadYield", "group__CMSIS__RTOS__ThreadMgmt.html#gad01c7ec26535b1de6b018bb9466720e2", null ],
+ [ "osThreadSuspend", "group__CMSIS__RTOS__ThreadMgmt.html#gaa9de419d0152bf77e9bbcd1f369fb990", null ],
+ [ "osThreadResume", "group__CMSIS__RTOS__ThreadMgmt.html#ga3dbad90eff394b02de76a452c84c5d80", null ],
+ [ "osThreadDetach", "group__CMSIS__RTOS__ThreadMgmt.html#gaaad14cd9547341ea8109dc4e8540f1dc", null ],
+ [ "osThreadJoin", "group__CMSIS__RTOS__ThreadMgmt.html#ga3fca90fb0679afeb968aa8c3d5874487", null ],
+ [ "osThreadExit", "group__CMSIS__RTOS__ThreadMgmt.html#gaddaa452dd7610e4096647a566d3556fc", null ],
+ [ "osThreadTerminate", "group__CMSIS__RTOS__ThreadMgmt.html#ga2f8ba6dba6e9c065a6e236ffd410d74a", null ],
+ [ "osThreadGetStackSize", "group__CMSIS__RTOS__ThreadMgmt.html#gab9f8bd715d671c6ee27644867bc1bf65", null ],
+ [ "osThreadGetStackSpace", "group__CMSIS__RTOS__ThreadMgmt.html#ga9c83bd5dd8de329701775d6ef7012720", null ],
+ [ "osThreadGetCount", "group__CMSIS__RTOS__ThreadMgmt.html#ga495b3f812224e7301f23a691793765db", null ],
+ [ "osThreadEnumerate", "group__CMSIS__RTOS__ThreadMgmt.html#ga5606604d56e21ece1a654664be877439", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__CMSIS__RTOS__ThreadMgmt_structosThreadAttr__t.js b/docs/RTOS2/html/group__CMSIS__RTOS__ThreadMgmt_structosThreadAttr__t.js
new file mode 100644
index 0000000..e9b615e
--- /dev/null
+++ b/docs/RTOS2/html/group__CMSIS__RTOS__ThreadMgmt_structosThreadAttr__t.js
@@ -0,0 +1,12 @@
+var group__CMSIS__RTOS__ThreadMgmt_structosThreadAttr__t =
+[
+ [ "name", "group__CMSIS__RTOS__ThreadMgmt.html#ab74e6bf80237ddc4109968cedc58c151", null ],
+ [ "attr_bits", "group__CMSIS__RTOS__ThreadMgmt.html#a6e93b49cb79c12f768d72580c7731f30", null ],
+ [ "cb_mem", "group__CMSIS__RTOS__ThreadMgmt.html#a1e100dc33d403841ed3c344e3397868e", null ],
+ [ "cb_size", "group__CMSIS__RTOS__ThreadMgmt.html#aa55a4335d12dc2785dc00fdc292d1159", null ],
+ [ "stack_mem", "group__CMSIS__RTOS__ThreadMgmt.html#ad7c9b42355a4c8b9467130ab3fb19e43", null ],
+ [ "stack_size", "group__CMSIS__RTOS__ThreadMgmt.html#aacbc9a219f2d6870e9ce89bb93f975c9", null ],
+ [ "priority", "group__CMSIS__RTOS__ThreadMgmt.html#a6a5183df4c54c3e28dc8dc704f2487d5", null ],
+ [ "tz_module", "group__CMSIS__RTOS__ThreadMgmt.html#a697f2aad6119d655d212ea10245ae394", null ],
+ [ "reserved", "group__CMSIS__RTOS__ThreadMgmt.html#a66f538babc389986738ec70104e0562b", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__CMSIS__RTOS__TickAPI.html b/docs/RTOS2/html/group__CMSIS__RTOS__TickAPI.html
new file mode 100644
index 0000000..0a55e13
--- /dev/null
+++ b/docs/RTOS2/html/group__CMSIS__RTOS__TickAPI.html
@@ -0,0 +1,446 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>OS Tick API</title>
+<title>CMSIS-RTOS2: OS Tick API</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__CMSIS__RTOS__TickAPI.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">OS Tick API</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>System tick timer interface for periodic RTOS Kernel Ticks defined in <b>os_tick.h</b>
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga5eeffb4d9dc6c6802fee8898096d9a59"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__TickAPI.html#ga5eeffb4d9dc6c6802fee8898096d9a59">OS_Tick_Setup</a> (uint32_t freq, <a class="el" href="os__tick_8h.html#afbfa2180a9b6208f34891d539e9e2d52">IRQHandler_t</a> handler)</td></tr>
+<tr class="memdesc:ga5eeffb4d9dc6c6802fee8898096d9a59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup OS Tick timer to generate periodic RTOS Kernel Ticks. <a href="#ga5eeffb4d9dc6c6802fee8898096d9a59">More...</a><br/></td></tr>
+<tr class="separator:ga5eeffb4d9dc6c6802fee8898096d9a59"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3e47971bf3a02599d9ecb32208adafec"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__TickAPI.html#ga3e47971bf3a02599d9ecb32208adafec">OS_Tick_Enable</a> (void)</td></tr>
+<tr class="memdesc:ga3e47971bf3a02599d9ecb32208adafec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable OS Tick timer interrupt. <a href="#ga3e47971bf3a02599d9ecb32208adafec">More...</a><br/></td></tr>
+<tr class="separator:ga3e47971bf3a02599d9ecb32208adafec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5e325c304fef5003b1dc31906f6a3056"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__TickAPI.html#ga5e325c304fef5003b1dc31906f6a3056">OS_Tick_Disable</a> (void)</td></tr>
+<tr class="memdesc:ga5e325c304fef5003b1dc31906f6a3056"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disable OS Tick timer interrupt. <a href="#ga5e325c304fef5003b1dc31906f6a3056">More...</a><br/></td></tr>
+<tr class="separator:ga5e325c304fef5003b1dc31906f6a3056"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga57065ec4b281504ad4de13a419870b4f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__TickAPI.html#ga57065ec4b281504ad4de13a419870b4f">OS_Tick_AcknowledgeIRQ</a> (void)</td></tr>
+<tr class="memdesc:ga57065ec4b281504ad4de13a419870b4f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Acknowledge execution of OS Tick timer interrupt. <a href="#ga57065ec4b281504ad4de13a419870b4f">More...</a><br/></td></tr>
+<tr class="separator:ga57065ec4b281504ad4de13a419870b4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa8b4eca23e3ffe2df403291958cdc905"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__TickAPI.html#gaa8b4eca23e3ffe2df403291958cdc905">OS_Tick_GetIRQn</a> (void)</td></tr>
+<tr class="memdesc:gaa8b4eca23e3ffe2df403291958cdc905"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get OS Tick timer IRQ number. <a href="#gaa8b4eca23e3ffe2df403291958cdc905">More...</a><br/></td></tr>
+<tr class="separator:gaa8b4eca23e3ffe2df403291958cdc905"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga936217ea28236fb57648973e0d8f627a"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__TickAPI.html#ga936217ea28236fb57648973e0d8f627a">OS_Tick_GetClock</a> (void)</td></tr>
+<tr class="memdesc:ga936217ea28236fb57648973e0d8f627a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get OS Tick timer clock frequency. <a href="#ga936217ea28236fb57648973e0d8f627a">More...</a><br/></td></tr>
+<tr class="separator:ga936217ea28236fb57648973e0d8f627a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga123151dc19d5a94a68f12cdbf61a9bb5"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__TickAPI.html#ga123151dc19d5a94a68f12cdbf61a9bb5">OS_Tick_GetInterval</a> (void)</td></tr>
+<tr class="memdesc:ga123151dc19d5a94a68f12cdbf61a9bb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get OS Tick timer interval reload value. <a href="#ga123151dc19d5a94a68f12cdbf61a9bb5">More...</a><br/></td></tr>
+<tr class="separator:ga123151dc19d5a94a68f12cdbf61a9bb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa64a145a554f1e5077848938d7f39c92"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__TickAPI.html#gaa64a145a554f1e5077848938d7f39c92">OS_Tick_GetCount</a> (void)</td></tr>
+<tr class="memdesc:gaa64a145a554f1e5077848938d7f39c92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get OS Tick timer counter value. <a href="#gaa64a145a554f1e5077848938d7f39c92">More...</a><br/></td></tr>
+<tr class="separator:gaa64a145a554f1e5077848938d7f39c92"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1f9a593126b7f0b66fc526c2cebd6192"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__TickAPI.html#ga1f9a593126b7f0b66fc526c2cebd6192">OS_Tick_GetOverflow</a> (void)</td></tr>
+<tr class="memdesc:ga1f9a593126b7f0b66fc526c2cebd6192"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get OS Tick timer overflow status. <a href="#ga1f9a593126b7f0b66fc526c2cebd6192">More...</a><br/></td></tr>
+<tr class="separator:ga1f9a593126b7f0b66fc526c2cebd6192"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
+<p>The <b>OS Tick API</b> is an interface to a system timer that generates the Kernel Ticks.</p>
+<p>All Cortex-M processors provide an unified System Tick Timer that is typically used to generate the RTOS Kernel Tick. The Cortex-A processors do not implement an unified system timer and required a device specific implementation.</p>
+<p>CMSIS-RTOS2 provides in the directory <a class="el" href="index.html#directory">CMSIS/RTOS2/Source</a> the several OS Tick implementations that can be used by any RTOS kernel.</p>
+<table class="doxtable">
+<tr>
+<th align="left">Filename </th><th align="left">OS Tick Implementation for... </th></tr>
+<tr>
+<td align="left"><b>os_systick.c</b> </td><td align="left">Cortex-M SysTick timer </td></tr>
+<tr>
+<td align="left"><b>os_tick_gtim.c</b> </td><td align="left">Cortex-A Generic Timer (available in some devices) </td></tr>
+<tr>
+<td align="left"><b>os_tick_ptim.c</b> </td><td align="left">Cortex-A Private Timer (available in some devices) </td></tr>
+</table>
+<dl class="section note"><dt>Note</dt><dd>The above OS Tick source files implement <code>weak</code> functions which may be overwritten by user-specific implementations. </dd></dl>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ga5eeffb4d9dc6c6802fee8898096d9a59"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int32_t OS_Tick_Setup </td>
+ <td>(</td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>freq</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="os__tick_8h.html#afbfa2180a9b6208f34891d539e9e2d52">IRQHandler_t</a>&#160;</td>
+ <td class="paramname"><em>handler</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">freq</td><td>tick frequency in Hz </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">handler</td><td>tick IRQ handler </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>0 on success, -1 on error.</dd></dl>
+<p>Setup OS Tick timer to generate periodic RTOS Kernel Ticks.</p>
+<p>The timer should be configured to generate periodic interrupts at frequency specified by <em>freq</em>. The parameter <em>handler</em> defines the interrupt handler function that is called.</p>
+<p>The timer should only be initialized and configured but must not be started to create interrupts. The RTOS kernel calls the function <a class="el" href="group__CMSIS__RTOS__TickAPI.html#ga3e47971bf3a02599d9ecb32208adafec">OS_Tick_Enable</a> to start the timer interrupts.</p>
+<p><b>Cortex-M SysTick implementation:</b> </p>
+<div class="fragment"><div class="line"><span class="preprocessor">#ifndef SYSTICK_IRQ_PRIORITY</span></div>
+<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define SYSTICK_IRQ_PRIORITY 0xFFU</span></div>
+<div class="line"><span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
+<div class="line"><span class="preprocessor"></span></div>
+<div class="line"><span class="keyword">static</span> uint8_t PendST;</div>
+<div class="line"></div>
+<div class="line">int32_t <a class="code" href="group__CMSIS__RTOS__TickAPI.html#ga5eeffb4d9dc6c6802fee8898096d9a59">OS_Tick_Setup</a> (uint32_t freq, <a class="code" href="os__tick_8h.html#afbfa2180a9b6208f34891d539e9e2d52">IRQHandler_t</a> handler) {</div>
+<div class="line"> (void)handler;</div>
+<div class="line"> uint32_t load;</div>
+<div class="line"></div>
+<div class="line"> <span class="keywordflow">if</span> (freq == 0U) {</div>
+<div class="line"> <span class="keywordflow">return</span> (-1);</div>
+<div class="line"> }</div>
+<div class="line"></div>
+<div class="line"> load = (SystemCoreClock / freq) - 1U;</div>
+<div class="line"> <span class="keywordflow">if</span> (load &gt; 0x00FFFFFFU) {</div>
+<div class="line"> <span class="keywordflow">return</span> (-1);</div>
+<div class="line"> }</div>
+<div class="line"></div>
+<div class="line"> NVIC_SetPriority(SysTick_IRQn, SYSTICK_IRQ_PRIORITY);</div>
+<div class="line"></div>
+<div class="line"> SysTick-&gt;CTRL = SysTick_CTRL_CLKSOURCE_Msk | SysTick_CTRL_TICKINT_Msk;</div>
+<div class="line"> SysTick-&gt;LOAD = load;</div>
+<div class="line"> SysTick-&gt;VAL = 0U;</div>
+<div class="line"></div>
+<div class="line"> PendST = 0U;</div>
+<div class="line"></div>
+<div class="line"> <span class="keywordflow">return</span> (0);</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ga3e47971bf3a02599d9ecb32208adafec"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int32_t OS_Tick_Enable </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Enable OS Tick timer interrupt.</p>
+<p>Enable and start the OS Tick timer to generate periodic RTOS Kernel Tick interrupts.</p>
+<p><b>Cortex-M SysTick implementation:</b> </p>
+<div class="fragment"><div class="line">int32_t <a class="code" href="group__CMSIS__RTOS__TickAPI.html#ga3e47971bf3a02599d9ecb32208adafec">OS_Tick_Enable</a> (<span class="keywordtype">void</span>) {</div>
+<div class="line"></div>
+<div class="line"> <span class="keywordflow">if</span> (PendST != 0U) {</div>
+<div class="line"> PendST = 0U;</div>
+<div class="line"> SCB-&gt;ICSR = SCB_ICSR_PENDSTSET_Msk;</div>
+<div class="line"> }</div>
+<div class="line"></div>
+<div class="line"> SysTick-&gt;CTRL |= SysTick_CTRL_ENABLE_Msk;</div>
+<div class="line"></div>
+<div class="line"> <span class="keywordflow">return</span> (0);</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ga5e325c304fef5003b1dc31906f6a3056"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int32_t OS_Tick_Disable </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Disable OS Tick timer interrupt.</p>
+<p>Stop the OS Tick timer and disable generation of RTOS Kernel Tick interrupts.</p>
+<p><b>Cortex-M SysTick implementation:</b> </p>
+<div class="fragment"><div class="line">int32_t <a class="code" href="group__CMSIS__RTOS__TickAPI.html#ga5e325c304fef5003b1dc31906f6a3056">OS_Tick_Disable</a> (<span class="keywordtype">void</span>) {</div>
+<div class="line"></div>
+<div class="line"> SysTick-&gt;CTRL &amp;= ~SysTick_CTRL_ENABLE_Msk;</div>
+<div class="line"></div>
+<div class="line"> <span class="keywordflow">if</span> ((SCB-&gt;ICSR &amp; SCB_ICSR_PENDSTSET_Msk) != 0U) {</div>
+<div class="line"> SCB-&gt;ICSR = SCB_ICSR_PENDSTCLR_Msk;</div>
+<div class="line"> PendST = 1U;</div>
+<div class="line"> }</div>
+<div class="line"></div>
+<div class="line"> <span class="keywordflow">return</span> (0);</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ga57065ec4b281504ad4de13a419870b4f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int32_t OS_Tick_AcknowledgeIRQ </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Acknowledge execution of OS Tick timer interrupt.</p>
+<p>Acknowledge the execution of the OS Tick timer interrupt function, for example clear the pending flag.</p>
+<p><b>Cortex-M SysTick implementation:</b></p>
+<div class="fragment"><div class="line">int32_t <a class="code" href="group__CMSIS__RTOS__TickAPI.html#ga57065ec4b281504ad4de13a419870b4f">OS_Tick_AcknowledgeIRQ</a> (<span class="keywordtype">void</span>) {</div>
+<div class="line"> (void)SysTick-&gt;CTRL;</div>
+<div class="line"> return (0);</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="gaa8b4eca23e3ffe2df403291958cdc905"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int32_t OS_Tick_GetIRQn </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>OS Tick IRQ number</dd></dl>
+<p>Get OS Tick timer IRQ number.</p>
+<p>Return the numeric value that identifies the interrupt called by the OS Tick timer.</p>
+<p><b>Cortex-M SysTick implementation:</b></p>
+<div class="fragment"><div class="line">int32_t <a class="code" href="group__CMSIS__RTOS__TickAPI.html#gaa8b4eca23e3ffe2df403291958cdc905">OS_Tick_GetIRQn</a> (<span class="keywordtype">void</span>) {</div>
+<div class="line"> <span class="keywordflow">return</span> (SysTick_IRQn);</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ga936217ea28236fb57648973e0d8f627a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint32_t OS_Tick_GetClock </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>OS Tick timer clock frequency in Hz</dd></dl>
+<p>Get OS Tick timer clock frequency.</p>
+<p>Return the input clock frequency of the OS Tick timer. This is the increment rate of the counter value returned by the function <a class="el" href="group__CMSIS__RTOS__TickAPI.html#gaa64a145a554f1e5077848938d7f39c92">OS_Tick_GetCount</a>. This function is used to by the function <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga4d69215a93220f72be3684cad582f16a">osKernelGetSysTimerFreq</a>.</p>
+<p><b>Cortex-M SysTick implementation:</b></p>
+<div class="fragment"><div class="line">uint32_t <a class="code" href="group__CMSIS__RTOS__TickAPI.html#ga936217ea28236fb57648973e0d8f627a">OS_Tick_GetClock</a> (<span class="keywordtype">void</span>) {</div>
+<div class="line"> <span class="keywordflow">return</span> (SystemCoreClock);</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ga123151dc19d5a94a68f12cdbf61a9bb5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint32_t OS_Tick_GetInterval </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>OS Tick timer interval reload value</dd></dl>
+<p>Get OS Tick timer interval reload value.</p>
+<p>Return the number of counter ticks between to periodic OS Tick timer interrupts.</p>
+<p><b>Cortex-M SysTick implementation:</b></p>
+<div class="fragment"><div class="line">uint32_t <a class="code" href="group__CMSIS__RTOS__TickAPI.html#ga123151dc19d5a94a68f12cdbf61a9bb5">OS_Tick_GetInterval</a> (<span class="keywordtype">void</span>) {</div>
+<div class="line"> <span class="keywordflow">return</span> (SysTick-&gt;LOAD + 1U);</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="gaa64a145a554f1e5077848938d7f39c92"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint32_t OS_Tick_GetCount </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>OS Tick timer counter value</dd></dl>
+<p>Get OS Tick timer counter value.</p>
+<p>Return the current value of the OS Tick counter: 0 ... (reload value -1). The reload value is returned by the function <a class="el" href="group__CMSIS__RTOS__TickAPI.html#ga123151dc19d5a94a68f12cdbf61a9bb5">OS_Tick_GetInterval</a>. The OS Tick timer counter value is used to by the function <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae0fcaff6cecfb4013bb556c87afcd7d2">osKernelGetSysTimerCount</a>.</p>
+<p><b>Cortex-M SysTick implementation:</b></p>
+<div class="fragment"><div class="line">uint32_t <a class="code" href="group__CMSIS__RTOS__TickAPI.html#gaa64a145a554f1e5077848938d7f39c92">OS_Tick_GetCount</a> (<span class="keywordtype">void</span>) {</div>
+<div class="line"> uint32_t load = SysTick-&gt;LOAD;</div>
+<div class="line"> <span class="keywordflow">return</span> (load - SysTick-&gt;VAL);</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ga1f9a593126b7f0b66fc526c2cebd6192"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">OS_Tick_GetOverflow </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>OS Tick overflow status (1 - overflow, 0 - no overflow).</dd></dl>
+<p>Get OS Tick timer overflow status.</p>
+<p>Return the state of OS Tick timer interrupt pending bit that indicates timer overflows to adjust SysTimer calculations.</p>
+<p><b>Cortex-M SysTick implementation:</b></p>
+<div class="fragment"><div class="line">uint32_t <a class="code" href="group__CMSIS__RTOS__TickAPI.html#ga1f9a593126b7f0b66fc526c2cebd6192">OS_Tick_GetOverflow</a> (<span class="keywordtype">void</span>) {</div>
+<div class="line"> <span class="keywordflow">return</span> ((SysTick-&gt;CTRL &gt;&gt; 16) &amp; 1U);</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/group__CMSIS__RTOS__TickAPI.js b/docs/RTOS2/html/group__CMSIS__RTOS__TickAPI.js
new file mode 100644
index 0000000..b3031ae
--- /dev/null
+++ b/docs/RTOS2/html/group__CMSIS__RTOS__TickAPI.js
@@ -0,0 +1,12 @@
+var group__CMSIS__RTOS__TickAPI =
+[
+ [ "OS_Tick_Setup", "group__CMSIS__RTOS__TickAPI.html#ga5eeffb4d9dc6c6802fee8898096d9a59", null ],
+ [ "OS_Tick_Enable", "group__CMSIS__RTOS__TickAPI.html#ga3e47971bf3a02599d9ecb32208adafec", null ],
+ [ "OS_Tick_Disable", "group__CMSIS__RTOS__TickAPI.html#ga5e325c304fef5003b1dc31906f6a3056", null ],
+ [ "OS_Tick_AcknowledgeIRQ", "group__CMSIS__RTOS__TickAPI.html#ga57065ec4b281504ad4de13a419870b4f", null ],
+ [ "OS_Tick_GetIRQn", "group__CMSIS__RTOS__TickAPI.html#gaa8b4eca23e3ffe2df403291958cdc905", null ],
+ [ "OS_Tick_GetClock", "group__CMSIS__RTOS__TickAPI.html#ga936217ea28236fb57648973e0d8f627a", null ],
+ [ "OS_Tick_GetInterval", "group__CMSIS__RTOS__TickAPI.html#ga123151dc19d5a94a68f12cdbf61a9bb5", null ],
+ [ "OS_Tick_GetCount", "group__CMSIS__RTOS__TickAPI.html#gaa64a145a554f1e5077848938d7f39c92", null ],
+ [ "OS_Tick_GetOverflow", "group__CMSIS__RTOS__TickAPI.html#ga1f9a593126b7f0b66fc526c2cebd6192", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__CMSIS__RTOS__TimerMgmt.html b/docs/RTOS2/html/group__CMSIS__RTOS__TimerMgmt.html
new file mode 100644
index 0000000..4ef2b0b
--- /dev/null
+++ b/docs/RTOS2/html/group__CMSIS__RTOS__TimerMgmt.html
@@ -0,0 +1,646 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Timer Management</title>
+<title>CMSIS-RTOS2: Timer Management</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__CMSIS__RTOS__TimerMgmt.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#enum-members">Enumerations</a> &#124;
+<a href="#enumval-members">Enumerator</a> &#124;
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">Timer Management<div class="ingroups"><a class="el" href="group__CMSIS__RTOS.html">CMSIS-RTOS API v2</a></div></div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Create and control timer and timer callback functions.
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Structures</h2></td></tr>
+<tr class="memitem:structosTimerAttr__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#structosTimerAttr__t">osTimerAttr_t</a></td></tr>
+<tr class="memdesc:structosTimerAttr__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attributes structure for timer. <a href="group__CMSIS__RTOS__TimerMgmt.html#structosTimerAttr__t">More...</a><br/></td></tr>
+<tr class="separator:structosTimerAttr__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr class="memitem:gaad5409379689ee27bb0a0b56ea4a4b34"><td class="memItemLeft" align="right" valign="top">typedef void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a></td></tr>
+<tr class="separator:gaad5409379689ee27bb0a0b56ea4a4b34"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaacf768c1ec64b020598afb985d7b30be"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaacf768c1ec64b020598afb985d7b30be">osTimerFunc_t</a> )(void *argument)</td></tr>
+<tr class="memdesc:gaacf768c1ec64b020598afb985d7b30be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Timer callback function. <a href="#gaacf768c1ec64b020598afb985d7b30be">More...</a><br/></td></tr>
+<tr class="separator:gaacf768c1ec64b020598afb985d7b30be"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr class="memitem:ga7dc24a4c2b90334427081c3da7a71915"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#ga7dc24a4c2b90334427081c3da7a71915">osTimerType_t</a> { <br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915a2e0e1f31c742c84b497c4d7143357bdb">osTimerOnce</a> = 0,
+<br/>
+&#160;&#160;<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915ab3463d921dc310938094745c230f2b35">osTimerPeriodic</a> = 1
+<br/>
+ }</td></tr>
+<tr class="memdesc:ga7dc24a4c2b90334427081c3da7a71915"><td class="mdescLeft">&#160;</td><td class="mdescRight">Timer type. <a href="group__CMSIS__RTOS__TimerMgmt.html#ga7dc24a4c2b90334427081c3da7a71915">More...</a><br/></td></tr>
+<tr class="separator:ga7dc24a4c2b90334427081c3da7a71915"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:gad4e7f785c5f700a509f55a3bf6a62bec"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a> (<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaacf768c1ec64b020598afb985d7b30be">osTimerFunc_t</a> func, <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#ga7dc24a4c2b90334427081c3da7a71915">osTimerType_t</a> type, void *argument, const <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#structosTimerAttr__t">osTimerAttr_t</a> *attr)</td></tr>
+<tr class="memdesc:gad4e7f785c5f700a509f55a3bf6a62bec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create and Initialize a timer. <a href="#gad4e7f785c5f700a509f55a3bf6a62bec">More...</a><br/></td></tr>
+<tr class="separator:gad4e7f785c5f700a509f55a3bf6a62bec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4f82a98eee4d9ea79507e44340d3d319"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#ga4f82a98eee4d9ea79507e44340d3d319">osTimerGetName</a> (<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> timer_id)</td></tr>
+<tr class="memdesc:ga4f82a98eee4d9ea79507e44340d3d319"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get name of a timer. <a href="#ga4f82a98eee4d9ea79507e44340d3d319">More...</a><br/></td></tr>
+<tr class="separator:ga4f82a98eee4d9ea79507e44340d3d319"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab6ee2859ea657641b7adfac599b8121d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d">osTimerStart</a> (<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> timer_id, uint32_t ticks)</td></tr>
+<tr class="memdesc:gab6ee2859ea657641b7adfac599b8121d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start or restart a timer. <a href="#gab6ee2859ea657641b7adfac599b8121d">More...</a><br/></td></tr>
+<tr class="separator:gab6ee2859ea657641b7adfac599b8121d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gabd7a89356da7717293eb0bc5d87b8ac9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gabd7a89356da7717293eb0bc5d87b8ac9">osTimerStop</a> (<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> timer_id)</td></tr>
+<tr class="memdesc:gabd7a89356da7717293eb0bc5d87b8ac9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stop a timer. <a href="#gabd7a89356da7717293eb0bc5d87b8ac9">More...</a><br/></td></tr>
+<tr class="separator:gabd7a89356da7717293eb0bc5d87b8ac9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga69d3589f54194022c30dd01e45ec6741"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#ga69d3589f54194022c30dd01e45ec6741">osTimerIsRunning</a> (<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> timer_id)</td></tr>
+<tr class="memdesc:ga69d3589f54194022c30dd01e45ec6741"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a timer is running. <a href="#ga69d3589f54194022c30dd01e45ec6741">More...</a><br/></td></tr>
+<tr class="separator:ga69d3589f54194022c30dd01e45ec6741"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad0001dd74721ab461789324806db2453"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad0001dd74721ab461789324806db2453">osTimerDelete</a> (<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> timer_id)</td></tr>
+<tr class="memdesc:gad0001dd74721ab461789324806db2453"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete a timer. <a href="#gad0001dd74721ab461789324806db2453">More...</a><br/></td></tr>
+<tr class="separator:gad0001dd74721ab461789324806db2453"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
+<p>In addition to the <a class="el" href="group__CMSIS__RTOS__Wait.html">Generic Wait Functions</a> CMSIS-RTOS also supports virtual timer objects. These timer objects can trigger the execution of a function (not threads). When a timer expires, a callback function is executed to run associated code with the timer. Each timer can be configured as a one-shot or a periodic timer. A periodic timer repeats its operation until it is <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad0001dd74721ab461789324806db2453">deleted</a> or <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gabd7a89356da7717293eb0bc5d87b8ac9">stopped</a>. All timers can be <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d">started, restarted</a>, or <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gabd7a89356da7717293eb0bc5d87b8ac9">stopped</a>.</p>
+<dl class="section note"><dt>Note</dt><dd>RTX handles Timers in the thread <b>osRtxTimerThread</b>. Callback functions run under control of this thread and may use other CMSIS-RTOS API calls. The <b>osRtxTimerThread</b> is configured in <a class="el" href="config_rtx5.html#timerConfig">Timer Configuration</a>. </dd>
+<dd>
+Timer management functions cannot be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
+<p>The figure below shows the behavior of a periodic timer. For one-shot timers, the timer stops after execution of the callback function.</p>
+<div class="image">
+<img src="Timer.png" alt="Timer.png"/>
+<div class="caption">
+Behavior of a Periodic Timer</div></div>
+<h2>Working with Timers </h2>
+<p>The following steps are required to use a software timer:</p>
+<ol type="1">
+<li>Define the timers: <div class="fragment"><div class="line"><a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> one_shot_id, periodic_id;</div>
+</div><!-- fragment --></li>
+<li>Define callback functions: <div class="fragment"><div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> one_shot_Callback (<span class="keywordtype">void</span> *argument) {</div>
+<div class="line"> int32_t arg = (int32_t)argument; <span class="comment">// cast back argument &#39;0&#39; </span></div>
+<div class="line"> <span class="comment">// do something, i.e. set thread/event flags</span></div>
+<div class="line">}</div>
+<div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> periodic_Callback (<span class="keywordtype">void</span> *argument) {</div>
+<div class="line"> int32_t arg = (int32_t)argument; <span class="comment">// cast back argument &#39;5&#39;</span></div>
+<div class="line"> <span class="comment">// do something, i.e. set thread/event flags</span></div>
+<div class="line">}</div>
+</div><!-- fragment --></li>
+<li>Instantiate and start the timers: <div class="fragment"><div class="line"><span class="comment">// creates a one-shot timer:</span></div>
+<div class="line">one_shot_id = <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a>(one_shot_Callback, <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915a2e0e1f31c742c84b497c4d7143357bdb">osTimerOnce</a>, (<span class="keywordtype">void</span> *)0, NULL); <span class="comment">// (void*)0 is passed as an argument</span></div>
+<div class="line"> <span class="comment">// to the callback function</span></div>
+<div class="line"><span class="comment">// creates a periodic timer:</span></div>
+<div class="line">periodic_id = <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a>(periodic_Callback, <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915ab3463d921dc310938094745c230f2b35">osTimerPeriodic</a>, (<span class="keywordtype">void</span> *)5, NULL); <span class="comment">// (void*)5 is passed as an argument</span></div>
+<div class="line"> <span class="comment">// to the callback function</span></div>
+<div class="line"><a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d">osTimerStart</a>(one_shot_id, 500);</div>
+<div class="line"><a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d">osTimerStart</a>(periodic_id, 1500);</div>
+<div class="line"> </div>
+<div class="line"><span class="comment">// start the one-shot timer again after it has triggered the first time:</span></div>
+<div class="line"><a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d">osTimerStart</a>(one_shot_id, 500);</div>
+<div class="line"> </div>
+<div class="line"><span class="comment">// when timers are not needed any longer free the resources:</span></div>
+<div class="line"><a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gad0001dd74721ab461789324806db2453">osTimerDelete</a>(one_shot_id);</div>
+<div class="line"><a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gad0001dd74721ab461789324806db2453">osTimerDelete</a>(periodic_id);</div>
+</div><!-- fragment --> </li>
+</ol>
+<hr/><h2 class="groupheader">Data Structure Documentation</h2>
+<a name="structosTimerAttr__t" id="structosTimerAttr__t"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osTimerAttr_t</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"><p>Specifies the following attributes for the <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a> function. </p>
+</div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ab74e6bf80237ddc4109968cedc58c151"></a>const char *</td>
+<td class="fieldname">
+name</td>
+<td class="fielddoc">
+name of the timer <p>Pointer to a constant string with a human readable name (displayed during debugging) of the timer object.</p>
+<p>Default: <span class="XML-Token">NULL</span> no name specified. </p>
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a6e93b49cb79c12f768d72580c7731f30"></a>uint32_t</td>
+<td class="fieldname">
+attr_bits</td>
+<td class="fielddoc">
+attribute bits <p>Reserved for future use (must be set to '0' for future compatibility). </p>
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a1e100dc33d403841ed3c344e3397868e"></a>void *</td>
+<td class="fieldname">
+cb_mem</td>
+<td class="fielddoc">
+memory for control block <p>Pointer to a memory for the timer control block object. Refer to <a class="el" href="theory_of_operation.html#StaticObjectMemory">Static Object Memory</a> for more information.</p>
+<p>Default: <span class="XML-Token">NULL</span> to use <a class="el" href="group__CMSIS__RTOS__MemoryMgmt.html#CMSIS_RTOS_MemoryMgmt_Automatic">Automatic Dynamic Allocation</a> for the timer control block. </p>
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="aa55a4335d12dc2785dc00fdc292d1159"></a>uint32_t</td>
+<td class="fieldname">
+cb_size</td>
+<td class="fielddoc">
+size of provided memory for control block <p>The size (in bytes) of memory block passed with <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#a1e100dc33d403841ed3c344e3397868e">cb_mem</a>. For RTX, the minimum value is defined with <a class="el" href="group__rtx5__specific__defines.html#gaf8a145fdeb24fd912971f0671b1a3603">osRtxTimerCbSize</a> (higher values are permitted).</p>
+<p>Default: <span class="XML-Token">0</span> as the default is no memory provided with <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#a1e100dc33d403841ed3c344e3397868e">cb_mem</a>. </p>
+</td></tr>
+</table>
+
+</div>
+</div>
+<h2 class="groupheader">Typedef Documentation</h2>
+<a class="anchor" id="gaad5409379689ee27bb0a0b56ea4a4b34"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Timer ID identifies the timer.</p>
+<p>Instances of this type hold a reference to a timer object. <br/>
+Returned by:</p>
+<ul>
+<li><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a> </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gaacf768c1ec64b020598afb985d7b30be"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void(* osTimerFunc_t)(void *argument)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>The timer callback function is called every time the timer elapses.</p>
+<p>The callback might be executed either in a dedicated timer thread or in interrupt context. Thus it is recommended to only use ISR callable functions from the timer callback.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">argument</td><td>The argument provided to <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<h2 class="groupheader">Enumeration Type Documentation</h2>
+<a class="anchor" id="ga7dc24a4c2b90334427081c3da7a71915"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#ga7dc24a4c2b90334427081c3da7a71915">osTimerType_t</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>The <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#ga7dc24a4c2b90334427081c3da7a71915">osTimerType_t</a> specifies the a repeating (periodic) or one-shot timer for the function <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a>. </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga7dc24a4c2b90334427081c3da7a71915a2e0e1f31c742c84b497c4d7143357bdb"></a>osTimerOnce</em>&#160;</td><td class="fielddoc">
+<p>One-shot timer. </p>
+<p>The timer is not automatically restarted once it has elapsed. It can be restarted manually using <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d">osTimerStart</a> as needed. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="gga7dc24a4c2b90334427081c3da7a71915ab3463d921dc310938094745c230f2b35"></a>osTimerPeriodic</em>&#160;</td><td class="fielddoc">
+<p>Repeating timer. </p>
+<p>The timer repeats automatically and triggers the callback continuously while running, see <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d">osTimerStart</a> and <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gabd7a89356da7717293eb0bc5d87b8ac9">osTimerStop</a>. </p>
+</td></tr>
+</table>
+
+</div>
+</div>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="gad4e7f785c5f700a509f55a3bf6a62bec"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> osTimerNew </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaacf768c1ec64b020598afb985d7b30be">osTimerFunc_t</a>&#160;</td>
+ <td class="paramname"><em>func</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#ga7dc24a4c2b90334427081c3da7a71915">osTimerType_t</a>&#160;</td>
+ <td class="paramname"><em>type</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>argument</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#structosTimerAttr__t">osTimerAttr_t</a> *&#160;</td>
+ <td class="paramname"><em>attr</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>function pointer to callback function. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915a2e0e1f31c742c84b497c4d7143357bdb">osTimerOnce</a> for one-shot or <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915ab3463d921dc310938094745c230f2b35">osTimerPeriodic</a> for periodic behavior. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">argument</td><td>argument to the timer callback function. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">attr</td><td>timer attributes; NULL: default values. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>timer ID for reference by other functions or NULL in case of error.</dd></dl>
+<p>The function <b>osTimerNew</b> creates an one-shot or periodic timer and associates it with a callback function with <em>argument</em>. The timer is in stopped state until it is started with <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d">osTimerStart</a>. The function can be safely called before the RTOS is started (call to <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221">osKernelStart</a>), but not before it is initialized (call to <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659">osKernelInitialize</a>).</p>
+<p>The function <b>osTimerNew</b> returns the pointer to the timer object identifier or <span class="XML-Token">NULL</span> in case of an error.</p>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
+<p><b>Code Example</b> </p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> Timer1_Callback (<span class="keywordtype">void</span> *arg); <span class="comment">// prototypes for timer callback function</span></div>
+<div class="line"><span class="keywordtype">void</span> Timer2_Callback (<span class="keywordtype">void</span> *arg); </div>
+<div class="line"> </div>
+<div class="line">uint32_t exec1; <span class="comment">// argument for the timer call back function</span></div>
+<div class="line">uint32_t exec2; <span class="comment">// argument for the timer call back function</span></div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> TimerCreate_example (<span class="keywordtype">void</span>) {</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> id1; <span class="comment">// timer id</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> id2; <span class="comment">// timer id</span></div>
+<div class="line"> </div>
+<div class="line"> <span class="comment">// Create one-shoot timer</span></div>
+<div class="line"> exec1 = 1;</div>
+<div class="line"> id1 = <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a> (Timer1_Callback, <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915a2e0e1f31c742c84b497c4d7143357bdb">osTimerOnce</a>, &amp;exec1, NULL);</div>
+<div class="line"> <span class="keywordflow">if</span> (id1 != NULL) {</div>
+<div class="line"> <span class="comment">// One-shoot timer created</span></div>
+<div class="line"> }</div>
+<div class="line"> </div>
+<div class="line"> <span class="comment">// Create periodic timer</span></div>
+<div class="line"> exec2 = 2;</div>
+<div class="line"> id2 = <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a> (Timer2_Callback, <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915ab3463d921dc310938094745c230f2b35">osTimerPeriodic</a>, &amp;exec2, NULL);</div>
+<div class="line"> <span class="keywordflow">if</span> (id2 != NULL) {</div>
+<div class="line"> <span class="comment">// Periodic timer created</span></div>
+<div class="line"> }</div>
+<div class="line"> :</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ga4f82a98eee4d9ea79507e44340d3d319"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">*const char * osTimerGetName </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a>&#160;</td>
+ <td class="paramname"><em>timer_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">timer_id</td><td>timer ID obtained by <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>name as null-terminated string.</dd></dl>
+<p>The function <b>osTimerGetName</b> returns the pointer to the name string of the timer identified by parameter <em>timer_id</em> or <span class="XML-Token">NULL</span> in case of an error.</p>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gab6ee2859ea657641b7adfac599b8121d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> osTimerStart </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a>&#160;</td>
+ <td class="paramname"><em>timer_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>ticks</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">timer_id</td><td>timer ID obtained by <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">ticks</td><td><a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">time ticks</a> value of the timer. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>status code that indicates the execution status of the function.</dd></dl>
+<p>The function <b>osTimerStart</b> starts or restarts a timer specified by the parameter <em>timer_id</em>. The parameter <em>ticks</em> specifies the value of the timer in <a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">time ticks</a>.</p>
+<p>Possible <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> return values:</p>
+<ul>
+<li><em>osOK:</em> the specified timer has been started or restarted.</li>
+<li><em>osErrorISR:</em> <b>osTimerStart</b> cannot be called from interrupt service routines.</li>
+<li><em>osErrorParameter:</em> parameter <em>timer_id</em> is either <span class="XML-Token">NULL</span> or invalid or <em>ticks</em> is incorrect.</li>
+<li><em>osErrorResource:</em> the timer specified by parameter <em>timer_id</em> is in an invalid timer state.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
+<p><b>Code Example</b> </p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> Timer_Callback (<span class="keywordtype">void</span> *arg) { <span class="comment">// timer callback function</span></div>
+<div class="line"> <span class="comment">// arg contains &amp;exec</span></div>
+<div class="line"> <span class="comment">// called every second after osTimerStart</span></div>
+<div class="line">} </div>
+<div class="line"> </div>
+<div class="line">uint32_t exec; <span class="comment">// argument for the timer call back function</span></div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> TimerStart_example (<span class="keywordtype">void</span>) {</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> id; <span class="comment">// timer id</span></div>
+<div class="line"> uint32_t timerDelay; <span class="comment">// timer value</span></div>
+<div class="line"> osStatus_t status; <span class="comment">// function return status</span></div>
+<div class="line"> </div>
+<div class="line"> <span class="comment">// Create periodic timer</span></div>
+<div class="line"> exec = 1;</div>
+<div class="line"> <span class="keywordtype">id</span> = <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a> (Timer_Callback, <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915ab3463d921dc310938094745c230f2b35">osTimerPeriodic</a>, &amp;exec, NULL);</div>
+<div class="line"> <span class="keywordflow">if</span> (<span class="keywordtype">id</span>) {</div>
+<div class="line"> timerDelay = 1000;</div>
+<div class="line"> status = <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d">osTimerStart</a> (<span class="keywordtype">id</span>, timerDelay); <span class="comment">// start timer</span></div>
+<div class="line"> <span class="keywordflow">if</span> (status != <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f">osOK</a>) {</div>
+<div class="line"> <span class="comment">// Timer could not be started</span></div>
+<div class="line"> } </div>
+<div class="line"> }</div>
+<div class="line"> ;</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="gabd7a89356da7717293eb0bc5d87b8ac9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> osTimerStop </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a>&#160;</td>
+ <td class="paramname"><em>timer_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">timer_id</td><td>timer ID obtained by <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>status code that indicates the execution status of the function.</dd></dl>
+<p>The function <b>osTimerStop</b> stops a timer specified by the parameter <em>timer_id</em>.</p>
+<p>Possible <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> return values:</p>
+<ul>
+<li><em>osOK:</em> the specified timer has been stopped.</li>
+<li><em>osErrorISR:</em> <b>osTimerStop</b> cannot be called from interrupt service routines.</li>
+<li><em>osErrorParameter:</em> parameter <em>timer_id</em> is either <span class="XML-Token">NULL</span> or invalid.</li>
+<li><em>osErrorResource:</em> the timer specified by parameter <em>timer_id</em> is not running (you can only stop a running timer).</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
+<p><b>Code Example</b> </p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> Timer_Callback (<span class="keywordtype">void</span> *arg); <span class="comment">// prototype for timer callback function</span></div>
+<div class="line"> </div>
+<div class="line">uint32_t exec; <span class="comment">// argument for the timer call back function</span></div>
+<div class="line"></div>
+<div class="line"><span class="keywordtype">void</span> TimerStop_example (<span class="keywordtype">void</span>) {</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> id; <span class="comment">// timer id</span></div>
+<div class="line"> osStatus_t status; <span class="comment">// function return status</span></div>
+<div class="line"> </div>
+<div class="line"> <span class="comment">// Create periodic timer</span></div>
+<div class="line"> exec = 1;</div>
+<div class="line"> <span class="keywordtype">id</span> = <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a> (Timer_Callback, <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915ab3463d921dc310938094745c230f2b35">osTimerPeriodic</a>, &amp;exec, NULL);</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d">osTimerStart</a> (<span class="keywordtype">id</span>, 1000); <span class="comment">// start timer</span></div>
+<div class="line"> :</div>
+<div class="line"> status = <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gabd7a89356da7717293eb0bc5d87b8ac9">osTimerStop</a> (<span class="keywordtype">id</span>); <span class="comment">// stop timer</span></div>
+<div class="line"> <span class="keywordflow">if</span> (status != <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f">osOK</a>) {</div>
+<div class="line"> <span class="comment">// Timer could not be stopped</span></div>
+<div class="line"> } </div>
+<div class="line"> ;</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d">osTimerStart</a> (<span class="keywordtype">id</span>, 1000); <span class="comment">// start timer again</span></div>
+<div class="line"> ;</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ga69d3589f54194022c30dd01e45ec6741"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint32_t osTimerIsRunning </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a>&#160;</td>
+ <td class="paramname"><em>timer_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">timer_id</td><td>timer ID obtained by <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>0 not running, 1 running.</dd></dl>
+<p>The function <b>osTimerIsRunning</b> checks whether a timer specified by parameter <em>timer_id</em> is running. It returns <span class="XML-Token">1</span> if the timer is running and <span class="XML-Token">0</span> if the timer is stopped or an error occurred.</p>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gad0001dd74721ab461789324806db2453"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> osTimerDelete </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a>&#160;</td>
+ <td class="paramname"><em>timer_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">timer_id</td><td>timer ID obtained by <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>status code that indicates the execution status of the function.</dd></dl>
+<p>The function <b>osTimerDelete</b> deletes the timer specified by parameter <em>timer_id</em>.</p>
+<p>Possible <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> return values:</p>
+<ul>
+<li><em>osOK:</em> the specified timer has been deleted.</li>
+<li><em>osErrorISR:</em> <b>osTimerDelete</b> cannot be called from interrupt service routines.</li>
+<li><em>osErrorParameter:</em> parameter <em>timer_id</em> is either <span class="XML-Token">NULL</span> or invalid.</li>
+<li><em>osErrorResource:</em> the timer specified by parameter <em>timer_id</em> is in an invalid timer state.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
+<p><b>Code Example</b> </p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
+<div class="line"></div>
+<div class="line"><span class="keywordtype">void</span> Timer_Callback (<span class="keywordtype">void</span> *arg); <span class="comment">// prototype for timer callback function</span></div>
+<div class="line"> </div>
+<div class="line">uint32_t exec; <span class="comment">// argument for the timer call back function</span></div>
+<div class="line"></div>
+<div class="line"><span class="keywordtype">void</span> TimerDelete_example (<span class="keywordtype">void</span>) {</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> id; <span class="comment">// timer id</span></div>
+<div class="line"> osStatus_t status; <span class="comment">// function return status </span></div>
+<div class="line"> </div>
+<div class="line"> <span class="comment">// Create periodic timer</span></div>
+<div class="line"> exec = 1;</div>
+<div class="line"> <span class="keywordtype">id</span> = <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a> (Timer_Callback, <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915ab3463d921dc310938094745c230f2b35">osTimerPeriodic</a>, &amp;exec, NULL);</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d">osTimerStart</a> (<span class="keywordtype">id</span>, 1000UL); <span class="comment">// start timer</span></div>
+<div class="line"> ;</div>
+<div class="line"> status = <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gad0001dd74721ab461789324806db2453">osTimerDelete</a> (<span class="keywordtype">id</span>); <span class="comment">// stop and delete timer</span></div>
+<div class="line"> <span class="keywordflow">if</span> (status != <a class="code" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f">osOK</a>) {</div>
+<div class="line"> <span class="comment">// Timer could not be deleted</span></div>
+<div class="line"> } </div>
+<div class="line"> ;</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/group__CMSIS__RTOS__TimerMgmt.js b/docs/RTOS2/html/group__CMSIS__RTOS__TimerMgmt.js
new file mode 100644
index 0000000..4b95efa
--- /dev/null
+++ b/docs/RTOS2/html/group__CMSIS__RTOS__TimerMgmt.js
@@ -0,0 +1,23 @@
+var group__CMSIS__RTOS__TimerMgmt =
+[
+ [ "osTimerAttr_t", "group__CMSIS__RTOS__TimerMgmt.html#structosTimerAttr__t", [
+ [ "name", "group__CMSIS__RTOS__TimerMgmt.html#ab74e6bf80237ddc4109968cedc58c151", null ],
+ [ "attr_bits", "group__CMSIS__RTOS__TimerMgmt.html#a6e93b49cb79c12f768d72580c7731f30", null ],
+ [ "cb_mem", "group__CMSIS__RTOS__TimerMgmt.html#a1e100dc33d403841ed3c344e3397868e", null ],
+ [ "cb_size", "group__CMSIS__RTOS__TimerMgmt.html#aa55a4335d12dc2785dc00fdc292d1159", null ]
+ ] ],
+ [ "osTimerId_t", "group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34", null ],
+ [ "osTimerFunc_t", "group__CMSIS__RTOS__TimerMgmt.html#gaacf768c1ec64b020598afb985d7b30be", null ],
+ [ "osTimerType_t", "group__CMSIS__RTOS__TimerMgmt.html#ga7dc24a4c2b90334427081c3da7a71915", [
+ [ "osTimerOnce", "group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915a2e0e1f31c742c84b497c4d7143357bdb", null ],
+ [ "osTimerPeriodic", "group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915ab3463d921dc310938094745c230f2b35", null ]
+ ] ],
+ [ "osTimerOnce", "group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915a2e0e1f31c742c84b497c4d7143357bdb", null ],
+ [ "osTimerPeriodic", "group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915ab3463d921dc310938094745c230f2b35", null ],
+ [ "osTimerNew", "group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec", null ],
+ [ "osTimerGetName", "group__CMSIS__RTOS__TimerMgmt.html#ga4f82a98eee4d9ea79507e44340d3d319", null ],
+ [ "osTimerStart", "group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d", null ],
+ [ "osTimerStop", "group__CMSIS__RTOS__TimerMgmt.html#gabd7a89356da7717293eb0bc5d87b8ac9", null ],
+ [ "osTimerIsRunning", "group__CMSIS__RTOS__TimerMgmt.html#ga69d3589f54194022c30dd01e45ec6741", null ],
+ [ "osTimerDelete", "group__CMSIS__RTOS__TimerMgmt.html#gad0001dd74721ab461789324806db2453", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__CMSIS__RTOS__TimerMgmt_structosTimerAttr__t.js b/docs/RTOS2/html/group__CMSIS__RTOS__TimerMgmt_structosTimerAttr__t.js
new file mode 100644
index 0000000..2599671
--- /dev/null
+++ b/docs/RTOS2/html/group__CMSIS__RTOS__TimerMgmt_structosTimerAttr__t.js
@@ -0,0 +1,7 @@
+var group__CMSIS__RTOS__TimerMgmt_structosTimerAttr__t =
+[
+ [ "name", "group__CMSIS__RTOS__TimerMgmt.html#ab74e6bf80237ddc4109968cedc58c151", null ],
+ [ "attr_bits", "group__CMSIS__RTOS__TimerMgmt.html#a6e93b49cb79c12f768d72580c7731f30", null ],
+ [ "cb_mem", "group__CMSIS__RTOS__TimerMgmt.html#a1e100dc33d403841ed3c344e3397868e", null ],
+ [ "cb_size", "group__CMSIS__RTOS__TimerMgmt.html#aa55a4335d12dc2785dc00fdc292d1159", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__CMSIS__RTOS__Wait.html b/docs/RTOS2/html/group__CMSIS__RTOS__Wait.html
new file mode 100644
index 0000000..e9cd3e5
--- /dev/null
+++ b/docs/RTOS2/html/group__CMSIS__RTOS__Wait.html
@@ -0,0 +1,234 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Generic Wait Functions</title>
+<title>CMSIS-RTOS2: Generic Wait Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__CMSIS__RTOS__Wait.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">Generic Wait Functions<div class="ingroups"><a class="el" href="group__CMSIS__RTOS.html">CMSIS-RTOS API v2</a></div></div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Wait for a certain period of time.
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:gaf6055a51390ef65b6b6edc28bf47322e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a> (uint32_t ticks)</td></tr>
+<tr class="memdesc:gaf6055a51390ef65b6b6edc28bf47322e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for Timeout (Time Delay). <a href="#gaf6055a51390ef65b6b6edc28bf47322e">More...</a><br/></td></tr>
+<tr class="separator:gaf6055a51390ef65b6b6edc28bf47322e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3c807924c2d6d43bc2ffb49da3f7f3a1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__Wait.html#ga3c807924c2d6d43bc2ffb49da3f7f3a1">osDelayUntil</a> (uint32_t ticks)</td></tr>
+<tr class="memdesc:ga3c807924c2d6d43bc2ffb49da3f7f3a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait until specified time. <a href="#ga3c807924c2d6d43bc2ffb49da3f7f3a1">More...</a><br/></td></tr>
+<tr class="separator:ga3c807924c2d6d43bc2ffb49da3f7f3a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
+<p>The generic wait functions provide means for a time delay.</p>
+<dl class="section note"><dt>Note</dt><dd>Generic wait functions cannot be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>. </dd></dl>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="gaf6055a51390ef65b6b6edc28bf47322e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> osDelay </td>
+ <td>(</td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>ticks</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">ticks</td><td><a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">time ticks</a> value </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>status code that indicates the execution status of the function.</dd></dl>
+<p>The function <b>osDelay</b> waits for a time period specified in kernel <em>ticks</em>. For a value of <span class="XML-Token">1</span> the system waits until the next timer tick occurs. The actual time delay may be up to one timer tick less than specified, i.e. calling <code>osDelay(1)</code> right before the next system tick occurs the thread is rescheduled immediately.</p>
+<p>The delayed thread is put into the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">BLOCKED</a> state and a context switch occurs immediately. The thread is automatically put back to the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">READY</a> state after the given amount of ticks has elapsed. If the thread will have the highest priority in <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">READY</a> state it will being scheduled immediately.</p>
+<p>Possible <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> return values:</p>
+<ul>
+<li><em>osOK:</em> the time delay is executed.</li>
+<li><em>osErrorISR:</em> <a class="el" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a> cannot be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
+<p><b>Code Example</b> </p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> Thread_1 (<span class="keywordtype">void</span> *arg) { <span class="comment">// Thread function</span></div>
+<div class="line"> osStatus_t status; <span class="comment">// capture the return status</span></div>
+<div class="line"> uint32_t delayTime; <span class="comment">// delay time in milliseconds</span></div>
+<div class="line"> </div>
+<div class="line"> delayTime = 1000; <span class="comment">// delay 1 second</span></div>
+<div class="line"> status = <a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a> (delayTime); <span class="comment">// suspend thread execution</span></div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ga3c807924c2d6d43bc2ffb49da3f7f3a1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> osDelayUntil </td>
+ <td>(</td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>ticks</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">ticks</td><td>absolute time in ticks </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>status code that indicates the execution status of the function.</dd></dl>
+<p>The function <b>osDelayUntil</b> waits until an absolute time (specified in kernel <em>ticks</em>) is reached.</p>
+<p>The corner case when the kernel tick counter overflows is handled by <b>osDelayUntil</b>. Thus it is absolutely legal to provide a value which is lower than the current tick value, i.e. returned by <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga84bcdbf2fb76b10c8df4e439f0c7e11b">osKernelGetTickCount</a>. Typically as a user you do not have to take care about the overflow. The only limitation you have to have in mind is that the maximum delay is limited to (2<sup>31</sup>)-1 ticks.</p>
+<p>The delayed thread is put into the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">BLOCKED</a> state and a context switch occurs immediately. The thread is automatically put back to the <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">READY</a> state when the given time is reached. If the thread will have the highest priority in <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ThreadStates">READY</a> state it will being scheduled immediately.</p>
+<p>Possible <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> return values:</p>
+<ul>
+<li><em>osOK:</em> the time delay is executed.</li>
+<li><em>osParameter:</em> the time cannot be handled (out of bounds).</li>
+<li><em>osErrorISR:</em> <a class="el" href="group__CMSIS__RTOS__Wait.html#ga3c807924c2d6d43bc2ffb49da3f7f3a1">osDelayUntil</a> cannot be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>This function <b>cannot</b> be called from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a>.</dd></dl>
+<p><b>Code Example</b> </p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> Thread_1 (<span class="keywordtype">void</span> *arg) { <span class="comment">// Thread function</span></div>
+<div class="line"> uint32_t tick;</div>
+<div class="line"></div>
+<div class="line"> tick = <a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#ga84bcdbf2fb76b10c8df4e439f0c7e11b">osKernelGetTickCount</a>(); <span class="comment">// retrieve the number of system ticks</span></div>
+<div class="line"> <span class="keywordflow">for</span> (;;) {</div>
+<div class="line"> tick += 1000; <span class="comment">// delay 1000 ticks periodically</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__Wait.html#ga3c807924c2d6d43bc2ffb49da3f7f3a1">osDelayUntil</a>(tick);</div>
+<div class="line"> <span class="comment">// ...</span></div>
+<div class="line"> }</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/group__CMSIS__RTOS__Wait.js b/docs/RTOS2/html/group__CMSIS__RTOS__Wait.js
new file mode 100644
index 0000000..49957d7
--- /dev/null
+++ b/docs/RTOS2/html/group__CMSIS__RTOS__Wait.js
@@ -0,0 +1,5 @@
+var group__CMSIS__RTOS__Wait =
+[
+ [ "osDelay", "group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e", null ],
+ [ "osDelayUntil", "group__CMSIS__RTOS__Wait.html#ga3c807924c2d6d43bc2ffb49da3f7f3a1", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__flags__error__codes.html b/docs/RTOS2/html/group__flags__error__codes.html
new file mode 100644
index 0000000..70b626b
--- /dev/null
+++ b/docs/RTOS2/html/group__flags__error__codes.html
@@ -0,0 +1,265 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Flags Functions Error Codes</title>
+<title>CMSIS-RTOS2: Flags Functions Error Codes</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__flags__error__codes.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#define-members">Macros</a> </div>
+ <div class="headertitle">
+<div class="title">Flags Functions Error Codes<div class="ingroups"><a class="el" href="group__CMSIS__RTOS__Definitions.html">Definitions</a></div></div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Constants used by <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html">Thread Flags</a> and <a class="el" href="group__CMSIS__RTOS__EventFlags.html">Event Flags</a> to return error codes.
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
+Macros</h2></td></tr>
+<tr class="memitem:ga3b1d9fbb83d64eedb62f831c9be647c3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flags__error__codes.html#ga3b1d9fbb83d64eedb62f831c9be647c3">osFlagsErrorUnknown</a>&#160;&#160;&#160;0xFFFFFFFFU</td></tr>
+<tr class="memdesc:ga3b1d9fbb83d64eedb62f831c9be647c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">osError (-1). <a href="#ga3b1d9fbb83d64eedb62f831c9be647c3">More...</a><br/></td></tr>
+<tr class="separator:ga3b1d9fbb83d64eedb62f831c9be647c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2e951c3f1c3b7bff4eca3d7836cd19ca"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flags__error__codes.html#ga2e951c3f1c3b7bff4eca3d7836cd19ca">osFlagsErrorTimeout</a>&#160;&#160;&#160;0xFFFFFFFEU</td></tr>
+<tr class="memdesc:ga2e951c3f1c3b7bff4eca3d7836cd19ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">osErrorTimeout (-2). <a href="#ga2e951c3f1c3b7bff4eca3d7836cd19ca">More...</a><br/></td></tr>
+<tr class="separator:ga2e951c3f1c3b7bff4eca3d7836cd19ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4db38b50da1889bcaaa7f747e844f904"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flags__error__codes.html#ga4db38b50da1889bcaaa7f747e844f904">osFlagsErrorResource</a>&#160;&#160;&#160;0xFFFFFFFDU</td></tr>
+<tr class="memdesc:ga4db38b50da1889bcaaa7f747e844f904"><td class="mdescLeft">&#160;</td><td class="mdescRight">osErrorResource (-3). <a href="#ga4db38b50da1889bcaaa7f747e844f904">More...</a><br/></td></tr>
+<tr class="separator:ga4db38b50da1889bcaaa7f747e844f904"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa8a95ef938f8f5a9fcb815ec53184f77"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flags__error__codes.html#gaa8a95ef938f8f5a9fcb815ec53184f77">osFlagsErrorParameter</a>&#160;&#160;&#160;0xFFFFFFFCU</td></tr>
+<tr class="memdesc:gaa8a95ef938f8f5a9fcb815ec53184f77"><td class="mdescLeft">&#160;</td><td class="mdescRight">osErrorParameter (-4). <a href="#gaa8a95ef938f8f5a9fcb815ec53184f77">More...</a><br/></td></tr>
+<tr class="separator:gaa8a95ef938f8f5a9fcb815ec53184f77"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaea3abd186643f539877e894b62b63448"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flags__error__codes.html#gaea3abd186643f539877e894b62b63448">osFlagsErrorISR</a>&#160;&#160;&#160;0xFFFFFFFAU</td></tr>
+<tr class="memdesc:gaea3abd186643f539877e894b62b63448"><td class="mdescLeft">&#160;</td><td class="mdescRight">osErrorISR (-6). <a href="#gaea3abd186643f539877e894b62b63448">More...</a><br/></td></tr>
+<tr class="separator:gaea3abd186643f539877e894b62b63448"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
+<p>In case of an error, flags functions (<a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html">Thread Flags</a> and <a class="el" href="group__CMSIS__RTOS__EventFlags.html">Event Flags</a>) return error codes. To indicate that an error has occurred, the highest bit of the return value is be set. You can check the exact error using the codes shown below. </p>
+<h2 class="groupheader">Macro Definition Documentation</h2>
+<a class="anchor" id="ga3b1d9fbb83d64eedb62f831c9be647c3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osFlagsErrorUnknown&#160;&#160;&#160;0xFFFFFFFFU</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Generic error. It is returned when no other error can be applied.</p>
+<p>Reference:</p>
+<ul>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga6f89ef9caded1d9963c7b12b0f6412c9">osThreadFlagsSet</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga656abc1c862c5b9a2b13584c42cc0bfa">osThreadFlagsClear</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b">osThreadFlagsWait</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga33b71d14cecf90b4e72639dd19f23a5e">osEventFlagsSet</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga93bf258ca0007c6641fbe8e4f2b8a1e5">osEventFlagsClear</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">osEventFlagsWait</a> </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga2e951c3f1c3b7bff4eca3d7836cd19ca"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osFlagsErrorTimeout&#160;&#160;&#160;0xFFFFFFFEU</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>This error is returned if a timeout was specified and the specified flags were not set, when the timeout occurred.</p>
+<p>Reference:</p>
+<ul>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga6f89ef9caded1d9963c7b12b0f6412c9">osThreadFlagsSet</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga656abc1c862c5b9a2b13584c42cc0bfa">osThreadFlagsClear</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b">osThreadFlagsWait</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga33b71d14cecf90b4e72639dd19f23a5e">osEventFlagsSet</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga93bf258ca0007c6641fbe8e4f2b8a1e5">osEventFlagsClear</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">osEventFlagsWait</a> </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga4db38b50da1889bcaaa7f747e844f904"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osFlagsErrorResource&#160;&#160;&#160;0xFFFFFFFDU</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>This error is returned when you try to get a flag that was not set <em>and</em> timeout 0 was specified. Is also returned when the specified object identifier is corrupt or invalid.</p>
+<p>Reference:</p>
+<ul>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga6f89ef9caded1d9963c7b12b0f6412c9">osThreadFlagsSet</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga656abc1c862c5b9a2b13584c42cc0bfa">osThreadFlagsClear</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b">osThreadFlagsWait</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga33b71d14cecf90b4e72639dd19f23a5e">osEventFlagsSet</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga93bf258ca0007c6641fbe8e4f2b8a1e5">osEventFlagsClear</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">osEventFlagsWait</a> </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gaa8a95ef938f8f5a9fcb815ec53184f77"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osFlagsErrorParameter&#160;&#160;&#160;0xFFFFFFFCU</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>This error is returned when a given parameter is wrong.</p>
+<p>Reference:</p>
+<ul>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga6f89ef9caded1d9963c7b12b0f6412c9">osThreadFlagsSet</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga656abc1c862c5b9a2b13584c42cc0bfa">osThreadFlagsClear</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b">osThreadFlagsWait</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga33b71d14cecf90b4e72639dd19f23a5e">osEventFlagsSet</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga93bf258ca0007c6641fbe8e4f2b8a1e5">osEventFlagsClear</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">osEventFlagsWait</a> </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gaea3abd186643f539877e894b62b63448"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osFlagsErrorISR&#160;&#160;&#160;0xFFFFFFFAU</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>This error is returned when a non-ISR-callable function was called from an ISR.</p>
+<p>Reference:</p>
+<ul>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga6f89ef9caded1d9963c7b12b0f6412c9">osThreadFlagsSet</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga656abc1c862c5b9a2b13584c42cc0bfa">osThreadFlagsClear</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b">osThreadFlagsWait</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga33b71d14cecf90b4e72639dd19f23a5e">osEventFlagsSet</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga93bf258ca0007c6641fbe8e4f2b8a1e5">osEventFlagsClear</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">osEventFlagsWait</a> </li>
+</ul>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/group__flags__error__codes.js b/docs/RTOS2/html/group__flags__error__codes.js
new file mode 100644
index 0000000..f761035
--- /dev/null
+++ b/docs/RTOS2/html/group__flags__error__codes.js
@@ -0,0 +1,8 @@
+var group__flags__error__codes =
+[
+ [ "osFlagsErrorUnknown", "group__flags__error__codes.html#ga3b1d9fbb83d64eedb62f831c9be647c3", null ],
+ [ "osFlagsErrorTimeout", "group__flags__error__codes.html#ga2e951c3f1c3b7bff4eca3d7836cd19ca", null ],
+ [ "osFlagsErrorResource", "group__flags__error__codes.html#ga4db38b50da1889bcaaa7f747e844f904", null ],
+ [ "osFlagsErrorParameter", "group__flags__error__codes.html#gaa8a95ef938f8f5a9fcb815ec53184f77", null ],
+ [ "osFlagsErrorISR", "group__flags__error__codes.html#gaea3abd186643f539877e894b62b63448", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__rtx5__specific.html b/docs/RTOS2/html/group__rtx5__specific.html
new file mode 100644
index 0000000..6fdcbd7
--- /dev/null
+++ b/docs/RTOS2/html/group__rtx5__specific.html
@@ -0,0 +1,153 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>RTX v5 Specific API</title>
+<title>CMSIS-RTOS2: RTX v5 Specific API</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__rtx5__specific.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#groups">Content</a> </div>
+ <div class="headertitle">
+<div class="title">RTX v5 Specific API</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>RTX v5 implementation specific definitions and functions defined in <b>rtx_os.h</b>.
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
+Content</h2></td></tr>
+<tr class="memitem:group__rtx5__specific__defines"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__defines.html">Macros</a></td></tr>
+<tr class="memdesc:group__rtx5__specific__defines"><td class="mdescLeft">&#160;</td><td class="mdescRight">RTX5 macros. <br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__rtx5__specific__functions"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__functions.html">Functions</a></td></tr>
+<tr class="memdesc:group__rtx5__specific__functions"><td class="mdescLeft">&#160;</td><td class="mdescRight">RTX5 functions. <br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__rtx__evr"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr.html">Event functions</a></td></tr>
+<tr class="memdesc:group__rtx__evr"><td class="mdescLeft">&#160;</td><td class="mdescRight">RTX5 Event Recorder functions. <br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
+<p>The RTX5 kernel can be customized for different application requirements:</p>
+<ul>
+<li>The function <a class="el" href="group__rtx5__specific__functions.html#ga074068b8efa7074cee68a71481d0b072">osRtxIdleThread</a> implements the idle thread and allows set the system into sleep modes for <a class="el" href="theory_of_operation.html#lowPower">Low-Power Operation</a> or <a class="el" href="theory_of_operation.html#TickLess">Tick-less Low-Power Operation</a> for ultra-low power operation.</li>
+<li>The function <a class="el" href="group__rtx5__specific__functions.html#gaf1745a88f9cc60b609ab1c8076bd346d">osRtxErrorNotify</a> may be extended to handle system runtime errors.</li>
+</ul>
+<p>RTX5 interfaces to the <a href="http://www.keil.com/pack/doc/compiler/EventRecorder/html/index.html" target="_blank"><b>Event Recorder</b></a> and provides event information that helps to analyze the operation. Refer to <a class="el" href="group__rtx__evr.html">Event functions</a> for more information. </p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/group__rtx5__specific.js b/docs/RTOS2/html/group__rtx5__specific.js
new file mode 100644
index 0000000..0d3964d
--- /dev/null
+++ b/docs/RTOS2/html/group__rtx5__specific.js
@@ -0,0 +1,6 @@
+var group__rtx5__specific =
+[
+ [ "Macros", "group__rtx5__specific__defines.html", "group__rtx5__specific__defines" ],
+ [ "Functions", "group__rtx5__specific__functions.html", "group__rtx5__specific__functions" ],
+ [ "Event functions", "group__rtx__evr.html", "group__rtx__evr" ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__rtx5__specific__defines.html b/docs/RTOS2/html/group__rtx5__specific__defines.html
new file mode 100644
index 0000000..e26c84b
--- /dev/null
+++ b/docs/RTOS2/html/group__rtx5__specific__defines.html
@@ -0,0 +1,457 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Macros</title>
+<title>CMSIS-RTOS2: Macros</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__rtx5__specific__defines.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#define-members">Macros</a> </div>
+ <div class="headertitle">
+<div class="title">Macros<div class="ingroups"><a class="el" href="group__rtx5__specific.html">RTX v5 Specific API</a></div></div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>RTX5 macros.
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
+Macros</h2></td></tr>
+<tr class="memitem:ga30d19272204231956582ebfff69567f6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__defines.html#ga30d19272204231956582ebfff69567f6">osRtxThreadCbSize</a>&#160;&#160;&#160;sizeof(<a class="el" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a>)</td></tr>
+<tr class="memdesc:ga30d19272204231956582ebfff69567f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Thread Control Block size. <a href="#ga30d19272204231956582ebfff69567f6">More...</a><br/></td></tr>
+<tr class="separator:ga30d19272204231956582ebfff69567f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf8a145fdeb24fd912971f0671b1a3603"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__defines.html#gaf8a145fdeb24fd912971f0671b1a3603">osRtxTimerCbSize</a>&#160;&#160;&#160;sizeof(<a class="el" href="rtx__os_8h.html#structosRtxTimer__t">osRtxTimer_t</a>)</td></tr>
+<tr class="memdesc:gaf8a145fdeb24fd912971f0671b1a3603"><td class="mdescLeft">&#160;</td><td class="mdescRight">Timer Control Block size. <a href="#gaf8a145fdeb24fd912971f0671b1a3603">More...</a><br/></td></tr>
+<tr class="separator:gaf8a145fdeb24fd912971f0671b1a3603"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga68100c8c44931f03547973294c433075"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__defines.html#ga68100c8c44931f03547973294c433075">osRtxEventFlagsCbSize</a>&#160;&#160;&#160;sizeof(<a class="el" href="rtx__os_8h.html#structosRtxEventFlags__t">osRtxEventFlags_t</a>)</td></tr>
+<tr class="memdesc:ga68100c8c44931f03547973294c433075"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event Flags Control Block size. <a href="#ga68100c8c44931f03547973294c433075">More...</a><br/></td></tr>
+<tr class="separator:ga68100c8c44931f03547973294c433075"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga188bfaaf7477cf24cbc9f207feaeb53a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__defines.html#ga188bfaaf7477cf24cbc9f207feaeb53a">osRtxMutexCbSize</a>&#160;&#160;&#160;sizeof(<a class="el" href="rtx__os_8h.html#structosRtxMutex__t">osRtxMutex_t</a>)</td></tr>
+<tr class="memdesc:ga188bfaaf7477cf24cbc9f207feaeb53a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mutex Control Block size. <a href="#ga188bfaaf7477cf24cbc9f207feaeb53a">More...</a><br/></td></tr>
+<tr class="separator:ga188bfaaf7477cf24cbc9f207feaeb53a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0949b67063d0bd427fbee9c816b5d45a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__defines.html#ga0949b67063d0bd427fbee9c816b5d45a">osRtxSemaphoreCbSize</a>&#160;&#160;&#160;sizeof(<a class="el" href="rtx__os_8h.html#structosRtxSemaphore__t">osRtxSemaphore_t</a>)</td></tr>
+<tr class="memdesc:ga0949b67063d0bd427fbee9c816b5d45a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Semaphore Control Block size. <a href="#ga0949b67063d0bd427fbee9c816b5d45a">More...</a><br/></td></tr>
+<tr class="separator:ga0949b67063d0bd427fbee9c816b5d45a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab8e49e9e1eea5a015f2a3114cabceb48"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__defines.html#gab8e49e9e1eea5a015f2a3114cabceb48">osRtxMemoryPoolCbSize</a>&#160;&#160;&#160;sizeof(<a class="el" href="rtx__os_8h.html#structosRtxMemoryPool__t">osRtxMemoryPool_t</a>)</td></tr>
+<tr class="memdesc:gab8e49e9e1eea5a015f2a3114cabceb48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory Pool Control Block size. <a href="#gab8e49e9e1eea5a015f2a3114cabceb48">More...</a><br/></td></tr>
+<tr class="separator:gab8e49e9e1eea5a015f2a3114cabceb48"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa8d067c476faa6bfc8e5e21f3b3c844e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__defines.html#gaa8d067c476faa6bfc8e5e21f3b3c844e">osRtxMessageQueueCbSize</a>&#160;&#160;&#160;sizeof(<a class="el" href="rtx__os_8h.html#structosRtxMessageQueue__t">osRtxMessageQueue_t</a>)</td></tr>
+<tr class="memdesc:gaa8d067c476faa6bfc8e5e21f3b3c844e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Message Queue Control Block size. <a href="#gaa8d067c476faa6bfc8e5e21f3b3c844e">More...</a><br/></td></tr>
+<tr class="separator:gaa8d067c476faa6bfc8e5e21f3b3c844e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac6bea3541b458bbc79eafce42a2d87a2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__defines.html#gac6bea3541b458bbc79eafce42a2d87a2">osRtxMemoryPoolMemSize</a>(block_count, block_size)&#160;&#160;&#160;(4*(block_count)*(((block_size)+3)/4))</td></tr>
+<tr class="memdesc:gac6bea3541b458bbc79eafce42a2d87a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory Pool Memory size. <a href="#gac6bea3541b458bbc79eafce42a2d87a2">More...</a><br/></td></tr>
+<tr class="separator:gac6bea3541b458bbc79eafce42a2d87a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga47eb1e21f1bf9a42281c6c89c7473e99"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__defines.html#ga47eb1e21f1bf9a42281c6c89c7473e99">osRtxMessageQueueMemSize</a>(msg_count, msg_size)&#160;&#160;&#160;(4*(msg_count)*(3+(((msg_size)+3)/4)))</td></tr>
+<tr class="memdesc:ga47eb1e21f1bf9a42281c6c89c7473e99"><td class="mdescLeft">&#160;</td><td class="mdescRight">Message Queue Memory size. <a href="#ga47eb1e21f1bf9a42281c6c89c7473e99">More...</a><br/></td></tr>
+<tr class="separator:ga47eb1e21f1bf9a42281c6c89c7473e99"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga42206aa2524b8fab613d26bea0f73c44"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__defines.html#ga42206aa2524b8fab613d26bea0f73c44">osRtxErrorStackUnderflow</a>&#160;&#160;&#160;1U</td></tr>
+<tr class="memdesc:ga42206aa2524b8fab613d26bea0f73c44"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stack overflow, i.e. stack pointer below its lower memory limit for descending stacks. <a href="#ga42206aa2524b8fab613d26bea0f73c44">More...</a><br/></td></tr>
+<tr class="separator:ga42206aa2524b8fab613d26bea0f73c44"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7377235f9fa3cedee06f682cd93f3e88"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__defines.html#ga7377235f9fa3cedee06f682cd93f3e88">osRtxErrorISRQueueOverflow</a>&#160;&#160;&#160;2U</td></tr>
+<tr class="memdesc:ga7377235f9fa3cedee06f682cd93f3e88"><td class="mdescLeft">&#160;</td><td class="mdescRight">ISR Queue overflow detected when inserting object. <a href="#ga7377235f9fa3cedee06f682cd93f3e88">More...</a><br/></td></tr>
+<tr class="separator:ga7377235f9fa3cedee06f682cd93f3e88"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaad420018f26e751ec55d3922a283beb0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__defines.html#gaad420018f26e751ec55d3922a283beb0">osRtxErrorTimerQueueOverflow</a>&#160;&#160;&#160;3U</td></tr>
+<tr class="memdesc:gaad420018f26e751ec55d3922a283beb0"><td class="mdescLeft">&#160;</td><td class="mdescRight">User Timer Callback Queue overflow detected for timer. <a href="#gaad420018f26e751ec55d3922a283beb0">More...</a><br/></td></tr>
+<tr class="separator:gaad420018f26e751ec55d3922a283beb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga14a24724f6e87744ba84674ef76e4256"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__defines.html#ga14a24724f6e87744ba84674ef76e4256">osRtxErrorClibSpace</a>&#160;&#160;&#160;4U</td></tr>
+<tr class="memdesc:ga14a24724f6e87744ba84674ef76e4256"><td class="mdescLeft">&#160;</td><td class="mdescRight">Standard C/C++ library libspace not available. <a href="#ga14a24724f6e87744ba84674ef76e4256">More...</a><br/></td></tr>
+<tr class="separator:ga14a24724f6e87744ba84674ef76e4256"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac749c24b9cf6c49b392b015ed0517cfc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__defines.html#gac749c24b9cf6c49b392b015ed0517cfc">osRtxErrorClibMutex</a>&#160;&#160;&#160;5U</td></tr>
+<tr class="memdesc:gac749c24b9cf6c49b392b015ed0517cfc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Standard C/C++ library mutex initialization failed. <a href="#gac749c24b9cf6c49b392b015ed0517cfc">More...</a><br/></td></tr>
+<tr class="separator:gac749c24b9cf6c49b392b015ed0517cfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
+<h2 class="groupheader">Macro Definition Documentation</h2>
+<a class="anchor" id="ga30d19272204231956582ebfff69567f6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxThreadCbSize&#160;&#160;&#160;sizeof(<a class="el" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a>)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>This macro exposes the minimum amount of memory needed for an RTX5 Thread Control Block, see <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#a1e100dc33d403841ed3c344e3397868e" title="memory for control block ">osThreadAttr_t::cb_mem</a> and <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#aa55a4335d12dc2785dc00fdc292d1159">osThreadAttr_t::cb_size</a>.</p>
+<p>Example: </p>
+<div class="fragment"><div class="line"><span class="comment">// Used-defined memory for thread control block</span></div>
+<div class="line"><span class="keyword">static</span> uint32_t thread_cb[<a class="code" href="group__rtx5__specific__defines.html#ga30d19272204231956582ebfff69567f6">osRtxThreadCbSize</a>/4U];</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="gaf8a145fdeb24fd912971f0671b1a3603"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxTimerCbSize&#160;&#160;&#160;sizeof(<a class="el" href="rtx__os_8h.html#structosRtxTimer__t">osRtxTimer_t</a>)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>This macro exposes the minimum amount of memory needed for an RTX5 Timer Control Block, see <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#a1e100dc33d403841ed3c344e3397868e" title="memory for control block ">osTimerAttr_t::cb_mem</a> and <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#aa55a4335d12dc2785dc00fdc292d1159">osTimerAttr_t::cb_size</a>.</p>
+<p>Example: </p>
+<div class="fragment"><div class="line"><span class="comment">// Used-defined memory for timer control block</span></div>
+<div class="line"><span class="keyword">static</span> uint32_t timer_cb[<a class="code" href="group__rtx5__specific__defines.html#gaf8a145fdeb24fd912971f0671b1a3603">osRtxTimerCbSize</a>/4U];</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ga68100c8c44931f03547973294c433075"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxEventFlagsCbSize&#160;&#160;&#160;sizeof(<a class="el" href="rtx__os_8h.html#structosRtxEventFlags__t">osRtxEventFlags_t</a>)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>This macro exposes the minimum amount of memory needed for an RTX5 Event Flags Control Block, see <a class="el" href="group__CMSIS__RTOS__EventFlags.html#a1e100dc33d403841ed3c344e3397868e" title="memory for control block ">osEventFlagsAttr_t::cb_mem</a> and <a class="el" href="group__CMSIS__RTOS__EventFlags.html#aa55a4335d12dc2785dc00fdc292d1159">osEventFlagsAttr_t::cb_size</a>.</p>
+<p>Example: </p>
+<div class="fragment"><div class="line"><span class="comment">// Used-defined memory for event flags control block</span></div>
+<div class="line"><span class="keyword">static</span> uint32_t evflags_cb[<a class="code" href="group__rtx5__specific__defines.html#ga68100c8c44931f03547973294c433075">osRtxEventFlagsCbSize</a>/4U];</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ga188bfaaf7477cf24cbc9f207feaeb53a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxMutexCbSize&#160;&#160;&#160;sizeof(<a class="el" href="rtx__os_8h.html#structosRtxMutex__t">osRtxMutex_t</a>)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>This macro exposes the minimum amount of memory needed for an RTX5 Mutex Control Block, see <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#a1e100dc33d403841ed3c344e3397868e" title="memory for control block ">osMutexAttr_t::cb_mem</a> and <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#aa55a4335d12dc2785dc00fdc292d1159">osMutexAttr_t::cb_size</a>.</p>
+<p>Example: </p>
+<div class="fragment"><div class="line"><span class="comment">// Used-defined memory for mutex control block</span></div>
+<div class="line"><span class="keyword">static</span> uint32_t mutex_cb[<a class="code" href="group__rtx5__specific__defines.html#ga188bfaaf7477cf24cbc9f207feaeb53a">osRtxMutexCbSize</a>/4U];</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ga0949b67063d0bd427fbee9c816b5d45a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxSemaphoreCbSize&#160;&#160;&#160;sizeof(<a class="el" href="rtx__os_8h.html#structosRtxSemaphore__t">osRtxSemaphore_t</a>)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>This macro exposes the minimum amount of memory needed for an RTX5 Semaphore Control Block, see <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#a1e100dc33d403841ed3c344e3397868e" title="memory for control block ">osSemaphoreAttr_t::cb_mem</a> and <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#aa55a4335d12dc2785dc00fdc292d1159" title="size of provided memory for control block ">osSemaphoreAttr_t::cb_size</a>.</p>
+<p>Example: </p>
+<div class="fragment"><div class="line"><span class="comment">// Used-defined memory for semaphore control block</span></div>
+<div class="line"><span class="keyword">static</span> uint32_t sema_cb[<a class="code" href="group__rtx5__specific__defines.html#ga0949b67063d0bd427fbee9c816b5d45a">osRtxSemaphoreCbSize</a>/4U];</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="gab8e49e9e1eea5a015f2a3114cabceb48"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxMemoryPoolCbSize&#160;&#160;&#160;sizeof(<a class="el" href="rtx__os_8h.html#structosRtxMemoryPool__t">osRtxMemoryPool_t</a>)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>This macro exposes the minimum amount of memory needed for an RTX5 Memory Pool Control Block, see <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#a1e100dc33d403841ed3c344e3397868e" title="memory for control block ">osMemoryPoolAttr_t::cb_mem</a> and <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#aa55a4335d12dc2785dc00fdc292d1159" title="size of provided memory for control block ">osMemoryPoolAttr_t::cb_size</a>.</p>
+<p>Example: </p>
+<div class="fragment"><div class="line"><span class="comment">// Used-defined memory for memory pool control block</span></div>
+<div class="line"><span class="keyword">static</span> uint32_t mempool_cb[<a class="code" href="group__rtx5__specific__defines.html#gab8e49e9e1eea5a015f2a3114cabceb48">osRtxMemoryPoolCbSize</a>/4U];</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="gaa8d067c476faa6bfc8e5e21f3b3c844e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxMessageQueueCbSize&#160;&#160;&#160;sizeof(<a class="el" href="rtx__os_8h.html#structosRtxMessageQueue__t">osRtxMessageQueue_t</a>)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>This macro exposes the minimum amount of memory needed for an RTX5 Message Queue Control Block, see <a class="el" href="group__CMSIS__RTOS__Message.html#a1e100dc33d403841ed3c344e3397868e" title="memory for control block ">osMessageQueueAttr_t::cb_mem</a> and <a class="el" href="group__CMSIS__RTOS__Message.html#aa55a4335d12dc2785dc00fdc292d1159" title="size of provided memory for control block ">osMessageQueueAttr_t::cb_size</a>.</p>
+<p>Example: </p>
+<div class="fragment"><div class="line"><span class="comment">// Used-defined memory for message queue control block</span></div>
+<div class="line"><span class="keyword">static</span> uint32_t msgqueue_cb[<a class="code" href="group__rtx5__specific__defines.html#gaa8d067c476faa6bfc8e5e21f3b3c844e">osRtxMessageQueueCbSize</a>/4U];</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="gac6bea3541b458bbc79eafce42a2d87a2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxMemoryPoolMemSize</td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">block_count, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">block_size&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td>&#160;&#160;&#160;(4*(block_count)*(((block_size)+3)/4))</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Memory size in bytes for Memory Pool storage.</p>
+<p>This macro exposes the minimum amount of memory needed for an RTX5 Memory Pool Memory, see <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#a5799465cca9c71c5587ceb0986f5b06a" title="memory for data storage ">osMemoryPoolAttr_t::mp_mem</a> and <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#a66c26015c0ac8e88a4ad907c120aee4f" title="size of provided memory for data storage ">osMemoryPoolAttr_t::mp_size</a>.</p>
+<p>Example: </p>
+<div class="fragment"><div class="line"><span class="comment">// Maximum number of objects</span></div>
+<div class="line"><span class="preprocessor">#define OBJ_COUNT 8U</span></div>
+<div class="line"><span class="preprocessor"></span> </div>
+<div class="line"><span class="comment">// Object type</span></div>
+<div class="line"><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
+<div class="line"> uint32_t value1;</div>
+<div class="line"> uint8_t value2;</div>
+<div class="line">} object_t;</div>
+<div class="line"> </div>
+<div class="line"><span class="comment">// Used-defined memory for memory pool memory</span></div>
+<div class="line"><span class="keyword">static</span> uint32_t mempool_mem[<a class="code" href="group__rtx5__specific__defines.html#gac6bea3541b458bbc79eafce42a2d87a2">osRtxMemoryPoolMemSize</a>(OBJ_COUNT, <span class="keyword">sizeof</span>(object_t))/4U];</div>
+</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">block_count</td><td>maximum number of memory blocks in memory pool. </td></tr>
+ <tr><td class="paramname">block_size</td><td>memory block size in bytes. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga47eb1e21f1bf9a42281c6c89c7473e99"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxMessageQueueMemSize</td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">msg_count, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">msg_size&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td>&#160;&#160;&#160;(4*(msg_count)*(3+(((msg_size)+3)/4)))</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Memory size in bytes for Message Queue storage.</p>
+<p>This macro exposes the minimum amount of memory needed for an RTX5 Message Queue Memory, see <a class="el" href="group__CMSIS__RTOS__Message.html#a4e208dc0fb049b42c4b90cbd2791c5ad" title="memory for data storage ">osMessageQueueAttr_t::mq_mem</a> and <a class="el" href="group__CMSIS__RTOS__Message.html#ac1cc09f875e20c926920b57bb83c70ee" title="size of provided memory for data storage ">osMessageQueueAttr_t::mq_size</a>.</p>
+<p>Example: </p>
+<div class="fragment"><div class="line"><span class="comment">// Maximum number of messages</span></div>
+<div class="line"><span class="preprocessor">#define MSG_COUNT 16U</span></div>
+<div class="line"><span class="preprocessor"></span> </div>
+<div class="line"><span class="comment">// Message data type</span></div>
+<div class="line"><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
+<div class="line"> uint32_t value1;</div>
+<div class="line"> uint8_t value2;</div>
+<div class="line">} msg_item_t;</div>
+<div class="line"> </div>
+<div class="line"><span class="comment">// Used-defined memory for message queue</span></div>
+<div class="line"><span class="keyword">static</span> uint32_t mq_mem[<a class="code" href="group__rtx5__specific__defines.html#ga47eb1e21f1bf9a42281c6c89c7473e99">osRtxMessageQueueMemSize</a>(MSG_COUNT, <span class="keyword">sizeof</span>(msg_item_t))/4U];</div>
+</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">msg_count</td><td>maximum number of messages in queue. </td></tr>
+ <tr><td class="paramname">msg_size</td><td>maximum message size in bytes. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga42206aa2524b8fab613d26bea0f73c44"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxErrorStackUnderflow&#160;&#160;&#160;1U</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>This error identifier is used with <a class="el" href="group__rtx5__specific__functions.html#gaf1745a88f9cc60b609ab1c8076bd346d">osRtxErrorNotify</a> when RTX5 detects a thread stack overflow. The object_id announced along this error can be used to identify the affected thread.</p>
+<p><a class="el" href="config_rtx5.html#threadConfig_watermark">Stack Usage Watermark</a> used together with larger stack sizes can help to figure out actual memory requirements for threads.</p>
+<dl class="section attention"><dt>Attention</dt><dd>Whenever this error identifier is signaled memory corruption has already happened. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga7377235f9fa3cedee06f682cd93f3e88"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxErrorISRQueueOverflow&#160;&#160;&#160;2U</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>This error identifier is used with <a class="el" href="group__rtx5__specific__functions.html#gaf1745a88f9cc60b609ab1c8076bd346d">osRtxErrorNotify</a> when RTX5 detects an overflow of the interrupt post processing message queue. The object_id can be used to identify the affected object.</p>
+<dl class="section attention"><dt>Attention</dt><dd>Whenever this error identifier is signaled the system state is already inconsistent. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaad420018f26e751ec55d3922a283beb0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxErrorTimerQueueOverflow&#160;&#160;&#160;3U</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>This error identifier is used with <a class="el" href="group__rtx5__specific__functions.html#gaf1745a88f9cc60b609ab1c8076bd346d">osRtxErrorNotify</a> when RTX5 detects an overflow of the timer callback queue. The object_id can be used to identify the affected timer.</p>
+<dl class="section attention"><dt>Attention</dt><dd>Whenever this error identifier is signaled a timer callback is already lost. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga14a24724f6e87744ba84674ef76e4256"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxErrorClibSpace&#160;&#160;&#160;4U</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Standard C/C++ library libspace not available: increase <code>OS_THREAD_LIBSPACE_NUM</code>.</p>
+<p>This error identifier is used with <a class="el" href="group__rtx5__specific__functions.html#gaf1745a88f9cc60b609ab1c8076bd346d">osRtxErrorNotify</a> when RTX5 detects usage of libspace but not enough memory was reserved using <code>OS_THREAD_LIBSPACE_NUM</code>. </p>
+
+</div>
+</div>
+<a class="anchor" id="gac749c24b9cf6c49b392b015ed0517cfc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxErrorClibMutex&#160;&#160;&#160;5U</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>This error identifier is used with <a class="el" href="group__rtx5__specific__functions.html#gaf1745a88f9cc60b609ab1c8076bd346d">osRtxErrorNotify</a> when RTX5 fails to create mutexes needed to lock global C/C++ library resources. </p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/group__rtx5__specific__defines.js b/docs/RTOS2/html/group__rtx5__specific__defines.js
new file mode 100644
index 0000000..fcd8ec4
--- /dev/null
+++ b/docs/RTOS2/html/group__rtx5__specific__defines.js
@@ -0,0 +1,17 @@
+var group__rtx5__specific__defines =
+[
+ [ "osRtxThreadCbSize", "group__rtx5__specific__defines.html#ga30d19272204231956582ebfff69567f6", null ],
+ [ "osRtxTimerCbSize", "group__rtx5__specific__defines.html#gaf8a145fdeb24fd912971f0671b1a3603", null ],
+ [ "osRtxEventFlagsCbSize", "group__rtx5__specific__defines.html#ga68100c8c44931f03547973294c433075", null ],
+ [ "osRtxMutexCbSize", "group__rtx5__specific__defines.html#ga188bfaaf7477cf24cbc9f207feaeb53a", null ],
+ [ "osRtxSemaphoreCbSize", "group__rtx5__specific__defines.html#ga0949b67063d0bd427fbee9c816b5d45a", null ],
+ [ "osRtxMemoryPoolCbSize", "group__rtx5__specific__defines.html#gab8e49e9e1eea5a015f2a3114cabceb48", null ],
+ [ "osRtxMessageQueueCbSize", "group__rtx5__specific__defines.html#gaa8d067c476faa6bfc8e5e21f3b3c844e", null ],
+ [ "osRtxMemoryPoolMemSize", "group__rtx5__specific__defines.html#gac6bea3541b458bbc79eafce42a2d87a2", null ],
+ [ "osRtxMessageQueueMemSize", "group__rtx5__specific__defines.html#ga47eb1e21f1bf9a42281c6c89c7473e99", null ],
+ [ "osRtxErrorStackUnderflow", "group__rtx5__specific__defines.html#ga42206aa2524b8fab613d26bea0f73c44", null ],
+ [ "osRtxErrorISRQueueOverflow", "group__rtx5__specific__defines.html#ga7377235f9fa3cedee06f682cd93f3e88", null ],
+ [ "osRtxErrorTimerQueueOverflow", "group__rtx5__specific__defines.html#gaad420018f26e751ec55d3922a283beb0", null ],
+ [ "osRtxErrorClibSpace", "group__rtx5__specific__defines.html#ga14a24724f6e87744ba84674ef76e4256", null ],
+ [ "osRtxErrorClibMutex", "group__rtx5__specific__defines.html#gac749c24b9cf6c49b392b015ed0517cfc", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__rtx5__specific__functions.html b/docs/RTOS2/html/group__rtx5__specific__functions.html
new file mode 100644
index 0000000..be6d83d
--- /dev/null
+++ b/docs/RTOS2/html/group__rtx5__specific__functions.html
@@ -0,0 +1,265 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Functions</title>
+<title>CMSIS-RTOS2: Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__rtx5__specific__functions.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">Functions<div class="ingroups"><a class="el" href="group__rtx5__specific.html">RTX v5 Specific API</a></div></div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>RTX5 functions.
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:gaf1745a88f9cc60b609ab1c8076bd346d"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__functions.html#gaf1745a88f9cc60b609ab1c8076bd346d">osRtxErrorNotify</a> (uint32_t code, void *object_id)</td></tr>
+<tr class="memdesc:gaf1745a88f9cc60b609ab1c8076bd346d"><td class="mdescLeft">&#160;</td><td class="mdescRight">OS Error Callback function. <a href="#gaf1745a88f9cc60b609ab1c8076bd346d">More...</a><br/></td></tr>
+<tr class="separator:gaf1745a88f9cc60b609ab1c8076bd346d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga074068b8efa7074cee68a71481d0b072"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__functions.html#ga074068b8efa7074cee68a71481d0b072">osRtxIdleThread</a> (void *argument)</td></tr>
+<tr class="memdesc:ga074068b8efa7074cee68a71481d0b072"><td class="mdescLeft">&#160;</td><td class="mdescRight">OS Idle Thread. <a href="#ga074068b8efa7074cee68a71481d0b072">More...</a><br/></td></tr>
+<tr class="separator:ga074068b8efa7074cee68a71481d0b072"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="gaf1745a88f9cc60b609ab1c8076bd346d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint32_t osRtxErrorNotify </td>
+ <td>(</td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>code</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>object_id</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">code</td><td>The code to identify the error condition. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">object_id</td><td>A reference to any RTX object to identify the object that caused the issue, can be <span class="XML-Token">NULL</span>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>Some system error conditions can be detected during runtime. If the RTX kernel detects a runtime error, it calls the runtime error function <b>osRtxErrorNotify</b> for an object specified by parameter <em>object_id</em>.</p>
+<p>The parameter <em>code</em> passes the actual error code to this function: </p>
+<table class="doxtable">
+<tr>
+<th>Error Code </th><th>Description </th></tr>
+<tr>
+<td><a class="el" href="group__rtx5__specific__defines.html#ga42206aa2524b8fab613d26bea0f73c44">osRtxErrorStackUnderflow</a> </td><td>Stack overflow detected for thread (thread_id=object_id) </td></tr>
+<tr>
+<td><a class="el" href="group__rtx5__specific__defines.html#ga7377235f9fa3cedee06f682cd93f3e88">osRtxErrorISRQueueOverflow</a> </td><td>ISR Queue overflow detected when inserting object (object_id) </td></tr>
+<tr>
+<td><a class="el" href="group__rtx5__specific__defines.html#gaad420018f26e751ec55d3922a283beb0">osRtxErrorTimerQueueOverflow</a> </td><td>User Timer Callback Queue overflow detected for timer (timer_id=object_id) </td></tr>
+<tr>
+<td><a class="el" href="group__rtx5__specific__defines.html#ga14a24724f6e87744ba84674ef76e4256">osRtxErrorClibSpace</a> </td><td>Standard C/C++ library libspace not available: increase <code>OS_THREAD_LIBSPACE_NUM</code> </td></tr>
+<tr>
+<td><a class="el" href="group__rtx5__specific__defines.html#gac749c24b9cf6c49b392b015ed0517cfc">osRtxErrorClibMutex</a> </td><td>Standard C/C++ library mutex initialization failed </td></tr>
+</table>
+<p>The function <b>osRtxErrorNotify</b> must contain an infinite loop to prevent further program execution. You can use an emulator to step over the infinite loop and trace into the code introducing a runtime error. For the overflow errors this means you need to increase the size of the object causing an overflow.</p>
+<p><b>Code Example</b> </p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="rtx__os_8h.html">rtx_os.h</a>&quot;</span></div>
+<div class="line"> </div>
+<div class="line">uint32_t <a class="code" href="group__rtx5__specific__functions.html#gaf1745a88f9cc60b609ab1c8076bd346d">osRtxErrorNotify</a> (uint32_t code, <span class="keywordtype">void</span> *object_id) {</div>
+<div class="line"> (void)object_id;</div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordflow">switch</span> (code) {</div>
+<div class="line"> <span class="keywordflow">case</span> <a class="code" href="group__rtx5__specific__defines.html#ga42206aa2524b8fab613d26bea0f73c44">osRtxErrorStackUnderflow</a>:</div>
+<div class="line"> <span class="comment">// Stack overflow detected for thread (thread_id=object_id)</span></div>
+<div class="line"> <span class="keywordflow">break</span>;</div>
+<div class="line"> <span class="keywordflow">case</span> <a class="code" href="group__rtx5__specific__defines.html#ga7377235f9fa3cedee06f682cd93f3e88">osRtxErrorISRQueueOverflow</a>:</div>
+<div class="line"> <span class="comment">// ISR Queue overflow detected when inserting object (object_id)</span></div>
+<div class="line"> <span class="keywordflow">break</span>;</div>
+<div class="line"> <span class="keywordflow">case</span> <a class="code" href="group__rtx5__specific__defines.html#gaad420018f26e751ec55d3922a283beb0">osRtxErrorTimerQueueOverflow</a>:</div>
+<div class="line"> <span class="comment">// User Timer Callback Queue overflow detected for timer (timer_id=object_id)</span></div>
+<div class="line"> <span class="keywordflow">break</span>;</div>
+<div class="line"> <span class="keywordflow">case</span> <a class="code" href="group__rtx5__specific__defines.html#ga14a24724f6e87744ba84674ef76e4256">osRtxErrorClibSpace</a>:</div>
+<div class="line"> <span class="comment">// Standard C/C++ library libspace not available: increase OS_THREAD_LIBSPACE_NUM</span></div>
+<div class="line"> <span class="keywordflow">break</span>;</div>
+<div class="line"> <span class="keywordflow">case</span> <a class="code" href="group__rtx5__specific__defines.html#gac749c24b9cf6c49b392b015ed0517cfc">osRtxErrorClibMutex</a>:</div>
+<div class="line"> <span class="comment">// Standard C/C++ library mutex initialization failed</span></div>
+<div class="line"> <span class="keywordflow">break</span>;</div>
+<div class="line"> <span class="keywordflow">default</span>:</div>
+<div class="line"> <span class="keywordflow">break</span>;</div>
+<div class="line"> }</div>
+<div class="line"> <span class="keywordflow">for</span> (;;) {}</div>
+<div class="line"><span class="comment">//return 0U;</span></div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ga074068b8efa7074cee68a71481d0b072"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void osRtxIdleThread </td>
+ <td>(</td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>argument</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">argument</td><td>Unused parameter, always set to <span class="XML-Token">NULL</span>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The function <b>osRtxIdleThread</b> is executed by the RTX kernel when no other threads are ready to run.</p>
+<p>By default, this thread is an empty end-less loop that does nothing. It only waits until another task becomes ready to run. You may change the code of the <b>osRtxIdleThread</b> function to put the CPU into a power-saving or idle mode, see <a class="el" href="theory_of_operation.html#TickLess">Tick-less Low-Power Operation</a>.</p>
+<p>The default stack size for this thread is defined in the file RTX_Config.h. Refer to <a class="el" href="config_rtx5.html#threadConfig">Thread Configuration</a>.</p>
+<dl class="section attention"><dt>Attention</dt><dd>The idle thread should never be blocked nor terminated! <b>Do not</b> call <ul>
+<li>
+blocking functions, </li>
+<li>
+<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga2f8ba6dba6e9c065a6e236ffd410d74a">osThreadTerminate</a>, or </li>
+<li>
+<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaddaa452dd7610e4096647a566d3556fc">osThreadExit</a> </li>
+</ul>
+and <b>do not</b> return from this function when providing a user defined implementation.</dd></dl>
+<p><b>Code Example</b> </p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="rtx__os_8h.html">rtx_os.h</a>&quot;</span></div>
+<div class="line"> </div>
+<div class="line"><a class="code" href="cmsis__os2_8h.html#a153a4a31b276a9758959580538720a51">__NO_RETURN</a> <span class="keywordtype">void</span> <a class="code" href="group__rtx5__specific__functions.html#ga074068b8efa7074cee68a71481d0b072">osRtxIdleThread</a> (<span class="keywordtype">void</span> *argument) {</div>
+<div class="line"> (void)argument;</div>
+<div class="line"></div>
+<div class="line"> <span class="keywordflow">for</span> (;;) {}</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/group__rtx5__specific__functions.js b/docs/RTOS2/html/group__rtx5__specific__functions.js
new file mode 100644
index 0000000..b69db54
--- /dev/null
+++ b/docs/RTOS2/html/group__rtx5__specific__functions.js
@@ -0,0 +1,5 @@
+var group__rtx5__specific__functions =
+[
+ [ "osRtxErrorNotify", "group__rtx5__specific__functions.html#gaf1745a88f9cc60b609ab1c8076bd346d", null ],
+ [ "osRtxIdleThread", "group__rtx5__specific__functions.html#ga074068b8efa7074cee68a71481d0b072", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__rtx5__specific__structs.html b/docs/RTOS2/html/group__rtx5__specific__structs.html
new file mode 100644
index 0000000..bc5fd8c
--- /dev/null
+++ b/docs/RTOS2/html/group__rtx5__specific__structs.html
@@ -0,0 +1,757 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Structs</title>
+<title>CMSIS-RTOS2: Structs</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.2</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__rtx5__specific__structs.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Data Structures</a> </div>
+ <div class="headertitle">
+<div class="title">Structs<div class="ingroups"><a class="el" href="group__rtx5__specific.html">RTX5 Specific API</a></div></div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>RTX5 structs.
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Structures</h2></td></tr>
+<tr class="memitem:structosRtxThread__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__structs.html#structosRtxThread__t">osRtxThread_t</a></td></tr>
+<tr class="memdesc:structosRtxThread__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Thread Control Block. <a href="group__rtx5__specific__structs.html#structosRtxThread__t">More...</a><br/></td></tr>
+<tr class="separator:structosRtxThread__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:structosRtxTimerFinfo__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__structs.html#structosRtxTimerFinfo__t">osRtxTimerFinfo_t</a></td></tr>
+<tr class="memdesc:structosRtxTimerFinfo__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Timer Function Information. <a href="group__rtx5__specific__structs.html#structosRtxTimerFinfo__t">More...</a><br/></td></tr>
+<tr class="separator:structosRtxTimerFinfo__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:structosRtxTimer__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__structs.html#structosRtxTimer__t">osRtxTimer_t</a></td></tr>
+<tr class="memdesc:structosRtxTimer__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Timer Control Block. <a href="group__rtx5__specific__structs.html#structosRtxTimer__t">More...</a><br/></td></tr>
+<tr class="separator:structosRtxTimer__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:structosRtxEventFlags__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__structs.html#structosRtxEventFlags__t">osRtxEventFlags_t</a></td></tr>
+<tr class="memdesc:structosRtxEventFlags__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event Flags Control Block. <a href="group__rtx5__specific__structs.html#structosRtxEventFlags__t">More...</a><br/></td></tr>
+<tr class="separator:structosRtxEventFlags__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:structosRtxMutex__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__structs.html#structosRtxMutex__t">osRtxMutex_t</a></td></tr>
+<tr class="memdesc:structosRtxMutex__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mutex Control Block. <a href="group__rtx5__specific__structs.html#structosRtxMutex__t">More...</a><br/></td></tr>
+<tr class="separator:structosRtxMutex__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:structosRtxSemaphore__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__structs.html#structosRtxSemaphore__t">osRtxSemaphore_t</a></td></tr>
+<tr class="memdesc:structosRtxSemaphore__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Semaphore Control Block. <a href="group__rtx5__specific__structs.html#structosRtxSemaphore__t">More...</a><br/></td></tr>
+<tr class="separator:structosRtxSemaphore__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:structosRtxMemoryPool__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__structs.html#structosRtxMemoryPool__t">osRtxMemoryPool_t</a></td></tr>
+<tr class="memdesc:structosRtxMemoryPool__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory Pool Control Block. <a href="group__rtx5__specific__structs.html#structosRtxMemoryPool__t">More...</a><br/></td></tr>
+<tr class="separator:structosRtxMemoryPool__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:structosRtxMessageQueue__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__structs.html#structosRtxMessageQueue__t">osRtxMessageQueue_t</a></td></tr>
+<tr class="memdesc:structosRtxMessageQueue__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Message Queue Control Block. <a href="group__rtx5__specific__structs.html#structosRtxMessageQueue__t">More...</a><br/></td></tr>
+<tr class="separator:structosRtxMessageQueue__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
+<hr/><h2 class="groupheader">Data Structure Documentation</h2>
+<a name="structosRtxThread__t" id="structosRtxThread__t"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osRtxThread_t</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"></div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a1e6927fa1486224044e568f9c370519b"></a>uint8_t</td>
+<td class="fieldname">
+id</td>
+<td class="fielddoc">
+Object Identifier. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a0b57aa10271a66f3dc936bba1d2f3830"></a>uint8_t</td>
+<td class="fieldname">
+state</td>
+<td class="fielddoc">
+Object State. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="aa2585d779da0ab21273a8d92de9a0ebe"></a>uint8_t</td>
+<td class="fieldname">
+flags</td>
+<td class="fielddoc">
+Object Flags. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a28478ea2856f6286899bc90b2c6a1ec4"></a>uint8_t</td>
+<td class="fieldname">
+attr</td>
+<td class="fielddoc">
+Object Attributes. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a8f8f80d37794cde9472343e4487ba3eb"></a>const char *</td>
+<td class="fieldname">
+name</td>
+<td class="fielddoc">
+Object Name. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a421971e8ae94fe0bd86b85a90445e71e"></a>struct osRtxThread_s *</td>
+<td class="fieldname">
+thread_next</td>
+<td class="fielddoc">
+Link pointer to next Thread in Object list. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="aa230a0d899f6c0750e6d454af3ef9b05"></a>struct osRtxThread_s *</td>
+<td class="fieldname">
+thread_prev</td>
+<td class="fielddoc">
+Link pointer to previous Thread in Object list. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a21a74cedec66715cd5d7422797035868"></a>struct osRtxThread_s *</td>
+<td class="fieldname">
+delay_next</td>
+<td class="fielddoc">
+Link pointer to next Thread in Delay list. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="adcfea33cc536708db8a3419ba0295551"></a>struct osRtxThread_s *</td>
+<td class="fieldname">
+delay_prev</td>
+<td class="fielddoc">
+Link pointer to previous Thread in Delay list. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a83ec0540c50d4e79bed99f1b384bd2b9"></a>struct osRtxThread_s *</td>
+<td class="fieldname">
+thread_join</td>
+<td class="fielddoc">
+Thread waiting to Join. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a458421a43d4f6dc515faf427bf579d00"></a>uint32_t</td>
+<td class="fieldname">
+delay</td>
+<td class="fielddoc">
+Delay Time. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a81659cc4c01e54e2424022728d9effc7"></a>int8_t</td>
+<td class="fieldname">
+priority</td>
+<td class="fielddoc">
+Thread Priority. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ac67f8858081fb7a6e5a4ee8d2de3b348"></a>int8_t</td>
+<td class="fieldname">
+priority_base</td>
+<td class="fielddoc">
+Base Priority. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a1071334ebd46d95b9ab1dcad788b2adc"></a>uint8_t</td>
+<td class="fieldname">
+stack_frame</td>
+<td class="fielddoc">
+Stack Frame (EXC_RETURN[7..0]) </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a87c898585d0aeffdcf67c9e1b3befefe"></a>uint8_t</td>
+<td class="fieldname">
+flags_options</td>
+<td class="fielddoc">
+Thread/Event Flags Options. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a3c7b4f24d9527394f4b5a1135d117691"></a>uint32_t</td>
+<td class="fieldname">
+wait_flags</td>
+<td class="fielddoc">
+Waiting Thread/Event Flags. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ae757685e50b875e953f4aff67ac24b1b"></a>uint32_t</td>
+<td class="fieldname">
+thread_flags</td>
+<td class="fielddoc">
+Thread Flags. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a70b3153655adaf42687fe250983f6c95"></a>struct osRtxMutex_s *</td>
+<td class="fieldname">
+mutex_list</td>
+<td class="fielddoc">
+Link pointer to list of owned Mutexes. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a447dbb69b4c036e118b3b1b8bd22fe60"></a>void *</td>
+<td class="fieldname">
+stack_mem</td>
+<td class="fielddoc">
+Stack Memory. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ad63716408aae5b50857ca8ce74e3a3ff"></a>uint32_t</td>
+<td class="fieldname">
+stack_size</td>
+<td class="fielddoc">
+Stack Size. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a382a07e24a852d580d7548b8d517384c"></a>uint32_t</td>
+<td class="fieldname">
+sp</td>
+<td class="fielddoc">
+Current Stack Pointer. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="adf2ebf46aa7018845582f1c70de83598"></a>uint32_t</td>
+<td class="fieldname">
+thread_addr</td>
+<td class="fielddoc">
+Thread entry address. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="adaa6c424a231e5f6c788532675f33e16"></a>uint32_t</td>
+<td class="fieldname">
+tz_memory</td>
+<td class="fielddoc">
+TrustZone Memory Identifier. </td></tr>
+</table>
+
+</div>
+</div>
+<a name="structosRtxTimerFinfo__t" id="structosRtxTimerFinfo__t"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osRtxTimerFinfo_t</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"></div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a9587c8102d13ec6b8df5dd068e221125"></a>void *</td>
+<td class="fieldname">
+fp</td>
+<td class="fielddoc">
+Function Pointer. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a9ce2ec4812a92cb6ab39f6e81e9173a9"></a>void *</td>
+<td class="fieldname">
+arg</td>
+<td class="fielddoc">
+Function Argument. </td></tr>
+</table>
+
+</div>
+</div>
+<a name="structosRtxTimer__t" id="structosRtxTimer__t"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osRtxTimer_t</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"></div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a1e6927fa1486224044e568f9c370519b"></a>uint8_t</td>
+<td class="fieldname">
+id</td>
+<td class="fielddoc">
+Object Identifier. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a0b57aa10271a66f3dc936bba1d2f3830"></a>uint8_t</td>
+<td class="fieldname">
+state</td>
+<td class="fielddoc">
+Object State. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="aa2585d779da0ab21273a8d92de9a0ebe"></a>uint8_t</td>
+<td class="fieldname">
+flags</td>
+<td class="fielddoc">
+Object Flags. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a1d127017fb298b889f4ba24752d08b8e"></a>uint8_t</td>
+<td class="fieldname">
+type</td>
+<td class="fielddoc">
+Timer Type (Periodic/One-shot) </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a8f8f80d37794cde9472343e4487ba3eb"></a>const char *</td>
+<td class="fieldname">
+name</td>
+<td class="fielddoc">
+Object Name. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ac8953ebf7df8aaf724cb12876ac8fb1a"></a>struct osRtxTimer_s *</td>
+<td class="fieldname">
+prev</td>
+<td class="fielddoc">
+Pointer to previous active Timer. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a8b9ac161a613448926b2c2b2c8dbe259"></a>struct osRtxTimer_s *</td>
+<td class="fieldname">
+next</td>
+<td class="fielddoc">
+Pointer to next active Timer. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a260e06ce96c2e4deebccaedeb059dc0b"></a>uint32_t</td>
+<td class="fieldname">
+tick</td>
+<td class="fielddoc">
+Timer current Tick. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="aee4a6239f04d660fc90663dd6b39ca95"></a>uint32_t</td>
+<td class="fieldname">
+load</td>
+<td class="fielddoc">
+Timer Load value. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ab415a6615c5ddf5365ed86e58a1e1809"></a><a class="el" href="group__rtx5__specific__structs.html#structosRtxTimerFinfo__t">osRtxTimerFinfo_t</a></td>
+<td class="fieldname">
+finfo</td>
+<td class="fielddoc">
+Timer Function Info. </td></tr>
+</table>
+
+</div>
+</div>
+<a name="structosRtxEventFlags__t" id="structosRtxEventFlags__t"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osRtxEventFlags_t</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"></div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a1e6927fa1486224044e568f9c370519b"></a>uint8_t</td>
+<td class="fieldname">
+id</td>
+<td class="fielddoc">
+Object Identifier. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a0b57aa10271a66f3dc936bba1d2f3830"></a>uint8_t</td>
+<td class="fieldname">
+state</td>
+<td class="fielddoc">
+Object State. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="aa2585d779da0ab21273a8d92de9a0ebe"></a>uint8_t</td>
+<td class="fieldname">
+flags</td>
+<td class="fielddoc">
+Object Flags. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="acb7bc06bed6f6408d719334fc41698c7"></a>uint8_t</td>
+<td class="fieldname">
+reserved</td>
+<td class="fielddoc">
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a8f8f80d37794cde9472343e4487ba3eb"></a>const char *</td>
+<td class="fieldname">
+name</td>
+<td class="fielddoc">
+Object Name. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a8afd5feb676df99867375957b0587451"></a><a class="el" href="group__rtx5__specific__structs.html#structosRtxThread__t">osRtxThread_t</a> *</td>
+<td class="fieldname">
+thread_list</td>
+<td class="fielddoc">
+Waiting Threads List. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a7044be0679894b5daf72f19f9dd06e03"></a>uint32_t</td>
+<td class="fieldname">
+event_flags</td>
+<td class="fielddoc">
+Event Flags. </td></tr>
+</table>
+
+</div>
+</div>
+<a name="structosRtxMutex__t" id="structosRtxMutex__t"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osRtxMutex_t</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"></div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a1e6927fa1486224044e568f9c370519b"></a>uint8_t</td>
+<td class="fieldname">
+id</td>
+<td class="fielddoc">
+Object Identifier. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a0b57aa10271a66f3dc936bba1d2f3830"></a>uint8_t</td>
+<td class="fieldname">
+state</td>
+<td class="fielddoc">
+Object State. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="aa2585d779da0ab21273a8d92de9a0ebe"></a>uint8_t</td>
+<td class="fieldname">
+flags</td>
+<td class="fielddoc">
+Object Flags. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a28478ea2856f6286899bc90b2c6a1ec4"></a>uint8_t</td>
+<td class="fieldname">
+attr</td>
+<td class="fielddoc">
+Object Attributes. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a8f8f80d37794cde9472343e4487ba3eb"></a>const char *</td>
+<td class="fieldname">
+name</td>
+<td class="fielddoc">
+Object Name. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a8afd5feb676df99867375957b0587451"></a><a class="el" href="group__rtx5__specific__structs.html#structosRtxThread__t">osRtxThread_t</a> *</td>
+<td class="fieldname">
+thread_list</td>
+<td class="fielddoc">
+Waiting Threads List. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a987889d464cb2925029e135b76aa0dc9"></a><a class="el" href="group__rtx5__specific__structs.html#structosRtxThread__t">osRtxThread_t</a> *</td>
+<td class="fieldname">
+owner_thread</td>
+<td class="fielddoc">
+Owner Thread. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a50b315b9b80bafdba54a7a731be1cc30"></a>struct osRtxMutex_s *</td>
+<td class="fieldname">
+owner_prev</td>
+<td class="fielddoc">
+Pointer to previous owned Mutex. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a54be7ae32f627ee70e1af8c54203ee5a"></a>struct osRtxMutex_s *</td>
+<td class="fieldname">
+owner_next</td>
+<td class="fielddoc">
+Pointer to next owned Mutex. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a92435efb84d6814afd444fd462802e9c"></a>uint8_t</td>
+<td class="fieldname">
+lock</td>
+<td class="fielddoc">
+Lock counter. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a735ef00341a84c02ba561c66de3d20af"></a>uint8_t</td>
+<td class="fieldname">
+padding[3]</td>
+<td class="fielddoc">
+</td></tr>
+</table>
+
+</div>
+</div>
+<a name="structosRtxSemaphore__t" id="structosRtxSemaphore__t"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osRtxSemaphore_t</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"></div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a1e6927fa1486224044e568f9c370519b"></a>uint8_t</td>
+<td class="fieldname">
+id</td>
+<td class="fielddoc">
+Object Identifier. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a0b57aa10271a66f3dc936bba1d2f3830"></a>uint8_t</td>
+<td class="fieldname">
+state</td>
+<td class="fielddoc">
+Object State. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="aa2585d779da0ab21273a8d92de9a0ebe"></a>uint8_t</td>
+<td class="fieldname">
+flags</td>
+<td class="fielddoc">
+Object Flags. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="acb7bc06bed6f6408d719334fc41698c7"></a>uint8_t</td>
+<td class="fieldname">
+reserved</td>
+<td class="fielddoc">
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a8f8f80d37794cde9472343e4487ba3eb"></a>const char *</td>
+<td class="fieldname">
+name</td>
+<td class="fielddoc">
+Object Name. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a8afd5feb676df99867375957b0587451"></a><a class="el" href="group__rtx5__specific__structs.html#structosRtxThread__t">osRtxThread_t</a> *</td>
+<td class="fieldname">
+thread_list</td>
+<td class="fielddoc">
+Waiting Threads List. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a4e2e4e1126848f81d9e943147e07f0e0"></a>uint16_t</td>
+<td class="fieldname">
+tokens</td>
+<td class="fielddoc">
+Current number of tokens. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="aa793f0e9a46e8b59b6d351535ee18a7d"></a>uint16_t</td>
+<td class="fieldname">
+max_tokens</td>
+<td class="fielddoc">
+Maximum number of tokens. </td></tr>
+</table>
+
+</div>
+</div>
+<a name="structosRtxMemoryPool__t" id="structosRtxMemoryPool__t"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osRtxMemoryPool_t</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"></div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a1e6927fa1486224044e568f9c370519b"></a>uint8_t</td>
+<td class="fieldname">
+id</td>
+<td class="fielddoc">
+Object Identifier. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a0b57aa10271a66f3dc936bba1d2f3830"></a>uint8_t</td>
+<td class="fieldname">
+state</td>
+<td class="fielddoc">
+Object State. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="aa2585d779da0ab21273a8d92de9a0ebe"></a>uint8_t</td>
+<td class="fieldname">
+flags</td>
+<td class="fielddoc">
+Object Flags. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="acb7bc06bed6f6408d719334fc41698c7"></a>uint8_t</td>
+<td class="fieldname">
+reserved</td>
+<td class="fielddoc">
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a8f8f80d37794cde9472343e4487ba3eb"></a>const char *</td>
+<td class="fieldname">
+name</td>
+<td class="fielddoc">
+Object Name. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a8afd5feb676df99867375957b0587451"></a><a class="el" href="group__rtx5__specific__structs.html#structosRtxThread__t">osRtxThread_t</a> *</td>
+<td class="fieldname">
+thread_list</td>
+<td class="fielddoc">
+Waiting Threads List. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ac1cf67a8631962a42fa2da46f20a1a39"></a><a class="el" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a></td>
+<td class="fieldname">
+mp_info</td>
+<td class="fielddoc">
+Memory Pool Info. </td></tr>
+</table>
+
+</div>
+</div>
+<a name="structosRtxMessageQueue__t" id="structosRtxMessageQueue__t"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osRtxMessageQueue_t</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"></div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a1e6927fa1486224044e568f9c370519b"></a>uint8_t</td>
+<td class="fieldname">
+id</td>
+<td class="fielddoc">
+Object Identifier. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a0b57aa10271a66f3dc936bba1d2f3830"></a>uint8_t</td>
+<td class="fieldname">
+state</td>
+<td class="fielddoc">
+Object State. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="aa2585d779da0ab21273a8d92de9a0ebe"></a>uint8_t</td>
+<td class="fieldname">
+flags</td>
+<td class="fielddoc">
+Object Flags. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="acb7bc06bed6f6408d719334fc41698c7"></a>uint8_t</td>
+<td class="fieldname">
+reserved</td>
+<td class="fielddoc">
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a8f8f80d37794cde9472343e4487ba3eb"></a>const char *</td>
+<td class="fieldname">
+name</td>
+<td class="fielddoc">
+Object Name. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a8afd5feb676df99867375957b0587451"></a><a class="el" href="group__rtx5__specific__structs.html#structosRtxThread__t">osRtxThread_t</a> *</td>
+<td class="fieldname">
+thread_list</td>
+<td class="fielddoc">
+Waiting Threads List. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ac1cf67a8631962a42fa2da46f20a1a39"></a><a class="el" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a></td>
+<td class="fieldname">
+mp_info</td>
+<td class="fielddoc">
+Memory Pool Info. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a58873af81b75772a41aa5c1ff788a0c2"></a>uint32_t</td>
+<td class="fieldname">
+msg_size</td>
+<td class="fielddoc">
+Message Size. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a6a019648a53352a413ea79b958a362cd"></a>uint32_t</td>
+<td class="fieldname">
+msg_count</td>
+<td class="fielddoc">
+Number of queued Messages. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a13c143cc2f25a550fc3eb7ae68b0c56d"></a><a class="el" href="rtx__os_8h.html#structosRtxMessage__t">osRtxMessage_t</a> *</td>
+<td class="fieldname">
+msg_first</td>
+<td class="fielddoc">
+Pointer to first Message. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ab386d4a98974f52ca151426c4dde0da4"></a><a class="el" href="rtx__os_8h.html#structosRtxMessage__t">osRtxMessage_t</a> *</td>
+<td class="fieldname">
+msg_last</td>
+<td class="fielddoc">
+Pointer to last Message. </td></tr>
+</table>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Thu Nov 16 2017 17:06:23 for CMSIS-RTOS2 by ARM Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/group__rtx5__specific__structs.js b/docs/RTOS2/html/group__rtx5__specific__structs.js
new file mode 100644
index 0000000..6028a42
--- /dev/null
+++ b/docs/RTOS2/html/group__rtx5__specific__structs.js
@@ -0,0 +1,98 @@
+var group__rtx5__specific__structs =
+[
+ [ "osRtxThread_t", "group__rtx5__specific__structs.html#structosRtxThread__t", [
+ [ "id", "group__rtx5__specific__structs.html#a1e6927fa1486224044e568f9c370519b", null ],
+ [ "state", "group__rtx5__specific__structs.html#a0b57aa10271a66f3dc936bba1d2f3830", null ],
+ [ "flags", "group__rtx5__specific__structs.html#aa2585d779da0ab21273a8d92de9a0ebe", null ],
+ [ "attr", "group__rtx5__specific__structs.html#a28478ea2856f6286899bc90b2c6a1ec4", null ],
+ [ "name", "group__rtx5__specific__structs.html#a8f8f80d37794cde9472343e4487ba3eb", null ],
+ [ "thread_next", "group__rtx5__specific__structs.html#a421971e8ae94fe0bd86b85a90445e71e", null ],
+ [ "thread_prev", "group__rtx5__specific__structs.html#aa230a0d899f6c0750e6d454af3ef9b05", null ],
+ [ "delay_next", "group__rtx5__specific__structs.html#a21a74cedec66715cd5d7422797035868", null ],
+ [ "delay_prev", "group__rtx5__specific__structs.html#adcfea33cc536708db8a3419ba0295551", null ],
+ [ "thread_join", "group__rtx5__specific__structs.html#a83ec0540c50d4e79bed99f1b384bd2b9", null ],
+ [ "delay", "group__rtx5__specific__structs.html#a458421a43d4f6dc515faf427bf579d00", null ],
+ [ "priority", "group__rtx5__specific__structs.html#a81659cc4c01e54e2424022728d9effc7", null ],
+ [ "priority_base", "group__rtx5__specific__structs.html#ac67f8858081fb7a6e5a4ee8d2de3b348", null ],
+ [ "stack_frame", "group__rtx5__specific__structs.html#a1071334ebd46d95b9ab1dcad788b2adc", null ],
+ [ "flags_options", "group__rtx5__specific__structs.html#a87c898585d0aeffdcf67c9e1b3befefe", null ],
+ [ "wait_flags", "group__rtx5__specific__structs.html#a3c7b4f24d9527394f4b5a1135d117691", null ],
+ [ "thread_flags", "group__rtx5__specific__structs.html#ae757685e50b875e953f4aff67ac24b1b", null ],
+ [ "mutex_list", "group__rtx5__specific__structs.html#a70b3153655adaf42687fe250983f6c95", null ],
+ [ "stack_mem", "group__rtx5__specific__structs.html#a447dbb69b4c036e118b3b1b8bd22fe60", null ],
+ [ "stack_size", "group__rtx5__specific__structs.html#ad63716408aae5b50857ca8ce74e3a3ff", null ],
+ [ "sp", "group__rtx5__specific__structs.html#a382a07e24a852d580d7548b8d517384c", null ],
+ [ "thread_addr", "group__rtx5__specific__structs.html#adf2ebf46aa7018845582f1c70de83598", null ],
+ [ "tz_memory", "group__rtx5__specific__structs.html#adaa6c424a231e5f6c788532675f33e16", null ]
+ ] ],
+ [ "osRtxTimerFinfo_t", "group__rtx5__specific__structs.html#structosRtxTimerFinfo__t", [
+ [ "fp", "group__rtx5__specific__structs.html#a9587c8102d13ec6b8df5dd068e221125", null ],
+ [ "arg", "group__rtx5__specific__structs.html#a9ce2ec4812a92cb6ab39f6e81e9173a9", null ]
+ ] ],
+ [ "osRtxTimer_t", "group__rtx5__specific__structs.html#structosRtxTimer__t", [
+ [ "id", "group__rtx5__specific__structs.html#a1e6927fa1486224044e568f9c370519b", null ],
+ [ "state", "group__rtx5__specific__structs.html#a0b57aa10271a66f3dc936bba1d2f3830", null ],
+ [ "flags", "group__rtx5__specific__structs.html#aa2585d779da0ab21273a8d92de9a0ebe", null ],
+ [ "type", "group__rtx5__specific__structs.html#a1d127017fb298b889f4ba24752d08b8e", null ],
+ [ "name", "group__rtx5__specific__structs.html#a8f8f80d37794cde9472343e4487ba3eb", null ],
+ [ "prev", "group__rtx5__specific__structs.html#ac8953ebf7df8aaf724cb12876ac8fb1a", null ],
+ [ "next", "group__rtx5__specific__structs.html#a8b9ac161a613448926b2c2b2c8dbe259", null ],
+ [ "tick", "group__rtx5__specific__structs.html#a260e06ce96c2e4deebccaedeb059dc0b", null ],
+ [ "load", "group__rtx5__specific__structs.html#aee4a6239f04d660fc90663dd6b39ca95", null ],
+ [ "finfo", "group__rtx5__specific__structs.html#ab415a6615c5ddf5365ed86e58a1e1809", null ]
+ ] ],
+ [ "osRtxEventFlags_t", "group__rtx5__specific__structs.html#structosRtxEventFlags__t", [
+ [ "id", "group__rtx5__specific__structs.html#a1e6927fa1486224044e568f9c370519b", null ],
+ [ "state", "group__rtx5__specific__structs.html#a0b57aa10271a66f3dc936bba1d2f3830", null ],
+ [ "flags", "group__rtx5__specific__structs.html#aa2585d779da0ab21273a8d92de9a0ebe", null ],
+ [ "reserved", "group__rtx5__specific__structs.html#acb7bc06bed6f6408d719334fc41698c7", null ],
+ [ "name", "group__rtx5__specific__structs.html#a8f8f80d37794cde9472343e4487ba3eb", null ],
+ [ "thread_list", "group__rtx5__specific__structs.html#a8afd5feb676df99867375957b0587451", null ],
+ [ "event_flags", "group__rtx5__specific__structs.html#a7044be0679894b5daf72f19f9dd06e03", null ]
+ ] ],
+ [ "osRtxMutex_t", "group__rtx5__specific__structs.html#structosRtxMutex__t", [
+ [ "id", "group__rtx5__specific__structs.html#a1e6927fa1486224044e568f9c370519b", null ],
+ [ "state", "group__rtx5__specific__structs.html#a0b57aa10271a66f3dc936bba1d2f3830", null ],
+ [ "flags", "group__rtx5__specific__structs.html#aa2585d779da0ab21273a8d92de9a0ebe", null ],
+ [ "attr", "group__rtx5__specific__structs.html#a28478ea2856f6286899bc90b2c6a1ec4", null ],
+ [ "name", "group__rtx5__specific__structs.html#a8f8f80d37794cde9472343e4487ba3eb", null ],
+ [ "thread_list", "group__rtx5__specific__structs.html#a8afd5feb676df99867375957b0587451", null ],
+ [ "owner_thread", "group__rtx5__specific__structs.html#a987889d464cb2925029e135b76aa0dc9", null ],
+ [ "owner_prev", "group__rtx5__specific__structs.html#a50b315b9b80bafdba54a7a731be1cc30", null ],
+ [ "owner_next", "group__rtx5__specific__structs.html#a54be7ae32f627ee70e1af8c54203ee5a", null ],
+ [ "lock", "group__rtx5__specific__structs.html#a92435efb84d6814afd444fd462802e9c", null ],
+ [ "padding", "group__rtx5__specific__structs.html#a735ef00341a84c02ba561c66de3d20af", null ]
+ ] ],
+ [ "osRtxSemaphore_t", "group__rtx5__specific__structs.html#structosRtxSemaphore__t", [
+ [ "id", "group__rtx5__specific__structs.html#a1e6927fa1486224044e568f9c370519b", null ],
+ [ "state", "group__rtx5__specific__structs.html#a0b57aa10271a66f3dc936bba1d2f3830", null ],
+ [ "flags", "group__rtx5__specific__structs.html#aa2585d779da0ab21273a8d92de9a0ebe", null ],
+ [ "reserved", "group__rtx5__specific__structs.html#acb7bc06bed6f6408d719334fc41698c7", null ],
+ [ "name", "group__rtx5__specific__structs.html#a8f8f80d37794cde9472343e4487ba3eb", null ],
+ [ "thread_list", "group__rtx5__specific__structs.html#a8afd5feb676df99867375957b0587451", null ],
+ [ "tokens", "group__rtx5__specific__structs.html#a4e2e4e1126848f81d9e943147e07f0e0", null ],
+ [ "max_tokens", "group__rtx5__specific__structs.html#aa793f0e9a46e8b59b6d351535ee18a7d", null ]
+ ] ],
+ [ "osRtxMemoryPool_t", "group__rtx5__specific__structs.html#structosRtxMemoryPool__t", [
+ [ "id", "group__rtx5__specific__structs.html#a1e6927fa1486224044e568f9c370519b", null ],
+ [ "state", "group__rtx5__specific__structs.html#a0b57aa10271a66f3dc936bba1d2f3830", null ],
+ [ "flags", "group__rtx5__specific__structs.html#aa2585d779da0ab21273a8d92de9a0ebe", null ],
+ [ "reserved", "group__rtx5__specific__structs.html#acb7bc06bed6f6408d719334fc41698c7", null ],
+ [ "name", "group__rtx5__specific__structs.html#a8f8f80d37794cde9472343e4487ba3eb", null ],
+ [ "thread_list", "group__rtx5__specific__structs.html#a8afd5feb676df99867375957b0587451", null ],
+ [ "mp_info", "group__rtx5__specific__structs.html#ac1cf67a8631962a42fa2da46f20a1a39", null ]
+ ] ],
+ [ "osRtxMessageQueue_t", "group__rtx5__specific__structs.html#structosRtxMessageQueue__t", [
+ [ "id", "group__rtx5__specific__structs.html#a1e6927fa1486224044e568f9c370519b", null ],
+ [ "state", "group__rtx5__specific__structs.html#a0b57aa10271a66f3dc936bba1d2f3830", null ],
+ [ "flags", "group__rtx5__specific__structs.html#aa2585d779da0ab21273a8d92de9a0ebe", null ],
+ [ "reserved", "group__rtx5__specific__structs.html#acb7bc06bed6f6408d719334fc41698c7", null ],
+ [ "name", "group__rtx5__specific__structs.html#a8f8f80d37794cde9472343e4487ba3eb", null ],
+ [ "thread_list", "group__rtx5__specific__structs.html#a8afd5feb676df99867375957b0587451", null ],
+ [ "mp_info", "group__rtx5__specific__structs.html#ac1cf67a8631962a42fa2da46f20a1a39", null ],
+ [ "msg_size", "group__rtx5__specific__structs.html#a58873af81b75772a41aa5c1ff788a0c2", null ],
+ [ "msg_count", "group__rtx5__specific__structs.html#a6a019648a53352a413ea79b958a362cd", null ],
+ [ "msg_first", "group__rtx5__specific__structs.html#a13c143cc2f25a550fc3eb7ae68b0c56d", null ],
+ [ "msg_last", "group__rtx5__specific__structs.html#ab386d4a98974f52ca151426c4dde0da4", null ]
+ ] ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__rtx5__specific__structs_structosRtxEventFlags__t.js b/docs/RTOS2/html/group__rtx5__specific__structs_structosRtxEventFlags__t.js
new file mode 100644
index 0000000..f1f1754
--- /dev/null
+++ b/docs/RTOS2/html/group__rtx5__specific__structs_structosRtxEventFlags__t.js
@@ -0,0 +1,10 @@
+var group__rtx5__specific__structs_structosRtxEventFlags__t =
+[
+ [ "id", "group__rtx5__specific__structs.html#a1e6927fa1486224044e568f9c370519b", null ],
+ [ "state", "group__rtx5__specific__structs.html#a0b57aa10271a66f3dc936bba1d2f3830", null ],
+ [ "flags", "group__rtx5__specific__structs.html#aa2585d779da0ab21273a8d92de9a0ebe", null ],
+ [ "reserved", "group__rtx5__specific__structs.html#acb7bc06bed6f6408d719334fc41698c7", null ],
+ [ "name", "group__rtx5__specific__structs.html#a8f8f80d37794cde9472343e4487ba3eb", null ],
+ [ "thread_list", "group__rtx5__specific__structs.html#a8afd5feb676df99867375957b0587451", null ],
+ [ "event_flags", "group__rtx5__specific__structs.html#a7044be0679894b5daf72f19f9dd06e03", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__rtx5__specific__structs_structosRtxMemoryPool__t.js b/docs/RTOS2/html/group__rtx5__specific__structs_structosRtxMemoryPool__t.js
new file mode 100644
index 0000000..c397607
--- /dev/null
+++ b/docs/RTOS2/html/group__rtx5__specific__structs_structosRtxMemoryPool__t.js
@@ -0,0 +1,10 @@
+var group__rtx5__specific__structs_structosRtxMemoryPool__t =
+[
+ [ "id", "group__rtx5__specific__structs.html#a1e6927fa1486224044e568f9c370519b", null ],
+ [ "state", "group__rtx5__specific__structs.html#a0b57aa10271a66f3dc936bba1d2f3830", null ],
+ [ "flags", "group__rtx5__specific__structs.html#aa2585d779da0ab21273a8d92de9a0ebe", null ],
+ [ "reserved", "group__rtx5__specific__structs.html#acb7bc06bed6f6408d719334fc41698c7", null ],
+ [ "name", "group__rtx5__specific__structs.html#a8f8f80d37794cde9472343e4487ba3eb", null ],
+ [ "thread_list", "group__rtx5__specific__structs.html#a8afd5feb676df99867375957b0587451", null ],
+ [ "mp_info", "group__rtx5__specific__structs.html#ac1cf67a8631962a42fa2da46f20a1a39", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__rtx5__specific__structs_structosRtxMessageQueue__t.js b/docs/RTOS2/html/group__rtx5__specific__structs_structosRtxMessageQueue__t.js
new file mode 100644
index 0000000..20efe32
--- /dev/null
+++ b/docs/RTOS2/html/group__rtx5__specific__structs_structosRtxMessageQueue__t.js
@@ -0,0 +1,14 @@
+var group__rtx5__specific__structs_structosRtxMessageQueue__t =
+[
+ [ "id", "group__rtx5__specific__structs.html#a1e6927fa1486224044e568f9c370519b", null ],
+ [ "state", "group__rtx5__specific__structs.html#a0b57aa10271a66f3dc936bba1d2f3830", null ],
+ [ "flags", "group__rtx5__specific__structs.html#aa2585d779da0ab21273a8d92de9a0ebe", null ],
+ [ "reserved", "group__rtx5__specific__structs.html#acb7bc06bed6f6408d719334fc41698c7", null ],
+ [ "name", "group__rtx5__specific__structs.html#a8f8f80d37794cde9472343e4487ba3eb", null ],
+ [ "thread_list", "group__rtx5__specific__structs.html#a8afd5feb676df99867375957b0587451", null ],
+ [ "mp_info", "group__rtx5__specific__structs.html#ac1cf67a8631962a42fa2da46f20a1a39", null ],
+ [ "msg_size", "group__rtx5__specific__structs.html#a58873af81b75772a41aa5c1ff788a0c2", null ],
+ [ "msg_count", "group__rtx5__specific__structs.html#a6a019648a53352a413ea79b958a362cd", null ],
+ [ "msg_first", "group__rtx5__specific__structs.html#a13c143cc2f25a550fc3eb7ae68b0c56d", null ],
+ [ "msg_last", "group__rtx5__specific__structs.html#ab386d4a98974f52ca151426c4dde0da4", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__rtx5__specific__structs_structosRtxMutex__t.js b/docs/RTOS2/html/group__rtx5__specific__structs_structosRtxMutex__t.js
new file mode 100644
index 0000000..81924ff
--- /dev/null
+++ b/docs/RTOS2/html/group__rtx5__specific__structs_structosRtxMutex__t.js
@@ -0,0 +1,14 @@
+var group__rtx5__specific__structs_structosRtxMutex__t =
+[
+ [ "id", "group__rtx5__specific__structs.html#a1e6927fa1486224044e568f9c370519b", null ],
+ [ "state", "group__rtx5__specific__structs.html#a0b57aa10271a66f3dc936bba1d2f3830", null ],
+ [ "flags", "group__rtx5__specific__structs.html#aa2585d779da0ab21273a8d92de9a0ebe", null ],
+ [ "attr", "group__rtx5__specific__structs.html#a28478ea2856f6286899bc90b2c6a1ec4", null ],
+ [ "name", "group__rtx5__specific__structs.html#a8f8f80d37794cde9472343e4487ba3eb", null ],
+ [ "thread_list", "group__rtx5__specific__structs.html#a8afd5feb676df99867375957b0587451", null ],
+ [ "owner_thread", "group__rtx5__specific__structs.html#a987889d464cb2925029e135b76aa0dc9", null ],
+ [ "owner_prev", "group__rtx5__specific__structs.html#a50b315b9b80bafdba54a7a731be1cc30", null ],
+ [ "owner_next", "group__rtx5__specific__structs.html#a54be7ae32f627ee70e1af8c54203ee5a", null ],
+ [ "lock", "group__rtx5__specific__structs.html#a92435efb84d6814afd444fd462802e9c", null ],
+ [ "padding", "group__rtx5__specific__structs.html#a735ef00341a84c02ba561c66de3d20af", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__rtx5__specific__structs_structosRtxSemaphore__t.js b/docs/RTOS2/html/group__rtx5__specific__structs_structosRtxSemaphore__t.js
new file mode 100644
index 0000000..e0ffc85
--- /dev/null
+++ b/docs/RTOS2/html/group__rtx5__specific__structs_structosRtxSemaphore__t.js
@@ -0,0 +1,11 @@
+var group__rtx5__specific__structs_structosRtxSemaphore__t =
+[
+ [ "id", "group__rtx5__specific__structs.html#a1e6927fa1486224044e568f9c370519b", null ],
+ [ "state", "group__rtx5__specific__structs.html#a0b57aa10271a66f3dc936bba1d2f3830", null ],
+ [ "flags", "group__rtx5__specific__structs.html#aa2585d779da0ab21273a8d92de9a0ebe", null ],
+ [ "reserved", "group__rtx5__specific__structs.html#acb7bc06bed6f6408d719334fc41698c7", null ],
+ [ "name", "group__rtx5__specific__structs.html#a8f8f80d37794cde9472343e4487ba3eb", null ],
+ [ "thread_list", "group__rtx5__specific__structs.html#a8afd5feb676df99867375957b0587451", null ],
+ [ "tokens", "group__rtx5__specific__structs.html#a4e2e4e1126848f81d9e943147e07f0e0", null ],
+ [ "max_tokens", "group__rtx5__specific__structs.html#aa793f0e9a46e8b59b6d351535ee18a7d", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__rtx5__specific__structs_structosRtxThread__t.js b/docs/RTOS2/html/group__rtx5__specific__structs_structosRtxThread__t.js
new file mode 100644
index 0000000..f28e8f1
--- /dev/null
+++ b/docs/RTOS2/html/group__rtx5__specific__structs_structosRtxThread__t.js
@@ -0,0 +1,26 @@
+var group__rtx5__specific__structs_structosRtxThread__t =
+[
+ [ "id", "group__rtx5__specific__structs.html#a1e6927fa1486224044e568f9c370519b", null ],
+ [ "state", "group__rtx5__specific__structs.html#a0b57aa10271a66f3dc936bba1d2f3830", null ],
+ [ "flags", "group__rtx5__specific__structs.html#aa2585d779da0ab21273a8d92de9a0ebe", null ],
+ [ "attr", "group__rtx5__specific__structs.html#a28478ea2856f6286899bc90b2c6a1ec4", null ],
+ [ "name", "group__rtx5__specific__structs.html#a8f8f80d37794cde9472343e4487ba3eb", null ],
+ [ "thread_next", "group__rtx5__specific__structs.html#a421971e8ae94fe0bd86b85a90445e71e", null ],
+ [ "thread_prev", "group__rtx5__specific__structs.html#aa230a0d899f6c0750e6d454af3ef9b05", null ],
+ [ "delay_next", "group__rtx5__specific__structs.html#a21a74cedec66715cd5d7422797035868", null ],
+ [ "delay_prev", "group__rtx5__specific__structs.html#adcfea33cc536708db8a3419ba0295551", null ],
+ [ "thread_join", "group__rtx5__specific__structs.html#a83ec0540c50d4e79bed99f1b384bd2b9", null ],
+ [ "delay", "group__rtx5__specific__structs.html#a458421a43d4f6dc515faf427bf579d00", null ],
+ [ "priority", "group__rtx5__specific__structs.html#a81659cc4c01e54e2424022728d9effc7", null ],
+ [ "priority_base", "group__rtx5__specific__structs.html#ac67f8858081fb7a6e5a4ee8d2de3b348", null ],
+ [ "stack_frame", "group__rtx5__specific__structs.html#a1071334ebd46d95b9ab1dcad788b2adc", null ],
+ [ "flags_options", "group__rtx5__specific__structs.html#a87c898585d0aeffdcf67c9e1b3befefe", null ],
+ [ "wait_flags", "group__rtx5__specific__structs.html#a3c7b4f24d9527394f4b5a1135d117691", null ],
+ [ "thread_flags", "group__rtx5__specific__structs.html#ae757685e50b875e953f4aff67ac24b1b", null ],
+ [ "mutex_list", "group__rtx5__specific__structs.html#a70b3153655adaf42687fe250983f6c95", null ],
+ [ "stack_mem", "group__rtx5__specific__structs.html#a447dbb69b4c036e118b3b1b8bd22fe60", null ],
+ [ "stack_size", "group__rtx5__specific__structs.html#ad63716408aae5b50857ca8ce74e3a3ff", null ],
+ [ "sp", "group__rtx5__specific__structs.html#a382a07e24a852d580d7548b8d517384c", null ],
+ [ "thread_addr", "group__rtx5__specific__structs.html#adf2ebf46aa7018845582f1c70de83598", null ],
+ [ "tz_memory", "group__rtx5__specific__structs.html#adaa6c424a231e5f6c788532675f33e16", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__rtx5__specific__structs_structosRtxTimerFinfo__t.js b/docs/RTOS2/html/group__rtx5__specific__structs_structosRtxTimerFinfo__t.js
new file mode 100644
index 0000000..4473f18
--- /dev/null
+++ b/docs/RTOS2/html/group__rtx5__specific__structs_structosRtxTimerFinfo__t.js
@@ -0,0 +1,5 @@
+var group__rtx5__specific__structs_structosRtxTimerFinfo__t =
+[
+ [ "fp", "group__rtx5__specific__structs.html#a9587c8102d13ec6b8df5dd068e221125", null ],
+ [ "arg", "group__rtx5__specific__structs.html#a9ce2ec4812a92cb6ab39f6e81e9173a9", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__rtx5__specific__structs_structosRtxTimer__t.js b/docs/RTOS2/html/group__rtx5__specific__structs_structosRtxTimer__t.js
new file mode 100644
index 0000000..999414f
--- /dev/null
+++ b/docs/RTOS2/html/group__rtx5__specific__structs_structosRtxTimer__t.js
@@ -0,0 +1,13 @@
+var group__rtx5__specific__structs_structosRtxTimer__t =
+[
+ [ "id", "group__rtx5__specific__structs.html#a1e6927fa1486224044e568f9c370519b", null ],
+ [ "state", "group__rtx5__specific__structs.html#a0b57aa10271a66f3dc936bba1d2f3830", null ],
+ [ "flags", "group__rtx5__specific__structs.html#aa2585d779da0ab21273a8d92de9a0ebe", null ],
+ [ "type", "group__rtx5__specific__structs.html#a1d127017fb298b889f4ba24752d08b8e", null ],
+ [ "name", "group__rtx5__specific__structs.html#a8f8f80d37794cde9472343e4487ba3eb", null ],
+ [ "prev", "group__rtx5__specific__structs.html#ac8953ebf7df8aaf724cb12876ac8fb1a", null ],
+ [ "next", "group__rtx5__specific__structs.html#a8b9ac161a613448926b2c2b2c8dbe259", null ],
+ [ "tick", "group__rtx5__specific__structs.html#a260e06ce96c2e4deebccaedeb059dc0b", null ],
+ [ "load", "group__rtx5__specific__structs.html#aee4a6239f04d660fc90663dd6b39ca95", null ],
+ [ "finfo", "group__rtx5__specific__structs.html#ab415a6615c5ddf5365ed86e58a1e1809", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__rtx__evr.html b/docs/RTOS2/html/group__rtx__evr.html
new file mode 100644
index 0000000..d2f4b3c
--- /dev/null
+++ b/docs/RTOS2/html/group__rtx__evr.html
@@ -0,0 +1,167 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Event functions</title>
+<title>CMSIS-RTOS2: Event functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__rtx__evr.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#groups">Content</a> </div>
+ <div class="headertitle">
+<div class="title">Event functions<div class="ingroups"><a class="el" href="group__rtx5__specific.html">RTX v5 Specific API</a></div></div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>RTX5 Event Recorder functions.
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
+Content</h2></td></tr>
+<tr class="memitem:group__rtx__evr__memory"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory.html">Memory Functions</a></td></tr>
+<tr class="memdesc:group__rtx__evr__memory"><td class="mdescLeft">&#160;</td><td class="mdescRight">Events generated memory functions. <br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__rtx__evr__kernel"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html">Kernel Functions</a></td></tr>
+<tr class="memdesc:group__rtx__evr__kernel"><td class="mdescLeft">&#160;</td><td class="mdescRight">Events generated by kernel functions. <br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__rtx__evr__thread"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html">Thread Functions</a></td></tr>
+<tr class="memdesc:group__rtx__evr__thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Events generated by thread functions. <br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__rtx__evr__timer"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__timer.html">Timer Functions</a></td></tr>
+<tr class="memdesc:group__rtx__evr__timer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Events generated by timer functions. <br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__rtx__evr__event__flasg"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flasg.html">Event Flags Functions</a></td></tr>
+<tr class="memdesc:group__rtx__evr__event__flasg"><td class="mdescLeft">&#160;</td><td class="mdescRight">Events generated by event flag functions. <br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__rtx__evr__mutex"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__mutex.html">Mutex Functions</a></td></tr>
+<tr class="memdesc:group__rtx__evr__mutex"><td class="mdescLeft">&#160;</td><td class="mdescRight">Events generated by mutex functions. <br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__rtx__evr__semaphore"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__semaphore.html">Semaphore Functions</a></td></tr>
+<tr class="memdesc:group__rtx__evr__semaphore"><td class="mdescLeft">&#160;</td><td class="mdescRight">Events generated by semaphore functions. <br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__rtx__evr__memory__pool"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory__pool.html">Memory Pool Functions</a></td></tr>
+<tr class="memdesc:group__rtx__evr__memory__pool"><td class="mdescLeft">&#160;</td><td class="mdescRight">Events generated by memory pool functions. <br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__rtx__evr__message__queue"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html">Message Queue Functions</a></td></tr>
+<tr class="memdesc:group__rtx__evr__message__queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">Events generated by message queue functions. <br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
+<p>RTX5 interfaces to the <a href="http://www.keil.com/pack/doc/compiler/EventRecorder/html/index.html" target="_blank"><b>Event Recorder</b></a> to provide event information which helps you to understand and analyze the operation.</p>
+<p>To use the Event Recorder together with RTX5, it is required to create an image that generates event information. The steps are described under <a class="el" href="cre_rtx_proj.html#cre_rtx_proj_er">Add Event Recorder Visibility</a>. </p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/group__rtx__evr.js b/docs/RTOS2/html/group__rtx__evr.js
new file mode 100644
index 0000000..62bd565
--- /dev/null
+++ b/docs/RTOS2/html/group__rtx__evr.js
@@ -0,0 +1,12 @@
+var group__rtx__evr =
+[
+ [ "Memory Functions", "group__rtx__evr__memory.html", "group__rtx__evr__memory" ],
+ [ "Kernel Functions", "group__rtx__evr__kernel.html", "group__rtx__evr__kernel" ],
+ [ "Thread Functions", "group__rtx__evr__thread.html", "group__rtx__evr__thread" ],
+ [ "Timer Functions", "group__rtx__evr__timer.html", "group__rtx__evr__timer" ],
+ [ "Event Flags Functions", "group__rtx__evr__event__flasg.html", "group__rtx__evr__event__flasg" ],
+ [ "Mutex Functions", "group__rtx__evr__mutex.html", "group__rtx__evr__mutex" ],
+ [ "Semaphore Functions", "group__rtx__evr__semaphore.html", "group__rtx__evr__semaphore" ],
+ [ "Memory Pool Functions", "group__rtx__evr__memory__pool.html", "group__rtx__evr__memory__pool" ],
+ [ "Message Queue Functions", "group__rtx__evr__message__queue.html", "group__rtx__evr__message__queue" ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__rtx__evr__event__flasg.html b/docs/RTOS2/html/group__rtx__evr__event__flasg.html
new file mode 100644
index 0000000..27c8317
--- /dev/null
+++ b/docs/RTOS2/html/group__rtx__evr__event__flasg.html
@@ -0,0 +1,422 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Event Flags Functions</title>
+<title>CMSIS-RTOS2: Event Flags Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__rtx__evr__event__flasg.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">Event Flags Functions<div class="ingroups"><a class="el" href="group__rtx__evr.html">Event functions</a></div></div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Events generated by event flag functions.
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:gaa281b7380c0fa725faa722badbeb2e5f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flasg.html#gaa281b7380c0fa725faa722badbeb2e5f">EvrRtxEventFlagsError</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id, int32_t status)</td></tr>
+<tr class="memdesc:gaa281b7380c0fa725faa722badbeb2e5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on event flags error (Error) <a href="#gaa281b7380c0fa725faa722badbeb2e5f">More...</a><br/></td></tr>
+<tr class="separator:gaa281b7380c0fa725faa722badbeb2e5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae798cdc4cb10ada732e592318037cba7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flasg.html#gae798cdc4cb10ada732e592318037cba7">EvrRtxEventFlagsNew</a> (const <a class="el" href="group__CMSIS__RTOS__EventFlags.html#structosEventFlagsAttr__t">osEventFlagsAttr_t</a> *attr)</td></tr>
+<tr class="memdesc:gae798cdc4cb10ada732e592318037cba7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on event flags create and initialize (API) <a href="#gae798cdc4cb10ada732e592318037cba7">More...</a><br/></td></tr>
+<tr class="separator:gae798cdc4cb10ada732e592318037cba7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa1f48b9787e3a7d4f56449ed1dd12f26"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flasg.html#gaa1f48b9787e3a7d4f56449ed1dd12f26">EvrRtxEventFlagsCreated</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id, const char *name)</td></tr>
+<tr class="memdesc:gaa1f48b9787e3a7d4f56449ed1dd12f26"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful event flags create (Op) <a href="#gaa1f48b9787e3a7d4f56449ed1dd12f26">More...</a><br/></td></tr>
+<tr class="separator:gaa1f48b9787e3a7d4f56449ed1dd12f26"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae9ebcbc09a1c15c719d95fe7b8c2ee18"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flasg.html#gae9ebcbc09a1c15c719d95fe7b8c2ee18">EvrRtxEventFlagsGetName</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id, const char *name)</td></tr>
+<tr class="memdesc:gae9ebcbc09a1c15c719d95fe7b8c2ee18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on event flags name retrieve (API) <a href="#gae9ebcbc09a1c15c719d95fe7b8c2ee18">More...</a><br/></td></tr>
+<tr class="separator:gae9ebcbc09a1c15c719d95fe7b8c2ee18"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga877235cbe04188b831b70a3c2237c827"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flasg.html#ga877235cbe04188b831b70a3c2237c827">EvrRtxEventFlagsWaitTimeout</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id)</td></tr>
+<tr class="memdesc:ga877235cbe04188b831b70a3c2237c827"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on wait timeout for event flags (Op) <a href="#ga877235cbe04188b831b70a3c2237c827">More...</a><br/></td></tr>
+<tr class="separator:ga877235cbe04188b831b70a3c2237c827"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga10e98e35999350e9e337c716ba4dc079"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flasg.html#ga10e98e35999350e9e337c716ba4dc079">EvrRtxEventFlagsDelete</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id)</td></tr>
+<tr class="memdesc:ga10e98e35999350e9e337c716ba4dc079"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on event flags delete (API) <a href="#ga10e98e35999350e9e337c716ba4dc079">More...</a><br/></td></tr>
+<tr class="separator:ga10e98e35999350e9e337c716ba4dc079"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2ef153a6ee7a8d72375f81128454ede9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flasg.html#ga2ef153a6ee7a8d72375f81128454ede9">EvrRtxEventFlagsDestroyed</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id)</td></tr>
+<tr class="memdesc:ga2ef153a6ee7a8d72375f81128454ede9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful event flags delete (Op) <a href="#ga2ef153a6ee7a8d72375f81128454ede9">More...</a><br/></td></tr>
+<tr class="separator:ga2ef153a6ee7a8d72375f81128454ede9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="gaa281b7380c0fa725faa722badbeb2e5f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxEventFlagsError </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
+ <td class="paramname"><em>ef_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int32_t&#160;</td>
+ <td class="paramname"><em>status</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a> or NULL when ID is unknown. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">status</td><td>extended execution status.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>EventFlagsError</b> is generated when <a class="el" href="group__CMSIS__RTOS__EventFlags.html">Event Flags</a> routines complete their execution due to an error.</p>
+<p>The status parameter indicates the execution status and can be one of the <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t codes</a> or one of the extended execution status codes which are summarized in the table below.</p>
+<table class="doxtable">
+<tr>
+<th align="left">Extended Status Code </th><th align="left">Description </th></tr>
+<tr>
+<td align="left">osRtxErrorKernelNotReady </td><td align="left">Kernel scheduler is not in Ready state. </td></tr>
+<tr>
+<td align="left">osRtxErrorKernelNotRunning </td><td align="left">Kernel scheduler is not executing - there is no running thread. </td></tr>
+<tr>
+<td align="left">osRtxErrorInvalidControlBlock </td><td align="left">Object control block with invalid alignment or size was specified. </td></tr>
+<tr>
+<td align="left">osRtxErrorInvalidDataMemory </td><td align="left">Object data memory with invalid alignment or size was specified. </td></tr>
+<tr>
+<td align="left">osRtxErrorInvalidThreadStack </td><td align="left">Thread stack memory with invalid alignment or size was specified. </td></tr>
+<tr>
+<td align="left">osRtxErrorInvalidPriority </td><td align="left">Invalid thread priority was specified. </td></tr>
+<tr>
+<td align="left">osRtxErrorThreadNotJoinable </td><td align="left">Specified thread is not joinable. </td></tr>
+<tr>
+<td align="left">osRtxErrorMutexNotOwned </td><td align="left">Specified mutex is not owned by the current running thread. </td></tr>
+<tr>
+<td align="left">osRtxErrorMutexNotLocked </td><td align="left">Specified mutex is not locked. </td></tr>
+<tr>
+<td align="left">osRtxErrorMutexLockLimit </td><td align="left">Maximum number of recursive mutex locks reached. </td></tr>
+<tr>
+<td align="left">osRtxErrorSemaphoreCountLimit </td><td align="left">Semaphore count limit reached. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_InitContext_S </td><td align="left">Secure context memory system initialization failed. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_AllocContext_S </td><td align="left">Secure context memory allocation failed. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_FreeContext_S </td><td align="left">Secure context memory deallocation failed. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_LoadContext_S </td><td align="left">Secure context load failed. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_SaveContext_S </td><td align="left">Secure context save failed. </td></tr>
+</table>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>ef_id</b> : event flags ID.</li>
+<li><b>status</b> : execution status code. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gae798cdc4cb10ada732e592318037cba7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxEventFlagsNew </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="group__CMSIS__RTOS__EventFlags.html#structosEventFlagsAttr__t">osEventFlagsAttr_t</a> *&#160;</td>
+ <td class="paramname"><em>attr</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">attr</td><td>event flags attributes.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>EventFlagsNew</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a> is called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>attr</b> : memory address of Event Flags attributes or 0 when they are not specified.</li>
+</ul>
+<p>In case when <a class="el" href="group__CMSIS__RTOS__EventFlags.html#structosEventFlagsAttr__t">event flags attributes</a> are provided in the API call they are also detailed in the Event Recorder. </p>
+
+</div>
+</div>
+<a class="anchor" id="gaa1f48b9787e3a7d4f56449ed1dd12f26"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxEventFlagsCreated </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
+ <td class="paramname"><em>ef_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>name</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>pointer to event flags object name.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>EventFlagsCreated</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a> successfully creates a event flags object.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>ef_id</b> : event flags ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gae9ebcbc09a1c15c719d95fe7b8c2ee18"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxEventFlagsGetName </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
+ <td class="paramname"><em>ef_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>name</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>pointer to event flags object name.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>EventFlagsGetName</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga59f4ddf0ee8c395b1672bb978d1cfc88">osEventFlagsGetName</a> is called and its execution result is known.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>ef_id</b> : event flags ID.</li>
+<li><b>name</b> : retrieved memory address of name string (0 in case of a failure). </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga877235cbe04188b831b70a3c2237c827"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxEventFlagsWaitTimeout </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
+ <td class="paramname"><em>ef_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>EventFlagsWaitTimeout</b> is generated when wait for event flags to become signaled is aborted due to expired wait timeout.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>ef_id</b> : event flags ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga10e98e35999350e9e337c716ba4dc079"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxEventFlagsDelete </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
+ <td class="paramname"><em>ef_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>EventFlagsDelete</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga7c4acf2fb0d506ec82905dee53fb5435">osEventFlagsDelete</a> is called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>ef_id</b> : event flags ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga2ef153a6ee7a8d72375f81128454ede9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxEventFlagsDestroyed </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
+ <td class="paramname"><em>ef_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>EventFlagsDestroyed</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga7c4acf2fb0d506ec82905dee53fb5435">osEventFlagsDelete</a> successfully deletes the event flags object.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>ef_id</b> : event flags ID. </li>
+</ul>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/group__rtx__evr__event__flasg.js b/docs/RTOS2/html/group__rtx__evr__event__flasg.js
new file mode 100644
index 0000000..2b90d6e
--- /dev/null
+++ b/docs/RTOS2/html/group__rtx__evr__event__flasg.js
@@ -0,0 +1,10 @@
+var group__rtx__evr__event__flasg =
+[
+ [ "EvrRtxEventFlagsError", "group__rtx__evr__event__flasg.html#gaa281b7380c0fa725faa722badbeb2e5f", null ],
+ [ "EvrRtxEventFlagsNew", "group__rtx__evr__event__flasg.html#gae798cdc4cb10ada732e592318037cba7", null ],
+ [ "EvrRtxEventFlagsCreated", "group__rtx__evr__event__flasg.html#gaa1f48b9787e3a7d4f56449ed1dd12f26", null ],
+ [ "EvrRtxEventFlagsGetName", "group__rtx__evr__event__flasg.html#gae9ebcbc09a1c15c719d95fe7b8c2ee18", null ],
+ [ "EvrRtxEventFlagsWaitTimeout", "group__rtx__evr__event__flasg.html#ga877235cbe04188b831b70a3c2237c827", null ],
+ [ "EvrRtxEventFlagsDelete", "group__rtx__evr__event__flasg.html#ga10e98e35999350e9e337c716ba4dc079", null ],
+ [ "EvrRtxEventFlagsDestroyed", "group__rtx__evr__event__flasg.html#ga2ef153a6ee7a8d72375f81128454ede9", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__rtx__evr__kernel.html b/docs/RTOS2/html/group__rtx__evr__kernel.html
new file mode 100644
index 0000000..0842158
--- /dev/null
+++ b/docs/RTOS2/html/group__rtx__evr__kernel.html
@@ -0,0 +1,788 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Kernel Functions</title>
+<title>CMSIS-RTOS2: Kernel Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__rtx__evr__kernel.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">Kernel Functions<div class="ingroups"><a class="el" href="group__rtx__evr.html">Event functions</a></div></div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Events generated by kernel functions.
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga2a38154886e6293e127bafcfb6f7d609"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#ga2a38154886e6293e127bafcfb6f7d609">EvrRtxKernelError</a> (int32_t status)</td></tr>
+<tr class="memdesc:ga2a38154886e6293e127bafcfb6f7d609"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on RTOS kernel error (Error) <a href="#ga2a38154886e6293e127bafcfb6f7d609">More...</a><br/></td></tr>
+<tr class="separator:ga2a38154886e6293e127bafcfb6f7d609"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7e84d337b452f647c3a3d6937abd6292"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#ga7e84d337b452f647c3a3d6937abd6292">EvrRtxKernelInitialize</a> (void)</td></tr>
+<tr class="memdesc:ga7e84d337b452f647c3a3d6937abd6292"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on RTOS kernel initialize (API) <a href="#ga7e84d337b452f647c3a3d6937abd6292">More...</a><br/></td></tr>
+<tr class="separator:ga7e84d337b452f647c3a3d6937abd6292"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5db8d306617656bfec12638e17584d66"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#ga5db8d306617656bfec12638e17584d66">EvrRtxKernelInitialized</a> (void)</td></tr>
+<tr class="memdesc:ga5db8d306617656bfec12638e17584d66"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful RTOS kernel initialize (Op) <a href="#ga5db8d306617656bfec12638e17584d66">More...</a><br/></td></tr>
+<tr class="separator:ga5db8d306617656bfec12638e17584d66"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4c2a175b79d39d70a4a5112e270d03f2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#ga4c2a175b79d39d70a4a5112e270d03f2">EvrRtxKernelGetInfo</a> (<a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#structosVersion__t">osVersion_t</a> *version, char *id_buf, uint32_t id_size)</td></tr>
+<tr class="memdesc:ga4c2a175b79d39d70a4a5112e270d03f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on RTOS kernel information retrieve (API) <a href="#ga4c2a175b79d39d70a4a5112e270d03f2">More...</a><br/></td></tr>
+<tr class="separator:ga4c2a175b79d39d70a4a5112e270d03f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf09b8cd94ad2384e3ab518f0df94a651"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#gaf09b8cd94ad2384e3ab518f0df94a651">EvrRtxKernelInfoRetrieved</a> (<a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#structosVersion__t">osVersion_t</a> *version, char *id_buf)</td></tr>
+<tr class="memdesc:gaf09b8cd94ad2384e3ab518f0df94a651"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful RTOS kernel information retrieve (Op) <a href="#gaf09b8cd94ad2384e3ab518f0df94a651">More...</a><br/></td></tr>
+<tr class="separator:gaf09b8cd94ad2384e3ab518f0df94a651"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad6407e9ff0910629b041866bd801075a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#gad6407e9ff0910629b041866bd801075a">EvrRtxKernelGetState</a> (<a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga08326469274b668140ca934b168a5ad4">osKernelState_t</a> state)</td></tr>
+<tr class="memdesc:gad6407e9ff0910629b041866bd801075a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on current RTOS Kernel state retrieve (API) <a href="#gad6407e9ff0910629b041866bd801075a">More...</a><br/></td></tr>
+<tr class="separator:gad6407e9ff0910629b041866bd801075a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga75937a761dd488600d2525a532808d2b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#ga75937a761dd488600d2525a532808d2b">EvrRtxKernelStart</a> (void)</td></tr>
+<tr class="memdesc:ga75937a761dd488600d2525a532808d2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on RTOS Kernel scheduler start (API) <a href="#ga75937a761dd488600d2525a532808d2b">More...</a><br/></td></tr>
+<tr class="separator:ga75937a761dd488600d2525a532808d2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga28043ffc76fec09e6c8763a9a71b7f2a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#ga28043ffc76fec09e6c8763a9a71b7f2a">EvrRtxKernelStarted</a> (void)</td></tr>
+<tr class="memdesc:ga28043ffc76fec09e6c8763a9a71b7f2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful RTOS Kernel scheduler start (Op) <a href="#ga28043ffc76fec09e6c8763a9a71b7f2a">More...</a><br/></td></tr>
+<tr class="separator:ga28043ffc76fec09e6c8763a9a71b7f2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1d0340812c29274c6150fa72288e0612"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#ga1d0340812c29274c6150fa72288e0612">EvrRtxKernelLock</a> (void)</td></tr>
+<tr class="memdesc:ga1d0340812c29274c6150fa72288e0612"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on RTOS Kernel scheduler lock (API) <a href="#ga1d0340812c29274c6150fa72288e0612">More...</a><br/></td></tr>
+<tr class="separator:ga1d0340812c29274c6150fa72288e0612"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac18ea91ffcae01e893304609a3c6cdc3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#gac18ea91ffcae01e893304609a3c6cdc3">EvrRtxKernelLocked</a> (int32_t lock)</td></tr>
+<tr class="memdesc:gac18ea91ffcae01e893304609a3c6cdc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful RTOS Kernel scheduler lock (Op) <a href="#gac18ea91ffcae01e893304609a3c6cdc3">More...</a><br/></td></tr>
+<tr class="separator:gac18ea91ffcae01e893304609a3c6cdc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gabe14acf14ed2611a3ba1f3b280fbfd8c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#gabe14acf14ed2611a3ba1f3b280fbfd8c">EvrRtxKernelUnlock</a> (void)</td></tr>
+<tr class="memdesc:gabe14acf14ed2611a3ba1f3b280fbfd8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on RTOS Kernel scheduler unlock (API) <a href="#gabe14acf14ed2611a3ba1f3b280fbfd8c">More...</a><br/></td></tr>
+<tr class="separator:gabe14acf14ed2611a3ba1f3b280fbfd8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5cc909465e8df09c9231782e0c45e374"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#ga5cc909465e8df09c9231782e0c45e374">EvrRtxKernelUnlocked</a> (int32_t lock)</td></tr>
+<tr class="memdesc:ga5cc909465e8df09c9231782e0c45e374"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful RTOS Kernel scheduler unlock (Op) <a href="#ga5cc909465e8df09c9231782e0c45e374">More...</a><br/></td></tr>
+<tr class="separator:ga5cc909465e8df09c9231782e0c45e374"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga812fdd14d6c40072cc40aec742d4869e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#ga812fdd14d6c40072cc40aec742d4869e">EvrRtxKernelRestoreLock</a> (int32_t lock)</td></tr>
+<tr class="memdesc:ga812fdd14d6c40072cc40aec742d4869e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on RTOS Kernel scheduler lock state restore (API) <a href="#ga812fdd14d6c40072cc40aec742d4869e">More...</a><br/></td></tr>
+<tr class="separator:ga812fdd14d6c40072cc40aec742d4869e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf7be1022a33c13fb44f4059f5636b75a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#gaf7be1022a33c13fb44f4059f5636b75a">EvrRtxKernelLockRestored</a> (int32_t lock)</td></tr>
+<tr class="memdesc:gaf7be1022a33c13fb44f4059f5636b75a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful RTOS Kernel scheduler lock state restore (Op) <a href="#gaf7be1022a33c13fb44f4059f5636b75a">More...</a><br/></td></tr>
+<tr class="separator:gaf7be1022a33c13fb44f4059f5636b75a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac3abd78a9d3f3a6adc698e2929e1c32c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#gac3abd78a9d3f3a6adc698e2929e1c32c">EvrRtxKernelSuspend</a> (void)</td></tr>
+<tr class="memdesc:gac3abd78a9d3f3a6adc698e2929e1c32c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on RTOS Kernel scheduler suspend (API) <a href="#gac3abd78a9d3f3a6adc698e2929e1c32c">More...</a><br/></td></tr>
+<tr class="separator:gac3abd78a9d3f3a6adc698e2929e1c32c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gabdaa26d7774111af4913b5d6669d0f85"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#gabdaa26d7774111af4913b5d6669d0f85">EvrRtxKernelSuspended</a> (uint32_t sleep_ticks)</td></tr>
+<tr class="memdesc:gabdaa26d7774111af4913b5d6669d0f85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful RTOS Kernel scheduler suspend (Op) <a href="#gabdaa26d7774111af4913b5d6669d0f85">More...</a><br/></td></tr>
+<tr class="separator:gabdaa26d7774111af4913b5d6669d0f85"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga9a8cac0fed8d3cf06f7301c944ad26d1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#ga9a8cac0fed8d3cf06f7301c944ad26d1">EvrRtxKernelResume</a> (uint32_t sleep_ticks)</td></tr>
+<tr class="memdesc:ga9a8cac0fed8d3cf06f7301c944ad26d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on RTOS Kernel scheduler resume (API) <a href="#ga9a8cac0fed8d3cf06f7301c944ad26d1">More...</a><br/></td></tr>
+<tr class="separator:ga9a8cac0fed8d3cf06f7301c944ad26d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga26e0a22f49576824d853fb434cf6b079"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#ga26e0a22f49576824d853fb434cf6b079">EvrRtxKernelResumed</a> (void)</td></tr>
+<tr class="memdesc:ga26e0a22f49576824d853fb434cf6b079"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful RTOS Kernel scheduler resume (Op) <a href="#ga26e0a22f49576824d853fb434cf6b079">More...</a><br/></td></tr>
+<tr class="separator:ga26e0a22f49576824d853fb434cf6b079"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga64431a63437506a6f7fe22637d4891c5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#ga64431a63437506a6f7fe22637d4891c5">EvrRtxKernelGetTickCount</a> (uint32_t count)</td></tr>
+<tr class="memdesc:ga64431a63437506a6f7fe22637d4891c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on RTOS kernel tick count retrieve (API) <a href="#ga64431a63437506a6f7fe22637d4891c5">More...</a><br/></td></tr>
+<tr class="separator:ga64431a63437506a6f7fe22637d4891c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7404f3a22af84ad4091c24811fc1bf87"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#ga7404f3a22af84ad4091c24811fc1bf87">EvrRtxKernelGetTickFreq</a> (uint32_t freq)</td></tr>
+<tr class="memdesc:ga7404f3a22af84ad4091c24811fc1bf87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on RTOS kernel tick frequency retrieve (API) <a href="#ga7404f3a22af84ad4091c24811fc1bf87">More...</a><br/></td></tr>
+<tr class="separator:ga7404f3a22af84ad4091c24811fc1bf87"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gafb6530be8201b119015a3f45d66c2f09"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#gafb6530be8201b119015a3f45d66c2f09">EvrRtxKernelGetSysTimerCount</a> (uint32_t count)</td></tr>
+<tr class="memdesc:gafb6530be8201b119015a3f45d66c2f09"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on RTOS kernel system timer count retrieve (API) <a href="#gafb6530be8201b119015a3f45d66c2f09">More...</a><br/></td></tr>
+<tr class="separator:gafb6530be8201b119015a3f45d66c2f09"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf2bdfcb7b099295c7b0123abe88e10a3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#gaf2bdfcb7b099295c7b0123abe88e10a3">EvrRtxKernelGetSysTimerFreq</a> (uint32_t freq)</td></tr>
+<tr class="memdesc:gaf2bdfcb7b099295c7b0123abe88e10a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on RTOS kernel system timer frequency retrieve (API) <a href="#gaf2bdfcb7b099295c7b0123abe88e10a3">More...</a><br/></td></tr>
+<tr class="separator:gaf2bdfcb7b099295c7b0123abe88e10a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ga2a38154886e6293e127bafcfb6f7d609"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxKernelError </td>
+ <td>(</td>
+ <td class="paramtype">int32_t&#160;</td>
+ <td class="paramname"><em>status</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">status</td><td>extended execution status.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>KernelError</b> is generated when <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html">Kernel Information and Control</a> routines complete their execution due to an error.</p>
+<p>The status parameter indicates the execution status and can be one of the <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t codes</a> or one of the extended execution status codes which are summarized in the table below.</p>
+<table class="doxtable">
+<tr>
+<th align="left">Extended Status Code </th><th align="left">Description </th></tr>
+<tr>
+<td align="left">osRtxErrorKernelNotReady </td><td align="left">Kernel scheduler is not in Ready state. </td></tr>
+<tr>
+<td align="left">osRtxErrorKernelNotRunning </td><td align="left">Kernel scheduler is not executing - there is no running thread. </td></tr>
+<tr>
+<td align="left">osRtxErrorInvalidControlBlock </td><td align="left">Object control block with invalid alignment or size was specified. </td></tr>
+<tr>
+<td align="left">osRtxErrorInvalidDataMemory </td><td align="left">Object data memory with invalid alignment or size was specified. </td></tr>
+<tr>
+<td align="left">osRtxErrorInvalidThreadStack </td><td align="left">Thread stack memory with invalid alignment or size was specified. </td></tr>
+<tr>
+<td align="left">osRtxErrorInvalidPriority </td><td align="left">Invalid thread priority was specified. </td></tr>
+<tr>
+<td align="left">osRtxErrorThreadNotJoinable </td><td align="left">Specified thread is not joinable. </td></tr>
+<tr>
+<td align="left">osRtxErrorMutexNotOwned </td><td align="left">Specified mutex is not owned by the current running thread. </td></tr>
+<tr>
+<td align="left">osRtxErrorMutexNotLocked </td><td align="left">Specified mutex is not locked. </td></tr>
+<tr>
+<td align="left">osRtxErrorMutexLockLimit </td><td align="left">Maximum number of recursive mutex locks reached. </td></tr>
+<tr>
+<td align="left">osRtxErrorSemaphoreCountLimit </td><td align="left">Semaphore count limit reached. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_InitContext_S </td><td align="left">Secure context memory system initialization failed. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_AllocContext_S </td><td align="left">Secure context memory allocation failed. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_FreeContext_S </td><td align="left">Secure context memory deallocation failed. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_LoadContext_S </td><td align="left">Secure context load failed. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_SaveContext_S </td><td align="left">Secure context save failed. </td></tr>
+</table>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>status</b> : execution status code. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga7e84d337b452f647c3a3d6937abd6292"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxKernelInitialize </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>The event <b>KernelInitialize</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659">osKernelInitialize</a> is called. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga5db8d306617656bfec12638e17584d66"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxKernelInitialized </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>The event <b>KernelInitialized</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659">osKernelInitialize</a> successfully initializes the RTOS kernel. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga4c2a175b79d39d70a4a5112e270d03f2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxKernelGetInfo </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#structosVersion__t">osVersion_t</a> *&#160;</td>
+ <td class="paramname"><em>version</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&#160;</td>
+ <td class="paramname"><em>id_buf</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>id_size</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">version</td><td>pointer to buffer for retrieving version information. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">id_buf</td><td>pointer to buffer for retrieving kernel identification string. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">id_size</td><td>size of buffer for kernel identification string.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>KernelGetInfo</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga6f7764e7250c5c5364c00c45a5d1d199">osKernelGetInfo</a> is called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>version</b> : memory address of buffer for retrieving version information.</li>
+<li><b>id_buf</b> : memory address of buffer for retrieving kernel identification string.</li>
+<li><b>id_size</b> : size of id_buf in bytes. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gaf09b8cd94ad2384e3ab518f0df94a651"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxKernelInfoRetrieved </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#structosVersion__t">osVersion_t</a> *&#160;</td>
+ <td class="paramname"><em>version</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&#160;</td>
+ <td class="paramname"><em>id_buf</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">version</td><td>pointer to buffer for retrieving version information. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">id_buf</td><td>pointer to buffer for retrieving kernel identification string.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>KernelInfoRetrieved</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga6f7764e7250c5c5364c00c45a5d1d199">osKernelGetInfo</a> successfully retrieves kernel information.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>version</b> : memory address of buffer for retrieving version information.</li>
+<li><b>id_buf</b> : memory address of buffer for retrieving kernel identification string. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gad6407e9ff0910629b041866bd801075a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxKernelGetState </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga08326469274b668140ca934b168a5ad4">osKernelState_t</a>&#160;</td>
+ <td class="paramname"><em>state</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>current RTOS Kernel state.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>KernelGetState</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga48b69b81012fce051f639be288b243ba">osKernelGetState</a> is called and its execution result is known.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>state</b> : retrieved current <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga08326469274b668140ca934b168a5ad4">RTOS Kernel state</a>. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga75937a761dd488600d2525a532808d2b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxKernelStart </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>The event <b>KernelStart</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221">osKernelStart</a> is called. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga28043ffc76fec09e6c8763a9a71b7f2a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxKernelStarted </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>The event <b>KernelStarted</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221">osKernelStart</a> successfully starts the RTOS kernel execution. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga1d0340812c29274c6150fa72288e0612"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxKernelLock </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>The event <b>KernelLock</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga948609ee930d9b38336b9e1c2a4dfe12">osKernelLock</a> is called. </p>
+
+</div>
+</div>
+<a class="anchor" id="gac18ea91ffcae01e893304609a3c6cdc3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxKernelLocked </td>
+ <td>(</td>
+ <td class="paramtype">int32_t&#160;</td>
+ <td class="paramname"><em>lock</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">lock</td><td>previous lock state (1 - locked, 0 - not locked).</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>KernelLocked</b> is generated when the functions <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga948609ee930d9b38336b9e1c2a4dfe12">osKernelLock</a> successfully completes its execution.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>lock</b> : previous lock state (1 - locked, 0 - not locked). </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gabe14acf14ed2611a3ba1f3b280fbfd8c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxKernelUnlock </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>The event <b>KernelUnlock</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gaf401728b4657456198c33fe75f8d6720">osKernelUnlock</a> is called. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga5cc909465e8df09c9231782e0c45e374"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxKernelUnlocked </td>
+ <td>(</td>
+ <td class="paramtype">int32_t&#160;</td>
+ <td class="paramname"><em>lock</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">lock</td><td>previous lock state (1 - locked, 0 - not locked).</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>KernelUnlocked</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gaf401728b4657456198c33fe75f8d6720">osKernelUnlock</a> successfully completes its execution.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>lock</b> : previous lock state (1 - locked, 0 - not locked). </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga812fdd14d6c40072cc40aec742d4869e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxKernelRestoreLock </td>
+ <td>(</td>
+ <td class="paramtype">int32_t&#160;</td>
+ <td class="paramname"><em>lock</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">lock</td><td>lock state obtained by <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga948609ee930d9b38336b9e1c2a4dfe12">osKernelLock</a> or <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gaf401728b4657456198c33fe75f8d6720">osKernelUnlock</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>KernelRestoreLock</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae7d0a71b9586cbbb49fcbdf6a04f0289">osKernelRestoreLock</a> is called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>lock</b> : lock state obtained by <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga948609ee930d9b38336b9e1c2a4dfe12">osKernelLock</a> or <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gaf401728b4657456198c33fe75f8d6720">osKernelUnlock</a>. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gaf7be1022a33c13fb44f4059f5636b75a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxKernelLockRestored </td>
+ <td>(</td>
+ <td class="paramtype">int32_t&#160;</td>
+ <td class="paramname"><em>lock</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">lock</td><td>new lock state (1 - locked, 0 - not locked).</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>KernelLockRestored</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae7d0a71b9586cbbb49fcbdf6a04f0289">osKernelRestoreLock</a> successfully completes its execution.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>lock</b> : new lock state (1 - locked, 0 - not locked). </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gac3abd78a9d3f3a6adc698e2929e1c32c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxKernelSuspend </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>The event <b>KernelSuspend</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae26683e1606ec633354a2876c68f0c1f">osKernelSuspend</a> is called. </p>
+
+</div>
+</div>
+<a class="anchor" id="gabdaa26d7774111af4913b5d6669d0f85"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxKernelSuspended </td>
+ <td>(</td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>sleep_ticks</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">sleep_ticks</td><td>time in ticks, for how long the system can sleep or power-down.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>KernelSuspended</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae26683e1606ec633354a2876c68f0c1f">osKernelSuspend</a> successfully suspends RTOS kernel execution.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>sleep_ticks</b> : time in ticks, for how long the system can sleep or power-down. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga9a8cac0fed8d3cf06f7301c944ad26d1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxKernelResume </td>
+ <td>(</td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>sleep_ticks</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">sleep_ticks</td><td>time in ticks, for how long the system was in sleep or power-down mode.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>KernelResume</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga8c4b4d7ed34cab73c001665d9176aced">osKernelResume</a> is called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>sleep_ticks</b> : time in ticks, for how long the system was in sleep or power-down mode. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga26e0a22f49576824d853fb434cf6b079"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxKernelResumed </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>The event <b>KernelResumed</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga8c4b4d7ed34cab73c001665d9176aced">osKernelResume</a> successfully resumes RTOS kernel execution. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga64431a63437506a6f7fe22637d4891c5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxKernelGetTickCount </td>
+ <td>(</td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>count</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">count</td><td>RTOS kernel current tick count.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>KernelGetTickCount</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga84bcdbf2fb76b10c8df4e439f0c7e11b">osKernelGetTickCount</a> is called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>count</b> : retrieved kernel current tick count. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga7404f3a22af84ad4091c24811fc1bf87"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxKernelGetTickFreq </td>
+ <td>(</td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>freq</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">freq</td><td>frequency of the kernel tick.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>KernelGetTickFreq</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga7a8d7bd927eaaa58999f91d7d6310cee">osKernelGetTickFreq</a> called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>freq</b> : retrieved frequency of the kernel tick in Hz. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gafb6530be8201b119015a3f45d66c2f09"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxKernelGetSysTimerCount </td>
+ <td>(</td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>count</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">count</td><td>RTOS kernel current system timer count as 32-bit value.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>KernelGetSysTimerCount</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae0fcaff6cecfb4013bb556c87afcd7d2">osKernelGetSysTimerCount</a> is called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>count</b> : retrieved kernel current system timer count as 32-bit value. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gaf2bdfcb7b099295c7b0123abe88e10a3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxKernelGetSysTimerFreq </td>
+ <td>(</td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>freq</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">freq</td><td>frequency of the system timer.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>KernelGetSysTimerFreq</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga4d69215a93220f72be3684cad582f16a">osKernelGetSysTimerFreq</a> is called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>freq</b> : retrieved frequency of the system timer in Hz. </li>
+</ul>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/group__rtx__evr__kernel.js b/docs/RTOS2/html/group__rtx__evr__kernel.js
new file mode 100644
index 0000000..282e306
--- /dev/null
+++ b/docs/RTOS2/html/group__rtx__evr__kernel.js
@@ -0,0 +1,25 @@
+var group__rtx__evr__kernel =
+[
+ [ "EvrRtxKernelError", "group__rtx__evr__kernel.html#ga2a38154886e6293e127bafcfb6f7d609", null ],
+ [ "EvrRtxKernelInitialize", "group__rtx__evr__kernel.html#ga7e84d337b452f647c3a3d6937abd6292", null ],
+ [ "EvrRtxKernelInitialized", "group__rtx__evr__kernel.html#ga5db8d306617656bfec12638e17584d66", null ],
+ [ "EvrRtxKernelGetInfo", "group__rtx__evr__kernel.html#ga4c2a175b79d39d70a4a5112e270d03f2", null ],
+ [ "EvrRtxKernelInfoRetrieved", "group__rtx__evr__kernel.html#gaf09b8cd94ad2384e3ab518f0df94a651", null ],
+ [ "EvrRtxKernelGetState", "group__rtx__evr__kernel.html#gad6407e9ff0910629b041866bd801075a", null ],
+ [ "EvrRtxKernelStart", "group__rtx__evr__kernel.html#ga75937a761dd488600d2525a532808d2b", null ],
+ [ "EvrRtxKernelStarted", "group__rtx__evr__kernel.html#ga28043ffc76fec09e6c8763a9a71b7f2a", null ],
+ [ "EvrRtxKernelLock", "group__rtx__evr__kernel.html#ga1d0340812c29274c6150fa72288e0612", null ],
+ [ "EvrRtxKernelLocked", "group__rtx__evr__kernel.html#gac18ea91ffcae01e893304609a3c6cdc3", null ],
+ [ "EvrRtxKernelUnlock", "group__rtx__evr__kernel.html#gabe14acf14ed2611a3ba1f3b280fbfd8c", null ],
+ [ "EvrRtxKernelUnlocked", "group__rtx__evr__kernel.html#ga5cc909465e8df09c9231782e0c45e374", null ],
+ [ "EvrRtxKernelRestoreLock", "group__rtx__evr__kernel.html#ga812fdd14d6c40072cc40aec742d4869e", null ],
+ [ "EvrRtxKernelLockRestored", "group__rtx__evr__kernel.html#gaf7be1022a33c13fb44f4059f5636b75a", null ],
+ [ "EvrRtxKernelSuspend", "group__rtx__evr__kernel.html#gac3abd78a9d3f3a6adc698e2929e1c32c", null ],
+ [ "EvrRtxKernelSuspended", "group__rtx__evr__kernel.html#gabdaa26d7774111af4913b5d6669d0f85", null ],
+ [ "EvrRtxKernelResume", "group__rtx__evr__kernel.html#ga9a8cac0fed8d3cf06f7301c944ad26d1", null ],
+ [ "EvrRtxKernelResumed", "group__rtx__evr__kernel.html#ga26e0a22f49576824d853fb434cf6b079", null ],
+ [ "EvrRtxKernelGetTickCount", "group__rtx__evr__kernel.html#ga64431a63437506a6f7fe22637d4891c5", null ],
+ [ "EvrRtxKernelGetTickFreq", "group__rtx__evr__kernel.html#ga7404f3a22af84ad4091c24811fc1bf87", null ],
+ [ "EvrRtxKernelGetSysTimerCount", "group__rtx__evr__kernel.html#gafb6530be8201b119015a3f45d66c2f09", null ],
+ [ "EvrRtxKernelGetSysTimerFreq", "group__rtx__evr__kernel.html#gaf2bdfcb7b099295c7b0123abe88e10a3", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__rtx__evr__memory.html b/docs/RTOS2/html/group__rtx__evr__memory.html
new file mode 100644
index 0000000..d71d791
--- /dev/null
+++ b/docs/RTOS2/html/group__rtx__evr__memory.html
@@ -0,0 +1,447 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Memory Functions</title>
+<title>CMSIS-RTOS2: Memory Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__rtx__evr__memory.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">Memory Functions<div class="ingroups"><a class="el" href="group__rtx__evr.html">Event functions</a></div></div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Events generated memory functions.
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga15078f1251744140d90761e05c0fe1f2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory.html#ga15078f1251744140d90761e05c0fe1f2">EvrRtxMemoryInit</a> (void *mem, uint32_t size, uint32_t result)</td></tr>
+<tr class="memdesc:ga15078f1251744140d90761e05c0fe1f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on memory initialization (Op) <a href="#ga15078f1251744140d90761e05c0fe1f2">More...</a><br/></td></tr>
+<tr class="separator:ga15078f1251744140d90761e05c0fe1f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae1818917a5e085f92a03039ffaf2bad4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory.html#gae1818917a5e085f92a03039ffaf2bad4">EvrRtxMemoryAlloc</a> (void *mem, uint32_t size, uint32_t type, void *block)</td></tr>
+<tr class="memdesc:gae1818917a5e085f92a03039ffaf2bad4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on memory allocate (Op) <a href="#gae1818917a5e085f92a03039ffaf2bad4">More...</a><br/></td></tr>
+<tr class="separator:gae1818917a5e085f92a03039ffaf2bad4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga9227b18f5ea44d7caa8fadd4d539af9c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory.html#ga9227b18f5ea44d7caa8fadd4d539af9c">EvrRtxMemoryFree</a> (void *mem, void *block, uint32_t result)</td></tr>
+<tr class="memdesc:ga9227b18f5ea44d7caa8fadd4d539af9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on memory free (Op) <a href="#ga9227b18f5ea44d7caa8fadd4d539af9c">More...</a><br/></td></tr>
+<tr class="separator:ga9227b18f5ea44d7caa8fadd4d539af9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac71421bbf537f2f8c9255f9f51cf7d54"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory.html#gac71421bbf537f2f8c9255f9f51cf7d54">EvrRtxMemoryBlockInit</a> (<a class="el" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *mp_info, uint32_t block_count, uint32_t block_size, void *block_mem)</td></tr>
+<tr class="memdesc:gac71421bbf537f2f8c9255f9f51cf7d54"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on memory block initialization (Op) <a href="#gac71421bbf537f2f8c9255f9f51cf7d54">More...</a><br/></td></tr>
+<tr class="separator:gac71421bbf537f2f8c9255f9f51cf7d54"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga71c0df6f932436b54d7d641a440586db"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory.html#ga71c0df6f932436b54d7d641a440586db">EvrRtxMemoryBlockAlloc</a> (<a class="el" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *mp_info, void *block)</td></tr>
+<tr class="memdesc:ga71c0df6f932436b54d7d641a440586db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on memory block alloc (Op) <a href="#ga71c0df6f932436b54d7d641a440586db">More...</a><br/></td></tr>
+<tr class="separator:ga71c0df6f932436b54d7d641a440586db"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga69c2139620def7c5e59f6b1249857949"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory.html#ga69c2139620def7c5e59f6b1249857949">EvrRtxMemoryBlockFree</a> (<a class="el" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *mp_info, void *block, int32_t status)</td></tr>
+<tr class="memdesc:ga69c2139620def7c5e59f6b1249857949"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on memory block free (Op) <a href="#ga69c2139620def7c5e59f6b1249857949">More...</a><br/></td></tr>
+<tr class="separator:ga69c2139620def7c5e59f6b1249857949"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ga15078f1251744140d90761e05c0fe1f2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMemoryInit </td>
+ <td>(</td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>mem</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>size</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>result</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mem</td><td>pointer to memory pool. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>size of a memory pool in bytes. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">result</td><td>execution status: 1 - success, 0 - failure.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MemoryInit</b> is generated when initialization of a variable size memory block completes.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mem</b> : memory address of memory pool.</li>
+<li><b>size</b> : size of a memory pool in bytes.</li>
+<li><b>result</b> : execution status: 1 - success, 0 - failure. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gae1818917a5e085f92a03039ffaf2bad4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMemoryAlloc </td>
+ <td>(</td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>mem</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>size</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>type</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>block</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mem</td><td>pointer to memory pool. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>size of a memory block in bytes. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>memory block type: 0 - generic, 1 - control block. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">block</td><td>pointer to allocated memory block or NULL in case of no memory is available.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MemoryAlloc</b> is generated when allocation of a variable size memory block completes.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mem</b> : memory address of memory pool.</li>
+<li><b>size</b> : size of a memory block in bytes.</li>
+<li><b>type</b> : memory block type: 0 - generic, 1 - control block</li>
+<li><b>block</b> : memory address of allocated memory block or 0 in case of no memory is available. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga9227b18f5ea44d7caa8fadd4d539af9c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMemoryFree </td>
+ <td>(</td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>mem</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>block</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>result</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mem</td><td>pointer to memory pool. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">block</td><td>memory block to be returned to the memory pool. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">result</td><td>execution status: 1 - success, 0 - failure.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MemoryFree</b> is generated when deallocation of a variable size memory block completes.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mem</b> : memory address of memory pool.</li>
+<li><b>block</b> : memory address of block to be returned to the memory pool.</li>
+<li><b>result</b> : execution status: 1 - success, 0 - failure. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gac71421bbf537f2f8c9255f9f51cf7d54"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMemoryBlockInit </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *&#160;</td>
+ <td class="paramname"><em>mp_info</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>block_count</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>block_size</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>block_mem</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mp_info</td><td>memory pool info. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">block_count</td><td>maximum number of memory blocks in memory pool. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">block_size</td><td>size of a memory block in bytes. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">block_mem</td><td>pointer to memory for block storage.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MemoryBlockInit</b> is generated when initialization of a fixed size memory block completes.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mp_info</b> : memory address of memory pool info.</li>
+<li><b>block_count</b> : maximum number of memory blocks in memory pool.</li>
+<li><b>block_size</b> : size of a memory block in bytes.</li>
+<li><b>block_mem</b> : memory address of memory for block storage. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga71c0df6f932436b54d7d641a440586db"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMemoryBlockAlloc </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *&#160;</td>
+ <td class="paramname"><em>mp_info</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>block</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mp_info</td><td>memory pool info. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">block</td><td>address of the allocated memory block or NULL in case of no memory is available.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MemoryBlockAlloc</b> is generated when allocation of a fixed size memory block completes.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mp_info</b> : memory address of memory pool info.</li>
+<li><b>block</b> : memory address of the allocated memory block or 0 in case of no memory is available. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga69c2139620def7c5e59f6b1249857949"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMemoryBlockFree </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *&#160;</td>
+ <td class="paramname"><em>mp_info</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>block</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int32_t&#160;</td>
+ <td class="paramname"><em>status</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mp_info</td><td>memory pool info. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">block</td><td>address of the allocated memory block to be returned to the memory pool. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">status</td><td>extended execution status.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MemoryBlockFree</b> is generated when deallocation of a fixed size memory block completes.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mp_info</b> : memory address of memory pool info.</li>
+<li><b>block</b> : memory address of the allocated memory block to be returned to the memory pool.</li>
+<li><b>status</b> : execution status <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a> </li>
+</ul>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/group__rtx__evr__memory.js b/docs/RTOS2/html/group__rtx__evr__memory.js
new file mode 100644
index 0000000..c228847
--- /dev/null
+++ b/docs/RTOS2/html/group__rtx__evr__memory.js
@@ -0,0 +1,9 @@
+var group__rtx__evr__memory =
+[
+ [ "EvrRtxMemoryInit", "group__rtx__evr__memory.html#ga15078f1251744140d90761e05c0fe1f2", null ],
+ [ "EvrRtxMemoryAlloc", "group__rtx__evr__memory.html#gae1818917a5e085f92a03039ffaf2bad4", null ],
+ [ "EvrRtxMemoryFree", "group__rtx__evr__memory.html#ga9227b18f5ea44d7caa8fadd4d539af9c", null ],
+ [ "EvrRtxMemoryBlockInit", "group__rtx__evr__memory.html#gac71421bbf537f2f8c9255f9f51cf7d54", null ],
+ [ "EvrRtxMemoryBlockAlloc", "group__rtx__evr__memory.html#ga71c0df6f932436b54d7d641a440586db", null ],
+ [ "EvrRtxMemoryBlockFree", "group__rtx__evr__memory.html#ga69c2139620def7c5e59f6b1249857949", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__rtx__evr__memory__pool.html b/docs/RTOS2/html/group__rtx__evr__memory__pool.html
new file mode 100644
index 0000000..7384060
--- /dev/null
+++ b/docs/RTOS2/html/group__rtx__evr__memory__pool.html
@@ -0,0 +1,892 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Memory Pool Functions</title>
+<title>CMSIS-RTOS2: Memory Pool Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__rtx__evr__memory__pool.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">Memory Pool Functions<div class="ingroups"><a class="el" href="group__rtx__evr.html">Event functions</a></div></div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Events generated by memory pool functions.
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga7e1a37b0c5dd0a97507c025ab1a62ec8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory__pool.html#ga7e1a37b0c5dd0a97507c025ab1a62ec8">EvrRtxMemoryPoolError</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id, int32_t status)</td></tr>
+<tr class="memdesc:ga7e1a37b0c5dd0a97507c025ab1a62ec8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on memory pool error (Error) <a href="#ga7e1a37b0c5dd0a97507c025ab1a62ec8">More...</a><br/></td></tr>
+<tr class="separator:ga7e1a37b0c5dd0a97507c025ab1a62ec8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf2fd4c91acf1379e93cd9886c515b9c5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory__pool.html#gaf2fd4c91acf1379e93cd9886c515b9c5">EvrRtxMemoryPoolNew</a> (uint32_t block_count, uint32_t block_size, const <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#structosMemoryPoolAttr__t">osMemoryPoolAttr_t</a> *attr)</td></tr>
+<tr class="memdesc:gaf2fd4c91acf1379e93cd9886c515b9c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on memory pool create and initialize (API) <a href="#gaf2fd4c91acf1379e93cd9886c515b9c5">More...</a><br/></td></tr>
+<tr class="separator:gaf2fd4c91acf1379e93cd9886c515b9c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gadad71c7b04493c03647ca0929ea087b1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory__pool.html#gadad71c7b04493c03647ca0929ea087b1">EvrRtxMemoryPoolCreated</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id, const char *name)</td></tr>
+<tr class="memdesc:gadad71c7b04493c03647ca0929ea087b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful memory pool create (Op) <a href="#gadad71c7b04493c03647ca0929ea087b1">More...</a><br/></td></tr>
+<tr class="separator:gadad71c7b04493c03647ca0929ea087b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaeface1ee4957cdb59292e13c38a672d7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory__pool.html#gaeface1ee4957cdb59292e13c38a672d7">EvrRtxMemoryPoolGetName</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id, const char *name)</td></tr>
+<tr class="memdesc:gaeface1ee4957cdb59292e13c38a672d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on memory pool name retrieve (API) <a href="#gaeface1ee4957cdb59292e13c38a672d7">More...</a><br/></td></tr>
+<tr class="separator:gaeface1ee4957cdb59292e13c38a672d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga425c8a0e13c6fb13262d99a4dcabd507"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory__pool.html#ga425c8a0e13c6fb13262d99a4dcabd507">EvrRtxMemoryPoolAlloc</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id, uint32_t timeout)</td></tr>
+<tr class="memdesc:ga425c8a0e13c6fb13262d99a4dcabd507"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on memory pool allocation (API) <a href="#ga425c8a0e13c6fb13262d99a4dcabd507">More...</a><br/></td></tr>
+<tr class="separator:ga425c8a0e13c6fb13262d99a4dcabd507"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2fbd33e3d84b4f37e9f9b80576b26907"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory__pool.html#ga2fbd33e3d84b4f37e9f9b80576b26907">EvrRtxMemoryPoolAllocPending</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id, uint32_t timeout)</td></tr>
+<tr class="memdesc:ga2fbd33e3d84b4f37e9f9b80576b26907"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on pending memory pool allocation (Op) <a href="#ga2fbd33e3d84b4f37e9f9b80576b26907">More...</a><br/></td></tr>
+<tr class="separator:ga2fbd33e3d84b4f37e9f9b80576b26907"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0e144530d45959126018ad74bae7a6ed"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory__pool.html#ga0e144530d45959126018ad74bae7a6ed">EvrRtxMemoryPoolAllocTimeout</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id)</td></tr>
+<tr class="memdesc:ga0e144530d45959126018ad74bae7a6ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on memory pool allocation timeout (Op) <a href="#ga0e144530d45959126018ad74bae7a6ed">More...</a><br/></td></tr>
+<tr class="separator:ga0e144530d45959126018ad74bae7a6ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad05246ee7e1f95e7f9496716515daeed"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory__pool.html#gad05246ee7e1f95e7f9496716515daeed">EvrRtxMemoryPoolAllocated</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id, void *block)</td></tr>
+<tr class="memdesc:gad05246ee7e1f95e7f9496716515daeed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful memory pool allocation (Op) <a href="#gad05246ee7e1f95e7f9496716515daeed">More...</a><br/></td></tr>
+<tr class="separator:gad05246ee7e1f95e7f9496716515daeed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf511fce5389dde6fd3277e3469c72fd9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory__pool.html#gaf511fce5389dde6fd3277e3469c72fd9">EvrRtxMemoryPoolAllocFailed</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id)</td></tr>
+<tr class="memdesc:gaf511fce5389dde6fd3277e3469c72fd9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on unsuccessful memory pool allocation (Op) <a href="#gaf511fce5389dde6fd3277e3469c72fd9">More...</a><br/></td></tr>
+<tr class="separator:gaf511fce5389dde6fd3277e3469c72fd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga46bc3ef3b1ca2e4cfb914f58d0efe92e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory__pool.html#ga46bc3ef3b1ca2e4cfb914f58d0efe92e">EvrRtxMemoryPoolFree</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id, void *block)</td></tr>
+<tr class="memdesc:ga46bc3ef3b1ca2e4cfb914f58d0efe92e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on memory pool free (API) <a href="#ga46bc3ef3b1ca2e4cfb914f58d0efe92e">More...</a><br/></td></tr>
+<tr class="separator:ga46bc3ef3b1ca2e4cfb914f58d0efe92e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3e8e700baea20b88c3d13678fe7a7fb4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory__pool.html#ga3e8e700baea20b88c3d13678fe7a7fb4">EvrRtxMemoryPoolDeallocated</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id, void *block)</td></tr>
+<tr class="memdesc:ga3e8e700baea20b88c3d13678fe7a7fb4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful memory pool free (Op) <a href="#ga3e8e700baea20b88c3d13678fe7a7fb4">More...</a><br/></td></tr>
+<tr class="separator:ga3e8e700baea20b88c3d13678fe7a7fb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad75c377c00ae23caf7b4c3b77a0b46d1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory__pool.html#gad75c377c00ae23caf7b4c3b77a0b46d1">EvrRtxMemoryPoolFreeFailed</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id, void *block)</td></tr>
+<tr class="memdesc:gad75c377c00ae23caf7b4c3b77a0b46d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on unsuccessful memory pool free (Op) <a href="#gad75c377c00ae23caf7b4c3b77a0b46d1">More...</a><br/></td></tr>
+<tr class="separator:gad75c377c00ae23caf7b4c3b77a0b46d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaed36f26a548d40e2a3d5b81c8695f287"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory__pool.html#gaed36f26a548d40e2a3d5b81c8695f287">EvrRtxMemoryPoolGetCapacity</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id, uint32_t capacity)</td></tr>
+<tr class="memdesc:gaed36f26a548d40e2a3d5b81c8695f287"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on memory pool capacity retrieve (API) <a href="#gaed36f26a548d40e2a3d5b81c8695f287">More...</a><br/></td></tr>
+<tr class="separator:gaed36f26a548d40e2a3d5b81c8695f287"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf79f0e1eb41d42566ba9023be7e442c5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory__pool.html#gaf79f0e1eb41d42566ba9023be7e442c5">EvrRtxMemoryPoolGetBlockSize</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id, uint32_t block_size)</td></tr>
+<tr class="memdesc:gaf79f0e1eb41d42566ba9023be7e442c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on memory pool block size retrieve (API) <a href="#gaf79f0e1eb41d42566ba9023be7e442c5">More...</a><br/></td></tr>
+<tr class="separator:gaf79f0e1eb41d42566ba9023be7e442c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga668bc3e627d9b74b6e8259a667e05846"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory__pool.html#ga668bc3e627d9b74b6e8259a667e05846">EvrRtxMemoryPoolGetCount</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id, uint32_t count)</td></tr>
+<tr class="memdesc:ga668bc3e627d9b74b6e8259a667e05846"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on used memory pool blocks retrieve (API) <a href="#ga668bc3e627d9b74b6e8259a667e05846">More...</a><br/></td></tr>
+<tr class="separator:ga668bc3e627d9b74b6e8259a667e05846"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4bee4e3e41bdef94046dc059f16ca7ce"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory__pool.html#ga4bee4e3e41bdef94046dc059f16ca7ce">EvrRtxMemoryPoolGetSpace</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id, uint32_t space)</td></tr>
+<tr class="memdesc:ga4bee4e3e41bdef94046dc059f16ca7ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on available memory pool blocks retrieve (API) <a href="#ga4bee4e3e41bdef94046dc059f16ca7ce">More...</a><br/></td></tr>
+<tr class="separator:ga4bee4e3e41bdef94046dc059f16ca7ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga64ae703ad556f25b105e3eae85b582b8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory__pool.html#ga64ae703ad556f25b105e3eae85b582b8">EvrRtxMemoryPoolDelete</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id)</td></tr>
+<tr class="memdesc:ga64ae703ad556f25b105e3eae85b582b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on memory pool delete (API) <a href="#ga64ae703ad556f25b105e3eae85b582b8">More...</a><br/></td></tr>
+<tr class="separator:ga64ae703ad556f25b105e3eae85b582b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga853e1867a4b65aff3f12f7be1aee5ce4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory__pool.html#ga853e1867a4b65aff3f12f7be1aee5ce4">EvrRtxMemoryPoolDestroyed</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id)</td></tr>
+<tr class="memdesc:ga853e1867a4b65aff3f12f7be1aee5ce4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful memory pool delete (Op) <a href="#ga853e1867a4b65aff3f12f7be1aee5ce4">More...</a><br/></td></tr>
+<tr class="separator:ga853e1867a4b65aff3f12f7be1aee5ce4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ga7e1a37b0c5dd0a97507c025ab1a62ec8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMemoryPoolError </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a>&#160;</td>
+ <td class="paramname"><em>mp_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int32_t&#160;</td>
+ <td class="paramname"><em>status</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mp_id</td><td>memory pool ID obtained by <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">osMemoryPoolNew</a> or NULL when ID is unknown. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">status</td><td>extended execution status.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MemoryPoolError</b> is generated when <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html">Memory Pool</a> routines complete their execution due to an error.</p>
+<p>The status parameter indicates the execution status and can be one of the <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t codes</a> or one of the extended execution status codes which are summarized in the table below.</p>
+<table class="doxtable">
+<tr>
+<th align="left">Extended Status Code </th><th align="left">Description </th></tr>
+<tr>
+<td align="left">osRtxErrorKernelNotReady </td><td align="left">Kernel scheduler is not in Ready state. </td></tr>
+<tr>
+<td align="left">osRtxErrorKernelNotRunning </td><td align="left">Kernel scheduler is not executing - there is no running thread. </td></tr>
+<tr>
+<td align="left">osRtxErrorInvalidControlBlock </td><td align="left">Object control block with invalid alignment or size was specified. </td></tr>
+<tr>
+<td align="left">osRtxErrorInvalidDataMemory </td><td align="left">Object data memory with invalid alignment or size was specified. </td></tr>
+<tr>
+<td align="left">osRtxErrorInvalidThreadStack </td><td align="left">Thread stack memory with invalid alignment or size was specified. </td></tr>
+<tr>
+<td align="left">osRtxErrorInvalidPriority </td><td align="left">Invalid thread priority was specified. </td></tr>
+<tr>
+<td align="left">osRtxErrorThreadNotJoinable </td><td align="left">Specified thread is not joinable. </td></tr>
+<tr>
+<td align="left">osRtxErrorMutexNotOwned </td><td align="left">Specified mutex is not owned by the current running thread. </td></tr>
+<tr>
+<td align="left">osRtxErrorMutexNotLocked </td><td align="left">Specified mutex is not locked. </td></tr>
+<tr>
+<td align="left">osRtxErrorMutexLockLimit </td><td align="left">Maximum number of recursive mutex locks reached. </td></tr>
+<tr>
+<td align="left">osRtxErrorSemaphoreCountLimit </td><td align="left">Semaphore count limit reached. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_InitContext_S </td><td align="left">Secure context memory system initialization failed. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_AllocContext_S </td><td align="left">Secure context memory allocation failed. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_FreeContext_S </td><td align="left">Secure context memory deallocation failed. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_LoadContext_S </td><td align="left">Secure context load failed. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_SaveContext_S </td><td align="left">Secure context save failed. </td></tr>
+</table>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mp_id</b> : memory pool ID.</li>
+<li><b>status</b> : execution status code. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gaf2fd4c91acf1379e93cd9886c515b9c5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMemoryPoolNew </td>
+ <td>(</td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>block_count</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>block_size</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#structosMemoryPoolAttr__t">osMemoryPoolAttr_t</a> *&#160;</td>
+ <td class="paramname"><em>attr</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">block_count</td><td>maximum number of memory blocks in memory pool. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">block_size</td><td>memory block size in bytes. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">attr</td><td>memory pool attributes; NULL: default values.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MemoryPoolNew</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">osMemoryPoolNew</a> is called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>block_count</b> : maximum number of memory blocks in memory pool.</li>
+<li><b>block_size</b> : memory block size in bytes.</li>
+<li><b>attr</b> : memory address of Memory Pool attributes or 0 when they are not specified.</li>
+</ul>
+<p>In case when <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#structosMemoryPoolAttr__t">memory pool attributes</a> are provided in the API call they are also detailed in the Event Recorder. </p>
+
+</div>
+</div>
+<a class="anchor" id="gadad71c7b04493c03647ca0929ea087b1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMemoryPoolCreated </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a>&#160;</td>
+ <td class="paramname"><em>mp_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>name</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mp_id</td><td>memory pool ID obtained by <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">osMemoryPoolNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>pointer to memory pool object name.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MemoryPoolCreated</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">osMemoryPoolNew</a> successfully creates a memory pool object.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mp_id</b> : memory pool ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gaeface1ee4957cdb59292e13c38a672d7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMemoryPoolGetName </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a>&#160;</td>
+ <td class="paramname"><em>mp_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>name</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mp_id</td><td>memory pool ID obtained by <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">osMemoryPoolNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>pointer to memory pool object name.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MemoryPoolGetName</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gab414a1e138205a55820acfa277c8f386">osMemoryPoolGetName</a> is called and its execution result is known.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mp_id</b> : memory pool ID.</li>
+<li><b>name</b> : retrieved memory address of name string (0 in case of a failure). </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga425c8a0e13c6fb13262d99a4dcabd507"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMemoryPoolAlloc </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a>&#160;</td>
+ <td class="paramname"><em>mp_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>timeout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mp_id</td><td>memory pool ID obtained by <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">osMemoryPoolNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td><a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a> or 0 in case of no time-out.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MemoryPoolAlloc</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga8ead54e99ccb8f112356c88f99d38fbe">osMemoryPoolAlloc</a> is called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mp_id</b> : memory pool ID.</li>
+<li><b>timeout</b> : <a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a>. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga2fbd33e3d84b4f37e9f9b80576b26907"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMemoryPoolAllocPending </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a>&#160;</td>
+ <td class="paramname"><em>mp_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>timeout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mp_id</td><td>memory pool ID obtained by <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">osMemoryPoolNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td><a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a> or 0 in case of no time-out.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MemoryPoolAllocPending</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga8ead54e99ccb8f112356c88f99d38fbe">osMemoryPoolAlloc</a> blocks current running thread and waits for memory block to become available.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mp_id</b> : memory pool ID.</li>
+<li><b>timeout</b> : <a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a>. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga0e144530d45959126018ad74bae7a6ed"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMemoryPoolAllocTimeout </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a>&#160;</td>
+ <td class="paramname"><em>mp_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mp_id</td><td>memory pool ID obtained by <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">osMemoryPoolNew</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MemoryPoolAllocTimeout</b> is generated when wait for memory pool to become available is aborted due to expired wait timeout.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mp_id</b> : memory pool ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gad05246ee7e1f95e7f9496716515daeed"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMemoryPoolAllocated </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a>&#160;</td>
+ <td class="paramname"><em>mp_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>block</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mp_id</td><td>memory pool ID obtained by <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">osMemoryPoolNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">block</td><td>address of the allocated memory block.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MemoryPoolAllocated</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga8ead54e99ccb8f112356c88f99d38fbe">osMemoryPoolAlloc</a> successfully allocates the memory block.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mp_id</b> : memory pool ID.</li>
+<li><b>block</b> : memory address of the allocated memory block. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gaf511fce5389dde6fd3277e3469c72fd9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMemoryPoolAllocFailed </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a>&#160;</td>
+ <td class="paramname"><em>mp_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mp_id</td><td>memory pool ID obtained by <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">osMemoryPoolNew</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MemoryPoolAllocFailed</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga8ead54e99ccb8f112356c88f99d38fbe">osMemoryPoolAlloc</a> fails to allocate the memory block due to out of available memory.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mp_id</b> : memory pool ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga46bc3ef3b1ca2e4cfb914f58d0efe92e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMemoryPoolFree </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a>&#160;</td>
+ <td class="paramname"><em>mp_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>block</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mp_id</td><td>memory pool ID obtained by <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">osMemoryPoolNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">block</td><td>address of the allocated memory block to be returned to the memory pool.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MemoryPoolFree</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gabb4f4560daa6d1f8c8789082ee186d16">osMemoryPoolFree</a> is called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mp_id</b> : memory pool ID.</li>
+<li><b>block</b> : memory address of the memory block to be returned to the memory pool. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga3e8e700baea20b88c3d13678fe7a7fb4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMemoryPoolDeallocated </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a>&#160;</td>
+ <td class="paramname"><em>mp_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>block</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mp_id</td><td>memory pool ID obtained by <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">osMemoryPoolNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">block</td><td>address of the allocated memory block to be returned to the memory pool.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MemoryPoolDeallocated</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gabb4f4560daa6d1f8c8789082ee186d16">osMemoryPoolFree</a> successfully deallocates the memory block.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mp_id</b> : memory pool ID.</li>
+<li><b>block</b> : memory address of the memory block returned to the memory pool. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gad75c377c00ae23caf7b4c3b77a0b46d1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMemoryPoolFreeFailed </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a>&#160;</td>
+ <td class="paramname"><em>mp_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>block</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mp_id</td><td>memory pool ID obtained by <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">osMemoryPoolNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">block</td><td>address of the allocated memory block to be returned to the memory pool.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MemoryPoolFreeFailed</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gabb4f4560daa6d1f8c8789082ee186d16">osMemoryPoolFree</a> fails to deallocate the memory block.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mp_id</b> : memory pool ID.</li>
+<li><b>block</b> : memory address of the memory block to be returned to the memory pool. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gaed36f26a548d40e2a3d5b81c8695f287"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMemoryPoolGetCapacity </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a>&#160;</td>
+ <td class="paramname"><em>mp_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>capacity</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mp_id</td><td>memory pool ID obtained by <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">osMemoryPoolNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">capacity</td><td>maximum number of memory blocks.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MemoryPoolGetCapacity</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gad696e94bfbe28f0b6613f9303fdf6a37">osMemoryPoolGetCapacity</a> is called and its execution result is known.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mp_id</b> : memory pool ID.</li>
+<li><b>capacity</b> : retrieved maximum number of memory blocks (0 in case of a failure). </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gaf79f0e1eb41d42566ba9023be7e442c5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMemoryPoolGetBlockSize </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a>&#160;</td>
+ <td class="paramname"><em>mp_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>block_size</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mp_id</td><td>memory pool ID obtained by <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">osMemoryPoolNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">block_size</td><td>memory block size in bytes.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MemoryPoolGetBlockSize</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gab2bf059b7fa7679c3cccdaeec60b6c0e">osMemoryPoolGetBlockSize</a> is called and its execution result is known.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mp_id</b> : memory pool ID.</li>
+<li><b>block_size</b> : retrieved memory block size in bytes (0 in case of a failure). </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga668bc3e627d9b74b6e8259a667e05846"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMemoryPoolGetCount </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a>&#160;</td>
+ <td class="paramname"><em>mp_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>count</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mp_id</td><td>memory pool ID obtained by <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">osMemoryPoolNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">count</td><td>number of memory blocks used.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MemoryPoolGetCount</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga958a9449bff8c95ce213de98eef5739d">osMemoryPoolGetCount</a> is called and its execution result is known.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mp_id</b> : memory pool ID.</li>
+<li><b>count</b> : retrieved number of memory block used (0 in case of a failure). </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga4bee4e3e41bdef94046dc059f16ca7ce"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMemoryPoolGetSpace </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a>&#160;</td>
+ <td class="paramname"><em>mp_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>space</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mp_id</td><td>memory pool ID obtained by <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">osMemoryPoolNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">space</td><td>number of memory blocks available.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MemoryPoolGetSpace</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga0394cffa9479a7994e3b03c79c1cb909">osMemoryPoolGetSpace</a> is called and its execution result is known.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mp_id</b> : memory pool ID.</li>
+<li><b>space</b> : retrieved number of memory blocks available (0 in case of a failure). </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga64ae703ad556f25b105e3eae85b582b8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMemoryPoolDelete </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a>&#160;</td>
+ <td class="paramname"><em>mp_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mp_id</td><td>memory pool ID obtained by <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">osMemoryPoolNew</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MemoryPoolDelete</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga8c39e7e5cd2b9eda907466808e59d62e">osMemoryPoolDelete</a> is called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mp_id</b> : memory pool ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga853e1867a4b65aff3f12f7be1aee5ce4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMemoryPoolDestroyed </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a>&#160;</td>
+ <td class="paramname"><em>mp_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mp_id</td><td>memory pool ID obtained by <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">osMemoryPoolNew</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MemoryPoolDestroyed</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga8c39e7e5cd2b9eda907466808e59d62e">osMemoryPoolDelete</a> successfully deletes the memory pool object.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mp_id</b> : memory pool ID. </li>
+</ul>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/group__rtx__evr__memory__pool.js b/docs/RTOS2/html/group__rtx__evr__memory__pool.js
new file mode 100644
index 0000000..057a678
--- /dev/null
+++ b/docs/RTOS2/html/group__rtx__evr__memory__pool.js
@@ -0,0 +1,21 @@
+var group__rtx__evr__memory__pool =
+[
+ [ "EvrRtxMemoryPoolError", "group__rtx__evr__memory__pool.html#ga7e1a37b0c5dd0a97507c025ab1a62ec8", null ],
+ [ "EvrRtxMemoryPoolNew", "group__rtx__evr__memory__pool.html#gaf2fd4c91acf1379e93cd9886c515b9c5", null ],
+ [ "EvrRtxMemoryPoolCreated", "group__rtx__evr__memory__pool.html#gadad71c7b04493c03647ca0929ea087b1", null ],
+ [ "EvrRtxMemoryPoolGetName", "group__rtx__evr__memory__pool.html#gaeface1ee4957cdb59292e13c38a672d7", null ],
+ [ "EvrRtxMemoryPoolAlloc", "group__rtx__evr__memory__pool.html#ga425c8a0e13c6fb13262d99a4dcabd507", null ],
+ [ "EvrRtxMemoryPoolAllocPending", "group__rtx__evr__memory__pool.html#ga2fbd33e3d84b4f37e9f9b80576b26907", null ],
+ [ "EvrRtxMemoryPoolAllocTimeout", "group__rtx__evr__memory__pool.html#ga0e144530d45959126018ad74bae7a6ed", null ],
+ [ "EvrRtxMemoryPoolAllocated", "group__rtx__evr__memory__pool.html#gad05246ee7e1f95e7f9496716515daeed", null ],
+ [ "EvrRtxMemoryPoolAllocFailed", "group__rtx__evr__memory__pool.html#gaf511fce5389dde6fd3277e3469c72fd9", null ],
+ [ "EvrRtxMemoryPoolFree", "group__rtx__evr__memory__pool.html#ga46bc3ef3b1ca2e4cfb914f58d0efe92e", null ],
+ [ "EvrRtxMemoryPoolDeallocated", "group__rtx__evr__memory__pool.html#ga3e8e700baea20b88c3d13678fe7a7fb4", null ],
+ [ "EvrRtxMemoryPoolFreeFailed", "group__rtx__evr__memory__pool.html#gad75c377c00ae23caf7b4c3b77a0b46d1", null ],
+ [ "EvrRtxMemoryPoolGetCapacity", "group__rtx__evr__memory__pool.html#gaed36f26a548d40e2a3d5b81c8695f287", null ],
+ [ "EvrRtxMemoryPoolGetBlockSize", "group__rtx__evr__memory__pool.html#gaf79f0e1eb41d42566ba9023be7e442c5", null ],
+ [ "EvrRtxMemoryPoolGetCount", "group__rtx__evr__memory__pool.html#ga668bc3e627d9b74b6e8259a667e05846", null ],
+ [ "EvrRtxMemoryPoolGetSpace", "group__rtx__evr__memory__pool.html#ga4bee4e3e41bdef94046dc059f16ca7ce", null ],
+ [ "EvrRtxMemoryPoolDelete", "group__rtx__evr__memory__pool.html#ga64ae703ad556f25b105e3eae85b582b8", null ],
+ [ "EvrRtxMemoryPoolDestroyed", "group__rtx__evr__memory__pool.html#ga853e1867a4b65aff3f12f7be1aee5ce4", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__rtx__evr__message__queue.html b/docs/RTOS2/html/group__rtx__evr__message__queue.html
new file mode 100644
index 0000000..e3edde3
--- /dev/null
+++ b/docs/RTOS2/html/group__rtx__evr__message__queue.html
@@ -0,0 +1,1126 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Message Queue Functions</title>
+<title>CMSIS-RTOS2: Message Queue Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__rtx__evr__message__queue.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">Message Queue Functions<div class="ingroups"><a class="el" href="group__rtx__evr.html">Event functions</a></div></div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Events generated by message queue functions.
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga8ded1d43703e0885a81e65251c6df405"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#ga8ded1d43703e0885a81e65251c6df405">EvrRtxMessageQueueError</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id, int32_t status)</td></tr>
+<tr class="memdesc:ga8ded1d43703e0885a81e65251c6df405"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on message queue error (Error) <a href="#ga8ded1d43703e0885a81e65251c6df405">More...</a><br/></td></tr>
+<tr class="separator:ga8ded1d43703e0885a81e65251c6df405"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa7b18f18f3f53d6afb39ac1abe257000"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#gaa7b18f18f3f53d6afb39ac1abe257000">EvrRtxMessageQueueNew</a> (uint32_t msg_count, uint32_t msg_size, const <a class="el" href="group__CMSIS__RTOS__Message.html#structosMessageQueueAttr__t">osMessageQueueAttr_t</a> *attr)</td></tr>
+<tr class="memdesc:gaa7b18f18f3f53d6afb39ac1abe257000"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on message queue create and initialization (API) <a href="#gaa7b18f18f3f53d6afb39ac1abe257000">More...</a><br/></td></tr>
+<tr class="separator:gaa7b18f18f3f53d6afb39ac1abe257000"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga36d6982377c1f54a227ba6fbb9458b79"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#ga36d6982377c1f54a227ba6fbb9458b79">EvrRtxMessageQueueCreated</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id, const char *name)</td></tr>
+<tr class="memdesc:ga36d6982377c1f54a227ba6fbb9458b79"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful message queue create (Op) <a href="#ga36d6982377c1f54a227ba6fbb9458b79">More...</a><br/></td></tr>
+<tr class="separator:ga36d6982377c1f54a227ba6fbb9458b79"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad0ef8ee59d2ec189351c5884f5f8e945"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#gad0ef8ee59d2ec189351c5884f5f8e945">EvrRtxMessageQueueGetName</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id, const char *name)</td></tr>
+<tr class="memdesc:gad0ef8ee59d2ec189351c5884f5f8e945"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on message queue name retrieve(API) <a href="#gad0ef8ee59d2ec189351c5884f5f8e945">More...</a><br/></td></tr>
+<tr class="separator:gad0ef8ee59d2ec189351c5884f5f8e945"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga401536a603e5a805cc6089b4de11d3d3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#ga401536a603e5a805cc6089b4de11d3d3">EvrRtxMessageQueuePut</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id, const void *msg_ptr, uint8_t msg_prio, uint32_t timeout)</td></tr>
+<tr class="memdesc:ga401536a603e5a805cc6089b4de11d3d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on message put (API) <a href="#ga401536a603e5a805cc6089b4de11d3d3">More...</a><br/></td></tr>
+<tr class="separator:ga401536a603e5a805cc6089b4de11d3d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4b1b6191c6ca87dff4714e25b5845828"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#ga4b1b6191c6ca87dff4714e25b5845828">EvrRtxMessageQueuePutPending</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id, const void *msg_ptr, uint32_t timeout)</td></tr>
+<tr class="memdesc:ga4b1b6191c6ca87dff4714e25b5845828"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on pending message put (Op) <a href="#ga4b1b6191c6ca87dff4714e25b5845828">More...</a><br/></td></tr>
+<tr class="separator:ga4b1b6191c6ca87dff4714e25b5845828"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7394ca2d88255470f7ba0bb2bff12e99"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#ga7394ca2d88255470f7ba0bb2bff12e99">EvrRtxMessageQueuePutTimeout</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id)</td></tr>
+<tr class="memdesc:ga7394ca2d88255470f7ba0bb2bff12e99"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on message put timeout (Op) <a href="#ga7394ca2d88255470f7ba0bb2bff12e99">More...</a><br/></td></tr>
+<tr class="separator:ga7394ca2d88255470f7ba0bb2bff12e99"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8440223b9d48145df5505489e7c6f7d9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#ga8440223b9d48145df5505489e7c6f7d9">EvrRtxMessageQueueInsertPending</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id, const void *msg_ptr)</td></tr>
+<tr class="memdesc:ga8440223b9d48145df5505489e7c6f7d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on pending message insert (Op) <a href="#ga8440223b9d48145df5505489e7c6f7d9">More...</a><br/></td></tr>
+<tr class="separator:ga8440223b9d48145df5505489e7c6f7d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa30c5b375d4050ad7d99ba094821bf52"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#gaa30c5b375d4050ad7d99ba094821bf52">EvrRtxMessageQueueInserted</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id, const void *msg_ptr)</td></tr>
+<tr class="memdesc:gaa30c5b375d4050ad7d99ba094821bf52"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful message insert (Op) <a href="#gaa30c5b375d4050ad7d99ba094821bf52">More...</a><br/></td></tr>
+<tr class="separator:gaa30c5b375d4050ad7d99ba094821bf52"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2922125d8ac63fd800dc3b7888fd3f3c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#ga2922125d8ac63fd800dc3b7888fd3f3c">EvrRtxMessageQueueNotInserted</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id, const void *msg_ptr)</td></tr>
+<tr class="memdesc:ga2922125d8ac63fd800dc3b7888fd3f3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on unsuccessful message insert (Op) <a href="#ga2922125d8ac63fd800dc3b7888fd3f3c">More...</a><br/></td></tr>
+<tr class="separator:ga2922125d8ac63fd800dc3b7888fd3f3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0826c1d05d3a99afb8682f0ca3f7fd62"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#ga0826c1d05d3a99afb8682f0ca3f7fd62">EvrRtxMessageQueueGet</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id, void *msg_ptr, uint8_t *msg_prio, uint32_t timeout)</td></tr>
+<tr class="memdesc:ga0826c1d05d3a99afb8682f0ca3f7fd62"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on message get (API) <a href="#ga0826c1d05d3a99afb8682f0ca3f7fd62">More...</a><br/></td></tr>
+<tr class="separator:ga0826c1d05d3a99afb8682f0ca3f7fd62"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga11e3df32a66d5240b277375cbb5d3c83"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#ga11e3df32a66d5240b277375cbb5d3c83">EvrRtxMessageQueueGetPending</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id, void *msg_ptr, uint32_t timeout)</td></tr>
+<tr class="memdesc:ga11e3df32a66d5240b277375cbb5d3c83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on pending message get (Op) <a href="#ga11e3df32a66d5240b277375cbb5d3c83">More...</a><br/></td></tr>
+<tr class="separator:ga11e3df32a66d5240b277375cbb5d3c83"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5e699de7401c46fd0e8bc19e398dc5a8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#ga5e699de7401c46fd0e8bc19e398dc5a8">EvrRtxMessageQueueGetTimeout</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id)</td></tr>
+<tr class="memdesc:ga5e699de7401c46fd0e8bc19e398dc5a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on message get timeout (Op) <a href="#ga5e699de7401c46fd0e8bc19e398dc5a8">More...</a><br/></td></tr>
+<tr class="separator:ga5e699de7401c46fd0e8bc19e398dc5a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab340b38df5d8bf2a1182fd18f2d3a6c4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#gab340b38df5d8bf2a1182fd18f2d3a6c4">EvrRtxMessageQueueRetrieved</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id, void *msg_ptr)</td></tr>
+<tr class="memdesc:gab340b38df5d8bf2a1182fd18f2d3a6c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful message get (Op) <a href="#gab340b38df5d8bf2a1182fd18f2d3a6c4">More...</a><br/></td></tr>
+<tr class="separator:gab340b38df5d8bf2a1182fd18f2d3a6c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga22bfb7d1c2f6e3e9fea9d3267b2d6988"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#ga22bfb7d1c2f6e3e9fea9d3267b2d6988">EvrRtxMessageQueueNotRetrieved</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id, void *msg_ptr)</td></tr>
+<tr class="memdesc:ga22bfb7d1c2f6e3e9fea9d3267b2d6988"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on unsuccessful message get (Op) <a href="#ga22bfb7d1c2f6e3e9fea9d3267b2d6988">More...</a><br/></td></tr>
+<tr class="separator:ga22bfb7d1c2f6e3e9fea9d3267b2d6988"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad423a0be13d65e98d9ae08de9c399615"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#gad423a0be13d65e98d9ae08de9c399615">EvrRtxMessageQueueGetCapacity</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id, uint32_t capacity)</td></tr>
+<tr class="memdesc:gad423a0be13d65e98d9ae08de9c399615"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on message queue capacity retrieve (API) <a href="#gad423a0be13d65e98d9ae08de9c399615">More...</a><br/></td></tr>
+<tr class="separator:gad423a0be13d65e98d9ae08de9c399615"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3d6348bed3937de29765ed4d7d07fac8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#ga3d6348bed3937de29765ed4d7d07fac8">EvrRtxMessageQueueGetMsgSize</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id, uint32_t msg_size)</td></tr>
+<tr class="memdesc:ga3d6348bed3937de29765ed4d7d07fac8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on message queue message size retrieve (API) <a href="#ga3d6348bed3937de29765ed4d7d07fac8">More...</a><br/></td></tr>
+<tr class="separator:ga3d6348bed3937de29765ed4d7d07fac8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga145f0c464382dc71ff3b1c624b8bd570"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#ga145f0c464382dc71ff3b1c624b8bd570">EvrRtxMessageQueueGetCount</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id, uint32_t count)</td></tr>
+<tr class="memdesc:ga145f0c464382dc71ff3b1c624b8bd570"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on message queue message count retrieve (API) <a href="#ga145f0c464382dc71ff3b1c624b8bd570">More...</a><br/></td></tr>
+<tr class="separator:ga145f0c464382dc71ff3b1c624b8bd570"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6cfce7336f58505a2379a8a71f477d2f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#ga6cfce7336f58505a2379a8a71f477d2f">EvrRtxMessageQueueGetSpace</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id, uint32_t space)</td></tr>
+<tr class="memdesc:ga6cfce7336f58505a2379a8a71f477d2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on message queue message slots retrieve (API) <a href="#ga6cfce7336f58505a2379a8a71f477d2f">More...</a><br/></td></tr>
+<tr class="separator:ga6cfce7336f58505a2379a8a71f477d2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga91b8c8630c7d89b6b6dbb74d4fc81ba4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#ga91b8c8630c7d89b6b6dbb74d4fc81ba4">EvrRtxMessageQueueReset</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id)</td></tr>
+<tr class="memdesc:ga91b8c8630c7d89b6b6dbb74d4fc81ba4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on message queue reset (API) <a href="#ga91b8c8630c7d89b6b6dbb74d4fc81ba4">More...</a><br/></td></tr>
+<tr class="separator:ga91b8c8630c7d89b6b6dbb74d4fc81ba4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3947d4a7ac86ee7a50052c9eb4cd5432"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#ga3947d4a7ac86ee7a50052c9eb4cd5432">EvrRtxMessageQueueResetDone</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id)</td></tr>
+<tr class="memdesc:ga3947d4a7ac86ee7a50052c9eb4cd5432"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful message queue reset (Op) <a href="#ga3947d4a7ac86ee7a50052c9eb4cd5432">More...</a><br/></td></tr>
+<tr class="separator:ga3947d4a7ac86ee7a50052c9eb4cd5432"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad11606ef82f5b82f291bf64adfc805e4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#gad11606ef82f5b82f291bf64adfc805e4">EvrRtxMessageQueueDelete</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id)</td></tr>
+<tr class="memdesc:gad11606ef82f5b82f291bf64adfc805e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on message queue delete (API) <a href="#gad11606ef82f5b82f291bf64adfc805e4">More...</a><br/></td></tr>
+<tr class="separator:gad11606ef82f5b82f291bf64adfc805e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3bbf02128c31e5cc7ef4c78cdbec508c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#ga3bbf02128c31e5cc7ef4c78cdbec508c">EvrRtxMessageQueueDestroyed</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id)</td></tr>
+<tr class="memdesc:ga3bbf02128c31e5cc7ef4c78cdbec508c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful message queue delete (Op) <a href="#ga3bbf02128c31e5cc7ef4c78cdbec508c">More...</a><br/></td></tr>
+<tr class="separator:ga3bbf02128c31e5cc7ef4c78cdbec508c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ga8ded1d43703e0885a81e65251c6df405"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMessageQueueError </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a>&#160;</td>
+ <td class="paramname"><em>mq_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int32_t&#160;</td>
+ <td class="paramname"><em>status</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mq_id</td><td>message queue ID obtained by <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a> or NULL when ID is unknown. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">status</td><td>extended execution status.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MessageQueueError</b> is generated when <a class="el" href="group__CMSIS__RTOS__Message.html">Message Queue</a> routines complete their execution due to an error.</p>
+<p>The status parameter indicates the execution status and can be one of the <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t codes</a> or one of the extended execution status codes which are summarized in the table below.</p>
+<table class="doxtable">
+<tr>
+<th align="left">Extended Status Code </th><th align="left">Description </th></tr>
+<tr>
+<td align="left">osRtxErrorKernelNotReady </td><td align="left">Kernel scheduler is not in Ready state. </td></tr>
+<tr>
+<td align="left">osRtxErrorKernelNotRunning </td><td align="left">Kernel scheduler is not executing - there is no running thread. </td></tr>
+<tr>
+<td align="left">osRtxErrorInvalidControlBlock </td><td align="left">Object control block with invalid alignment or size was specified. </td></tr>
+<tr>
+<td align="left">osRtxErrorInvalidDataMemory </td><td align="left">Object data memory with invalid alignment or size was specified. </td></tr>
+<tr>
+<td align="left">osRtxErrorInvalidThreadStack </td><td align="left">Thread stack memory with invalid alignment or size was specified. </td></tr>
+<tr>
+<td align="left">osRtxErrorInvalidPriority </td><td align="left">Invalid thread priority was specified. </td></tr>
+<tr>
+<td align="left">osRtxErrorThreadNotJoinable </td><td align="left">Specified thread is not joinable. </td></tr>
+<tr>
+<td align="left">osRtxErrorMutexNotOwned </td><td align="left">Specified mutex is not owned by the current running thread. </td></tr>
+<tr>
+<td align="left">osRtxErrorMutexNotLocked </td><td align="left">Specified mutex is not locked. </td></tr>
+<tr>
+<td align="left">osRtxErrorMutexLockLimit </td><td align="left">Maximum number of recursive mutex locks reached. </td></tr>
+<tr>
+<td align="left">osRtxErrorSemaphoreCountLimit </td><td align="left">Semaphore count limit reached. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_InitContext_S </td><td align="left">Secure context memory system initialization failed. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_AllocContext_S </td><td align="left">Secure context memory allocation failed. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_FreeContext_S </td><td align="left">Secure context memory deallocation failed. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_LoadContext_S </td><td align="left">Secure context load failed. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_SaveContext_S </td><td align="left">Secure context save failed. </td></tr>
+</table>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mq_id</b> : message queue ID.</li>
+<li><b>status</b> : execution status code. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gaa7b18f18f3f53d6afb39ac1abe257000"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMessageQueueNew </td>
+ <td>(</td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>msg_count</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>msg_size</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="group__CMSIS__RTOS__Message.html#structosMessageQueueAttr__t">osMessageQueueAttr_t</a> *&#160;</td>
+ <td class="paramname"><em>attr</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">msg_count</td><td>maximum number of messages in queue. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">msg_size</td><td>maximum message size in bytes. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">attr</td><td>message queue attributes; NULL: default values.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MessageQueueNew</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a> is called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>msg_count</b> : maximum number of messages in queue.</li>
+<li><b>msg_size</b> : maximum message size in bytes.</li>
+<li><b>attr</b> : memory address of Message Queue attributes or 0 when they are not specified.</li>
+</ul>
+<p>In case when <a class="el" href="group__CMSIS__RTOS__Message.html#structosMessageQueueAttr__t">message queue attributes</a> are provided in the API call they are also detailed in the Event Recorder. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga36d6982377c1f54a227ba6fbb9458b79"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMessageQueueCreated </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a>&#160;</td>
+ <td class="paramname"><em>mq_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>name</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mq_id</td><td>message queue ID obtained by <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>pointer to message queue object name.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MessageQueueCreated</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a> successfully creates a message queue object.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mq_id</b> : message queue ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gad0ef8ee59d2ec189351c5884f5f8e945"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMessageQueueGetName </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a>&#160;</td>
+ <td class="paramname"><em>mq_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>name</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mq_id</td><td>message queue ID obtained by <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>pointer to message queue object name.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MessageQueueGetName</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__Message.html#gae7cf7bf2b97a5ae481fb60fcce99247a">osMessageQueueGetName</a> is called and its execution result is known.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mq_id</b> : message queue ID.</li>
+<li><b>name</b> : retrieved memory address of name string (0 in case of a failure). </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga401536a603e5a805cc6089b4de11d3d3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMessageQueuePut </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a>&#160;</td>
+ <td class="paramname"><em>mq_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const void *&#160;</td>
+ <td class="paramname"><em>msg_ptr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint8_t&#160;</td>
+ <td class="paramname"><em>msg_prio</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>timeout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mq_id</td><td>message queue ID obtained by <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">msg_ptr</td><td>pointer to buffer with message to put into a queue. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">msg_prio</td><td>message priority. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td><a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a> or 0 in case of no time-out.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MessageQueuePut</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__Message.html#gaa515fc8b956f721a8f72b2c505813bfc">osMessageQueuePut</a> is called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mq_id</b> : message queue ID.</li>
+<li><b>msg_ptr</b> : memory address of message buffer.</li>
+<li><b>msg_prio</b> : message priority.</li>
+<li><b>timeout</b> : <a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a>. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga4b1b6191c6ca87dff4714e25b5845828"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMessageQueuePutPending </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a>&#160;</td>
+ <td class="paramname"><em>mq_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const void *&#160;</td>
+ <td class="paramname"><em>msg_ptr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>timeout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mq_id</td><td>message queue ID obtained by <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">msg_ptr</td><td>pointer to buffer with message to put into a queue. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td><a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a> or 0 in case of no time-out.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MessageQueuePutPending</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__Message.html#gaa515fc8b956f721a8f72b2c505813bfc">osMessageQueuePut</a> starts waiting to put message into the queue.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mq_id</b> : message queue ID.</li>
+<li><b>msg_ptr</b> : memory address of message buffer.</li>
+<li><b>timeout</b> : <a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a>. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga7394ca2d88255470f7ba0bb2bff12e99"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMessageQueuePutTimeout </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a>&#160;</td>
+ <td class="paramname"><em>mq_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mq_id</td><td>message queue ID obtained by <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MessageQueuePutTimeout</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__Message.html#gaa515fc8b956f721a8f72b2c505813bfc">osMessageQueuePut</a> fails to insert a message into the queue until timeout expires.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mq_id</b> : message queue ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga8440223b9d48145df5505489e7c6f7d9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMessageQueueInsertPending </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a>&#160;</td>
+ <td class="paramname"><em>mq_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const void *&#160;</td>
+ <td class="paramname"><em>msg_ptr</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mq_id</td><td>message queue ID obtained by <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">msg_ptr</td><td>pointer to buffer with message to put into a queue.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MessageQueueInsertPending</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__Message.html#gaa515fc8b956f721a8f72b2c505813bfc">osMessageQueuePut</a> is called from ISR and message is registered to be put into the queue.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mq_id</b> : message queue ID.</li>
+<li><b>msg_ptr</b> : memory address of message buffer. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gaa30c5b375d4050ad7d99ba094821bf52"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMessageQueueInserted </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a>&#160;</td>
+ <td class="paramname"><em>mq_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const void *&#160;</td>
+ <td class="paramname"><em>msg_ptr</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mq_id</td><td>message queue ID obtained by <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">msg_ptr</td><td>pointer to buffer with message to put into a queue.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MessageQueueInserted</b> is generated when a message is successfully inserted into the queue.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mq_id</b> : message queue ID.</li>
+<li><b>msg_ptr</b> : memory address of message buffer. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga2922125d8ac63fd800dc3b7888fd3f3c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMessageQueueNotInserted </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a>&#160;</td>
+ <td class="paramname"><em>mq_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const void *&#160;</td>
+ <td class="paramname"><em>msg_ptr</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mq_id</td><td>message queue ID obtained by <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">msg_ptr</td><td>pointer to buffer with message to put into a queue.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MessageQueueNotInserted</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__Message.html#gaa515fc8b956f721a8f72b2c505813bfc">osMessageQueuePut</a> fails to insert a message into the queue. Usually this happens when queue is out of memory.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mq_id</b> : message queue ID.</li>
+<li><b>msg_ptr</b> : memory address of message buffer. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga0826c1d05d3a99afb8682f0ca3f7fd62"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMessageQueueGet </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a>&#160;</td>
+ <td class="paramname"><em>mq_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>msg_ptr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint8_t *&#160;</td>
+ <td class="paramname"><em>msg_prio</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>timeout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mq_id</td><td>message queue ID obtained by <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">msg_ptr</td><td>pointer to buffer for message to get from a queue. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">msg_prio</td><td>message priority. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td><a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a> or 0 in case of no time-out.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MessageQueueGet</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__Message.html#gad90d4959466a7a65105061da8256ab9e">osMessageQueueGet</a> is called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mq_id</b> : message queue ID.</li>
+<li><b>msg_ptr</b> : memory address of buffer for message.</li>
+<li><b>msg_prio</b> : memory address of buffer for message priority.</li>
+<li><b>timeout</b> : <a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a>. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga11e3df32a66d5240b277375cbb5d3c83"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMessageQueueGetPending </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a>&#160;</td>
+ <td class="paramname"><em>mq_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>msg_ptr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>timeout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mq_id</td><td>message queue ID obtained by <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">msg_ptr</td><td>pointer to buffer for message to get from a queue. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td><a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a> or 0 in case of no time-out.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MessageQueueGetPending</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__Message.html#gad90d4959466a7a65105061da8256ab9e">osMessageQueueGet</a> starts waiting for message to be retrieved from the queue.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mq_id</b> : message queue ID.</li>
+<li><b>msg_ptr</b> : memory address of buffer for message.</li>
+<li><b>timeout</b> : <a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a>. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga5e699de7401c46fd0e8bc19e398dc5a8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMessageQueueGetTimeout </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a>&#160;</td>
+ <td class="paramname"><em>mq_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mq_id</td><td>message queue ID obtained by <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MessageQueueGetTimeout</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__Message.html#gad90d4959466a7a65105061da8256ab9e">osMessageQueueGet</a> is called and there is no message available in queue until timeout expires.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mq_id</b> : message queue ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gab340b38df5d8bf2a1182fd18f2d3a6c4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMessageQueueRetrieved </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a>&#160;</td>
+ <td class="paramname"><em>mq_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>msg_ptr</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mq_id</td><td>message queue ID obtained by <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">msg_ptr</td><td>pointer to buffer for message to get from a queue.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MessageQueueRetrieved</b> is generated when message is retrieved from the message queue.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mq_id</b> : message queue ID.</li>
+<li><b>msg_ptr</b> : memory address of buffer for message. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga22bfb7d1c2f6e3e9fea9d3267b2d6988"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMessageQueueNotRetrieved </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a>&#160;</td>
+ <td class="paramname"><em>mq_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>msg_ptr</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mq_id</td><td>message queue ID obtained by <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">msg_ptr</td><td>pointer to buffer for message to get from a queue.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MessageQueueNotRetrieved</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__Message.html#gad90d4959466a7a65105061da8256ab9e">osMessageQueueGet</a> is called without the wait timeout and there is no message available in queue.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mq_id</b> : message queue ID.</li>
+<li><b>msg_ptr</b> : memory address of buffer for message. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gad423a0be13d65e98d9ae08de9c399615"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMessageQueueGetCapacity </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a>&#160;</td>
+ <td class="paramname"><em>mq_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>capacity</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mq_id</td><td>message queue ID obtained by <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">capacity</td><td>maximum number of messages.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MessageQueueGetCapacity</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__Message.html#gac24f87d4f395e9e9c900c320e45ade8a">osMessageQueueGetCapacity</a> is called and its execution result is known.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mq_id</b> : message queue ID.</li>
+<li><b>capacity</b> : retrieved maximum number of messages (0 in case of a failure). </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga3d6348bed3937de29765ed4d7d07fac8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMessageQueueGetMsgSize </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a>&#160;</td>
+ <td class="paramname"><em>mq_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>msg_size</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mq_id</td><td>message queue ID obtained by <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">msg_size</td><td>maximum message size in bytes.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MessageQueueGetMsgSize</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__Message.html#ga96d3d84069b20359de48109e28a1a89e">osMessageQueueGetMsgSize</a> is called and its execution result is known.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mq_id</b> : message queue ID.</li>
+<li><b>msg_size</b> : retrieved maximum message size in bytes (0 in case of a failure). </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga145f0c464382dc71ff3b1c624b8bd570"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMessageQueueGetCount </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a>&#160;</td>
+ <td class="paramname"><em>mq_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>count</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mq_id</td><td>message queue ID obtained by <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">count</td><td>number of queued messages.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MessageQueueGetCount</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__Message.html#ga6a32ac394fcff568b251c160cc3014b2">osMessageQueueGetCount</a> is called and its execution result is known.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mq_id</b> : message queue ID.</li>
+<li><b>count</b> : retrieved number of queued messages (0 in case of a failure). </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga6cfce7336f58505a2379a8a71f477d2f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMessageQueueGetSpace </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a>&#160;</td>
+ <td class="paramname"><em>mq_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>space</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mq_id</td><td>message queue ID obtained by <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">space</td><td>number of available slots for messages.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MessageQueueGetSpace</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__Message.html#gaddf0904427436dd3880d46263c2dc9fa">osMessageQueueGetSpace</a> is called and its execution result is known.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mq_id</b> : message queue ID.</li>
+<li><b>space</b> : retrieved number of available slots for messages (0 in case of a failure). </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga91b8c8630c7d89b6b6dbb74d4fc81ba4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMessageQueueReset </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a>&#160;</td>
+ <td class="paramname"><em>mq_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mq_id</td><td>message queue ID obtained by <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MessageQueueReset</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__Message.html#gac6dce7f9ad132d266292c2e979d861b4">osMessageQueueReset</a> is called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mq_id</b> : message queue ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga3947d4a7ac86ee7a50052c9eb4cd5432"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMessageQueueResetDone </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a>&#160;</td>
+ <td class="paramname"><em>mq_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mq_id</td><td>message queue ID obtained by <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MessageQueueResetDone</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__Message.html#gac6dce7f9ad132d266292c2e979d861b4">osMessageQueueReset</a> successfully completes message queue reset.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mq_id</b> : message queue ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gad11606ef82f5b82f291bf64adfc805e4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMessageQueueDelete </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a>&#160;</td>
+ <td class="paramname"><em>mq_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mq_id</td><td>message queue ID obtained by <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MessageQueueDelete</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__Message.html#gaba987f665444e0d83fa6a3a68bc72abe">osMessageQueueDelete</a> is called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mq_id</b> : message queue ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga3bbf02128c31e5cc7ef4c78cdbec508c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMessageQueueDestroyed </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a>&#160;</td>
+ <td class="paramname"><em>mq_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mq_id</td><td>message queue ID obtained by <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MessageQueueDestroyed</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__Message.html#gaba987f665444e0d83fa6a3a68bc72abe">osMessageQueueDelete</a> successfully deletes the message queue object.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mq_id</b> : message queue ID. </li>
+</ul>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/group__rtx__evr__message__queue.js b/docs/RTOS2/html/group__rtx__evr__message__queue.js
new file mode 100644
index 0000000..40cd138
--- /dev/null
+++ b/docs/RTOS2/html/group__rtx__evr__message__queue.js
@@ -0,0 +1,26 @@
+var group__rtx__evr__message__queue =
+[
+ [ "EvrRtxMessageQueueError", "group__rtx__evr__message__queue.html#ga8ded1d43703e0885a81e65251c6df405", null ],
+ [ "EvrRtxMessageQueueNew", "group__rtx__evr__message__queue.html#gaa7b18f18f3f53d6afb39ac1abe257000", null ],
+ [ "EvrRtxMessageQueueCreated", "group__rtx__evr__message__queue.html#ga36d6982377c1f54a227ba6fbb9458b79", null ],
+ [ "EvrRtxMessageQueueGetName", "group__rtx__evr__message__queue.html#gad0ef8ee59d2ec189351c5884f5f8e945", null ],
+ [ "EvrRtxMessageQueuePut", "group__rtx__evr__message__queue.html#ga401536a603e5a805cc6089b4de11d3d3", null ],
+ [ "EvrRtxMessageQueuePutPending", "group__rtx__evr__message__queue.html#ga4b1b6191c6ca87dff4714e25b5845828", null ],
+ [ "EvrRtxMessageQueuePutTimeout", "group__rtx__evr__message__queue.html#ga7394ca2d88255470f7ba0bb2bff12e99", null ],
+ [ "EvrRtxMessageQueueInsertPending", "group__rtx__evr__message__queue.html#ga8440223b9d48145df5505489e7c6f7d9", null ],
+ [ "EvrRtxMessageQueueInserted", "group__rtx__evr__message__queue.html#gaa30c5b375d4050ad7d99ba094821bf52", null ],
+ [ "EvrRtxMessageQueueNotInserted", "group__rtx__evr__message__queue.html#ga2922125d8ac63fd800dc3b7888fd3f3c", null ],
+ [ "EvrRtxMessageQueueGet", "group__rtx__evr__message__queue.html#ga0826c1d05d3a99afb8682f0ca3f7fd62", null ],
+ [ "EvrRtxMessageQueueGetPending", "group__rtx__evr__message__queue.html#ga11e3df32a66d5240b277375cbb5d3c83", null ],
+ [ "EvrRtxMessageQueueGetTimeout", "group__rtx__evr__message__queue.html#ga5e699de7401c46fd0e8bc19e398dc5a8", null ],
+ [ "EvrRtxMessageQueueRetrieved", "group__rtx__evr__message__queue.html#gab340b38df5d8bf2a1182fd18f2d3a6c4", null ],
+ [ "EvrRtxMessageQueueNotRetrieved", "group__rtx__evr__message__queue.html#ga22bfb7d1c2f6e3e9fea9d3267b2d6988", null ],
+ [ "EvrRtxMessageQueueGetCapacity", "group__rtx__evr__message__queue.html#gad423a0be13d65e98d9ae08de9c399615", null ],
+ [ "EvrRtxMessageQueueGetMsgSize", "group__rtx__evr__message__queue.html#ga3d6348bed3937de29765ed4d7d07fac8", null ],
+ [ "EvrRtxMessageQueueGetCount", "group__rtx__evr__message__queue.html#ga145f0c464382dc71ff3b1c624b8bd570", null ],
+ [ "EvrRtxMessageQueueGetSpace", "group__rtx__evr__message__queue.html#ga6cfce7336f58505a2379a8a71f477d2f", null ],
+ [ "EvrRtxMessageQueueReset", "group__rtx__evr__message__queue.html#ga91b8c8630c7d89b6b6dbb74d4fc81ba4", null ],
+ [ "EvrRtxMessageQueueResetDone", "group__rtx__evr__message__queue.html#ga3947d4a7ac86ee7a50052c9eb4cd5432", null ],
+ [ "EvrRtxMessageQueueDelete", "group__rtx__evr__message__queue.html#gad11606ef82f5b82f291bf64adfc805e4", null ],
+ [ "EvrRtxMessageQueueDestroyed", "group__rtx__evr__message__queue.html#ga3bbf02128c31e5cc7ef4c78cdbec508c", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__rtx__evr__mutex.html b/docs/RTOS2/html/group__rtx__evr__mutex.html
new file mode 100644
index 0000000..324ba98
--- /dev/null
+++ b/docs/RTOS2/html/group__rtx__evr__mutex.html
@@ -0,0 +1,692 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Mutex Functions</title>
+<title>CMSIS-RTOS2: Mutex Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__rtx__evr__mutex.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">Mutex Functions<div class="ingroups"><a class="el" href="group__rtx__evr.html">Event functions</a></div></div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Events generated by mutex functions.
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga47388f06c025938facfddd95851d666f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__mutex.html#ga47388f06c025938facfddd95851d666f">EvrRtxMutexError</a> (<a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id, int32_t status)</td></tr>
+<tr class="memdesc:ga47388f06c025938facfddd95851d666f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on mutex error (Error) <a href="#ga47388f06c025938facfddd95851d666f">More...</a><br/></td></tr>
+<tr class="separator:ga47388f06c025938facfddd95851d666f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga51f59bf99b315f016ca752eddd1911d5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__mutex.html#ga51f59bf99b315f016ca752eddd1911d5">EvrRtxMutexNew</a> (const <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#structosMutexAttr__t">osMutexAttr_t</a> *attr)</td></tr>
+<tr class="memdesc:ga51f59bf99b315f016ca752eddd1911d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on mutex create and initialize (API) <a href="#ga51f59bf99b315f016ca752eddd1911d5">More...</a><br/></td></tr>
+<tr class="separator:ga51f59bf99b315f016ca752eddd1911d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga712b32609cfb3ceded746ee6a86d2442"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__mutex.html#ga712b32609cfb3ceded746ee6a86d2442">EvrRtxMutexCreated</a> (<a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id, const char *name)</td></tr>
+<tr class="memdesc:ga712b32609cfb3ceded746ee6a86d2442"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful mutex create (Op) <a href="#ga712b32609cfb3ceded746ee6a86d2442">More...</a><br/></td></tr>
+<tr class="separator:ga712b32609cfb3ceded746ee6a86d2442"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga457302507cedf0ea969cbb110af606b8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__mutex.html#ga457302507cedf0ea969cbb110af606b8">EvrRtxMutexGetName</a> (<a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id, const char *name)</td></tr>
+<tr class="memdesc:ga457302507cedf0ea969cbb110af606b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on mutex name retrieve (API) <a href="#ga457302507cedf0ea969cbb110af606b8">More...</a><br/></td></tr>
+<tr class="separator:ga457302507cedf0ea969cbb110af606b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga913c46223d91000fedab624d0f4e53f8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__mutex.html#ga913c46223d91000fedab624d0f4e53f8">EvrRtxMutexAcquire</a> (<a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id, uint32_t timeout)</td></tr>
+<tr class="memdesc:ga913c46223d91000fedab624d0f4e53f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on mutex acquire (API) <a href="#ga913c46223d91000fedab624d0f4e53f8">More...</a><br/></td></tr>
+<tr class="separator:ga913c46223d91000fedab624d0f4e53f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaddc9bb3c619b92a786ee5255ec65eaca"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__mutex.html#gaddc9bb3c619b92a786ee5255ec65eaca">EvrRtxMutexAcquirePending</a> (<a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id, uint32_t timeout)</td></tr>
+<tr class="memdesc:gaddc9bb3c619b92a786ee5255ec65eaca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on pending mutex acquire (Op) <a href="#gaddc9bb3c619b92a786ee5255ec65eaca">More...</a><br/></td></tr>
+<tr class="separator:gaddc9bb3c619b92a786ee5255ec65eaca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4c4780cf766e9d2c6e8c26f206fba607"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__mutex.html#ga4c4780cf766e9d2c6e8c26f206fba607">EvrRtxMutexAcquireTimeout</a> (<a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id)</td></tr>
+<tr class="memdesc:ga4c4780cf766e9d2c6e8c26f206fba607"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on mutex acquire timeout (Op) <a href="#ga4c4780cf766e9d2c6e8c26f206fba607">More...</a><br/></td></tr>
+<tr class="separator:ga4c4780cf766e9d2c6e8c26f206fba607"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga697ec95e014a30a3676690a8d217f546"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__mutex.html#ga697ec95e014a30a3676690a8d217f546">EvrRtxMutexAcquired</a> (<a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id, uint32_t lock)</td></tr>
+<tr class="memdesc:ga697ec95e014a30a3676690a8d217f546"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful mutex acquire (Op) <a href="#ga697ec95e014a30a3676690a8d217f546">More...</a><br/></td></tr>
+<tr class="separator:ga697ec95e014a30a3676690a8d217f546"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5d2b957c02fcdcc0617479b93a56f6af"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__mutex.html#ga5d2b957c02fcdcc0617479b93a56f6af">EvrRtxMutexNotAcquired</a> (<a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id)</td></tr>
+<tr class="memdesc:ga5d2b957c02fcdcc0617479b93a56f6af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on unsuccessful mutex acquire (Op) <a href="#ga5d2b957c02fcdcc0617479b93a56f6af">More...</a><br/></td></tr>
+<tr class="separator:ga5d2b957c02fcdcc0617479b93a56f6af"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3fe98bfc9cbea52f578aa5a202305442"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__mutex.html#ga3fe98bfc9cbea52f578aa5a202305442">EvrRtxMutexRelease</a> (<a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id)</td></tr>
+<tr class="memdesc:ga3fe98bfc9cbea52f578aa5a202305442"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on mutex release (API) <a href="#ga3fe98bfc9cbea52f578aa5a202305442">More...</a><br/></td></tr>
+<tr class="separator:ga3fe98bfc9cbea52f578aa5a202305442"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga561c8898b912ea8eace4e6ba606210e5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__mutex.html#ga561c8898b912ea8eace4e6ba606210e5">EvrRtxMutexReleased</a> (<a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id, uint32_t lock)</td></tr>
+<tr class="memdesc:ga561c8898b912ea8eace4e6ba606210e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful mutex release (Op) <a href="#ga561c8898b912ea8eace4e6ba606210e5">More...</a><br/></td></tr>
+<tr class="separator:ga561c8898b912ea8eace4e6ba606210e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga89284c1927aa646535ff804f1aeda720"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__mutex.html#ga89284c1927aa646535ff804f1aeda720">EvrRtxMutexGetOwner</a> (<a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id, <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:ga89284c1927aa646535ff804f1aeda720"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on mutex owner retrieve (API) <a href="#ga89284c1927aa646535ff804f1aeda720">More...</a><br/></td></tr>
+<tr class="separator:ga89284c1927aa646535ff804f1aeda720"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaaadf1b9cf9a62f4e61742069b95daf68"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__mutex.html#gaaadf1b9cf9a62f4e61742069b95daf68">EvrRtxMutexDelete</a> (<a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id)</td></tr>
+<tr class="memdesc:gaaadf1b9cf9a62f4e61742069b95daf68"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on mutex delete (API) <a href="#gaaadf1b9cf9a62f4e61742069b95daf68">More...</a><br/></td></tr>
+<tr class="separator:gaaadf1b9cf9a62f4e61742069b95daf68"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa3feba455090d50295cbf4b1447f3f87"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__mutex.html#gaa3feba455090d50295cbf4b1447f3f87">EvrRtxMutexDestroyed</a> (<a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id)</td></tr>
+<tr class="memdesc:gaa3feba455090d50295cbf4b1447f3f87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful mutex delete (Op) <a href="#gaa3feba455090d50295cbf4b1447f3f87">More...</a><br/></td></tr>
+<tr class="separator:gaa3feba455090d50295cbf4b1447f3f87"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ga47388f06c025938facfddd95851d666f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMutexError </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a>&#160;</td>
+ <td class="paramname"><em>mutex_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int32_t&#160;</td>
+ <td class="paramname"><em>status</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mutex_id</td><td>mutex ID obtained by <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8">osMutexNew</a> or NULL when ID is unknown. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">status</td><td>extended execution status.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MutexError</b> is generated when <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html">Mutex Management</a> routines complete their execution due to an error.</p>
+<p>The status parameter indicates the execution status and can be one of the <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t codes</a> or one of the extended execution status codes which are summarized in the table below.</p>
+<table class="doxtable">
+<tr>
+<th align="left">Extended Status Code </th><th align="left">Description </th></tr>
+<tr>
+<td align="left">osRtxErrorKernelNotReady </td><td align="left">Kernel scheduler is not in Ready state. </td></tr>
+<tr>
+<td align="left">osRtxErrorKernelNotRunning </td><td align="left">Kernel scheduler is not executing - there is no running thread. </td></tr>
+<tr>
+<td align="left">osRtxErrorInvalidControlBlock </td><td align="left">Object control block with invalid alignment or size was specified. </td></tr>
+<tr>
+<td align="left">osRtxErrorInvalidDataMemory </td><td align="left">Object data memory with invalid alignment or size was specified. </td></tr>
+<tr>
+<td align="left">osRtxErrorInvalidThreadStack </td><td align="left">Thread stack memory with invalid alignment or size was specified. </td></tr>
+<tr>
+<td align="left">osRtxErrorInvalidPriority </td><td align="left">Invalid thread priority was specified. </td></tr>
+<tr>
+<td align="left">osRtxErrorThreadNotJoinable </td><td align="left">Specified thread is not joinable. </td></tr>
+<tr>
+<td align="left">osRtxErrorMutexNotOwned </td><td align="left">Specified mutex is not owned by the current running thread. </td></tr>
+<tr>
+<td align="left">osRtxErrorMutexNotLocked </td><td align="left">Specified mutex is not locked. </td></tr>
+<tr>
+<td align="left">osRtxErrorMutexLockLimit </td><td align="left">Maximum number of recursive mutex locks reached. </td></tr>
+<tr>
+<td align="left">osRtxErrorSemaphoreCountLimit </td><td align="left">Semaphore count limit reached. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_InitContext_S </td><td align="left">Secure context memory system initialization failed. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_AllocContext_S </td><td align="left">Secure context memory allocation failed. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_FreeContext_S </td><td align="left">Secure context memory deallocation failed. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_LoadContext_S </td><td align="left">Secure context load failed. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_SaveContext_S </td><td align="left">Secure context save failed. </td></tr>
+</table>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mutex_id</b> : mutex ID.</li>
+<li><b>status</b> : execution status code. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga51f59bf99b315f016ca752eddd1911d5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMutexNew </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#structosMutexAttr__t">osMutexAttr_t</a> *&#160;</td>
+ <td class="paramname"><em>attr</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">attr</td><td>mutex attributes.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MutexNew</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8">osMutexNew</a> is called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>attr</b> : memory address of Mutex attributes or 0 when they are not specified.</li>
+</ul>
+<p>In case when <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#structosMutexAttr__t">mutex attributes</a> are provided in the API call they are also detailed in the Event Recorder. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga712b32609cfb3ceded746ee6a86d2442"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMutexCreated </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a>&#160;</td>
+ <td class="paramname"><em>mutex_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>name</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mutex_id</td><td>mutex ID obtained by <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8">osMutexNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>pointer to mutex object name.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MutexCreated</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8">osMutexNew</a> successfully creates a mutex object.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mutex_id</b> : mutex ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga457302507cedf0ea969cbb110af606b8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMutexGetName </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a>&#160;</td>
+ <td class="paramname"><em>mutex_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>name</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mutex_id</td><td>mutex ID obtained by <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8">osMutexNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>pointer to mutex object name.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MutexGetName</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga00b5e58cd247a412d1afd18732d8b752">osMutexGetName</a> is called and its execution result is known.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mutex_id</b> : mutex ID.</li>
+<li><b>name</b> : retrieved memory address of name string (0 in case of a failure). </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga913c46223d91000fedab624d0f4e53f8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMutexAcquire </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a>&#160;</td>
+ <td class="paramname"><em>mutex_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>timeout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mutex_id</td><td>mutex ID obtained by <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8">osMutexNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td><a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a> or 0 in case of no time-out.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MutexAcquire</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gabc54686ea0fc281823b1763422d2a924">osMutexAcquire</a> is called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mutex_id</b> : mutex ID.</li>
+<li><b>timeout</b> : <a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a>. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gaddc9bb3c619b92a786ee5255ec65eaca"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMutexAcquirePending </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a>&#160;</td>
+ <td class="paramname"><em>mutex_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>timeout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mutex_id</td><td>mutex ID obtained by <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8">osMutexNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td><a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a> or 0 in case of no time-out.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MutexAcquirePending</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gabc54686ea0fc281823b1763422d2a924">osMutexAcquire</a> blocks current running thread and waits for mutex to become available.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mutex_id</b> : mutex ID.</li>
+<li><b>timeout</b> : <a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a>. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga4c4780cf766e9d2c6e8c26f206fba607"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMutexAcquireTimeout </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a>&#160;</td>
+ <td class="paramname"><em>mutex_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mutex_id</td><td>mutex ID obtained by <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8">osMutexNew</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MutexAcquireTimeout</b> is generated when wait for mutex to become available is aborted due to expired wait timeout.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mutex_id</b> : mutex ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga697ec95e014a30a3676690a8d217f546"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMutexAcquired </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a>&#160;</td>
+ <td class="paramname"><em>mutex_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>lock</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mutex_id</td><td>mutex ID obtained by <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8">osMutexNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">lock</td><td>current number of times mutex object is locked.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MutexAcquired</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gabc54686ea0fc281823b1763422d2a924">osMutexAcquire</a> successfully acquires a mutex.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mutex_id</b> : mutex ID.</li>
+<li><b>lock</b> : current lock counter state. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga5d2b957c02fcdcc0617479b93a56f6af"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMutexNotAcquired </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a>&#160;</td>
+ <td class="paramname"><em>mutex_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mutex_id</td><td>mutex ID obtained by <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8">osMutexNew</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MutexNotAcquired</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gabc54686ea0fc281823b1763422d2a924">osMutexAcquire</a> returns without timeout and mutex was not acquired.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mutex_id</b> : mutex ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga3fe98bfc9cbea52f578aa5a202305442"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMutexRelease </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a>&#160;</td>
+ <td class="paramname"><em>mutex_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mutex_id</td><td>mutex ID obtained by <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8">osMutexNew</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MutexRelease</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gaea629705703580ff58776bf73c8db915">osMutexRelease</a> is called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mutex_id</b> : mutex ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga561c8898b912ea8eace4e6ba606210e5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMutexReleased </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a>&#160;</td>
+ <td class="paramname"><em>mutex_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>lock</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mutex_id</td><td>mutex ID obtained by <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8">osMutexNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">lock</td><td>current number of times mutex object is locked.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MutexReleased</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gaea629705703580ff58776bf73c8db915">osMutexRelease</a> successfully releases a mutex.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mutex_id</b> : mutex ID.</li>
+<li><b>lock</b> : current lock counter state. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga89284c1927aa646535ff804f1aeda720"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMutexGetOwner </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a>&#160;</td>
+ <td class="paramname"><em>mutex_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
+ <td class="paramname"><em>thread_id</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mutex_id</td><td>mutex ID obtained by <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8">osMutexNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MutexGetOwner</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga7f9a7666df0978738cd570cb700b83fb">osMutexGetOwner</a> is called and its execution result is known.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mutex_id</b> : mutex ID.</li>
+<li><b>thread_id</b> : retrieved owner thread ID (0 in case of a failure or when mutex is not locked) </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gaaadf1b9cf9a62f4e61742069b95daf68"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMutexDelete </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a>&#160;</td>
+ <td class="paramname"><em>mutex_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mutex_id</td><td>mutex ID obtained by <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8">osMutexNew</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MutexDelete</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gabee73ad227ba4587d3db12ef9bd582bc">osMutexDelete</a> is called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mutex_id</b> : mutex ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gaa3feba455090d50295cbf4b1447f3f87"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxMutexDestroyed </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a>&#160;</td>
+ <td class="paramname"><em>mutex_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">mutex_id</td><td>mutex ID obtained by <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8">osMutexNew</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>MutexDestroyed</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gabee73ad227ba4587d3db12ef9bd582bc">osMutexDelete</a> successfully deletes the mutex object.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>mutex_id</b> : mutex ID. </li>
+</ul>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/group__rtx__evr__mutex.js b/docs/RTOS2/html/group__rtx__evr__mutex.js
new file mode 100644
index 0000000..42c5c4b
--- /dev/null
+++ b/docs/RTOS2/html/group__rtx__evr__mutex.js
@@ -0,0 +1,17 @@
+var group__rtx__evr__mutex =
+[
+ [ "EvrRtxMutexError", "group__rtx__evr__mutex.html#ga47388f06c025938facfddd95851d666f", null ],
+ [ "EvrRtxMutexNew", "group__rtx__evr__mutex.html#ga51f59bf99b315f016ca752eddd1911d5", null ],
+ [ "EvrRtxMutexCreated", "group__rtx__evr__mutex.html#ga712b32609cfb3ceded746ee6a86d2442", null ],
+ [ "EvrRtxMutexGetName", "group__rtx__evr__mutex.html#ga457302507cedf0ea969cbb110af606b8", null ],
+ [ "EvrRtxMutexAcquire", "group__rtx__evr__mutex.html#ga913c46223d91000fedab624d0f4e53f8", null ],
+ [ "EvrRtxMutexAcquirePending", "group__rtx__evr__mutex.html#gaddc9bb3c619b92a786ee5255ec65eaca", null ],
+ [ "EvrRtxMutexAcquireTimeout", "group__rtx__evr__mutex.html#ga4c4780cf766e9d2c6e8c26f206fba607", null ],
+ [ "EvrRtxMutexAcquired", "group__rtx__evr__mutex.html#ga697ec95e014a30a3676690a8d217f546", null ],
+ [ "EvrRtxMutexNotAcquired", "group__rtx__evr__mutex.html#ga5d2b957c02fcdcc0617479b93a56f6af", null ],
+ [ "EvrRtxMutexRelease", "group__rtx__evr__mutex.html#ga3fe98bfc9cbea52f578aa5a202305442", null ],
+ [ "EvrRtxMutexReleased", "group__rtx__evr__mutex.html#ga561c8898b912ea8eace4e6ba606210e5", null ],
+ [ "EvrRtxMutexGetOwner", "group__rtx__evr__mutex.html#ga89284c1927aa646535ff804f1aeda720", null ],
+ [ "EvrRtxMutexDelete", "group__rtx__evr__mutex.html#gaaadf1b9cf9a62f4e61742069b95daf68", null ],
+ [ "EvrRtxMutexDestroyed", "group__rtx__evr__mutex.html#gaa3feba455090d50295cbf4b1447f3f87", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__rtx__evr__semaphore.html b/docs/RTOS2/html/group__rtx__evr__semaphore.html
new file mode 100644
index 0000000..9e7c0e0
--- /dev/null
+++ b/docs/RTOS2/html/group__rtx__evr__semaphore.html
@@ -0,0 +1,712 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Semaphore Functions</title>
+<title>CMSIS-RTOS2: Semaphore Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__rtx__evr__semaphore.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">Semaphore Functions<div class="ingroups"><a class="el" href="group__rtx__evr.html">Event functions</a></div></div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Events generated by semaphore functions.
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga96a0209384296a283c7b1d23a3395fa1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__semaphore.html#ga96a0209384296a283c7b1d23a3395fa1">EvrRtxSemaphoreError</a> (<a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> semaphore_id, int32_t status)</td></tr>
+<tr class="memdesc:ga96a0209384296a283c7b1d23a3395fa1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on semaphore error (Error) <a href="#ga96a0209384296a283c7b1d23a3395fa1">More...</a><br/></td></tr>
+<tr class="separator:ga96a0209384296a283c7b1d23a3395fa1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5639f03e935ab79844777664a518c2ec"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__semaphore.html#ga5639f03e935ab79844777664a518c2ec">EvrRtxSemaphoreNew</a> (uint32_t max_count, uint32_t initial_count, const <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#structosSemaphoreAttr__t">osSemaphoreAttr_t</a> *attr)</td></tr>
+<tr class="memdesc:ga5639f03e935ab79844777664a518c2ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on semaphore create and initialize (API) <a href="#ga5639f03e935ab79844777664a518c2ec">More...</a><br/></td></tr>
+<tr class="separator:ga5639f03e935ab79844777664a518c2ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga31f9d55abcc5f398ea3810177cbf2bf3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__semaphore.html#ga31f9d55abcc5f398ea3810177cbf2bf3">EvrRtxSemaphoreCreated</a> (<a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> semaphore_id, const char *name)</td></tr>
+<tr class="memdesc:ga31f9d55abcc5f398ea3810177cbf2bf3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful semaphore create (Op) <a href="#ga31f9d55abcc5f398ea3810177cbf2bf3">More...</a><br/></td></tr>
+<tr class="separator:ga31f9d55abcc5f398ea3810177cbf2bf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga17d8aa861b6e669cc68c3c41e3e12332"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__semaphore.html#ga17d8aa861b6e669cc68c3c41e3e12332">EvrRtxSemaphoreGetName</a> (<a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> semaphore_id, const char *name)</td></tr>
+<tr class="memdesc:ga17d8aa861b6e669cc68c3c41e3e12332"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on semaphore name retrieve (API) <a href="#ga17d8aa861b6e669cc68c3c41e3e12332">More...</a><br/></td></tr>
+<tr class="separator:ga17d8aa861b6e669cc68c3c41e3e12332"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gafd91c9bb268a48b394571a9fc1809019"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__semaphore.html#gafd91c9bb268a48b394571a9fc1809019">EvrRtxSemaphoreAcquire</a> (<a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> semaphore_id, uint32_t timeout)</td></tr>
+<tr class="memdesc:gafd91c9bb268a48b394571a9fc1809019"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on semaphore acquire (API) <a href="#gafd91c9bb268a48b394571a9fc1809019">More...</a><br/></td></tr>
+<tr class="separator:gafd91c9bb268a48b394571a9fc1809019"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gabbaaf85deaf4645414987fc1c3289343"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__semaphore.html#gabbaaf85deaf4645414987fc1c3289343">EvrRtxSemaphoreAcquirePending</a> (<a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> semaphore_id, uint32_t timeout)</td></tr>
+<tr class="memdesc:gabbaaf85deaf4645414987fc1c3289343"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on pending semaphore acquire (Op) <a href="#gabbaaf85deaf4645414987fc1c3289343">More...</a><br/></td></tr>
+<tr class="separator:gabbaaf85deaf4645414987fc1c3289343"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga852798d5e14cda14484564ac4d7f5a4b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__semaphore.html#ga852798d5e14cda14484564ac4d7f5a4b">EvrRtxSemaphoreAcquireTimeout</a> (<a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> semaphore_id)</td></tr>
+<tr class="memdesc:ga852798d5e14cda14484564ac4d7f5a4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on semaphore acquire timeout (Op) <a href="#ga852798d5e14cda14484564ac4d7f5a4b">More...</a><br/></td></tr>
+<tr class="separator:ga852798d5e14cda14484564ac4d7f5a4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4d1f85595cc0802cf8cac89fd8f88b5d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__semaphore.html#ga4d1f85595cc0802cf8cac89fd8f88b5d">EvrRtxSemaphoreAcquired</a> (<a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> semaphore_id, uint32_t tokens)</td></tr>
+<tr class="memdesc:ga4d1f85595cc0802cf8cac89fd8f88b5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful semaphore acquire (Op) <a href="#ga4d1f85595cc0802cf8cac89fd8f88b5d">More...</a><br/></td></tr>
+<tr class="separator:ga4d1f85595cc0802cf8cac89fd8f88b5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga53eb40f5251e9464b46cc153fe8b26d8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__semaphore.html#ga53eb40f5251e9464b46cc153fe8b26d8">EvrRtxSemaphoreNotAcquired</a> (<a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> semaphore_id)</td></tr>
+<tr class="memdesc:ga53eb40f5251e9464b46cc153fe8b26d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on unsuccessful semaphore acquire (Op) <a href="#ga53eb40f5251e9464b46cc153fe8b26d8">More...</a><br/></td></tr>
+<tr class="separator:ga53eb40f5251e9464b46cc153fe8b26d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0a9f3c7dbf89d3f155a96524e7195630"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__semaphore.html#ga0a9f3c7dbf89d3f155a96524e7195630">EvrRtxSemaphoreRelease</a> (<a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> semaphore_id)</td></tr>
+<tr class="memdesc:ga0a9f3c7dbf89d3f155a96524e7195630"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on semaphore release (API) <a href="#ga0a9f3c7dbf89d3f155a96524e7195630">More...</a><br/></td></tr>
+<tr class="separator:ga0a9f3c7dbf89d3f155a96524e7195630"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga814dc5c7d95e7d1bfb30ce0f472ae420"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__semaphore.html#ga814dc5c7d95e7d1bfb30ce0f472ae420">EvrRtxSemaphoreReleased</a> (<a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> semaphore_id, uint32_t tokens)</td></tr>
+<tr class="memdesc:ga814dc5c7d95e7d1bfb30ce0f472ae420"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful semaphore release (Op) <a href="#ga814dc5c7d95e7d1bfb30ce0f472ae420">More...</a><br/></td></tr>
+<tr class="separator:ga814dc5c7d95e7d1bfb30ce0f472ae420"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga17f21ffa4ec39c50ce203e6985dd0deb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__semaphore.html#ga17f21ffa4ec39c50ce203e6985dd0deb">EvrRtxSemaphoreGetCount</a> (<a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> semaphore_id, uint32_t count)</td></tr>
+<tr class="memdesc:ga17f21ffa4ec39c50ce203e6985dd0deb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on semaphore token count retrieval (API) <a href="#ga17f21ffa4ec39c50ce203e6985dd0deb">More...</a><br/></td></tr>
+<tr class="separator:ga17f21ffa4ec39c50ce203e6985dd0deb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaeb0605679ad9f686dd0f40610c8af772"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__semaphore.html#gaeb0605679ad9f686dd0f40610c8af772">EvrRtxSemaphoreDelete</a> (<a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> semaphore_id)</td></tr>
+<tr class="memdesc:gaeb0605679ad9f686dd0f40610c8af772"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on semaphore delete (API) <a href="#gaeb0605679ad9f686dd0f40610c8af772">More...</a><br/></td></tr>
+<tr class="separator:gaeb0605679ad9f686dd0f40610c8af772"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaad8d8a2844e948b00f02e8620c431c9c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__semaphore.html#gaad8d8a2844e948b00f02e8620c431c9c">EvrRtxSemaphoreDestroyed</a> (<a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> semaphore_id)</td></tr>
+<tr class="memdesc:gaad8d8a2844e948b00f02e8620c431c9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful semaphore delete (Op) <a href="#gaad8d8a2844e948b00f02e8620c431c9c">More...</a><br/></td></tr>
+<tr class="separator:gaad8d8a2844e948b00f02e8620c431c9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ga96a0209384296a283c7b1d23a3395fa1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxSemaphoreError </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a>&#160;</td>
+ <td class="paramname"><em>semaphore_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int32_t&#160;</td>
+ <td class="paramname"><em>status</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">semaphore_id</td><td>semaphore ID obtained by <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a> or NULL when ID is unknown. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">status</td><td>extended execution status.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>SemaphoreError</b> is generated when <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html">Semaphores</a> routines complete their execution due to an error.</p>
+<p>The status parameter indicates the execution status and can be one of the <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t codes</a> or one of the extended execution status codes which are summarized in the table below.</p>
+<table class="doxtable">
+<tr>
+<th align="left">Extended Status Code </th><th align="left">Description </th></tr>
+<tr>
+<td align="left">osRtxErrorKernelNotReady </td><td align="left">Kernel scheduler is not in Ready state. </td></tr>
+<tr>
+<td align="left">osRtxErrorKernelNotRunning </td><td align="left">Kernel scheduler is not executing - there is no running thread. </td></tr>
+<tr>
+<td align="left">osRtxErrorInvalidControlBlock </td><td align="left">Object control block with invalid alignment or size was specified. </td></tr>
+<tr>
+<td align="left">osRtxErrorInvalidDataMemory </td><td align="left">Object data memory with invalid alignment or size was specified. </td></tr>
+<tr>
+<td align="left">osRtxErrorInvalidThreadStack </td><td align="left">Thread stack memory with invalid alignment or size was specified. </td></tr>
+<tr>
+<td align="left">osRtxErrorInvalidPriority </td><td align="left">Invalid thread priority was specified. </td></tr>
+<tr>
+<td align="left">osRtxErrorThreadNotJoinable </td><td align="left">Specified thread is not joinable. </td></tr>
+<tr>
+<td align="left">osRtxErrorMutexNotOwned </td><td align="left">Specified mutex is not owned by the current running thread. </td></tr>
+<tr>
+<td align="left">osRtxErrorMutexNotLocked </td><td align="left">Specified mutex is not locked. </td></tr>
+<tr>
+<td align="left">osRtxErrorMutexLockLimit </td><td align="left">Maximum number of recursive mutex locks reached. </td></tr>
+<tr>
+<td align="left">osRtxErrorSemaphoreCountLimit </td><td align="left">Semaphore count limit reached. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_InitContext_S </td><td align="left">Secure context memory system initialization failed. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_AllocContext_S </td><td align="left">Secure context memory allocation failed. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_FreeContext_S </td><td align="left">Secure context memory deallocation failed. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_LoadContext_S </td><td align="left">Secure context load failed. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_SaveContext_S </td><td align="left">Secure context save failed. </td></tr>
+</table>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>semaphore_id</b> : semaphore ID.</li>
+<li><b>status</b> : execution status code. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga5639f03e935ab79844777664a518c2ec"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxSemaphoreNew </td>
+ <td>(</td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>max_count</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>initial_count</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#structosSemaphoreAttr__t">osSemaphoreAttr_t</a> *&#160;</td>
+ <td class="paramname"><em>attr</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">max_count</td><td>maximum number of available tokens. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">initial_count</td><td>initial number of available tokens. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">attr</td><td>semaphore attributes.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>SemaphoreNew</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a> is called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>max_count</b> : maximum number of available tokens.</li>
+<li><b>initial_count</b> : initial number of available tokens.</li>
+<li><b>attr</b> : memory address of Semaphore attributes or 0 when they are not specified.</li>
+</ul>
+<p>In case when <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#structosSemaphoreAttr__t">semaphore attributes</a> are provided in the API call they are also detailed in the Event Recorder. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga31f9d55abcc5f398ea3810177cbf2bf3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxSemaphoreCreated </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a>&#160;</td>
+ <td class="paramname"><em>semaphore_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>name</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">semaphore_id</td><td>semaphore ID obtained by <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>pointer to semaphore object name.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>SemaphoreCreated</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a> successfully creates a semaphore object.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>semaphore_id</b> : semaphore ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga17d8aa861b6e669cc68c3c41e3e12332"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxSemaphoreGetName </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a>&#160;</td>
+ <td class="paramname"><em>semaphore_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>name</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">semaphore_id</td><td>semaphore ID obtained by <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>pointer to semaphore object name.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>SemaphoreGetName</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga9586952051f00285f1482dbe6695bbc4">osSemaphoreGetName</a> is called and its execution result is known.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>semaphore_id</b> : semaphore ID.</li>
+<li><b>name</b> : retrieved memory address of name string (0 in case of a failure). </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gafd91c9bb268a48b394571a9fc1809019"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxSemaphoreAcquire </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a>&#160;</td>
+ <td class="paramname"><em>semaphore_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>timeout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">semaphore_id</td><td>semaphore ID obtained by <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td><a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a> or 0 in case of no time-out.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>SemaphoreAcquire</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7e94c8b242a0c81f2cc79ec22895c87b">osSemaphoreAcquire</a> is called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>semaphore_id</b> : semaphore ID.</li>
+<li><b>timeout</b> : <a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a>. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gabbaaf85deaf4645414987fc1c3289343"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxSemaphoreAcquirePending </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a>&#160;</td>
+ <td class="paramname"><em>semaphore_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>timeout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">semaphore_id</td><td>semaphore ID obtained by <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td><a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a> or 0 in case of no time-out.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>SemaphoreAcquirePending</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7e94c8b242a0c81f2cc79ec22895c87b">osSemaphoreAcquire</a> blocks current running thread and waits for semaphore token to become available.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>semaphore_id</b> : semaphore ID.</li>
+<li><b>timeout</b> : <a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a>. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga852798d5e14cda14484564ac4d7f5a4b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxSemaphoreAcquireTimeout </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a>&#160;</td>
+ <td class="paramname"><em>semaphore_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">semaphore_id</td><td>semaphore ID obtained by <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>SemaphoreAcquireTimeout</b> is generated when wait for semaphore to become available is aborted due to expired wait timeout.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>semaphore_id</b> : semaphore ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga4d1f85595cc0802cf8cac89fd8f88b5d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxSemaphoreAcquired </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a>&#160;</td>
+ <td class="paramname"><em>semaphore_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>tokens</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">semaphore_id</td><td>semaphore ID obtained by <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">tokens</td><td>number of available tokens.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>SemaphoreAcquired</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7e94c8b242a0c81f2cc79ec22895c87b">osSemaphoreAcquire</a> successfully acquires the semaphore token.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>semaphore_id</b> : semaphore ID.</li>
+<li><b>tokens</b> : available tokens. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga53eb40f5251e9464b46cc153fe8b26d8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxSemaphoreNotAcquired </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a>&#160;</td>
+ <td class="paramname"><em>semaphore_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">semaphore_id</td><td>semaphore ID obtained by <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>SemaphoreNotAcquired</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gabc54686ea0fc281823b1763422d2a924">osMutexAcquire</a> returns without timeout and semaphore token was not acquired.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>semaphore_id</b> : semaphore ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga0a9f3c7dbf89d3f155a96524e7195630"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxSemaphoreRelease </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a>&#160;</td>
+ <td class="paramname"><em>semaphore_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">semaphore_id</td><td>semaphore ID obtained by <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>SemaphoreRelease</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga0abcee1b5449d7a6928fb9248c690bb6">osSemaphoreRelease</a> is called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>semaphore_id</b> : semaphore ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga814dc5c7d95e7d1bfb30ce0f472ae420"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxSemaphoreReleased </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a>&#160;</td>
+ <td class="paramname"><em>semaphore_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>tokens</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">semaphore_id</td><td>semaphore ID obtained by <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">tokens</td><td>number of available tokens.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>SemaphoreReleased</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga0abcee1b5449d7a6928fb9248c690bb6">osSemaphoreRelease</a> successfully releases the semaphore token.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>semaphore_id</b> : semaphore ID.</li>
+<li><b>tokens</b> : available tokens. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga17f21ffa4ec39c50ce203e6985dd0deb"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxSemaphoreGetCount </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a>&#160;</td>
+ <td class="paramname"><em>semaphore_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>count</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">semaphore_id</td><td>semaphore ID obtained by <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">count</td><td>current number of available tokens.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>SemaphoreGetCount</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7559d4dff3cda9992fc5ab5de3e74c70">osSemaphoreGetCount</a> is called and its execution result is known.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>semaphore_id</b> : semaphore ID.</li>
+<li><b>count</b> : retrieved current number of available tokens. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gaeb0605679ad9f686dd0f40610c8af772"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxSemaphoreDelete </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a>&#160;</td>
+ <td class="paramname"><em>semaphore_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">semaphore_id</td><td>semaphore ID obtained by <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>SemaphoreDelete</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga81258ce9c67fa89f07cc49d2e136cd88">osSemaphoreDelete</a> is called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>semaphore_id</b> : semaphore ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gaad8d8a2844e948b00f02e8620c431c9c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxSemaphoreDestroyed </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a>&#160;</td>
+ <td class="paramname"><em>semaphore_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">semaphore_id</td><td>semaphore ID obtained by <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>SemaphoreDestroyed</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga81258ce9c67fa89f07cc49d2e136cd88">osSemaphoreDelete</a> successfully deletes the semaphore object.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>semaphore_id</b> : semaphore ID. </li>
+</ul>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/group__rtx__evr__semaphore.js b/docs/RTOS2/html/group__rtx__evr__semaphore.js
new file mode 100644
index 0000000..c59e341
--- /dev/null
+++ b/docs/RTOS2/html/group__rtx__evr__semaphore.js
@@ -0,0 +1,17 @@
+var group__rtx__evr__semaphore =
+[
+ [ "EvrRtxSemaphoreError", "group__rtx__evr__semaphore.html#ga96a0209384296a283c7b1d23a3395fa1", null ],
+ [ "EvrRtxSemaphoreNew", "group__rtx__evr__semaphore.html#ga5639f03e935ab79844777664a518c2ec", null ],
+ [ "EvrRtxSemaphoreCreated", "group__rtx__evr__semaphore.html#ga31f9d55abcc5f398ea3810177cbf2bf3", null ],
+ [ "EvrRtxSemaphoreGetName", "group__rtx__evr__semaphore.html#ga17d8aa861b6e669cc68c3c41e3e12332", null ],
+ [ "EvrRtxSemaphoreAcquire", "group__rtx__evr__semaphore.html#gafd91c9bb268a48b394571a9fc1809019", null ],
+ [ "EvrRtxSemaphoreAcquirePending", "group__rtx__evr__semaphore.html#gabbaaf85deaf4645414987fc1c3289343", null ],
+ [ "EvrRtxSemaphoreAcquireTimeout", "group__rtx__evr__semaphore.html#ga852798d5e14cda14484564ac4d7f5a4b", null ],
+ [ "EvrRtxSemaphoreAcquired", "group__rtx__evr__semaphore.html#ga4d1f85595cc0802cf8cac89fd8f88b5d", null ],
+ [ "EvrRtxSemaphoreNotAcquired", "group__rtx__evr__semaphore.html#ga53eb40f5251e9464b46cc153fe8b26d8", null ],
+ [ "EvrRtxSemaphoreRelease", "group__rtx__evr__semaphore.html#ga0a9f3c7dbf89d3f155a96524e7195630", null ],
+ [ "EvrRtxSemaphoreReleased", "group__rtx__evr__semaphore.html#ga814dc5c7d95e7d1bfb30ce0f472ae420", null ],
+ [ "EvrRtxSemaphoreGetCount", "group__rtx__evr__semaphore.html#ga17f21ffa4ec39c50ce203e6985dd0deb", null ],
+ [ "EvrRtxSemaphoreDelete", "group__rtx__evr__semaphore.html#gaeb0605679ad9f686dd0f40610c8af772", null ],
+ [ "EvrRtxSemaphoreDestroyed", "group__rtx__evr__semaphore.html#gaad8d8a2844e948b00f02e8620c431c9c", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__rtx__evr__thread.html b/docs/RTOS2/html/group__rtx__evr__thread.html
new file mode 100644
index 0000000..52b7242
--- /dev/null
+++ b/docs/RTOS2/html/group__rtx__evr__thread.html
@@ -0,0 +1,1293 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Thread Functions</title>
+<title>CMSIS-RTOS2: Thread Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__rtx__evr__thread.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">Thread Functions<div class="ingroups"><a class="el" href="group__rtx__evr.html">Event functions</a></div></div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Events generated by thread functions.
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga4a2879b06201a29d8c223253d41cca43"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#ga4a2879b06201a29d8c223253d41cca43">EvrRtxThreadError</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id, int32_t status)</td></tr>
+<tr class="memdesc:ga4a2879b06201a29d8c223253d41cca43"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread error (Error) <a href="#ga4a2879b06201a29d8c223253d41cca43">More...</a><br/></td></tr>
+<tr class="separator:ga4a2879b06201a29d8c223253d41cca43"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga396ce41f68401a885f0ae46a54e8dd1f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#ga396ce41f68401a885f0ae46a54e8dd1f">EvrRtxThreadNew</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gadd51f99a6eb50b94eee75f27cae815eb">osThreadFunc_t</a> func, void *argument, const <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t">osThreadAttr_t</a> *attr)</td></tr>
+<tr class="memdesc:ga396ce41f68401a885f0ae46a54e8dd1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread create and intialize (API) <a href="#ga396ce41f68401a885f0ae46a54e8dd1f">More...</a><br/></td></tr>
+<tr class="separator:ga396ce41f68401a885f0ae46a54e8dd1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5bfa3bc241aea59ebe9bc1edcf6b78d8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#ga5bfa3bc241aea59ebe9bc1edcf6b78d8">EvrRtxThreadCreated</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id, uint32_t thread_addr, const char *name)</td></tr>
+<tr class="memdesc:ga5bfa3bc241aea59ebe9bc1edcf6b78d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful thread create (Op) <a href="#ga5bfa3bc241aea59ebe9bc1edcf6b78d8">More...</a><br/></td></tr>
+<tr class="separator:ga5bfa3bc241aea59ebe9bc1edcf6b78d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4f849a33d2c95754b11a499d77503b5c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#ga4f849a33d2c95754b11a499d77503b5c">EvrRtxThreadGetName</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id, const char *name)</td></tr>
+<tr class="memdesc:ga4f849a33d2c95754b11a499d77503b5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread name retrieve (API) <a href="#ga4f849a33d2c95754b11a499d77503b5c">More...</a><br/></td></tr>
+<tr class="separator:ga4f849a33d2c95754b11a499d77503b5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga40c0d21a5c0d128f09966aeeca37ecba"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#ga40c0d21a5c0d128f09966aeeca37ecba">EvrRtxThreadGetId</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:ga40c0d21a5c0d128f09966aeeca37ecba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on current running thread ID retrieve (API) <a href="#ga40c0d21a5c0d128f09966aeeca37ecba">More...</a><br/></td></tr>
+<tr class="separator:ga40c0d21a5c0d128f09966aeeca37ecba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1c3120fb155ca19ea5c9089a446ef19d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#ga1c3120fb155ca19ea5c9089a446ef19d">EvrRtxThreadGetState</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id, <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad3dc89e942e38d9f3af858a0269a820d">osThreadState_t</a> state)</td></tr>
+<tr class="memdesc:ga1c3120fb155ca19ea5c9089a446ef19d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread state retrieve (API) <a href="#ga1c3120fb155ca19ea5c9089a446ef19d">More...</a><br/></td></tr>
+<tr class="separator:ga1c3120fb155ca19ea5c9089a446ef19d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1200f51e9152810e76386e241904427c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#ga1200f51e9152810e76386e241904427c">EvrRtxThreadGetStackSize</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id, uint32_t stack_size)</td></tr>
+<tr class="memdesc:ga1200f51e9152810e76386e241904427c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread stack size retrieve (API) <a href="#ga1200f51e9152810e76386e241904427c">More...</a><br/></td></tr>
+<tr class="separator:ga1200f51e9152810e76386e241904427c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4fd48ef48eefb01a6252cfc02ea169ab"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#ga4fd48ef48eefb01a6252cfc02ea169ab">EvrRtxThreadGetStackSpace</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id, uint32_t stack_space)</td></tr>
+<tr class="memdesc:ga4fd48ef48eefb01a6252cfc02ea169ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on available stack space retrieve (API) <a href="#ga4fd48ef48eefb01a6252cfc02ea169ab">More...</a><br/></td></tr>
+<tr class="separator:ga4fd48ef48eefb01a6252cfc02ea169ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gabf4a015bd3fb2a33c0d105a871aaba72"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gabf4a015bd3fb2a33c0d105a871aaba72">EvrRtxThreadSetPriority</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id, <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ec">osPriority_t</a> priority)</td></tr>
+<tr class="memdesc:gabf4a015bd3fb2a33c0d105a871aaba72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread priority set (API) <a href="#gabf4a015bd3fb2a33c0d105a871aaba72">More...</a><br/></td></tr>
+<tr class="separator:gabf4a015bd3fb2a33c0d105a871aaba72"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gada73306deca99987b104aa9840fdd4e2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gada73306deca99987b104aa9840fdd4e2">EvrRtxThreadGetPriority</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id, <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ec">osPriority_t</a> priority)</td></tr>
+<tr class="memdesc:gada73306deca99987b104aa9840fdd4e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread priority retrieve (API) <a href="#gada73306deca99987b104aa9840fdd4e2">More...</a><br/></td></tr>
+<tr class="separator:gada73306deca99987b104aa9840fdd4e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gafed41f1b6bcdde658ca306f8a6d7ac7e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gafed41f1b6bcdde658ca306f8a6d7ac7e">EvrRtxThreadYield</a> (void)</td></tr>
+<tr class="memdesc:gafed41f1b6bcdde658ca306f8a6d7ac7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread yield (API) <a href="#gafed41f1b6bcdde658ca306f8a6d7ac7e">More...</a><br/></td></tr>
+<tr class="separator:gafed41f1b6bcdde658ca306f8a6d7ac7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa268fe19f933b8d2a830063560694561"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gaa268fe19f933b8d2a830063560694561">EvrRtxThreadSuspend</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:gaa268fe19f933b8d2a830063560694561"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread suspend (API) <a href="#gaa268fe19f933b8d2a830063560694561">More...</a><br/></td></tr>
+<tr class="separator:gaa268fe19f933b8d2a830063560694561"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab0d959bc625cb3e7ddd6bf7c302f631e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gab0d959bc625cb3e7ddd6bf7c302f631e">EvrRtxThreadSuspended</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:gab0d959bc625cb3e7ddd6bf7c302f631e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful thread suspend (Op) <a href="#gab0d959bc625cb3e7ddd6bf7c302f631e">More...</a><br/></td></tr>
+<tr class="separator:gab0d959bc625cb3e7ddd6bf7c302f631e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf41ff549329cf2feb4a1efe49c518e30"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gaf41ff549329cf2feb4a1efe49c518e30">EvrRtxThreadResume</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:gaf41ff549329cf2feb4a1efe49c518e30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread resume (API) <a href="#gaf41ff549329cf2feb4a1efe49c518e30">More...</a><br/></td></tr>
+<tr class="separator:gaf41ff549329cf2feb4a1efe49c518e30"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8b25f2548a9f3c069431131169d170ac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#ga8b25f2548a9f3c069431131169d170ac">EvrRtxThreadResumed</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:ga8b25f2548a9f3c069431131169d170ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful thread resume (Op) <a href="#ga8b25f2548a9f3c069431131169d170ac">More...</a><br/></td></tr>
+<tr class="separator:ga8b25f2548a9f3c069431131169d170ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga02088c2d38cbc31a46675334f63f37f5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#ga02088c2d38cbc31a46675334f63f37f5">EvrRtxThreadDetach</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:ga02088c2d38cbc31a46675334f63f37f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread detach (API) <a href="#ga02088c2d38cbc31a46675334f63f37f5">More...</a><br/></td></tr>
+<tr class="separator:ga02088c2d38cbc31a46675334f63f37f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac60670562ed1efbfbc61036d881c8af9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gac60670562ed1efbfbc61036d881c8af9">EvrRtxThreadDetached</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:gac60670562ed1efbfbc61036d881c8af9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful thread detach (Op) <a href="#gac60670562ed1efbfbc61036d881c8af9">More...</a><br/></td></tr>
+<tr class="separator:gac60670562ed1efbfbc61036d881c8af9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga392bb7a8dcd6d126a5e424ab01aa8a80"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#ga392bb7a8dcd6d126a5e424ab01aa8a80">EvrRtxThreadJoin</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:ga392bb7a8dcd6d126a5e424ab01aa8a80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread join (API) <a href="#ga392bb7a8dcd6d126a5e424ab01aa8a80">More...</a><br/></td></tr>
+<tr class="separator:ga392bb7a8dcd6d126a5e424ab01aa8a80"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga47b64cfdc5c5410dde2c5d9145c7d79b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#ga47b64cfdc5c5410dde2c5d9145c7d79b">EvrRtxThreadJoinPending</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:ga47b64cfdc5c5410dde2c5d9145c7d79b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on pending thread join (Op) <a href="#ga47b64cfdc5c5410dde2c5d9145c7d79b">More...</a><br/></td></tr>
+<tr class="separator:ga47b64cfdc5c5410dde2c5d9145c7d79b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga86ac910ac88d8fe54206a12d7ed69a27"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#ga86ac910ac88d8fe54206a12d7ed69a27">EvrRtxThreadJoined</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:ga86ac910ac88d8fe54206a12d7ed69a27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful thread join (Op) <a href="#ga86ac910ac88d8fe54206a12d7ed69a27">More...</a><br/></td></tr>
+<tr class="separator:ga86ac910ac88d8fe54206a12d7ed69a27"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab9efd66ed2edb439c5081806c9b63cf9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gab9efd66ed2edb439c5081806c9b63cf9">EvrRtxThreadBlocked</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id, uint32_t timeout)</td></tr>
+<tr class="memdesc:gab9efd66ed2edb439c5081806c9b63cf9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread execution block (Op) <a href="#gab9efd66ed2edb439c5081806c9b63cf9">More...</a><br/></td></tr>
+<tr class="separator:gab9efd66ed2edb439c5081806c9b63cf9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3faae4d941ddecfe773ef9f3efe8b901"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#ga3faae4d941ddecfe773ef9f3efe8b901">EvrRtxThreadUnblocked</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id, uint32_t ret_val)</td></tr>
+<tr class="memdesc:ga3faae4d941ddecfe773ef9f3efe8b901"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread execution unblock (Op) <a href="#ga3faae4d941ddecfe773ef9f3efe8b901">More...</a><br/></td></tr>
+<tr class="separator:ga3faae4d941ddecfe773ef9f3efe8b901"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gabe470d5bb1373c59c51470fd20b55bcb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gabe470d5bb1373c59c51470fd20b55bcb">EvrRtxThreadPreempted</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:gabe470d5bb1373c59c51470fd20b55bcb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on running thread pre-emption (Op) <a href="#gabe470d5bb1373c59c51470fd20b55bcb">More...</a><br/></td></tr>
+<tr class="separator:gabe470d5bb1373c59c51470fd20b55bcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae3bc50d5f154463c7f6647544bb5ecab"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gae3bc50d5f154463c7f6647544bb5ecab">EvrRtxThreadSwitched</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:gae3bc50d5f154463c7f6647544bb5ecab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on running thread switch (Op) <a href="#gae3bc50d5f154463c7f6647544bb5ecab">More...</a><br/></td></tr>
+<tr class="separator:gae3bc50d5f154463c7f6647544bb5ecab"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa557f9732a8a2120f08cfb2694aa26fb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gaa557f9732a8a2120f08cfb2694aa26fb">EvrRtxThreadExit</a> (void)</td></tr>
+<tr class="memdesc:gaa557f9732a8a2120f08cfb2694aa26fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread exit (API) <a href="#gaa557f9732a8a2120f08cfb2694aa26fb">More...</a><br/></td></tr>
+<tr class="separator:gaa557f9732a8a2120f08cfb2694aa26fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6abe7d167bd5bb91c3d6bf6d2bb417aa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#ga6abe7d167bd5bb91c3d6bf6d2bb417aa">EvrRtxThreadTerminate</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:ga6abe7d167bd5bb91c3d6bf6d2bb417aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread terminate (API) <a href="#ga6abe7d167bd5bb91c3d6bf6d2bb417aa">More...</a><br/></td></tr>
+<tr class="separator:ga6abe7d167bd5bb91c3d6bf6d2bb417aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa5aa707fc2d6b44bfcb86bce2e2e90f3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gaa5aa707fc2d6b44bfcb86bce2e2e90f3">EvrRtxThreadDestroyed</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:gaa5aa707fc2d6b44bfcb86bce2e2e90f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful thread terminate (Op) <a href="#gaa5aa707fc2d6b44bfcb86bce2e2e90f3">More...</a><br/></td></tr>
+<tr class="separator:gaa5aa707fc2d6b44bfcb86bce2e2e90f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6d5932965736e0f2f35fe2d87bd622e7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#ga6d5932965736e0f2f35fe2d87bd622e7">EvrRtxThreadGetCount</a> (uint32_t count)</td></tr>
+<tr class="memdesc:ga6d5932965736e0f2f35fe2d87bd622e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on active thread count retrieve (API) <a href="#ga6d5932965736e0f2f35fe2d87bd622e7">More...</a><br/></td></tr>
+<tr class="separator:ga6d5932965736e0f2f35fe2d87bd622e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1999d77992b03347abdca7ec17f91cca"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#ga1999d77992b03347abdca7ec17f91cca">EvrRtxThreadEnumerate</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> *thread_array, uint32_t array_items, uint32_t count)</td></tr>
+<tr class="memdesc:ga1999d77992b03347abdca7ec17f91cca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on active threads enumerate (API) <a href="#ga1999d77992b03347abdca7ec17f91cca">More...</a><br/></td></tr>
+<tr class="separator:ga1999d77992b03347abdca7ec17f91cca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gadbbee398f4fab418c9b8115fc7392ff8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gadbbee398f4fab418c9b8115fc7392ff8">EvrRtxThreadFlagsWaitTimeout</a> (void)</td></tr>
+<tr class="memdesc:gadbbee398f4fab418c9b8115fc7392ff8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on wait timeout for thread flags (Op) <a href="#gadbbee398f4fab418c9b8115fc7392ff8">More...</a><br/></td></tr>
+<tr class="separator:gadbbee398f4fab418c9b8115fc7392ff8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gadd45d32305aa45668a36f2c9f0f4c758"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gadd45d32305aa45668a36f2c9f0f4c758">EvrRtxThreadDelay</a> (uint32_t ticks)</td></tr>
+<tr class="memdesc:gadd45d32305aa45668a36f2c9f0f4c758"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on wait for timeout (API) <a href="#gadd45d32305aa45668a36f2c9f0f4c758">More...</a><br/></td></tr>
+<tr class="separator:gadd45d32305aa45668a36f2c9f0f4c758"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf59defd6c171d2c3d3508e7136278db2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gaf59defd6c171d2c3d3508e7136278db2">EvrRtxThreadDelayUntil</a> (uint32_t ticks)</td></tr>
+<tr class="memdesc:gaf59defd6c171d2c3d3508e7136278db2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on wait until specified time (API) <a href="#gaf59defd6c171d2c3d3508e7136278db2">More...</a><br/></td></tr>
+<tr class="separator:gaf59defd6c171d2c3d3508e7136278db2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab46562848142ce5ea806d629fd000168"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gab46562848142ce5ea806d629fd000168">EvrRtxThreadDelayCompleted</a> (void)</td></tr>
+<tr class="memdesc:gab46562848142ce5ea806d629fd000168"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on completed wait (Op) <a href="#gab46562848142ce5ea806d629fd000168">More...</a><br/></td></tr>
+<tr class="separator:gab46562848142ce5ea806d629fd000168"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ga4a2879b06201a29d8c223253d41cca43"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadError </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
+ <td class="paramname"><em>thread_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int32_t&#160;</td>
+ <td class="paramname"><em>status</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a> or NULL when ID is unknown. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">status</td><td>extended execution status.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>ThreadError</b> is generated when <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html">Thread Flags</a> and <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html">Thread Management</a> routines complete their execution due to an error.</p>
+<p>The status parameter indicates the execution status and can be one of the <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t codes</a> or one of the extended execution status codes which are summarized in the table below.</p>
+<table class="doxtable">
+<tr>
+<th align="left">Extended Status Code </th><th align="left">Description </th></tr>
+<tr>
+<td align="left">osRtxErrorKernelNotReady </td><td align="left">Kernel scheduler is not in Ready state. </td></tr>
+<tr>
+<td align="left">osRtxErrorKernelNotRunning </td><td align="left">Kernel scheduler is not executing - there is no running thread. </td></tr>
+<tr>
+<td align="left">osRtxErrorInvalidControlBlock </td><td align="left">Object control block with invalid alignment or size was specified. </td></tr>
+<tr>
+<td align="left">osRtxErrorInvalidDataMemory </td><td align="left">Object data memory with invalid alignment or size was specified. </td></tr>
+<tr>
+<td align="left">osRtxErrorInvalidThreadStack </td><td align="left">Thread stack memory with invalid alignment or size was specified. </td></tr>
+<tr>
+<td align="left">osRtxErrorInvalidPriority </td><td align="left">Invalid thread priority was specified. </td></tr>
+<tr>
+<td align="left">osRtxErrorThreadNotJoinable </td><td align="left">Specified thread is not joinable. </td></tr>
+<tr>
+<td align="left">osRtxErrorMutexNotOwned </td><td align="left">Specified mutex is not owned by the current running thread. </td></tr>
+<tr>
+<td align="left">osRtxErrorMutexNotLocked </td><td align="left">Specified mutex is not locked. </td></tr>
+<tr>
+<td align="left">osRtxErrorMutexLockLimit </td><td align="left">Maximum number of recursive mutex locks reached. </td></tr>
+<tr>
+<td align="left">osRtxErrorSemaphoreCountLimit </td><td align="left">Semaphore count limit reached. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_InitContext_S </td><td align="left">Secure context memory system initialization failed. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_AllocContext_S </td><td align="left">Secure context memory allocation failed. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_FreeContext_S </td><td align="left">Secure context memory deallocation failed. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_LoadContext_S </td><td align="left">Secure context load failed. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_SaveContext_S </td><td align="left">Secure context save failed. </td></tr>
+</table>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>thread_id</b> : thread ID.</li>
+<li><b>status</b> : execution status code. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga396ce41f68401a885f0ae46a54e8dd1f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadNew </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gadd51f99a6eb50b94eee75f27cae815eb">osThreadFunc_t</a>&#160;</td>
+ <td class="paramname"><em>func</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>argument</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t">osThreadAttr_t</a> *&#160;</td>
+ <td class="paramname"><em>attr</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>thread function. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">argument</td><td>pointer that is passed to the thread function as start argument. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">attr</td><td>thread attributes.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>ThreadNew</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> is called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>func</b> : memory address of thread function.</li>
+<li><b>argument</b> : memory address of thread function start argument.</li>
+<li><b>attr</b> : memory address of Thread attributes or 0 when they are not specified.</li>
+</ul>
+<p>In case when <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t">thread attributes</a> are provided in the API call they are also detailed in the Event Recorder. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga5bfa3bc241aea59ebe9bc1edcf6b78d8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadCreated </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
+ <td class="paramname"><em>thread_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>thread_addr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>name</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_addr</td><td>thread entry address. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>pointer to thread object name.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>ThreadCreated</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> successfully creates a thread object.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>thread_id</b> : thread ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga4f849a33d2c95754b11a499d77503b5c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadGetName </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
+ <td class="paramname"><em>thread_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>name</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>pointer to thread object name.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>ThreadGetName</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gac3230f3a55a297514b013ebf38f27e0a">osThreadGetName</a> is called and its execution result is known.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>thread_id</b> : thread ID.</li>
+<li><b>name</b> : retrieved memory address of name string (0 in case of a failure). </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga40c0d21a5c0d128f09966aeeca37ecba"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadGetId </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
+ <td class="paramname"><em>thread_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>ThreadGetId</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a> is called and its execution result is known.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>thread_id</b> : retrieved thread (0 in case of a failure). </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga1c3120fb155ca19ea5c9089a446ef19d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadGetState </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
+ <td class="paramname"><em>thread_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad3dc89e942e38d9f3af858a0269a820d">osThreadState_t</a>&#160;</td>
+ <td class="paramname"><em>state</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>current thread state of the specified thread.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>ThreadGetState</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gacc0a98b42f0a5928e12dc91dc76866b9">osThreadGetState</a> is called and its execution result is known.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>thread_id</b> : thread ID.</li>
+<li><b>state</b> : retrieved current thread state. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga1200f51e9152810e76386e241904427c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadGetStackSize </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
+ <td class="paramname"><em>thread_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>stack_size</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">stack_size</td><td>stack size in bytes.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>ThreadGetStackSize</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gab9f8bd715d671c6ee27644867bc1bf65">osThreadGetStackSize</a> is called and its execution result is known.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>thread_id</b> : thread ID.</li>
+<li><b>stack_size</b> : retrieved remaining stack space in bytes (0 in case of a failure). </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga4fd48ef48eefb01a6252cfc02ea169ab"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadGetStackSpace </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
+ <td class="paramname"><em>thread_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>stack_space</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">stack_space</td><td>remaining stack space in bytes.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>ThreadGetStackSpace</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga9c83bd5dd8de329701775d6ef7012720">osThreadGetStackSpace</a> is called and its execution result is known.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>thread_id</b> : thread ID.</li>
+<li><b>stack_space</b> : retrieved remaining stack space in bytes (0 in case of a failure). </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gabf4a015bd3fb2a33c0d105a871aaba72"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadSetPriority </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
+ <td class="paramname"><em>thread_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ec">osPriority_t</a>&#160;</td>
+ <td class="paramname"><em>priority</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">priority</td><td>new priority value for the thread function.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>ThreadSetPriority</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga861a420fb2d643115b06622903fb3bfb">osThreadSetPriority</a> is called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>thread_id</b> : thread ID.</li>
+<li><b>priority</b> : new priority value for the thread function. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gada73306deca99987b104aa9840fdd4e2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadGetPriority </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
+ <td class="paramname"><em>thread_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ec">osPriority_t</a>&#160;</td>
+ <td class="paramname"><em>priority</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">priority</td><td>current priority value of the specified thread.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>ThreadGetPriority</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga0aeaf349604f456e68e78f9d3b42e44b">osThreadGetPriority</a> is called and its execution result is known.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>thread_id</b> : thread ID.</li>
+<li><b>priority</b> : current priority value of the specified thread. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gafed41f1b6bcdde658ca306f8a6d7ac7e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadYield </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>The event <b>ThreadYield</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad01c7ec26535b1de6b018bb9466720e2">osThreadYield</a> is called. </p>
+
+</div>
+</div>
+<a class="anchor" id="gaa268fe19f933b8d2a830063560694561"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadSuspend </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
+ <td class="paramname"><em>thread_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>ThreadSuspend</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa9de419d0152bf77e9bbcd1f369fb990">osThreadSuspend</a> is called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>thread_id</b> : thread ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gab0d959bc625cb3e7ddd6bf7c302f631e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadSuspended </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
+ <td class="paramname"><em>thread_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>ThreadSuspended</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa9de419d0152bf77e9bbcd1f369fb990">osThreadSuspend</a> successfully suspends the specified thread.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>thread_id</b> : thread ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gaf41ff549329cf2feb4a1efe49c518e30"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadResume </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
+ <td class="paramname"><em>thread_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>ThreadResume</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga3dbad90eff394b02de76a452c84c5d80">osThreadResume</a> is called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>thread_id</b> : thread ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga8b25f2548a9f3c069431131169d170ac"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadResumed </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
+ <td class="paramname"><em>thread_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>ThreadResumed</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga3dbad90eff394b02de76a452c84c5d80">osThreadResume</a> successfully resumes the specified thread.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>thread_id</b> : thread ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga02088c2d38cbc31a46675334f63f37f5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadDetach </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
+ <td class="paramname"><em>thread_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>ThreadDetach</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaaad14cd9547341ea8109dc4e8540f1dc">osThreadDetach</a> is called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>thread_id</b> : thread ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gac60670562ed1efbfbc61036d881c8af9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadDetached </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
+ <td class="paramname"><em>thread_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>ThreadDetached</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaaad14cd9547341ea8109dc4e8540f1dc">osThreadDetach</a> successfully detaches the specified thread.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>thread_id</b> : thread ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga392bb7a8dcd6d126a5e424ab01aa8a80"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadJoin </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
+ <td class="paramname"><em>thread_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>ThreadJoin</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga3fca90fb0679afeb968aa8c3d5874487">osThreadJoin</a> is called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>thread_id</b> : thread ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga47b64cfdc5c5410dde2c5d9145c7d79b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadJoinPending </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
+ <td class="paramname"><em>thread_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>ThreadJoinPending</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga3fca90fb0679afeb968aa8c3d5874487">osThreadJoin</a> suspends current running thread until the specified thread terminates.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>thread_id</b> : thread ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga86ac910ac88d8fe54206a12d7ed69a27"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadJoined </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
+ <td class="paramname"><em>thread_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>ThreadJoined</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga3fca90fb0679afeb968aa8c3d5874487">osThreadJoin</a> successfully joins the specified thread.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>thread_id</b> : thread ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gab9efd66ed2edb439c5081806c9b63cf9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadBlocked </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
+ <td class="paramname"><em>thread_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>timeout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td><a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a> or 0 in case of no time-out.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>ThreadBlocked</b> is generated when the current running thread execution is blocked.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>thread_id</b> : thread ID.</li>
+<li><b>timeout</b> : <a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a>. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga3faae4d941ddecfe773ef9f3efe8b901"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadUnblocked </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
+ <td class="paramname"><em>thread_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>ret_val</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">ret_val</td><td>extended execution status of the thread.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>ThreadUnblocked</b> is generated when the blocked thread execution is unblocked.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>thread_id</b> : thread ID.</li>
+<li><b>ret_val</b> : </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gabe470d5bb1373c59c51470fd20b55bcb"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadPreempted </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
+ <td class="paramname"><em>thread_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>ThreadPreempted</b> is generated when current running thread execution is preempted.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>thread_id</b> : thread ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gae3bc50d5f154463c7f6647544bb5ecab"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadSwitched </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
+ <td class="paramname"><em>thread_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>ThreadSwitched</b> is generated when current running thread execution switches.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>thread_id</b> : thread ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gaa557f9732a8a2120f08cfb2694aa26fb"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadExit </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>The event <b>ThreadExit</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaddaa452dd7610e4096647a566d3556fc">osThreadExit</a> is called. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga6abe7d167bd5bb91c3d6bf6d2bb417aa"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadTerminate </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
+ <td class="paramname"><em>thread_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>ThreadTerminate</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga2f8ba6dba6e9c065a6e236ffd410d74a">osThreadTerminate</a> is called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>thread_id</b> : thread ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gaa5aa707fc2d6b44bfcb86bce2e2e90f3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadDestroyed </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
+ <td class="paramname"><em>thread_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>ThreadDestroyed</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaddaa452dd7610e4096647a566d3556fc">osThreadExit</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga2f8ba6dba6e9c065a6e236ffd410d74a">osThreadTerminate</a> successfully terminates the thread.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>thread_id</b> : thread ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga6d5932965736e0f2f35fe2d87bd622e7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadGetCount </td>
+ <td>(</td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>count</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">count</td><td>number of active threads.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>ThreadGetCount</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga495b3f812224e7301f23a691793765db">osThreadGetCount</a> is called and its execution result is known.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>count</b> : retrieved number of active threads (0 in case of a failure). </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga1999d77992b03347abdca7ec17f91cca"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadEnumerate </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> *&#160;</td>
+ <td class="paramname"><em>thread_array</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>array_items</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>count</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_array</td><td>pointer to array for retrieving thread IDs. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">array_items</td><td>maximum number of items in array for retrieving thread IDs. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">count</td><td>number of enumerated threads.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>ThreadEnumerate</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga5606604d56e21ece1a654664be877439">osThreadEnumerate</a> is called and its execution result is known.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>thread_array</b> : memory address of array for retrieving thread IDs.</li>
+<li><b>array_items</b> : maximum number of items in thread_array.</li>
+<li><b>count</b> : number of enumerated threads (0 in case of a failure). </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gadbbee398f4fab418c9b8115fc7392ff8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadFlagsWaitTimeout </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>The event <b>ThreadFlagsWaitTimeout</b> is generated when wait for thread flags to become signaled is aborted due to expired wait timeout. </p>
+
+</div>
+</div>
+<a class="anchor" id="gadd45d32305aa45668a36f2c9f0f4c758"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadDelay </td>
+ <td>(</td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>ticks</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">ticks</td><td><a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">time ticks</a> value.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>ThreadDelay</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a> is called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>ticks</b> : <a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">time ticks</a> value. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gaf59defd6c171d2c3d3508e7136278db2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadDelayUntil </td>
+ <td>(</td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>ticks</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">ticks</td><td>absolute time in ticks.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>ThreadDelayUntil</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__Wait.html#ga3c807924c2d6d43bc2ffb49da3f7f3a1">osDelayUntil</a> is called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>ticks</b> : absolute delay time in ticks. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gab46562848142ce5ea806d629fd000168"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadDelayCompleted </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>The event <b>ThreadDelayCompleted</b> is generated when thread delay expires. </p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/group__rtx__evr__thread.js b/docs/RTOS2/html/group__rtx__evr__thread.js
new file mode 100644
index 0000000..ca40a57
--- /dev/null
+++ b/docs/RTOS2/html/group__rtx__evr__thread.js
@@ -0,0 +1,36 @@
+var group__rtx__evr__thread =
+[
+ [ "EvrRtxThreadError", "group__rtx__evr__thread.html#ga4a2879b06201a29d8c223253d41cca43", null ],
+ [ "EvrRtxThreadNew", "group__rtx__evr__thread.html#ga396ce41f68401a885f0ae46a54e8dd1f", null ],
+ [ "EvrRtxThreadCreated", "group__rtx__evr__thread.html#ga5bfa3bc241aea59ebe9bc1edcf6b78d8", null ],
+ [ "EvrRtxThreadGetName", "group__rtx__evr__thread.html#ga4f849a33d2c95754b11a499d77503b5c", null ],
+ [ "EvrRtxThreadGetId", "group__rtx__evr__thread.html#ga40c0d21a5c0d128f09966aeeca37ecba", null ],
+ [ "EvrRtxThreadGetState", "group__rtx__evr__thread.html#ga1c3120fb155ca19ea5c9089a446ef19d", null ],
+ [ "EvrRtxThreadGetStackSize", "group__rtx__evr__thread.html#ga1200f51e9152810e76386e241904427c", null ],
+ [ "EvrRtxThreadGetStackSpace", "group__rtx__evr__thread.html#ga4fd48ef48eefb01a6252cfc02ea169ab", null ],
+ [ "EvrRtxThreadSetPriority", "group__rtx__evr__thread.html#gabf4a015bd3fb2a33c0d105a871aaba72", null ],
+ [ "EvrRtxThreadGetPriority", "group__rtx__evr__thread.html#gada73306deca99987b104aa9840fdd4e2", null ],
+ [ "EvrRtxThreadYield", "group__rtx__evr__thread.html#gafed41f1b6bcdde658ca306f8a6d7ac7e", null ],
+ [ "EvrRtxThreadSuspend", "group__rtx__evr__thread.html#gaa268fe19f933b8d2a830063560694561", null ],
+ [ "EvrRtxThreadSuspended", "group__rtx__evr__thread.html#gab0d959bc625cb3e7ddd6bf7c302f631e", null ],
+ [ "EvrRtxThreadResume", "group__rtx__evr__thread.html#gaf41ff549329cf2feb4a1efe49c518e30", null ],
+ [ "EvrRtxThreadResumed", "group__rtx__evr__thread.html#ga8b25f2548a9f3c069431131169d170ac", null ],
+ [ "EvrRtxThreadDetach", "group__rtx__evr__thread.html#ga02088c2d38cbc31a46675334f63f37f5", null ],
+ [ "EvrRtxThreadDetached", "group__rtx__evr__thread.html#gac60670562ed1efbfbc61036d881c8af9", null ],
+ [ "EvrRtxThreadJoin", "group__rtx__evr__thread.html#ga392bb7a8dcd6d126a5e424ab01aa8a80", null ],
+ [ "EvrRtxThreadJoinPending", "group__rtx__evr__thread.html#ga47b64cfdc5c5410dde2c5d9145c7d79b", null ],
+ [ "EvrRtxThreadJoined", "group__rtx__evr__thread.html#ga86ac910ac88d8fe54206a12d7ed69a27", null ],
+ [ "EvrRtxThreadBlocked", "group__rtx__evr__thread.html#gab9efd66ed2edb439c5081806c9b63cf9", null ],
+ [ "EvrRtxThreadUnblocked", "group__rtx__evr__thread.html#ga3faae4d941ddecfe773ef9f3efe8b901", null ],
+ [ "EvrRtxThreadPreempted", "group__rtx__evr__thread.html#gabe470d5bb1373c59c51470fd20b55bcb", null ],
+ [ "EvrRtxThreadSwitched", "group__rtx__evr__thread.html#gae3bc50d5f154463c7f6647544bb5ecab", null ],
+ [ "EvrRtxThreadExit", "group__rtx__evr__thread.html#gaa557f9732a8a2120f08cfb2694aa26fb", null ],
+ [ "EvrRtxThreadTerminate", "group__rtx__evr__thread.html#ga6abe7d167bd5bb91c3d6bf6d2bb417aa", null ],
+ [ "EvrRtxThreadDestroyed", "group__rtx__evr__thread.html#gaa5aa707fc2d6b44bfcb86bce2e2e90f3", null ],
+ [ "EvrRtxThreadGetCount", "group__rtx__evr__thread.html#ga6d5932965736e0f2f35fe2d87bd622e7", null ],
+ [ "EvrRtxThreadEnumerate", "group__rtx__evr__thread.html#ga1999d77992b03347abdca7ec17f91cca", null ],
+ [ "EvrRtxThreadFlagsWaitTimeout", "group__rtx__evr__thread.html#gadbbee398f4fab418c9b8115fc7392ff8", null ],
+ [ "EvrRtxThreadDelay", "group__rtx__evr__thread.html#gadd45d32305aa45668a36f2c9f0f4c758", null ],
+ [ "EvrRtxThreadDelayUntil", "group__rtx__evr__thread.html#gaf59defd6c171d2c3d3508e7136278db2", null ],
+ [ "EvrRtxThreadDelayCompleted", "group__rtx__evr__thread.html#gab46562848142ce5ea806d629fd000168", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/group__rtx__evr__timer.html b/docs/RTOS2/html/group__rtx__evr__timer.html
new file mode 100644
index 0000000..869c7e9
--- /dev/null
+++ b/docs/RTOS2/html/group__rtx__evr__timer.html
@@ -0,0 +1,636 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Timer Functions</title>
+<title>CMSIS-RTOS2: Timer Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__rtx__evr__timer.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">Timer Functions<div class="ingroups"><a class="el" href="group__rtx__evr.html">Event functions</a></div></div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Events generated by timer functions.
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:gaf1b516bf697288e67fe797662b1873b0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__timer.html#gaf1b516bf697288e67fe797662b1873b0">EvrRtxTimerError</a> (<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> timer_id, int32_t status)</td></tr>
+<tr class="memdesc:gaf1b516bf697288e67fe797662b1873b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on timer error (Error) <a href="#gaf1b516bf697288e67fe797662b1873b0">More...</a><br/></td></tr>
+<tr class="separator:gaf1b516bf697288e67fe797662b1873b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gacd46f9d31d256c27c72e47d5be5e9d09"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__timer.html#gacd46f9d31d256c27c72e47d5be5e9d09">EvrRtxTimerCallback</a> (<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaacf768c1ec64b020598afb985d7b30be">osTimerFunc_t</a> func, void *argument)</td></tr>
+<tr class="memdesc:gacd46f9d31d256c27c72e47d5be5e9d09"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on timer callback call (Op) <a href="#gacd46f9d31d256c27c72e47d5be5e9d09">More...</a><br/></td></tr>
+<tr class="separator:gacd46f9d31d256c27c72e47d5be5e9d09"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6387808c22d6e186057ed744618d2487"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__timer.html#ga6387808c22d6e186057ed744618d2487">EvrRtxTimerNew</a> (<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaacf768c1ec64b020598afb985d7b30be">osTimerFunc_t</a> func, <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#ga7dc24a4c2b90334427081c3da7a71915">osTimerType_t</a> type, void *argument, const <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#structosTimerAttr__t">osTimerAttr_t</a> *attr)</td></tr>
+<tr class="memdesc:ga6387808c22d6e186057ed744618d2487"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on timer create and initialize (API) <a href="#ga6387808c22d6e186057ed744618d2487">More...</a><br/></td></tr>
+<tr class="separator:ga6387808c22d6e186057ed744618d2487"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga71dd40a818f1098052915bbfb6c17e88"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__timer.html#ga71dd40a818f1098052915bbfb6c17e88">EvrRtxTimerCreated</a> (<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> timer_id, const char *name)</td></tr>
+<tr class="memdesc:ga71dd40a818f1098052915bbfb6c17e88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful timer create (Op) <a href="#ga71dd40a818f1098052915bbfb6c17e88">More...</a><br/></td></tr>
+<tr class="separator:ga71dd40a818f1098052915bbfb6c17e88"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga601e3617903900524062c4f9069d052f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__timer.html#ga601e3617903900524062c4f9069d052f">EvrRtxTimerGetName</a> (<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> timer_id, const char *name)</td></tr>
+<tr class="memdesc:ga601e3617903900524062c4f9069d052f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on timer name retrieve (API) <a href="#ga601e3617903900524062c4f9069d052f">More...</a><br/></td></tr>
+<tr class="separator:ga601e3617903900524062c4f9069d052f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga453d82bfa65dfbbaffbd5b4ff4f050b2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__timer.html#ga453d82bfa65dfbbaffbd5b4ff4f050b2">EvrRtxTimerStart</a> (<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> timer_id, uint32_t ticks)</td></tr>
+<tr class="memdesc:ga453d82bfa65dfbbaffbd5b4ff4f050b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on timer start (API) <a href="#ga453d82bfa65dfbbaffbd5b4ff4f050b2">More...</a><br/></td></tr>
+<tr class="separator:ga453d82bfa65dfbbaffbd5b4ff4f050b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab0dbdf460fc26b25f3987c44fb0ebdeb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__timer.html#gab0dbdf460fc26b25f3987c44fb0ebdeb">EvrRtxTimerStarted</a> (<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> timer_id)</td></tr>
+<tr class="memdesc:gab0dbdf460fc26b25f3987c44fb0ebdeb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful timer start (Op) <a href="#gab0dbdf460fc26b25f3987c44fb0ebdeb">More...</a><br/></td></tr>
+<tr class="separator:gab0dbdf460fc26b25f3987c44fb0ebdeb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga27cf05adc61d30a0e68f380c96ea5f93"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__timer.html#ga27cf05adc61d30a0e68f380c96ea5f93">EvrRtxTimerStop</a> (<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> timer_id)</td></tr>
+<tr class="memdesc:ga27cf05adc61d30a0e68f380c96ea5f93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on timer stop (API) <a href="#ga27cf05adc61d30a0e68f380c96ea5f93">More...</a><br/></td></tr>
+<tr class="separator:ga27cf05adc61d30a0e68f380c96ea5f93"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaccd59c7ae2351e0a1bf96cdb749c049f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__timer.html#gaccd59c7ae2351e0a1bf96cdb749c049f">EvrRtxTimerStopped</a> (<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> timer_id)</td></tr>
+<tr class="memdesc:gaccd59c7ae2351e0a1bf96cdb749c049f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful timer stop (Op) <a href="#gaccd59c7ae2351e0a1bf96cdb749c049f">More...</a><br/></td></tr>
+<tr class="separator:gaccd59c7ae2351e0a1bf96cdb749c049f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6fa5a23f241d765ae22ff1862c6f3b3f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__timer.html#ga6fa5a23f241d765ae22ff1862c6f3b3f">EvrRtxTimerIsRunning</a> (<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> timer_id, uint32_t running)</td></tr>
+<tr class="memdesc:ga6fa5a23f241d765ae22ff1862c6f3b3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on timer running state check (API) <a href="#ga6fa5a23f241d765ae22ff1862c6f3b3f">More...</a><br/></td></tr>
+<tr class="separator:ga6fa5a23f241d765ae22ff1862c6f3b3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaea5811cc74861117eccbcbb997d36133"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__timer.html#gaea5811cc74861117eccbcbb997d36133">EvrRtxTimerDelete</a> (<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> timer_id)</td></tr>
+<tr class="memdesc:gaea5811cc74861117eccbcbb997d36133"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on timer delete (API) <a href="#gaea5811cc74861117eccbcbb997d36133">More...</a><br/></td></tr>
+<tr class="separator:gaea5811cc74861117eccbcbb997d36133"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga474f3bd3ed38945b087f37fd709560b7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__timer.html#ga474f3bd3ed38945b087f37fd709560b7">EvrRtxTimerDestroyed</a> (<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> timer_id)</td></tr>
+<tr class="memdesc:ga474f3bd3ed38945b087f37fd709560b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful timer delete (Op) <a href="#ga474f3bd3ed38945b087f37fd709560b7">More...</a><br/></td></tr>
+<tr class="separator:ga474f3bd3ed38945b087f37fd709560b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="gaf1b516bf697288e67fe797662b1873b0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxTimerError </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a>&#160;</td>
+ <td class="paramname"><em>timer_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int32_t&#160;</td>
+ <td class="paramname"><em>status</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">timer_id</td><td>timer ID obtained by <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a> or NULL when ID is unknown. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">status</td><td>extended execution status.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>TimerError</b> is generated when <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html">Timer Management</a> routines complete their execution due to an error.</p>
+<p>The status parameter indicates the execution status and can be one of the <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t codes</a> or one of the extended execution status codes which are summarized in the table below.</p>
+<table class="doxtable">
+<tr>
+<th align="left">Extended Status Code </th><th align="left">Description </th></tr>
+<tr>
+<td align="left">osRtxErrorKernelNotReady </td><td align="left">Kernel scheduler is not in Ready state. </td></tr>
+<tr>
+<td align="left">osRtxErrorKernelNotRunning </td><td align="left">Kernel scheduler is not executing - there is no running thread. </td></tr>
+<tr>
+<td align="left">osRtxErrorInvalidControlBlock </td><td align="left">Object control block with invalid alignment or size was specified. </td></tr>
+<tr>
+<td align="left">osRtxErrorInvalidDataMemory </td><td align="left">Object data memory with invalid alignment or size was specified. </td></tr>
+<tr>
+<td align="left">osRtxErrorInvalidThreadStack </td><td align="left">Thread stack memory with invalid alignment or size was specified. </td></tr>
+<tr>
+<td align="left">osRtxErrorInvalidPriority </td><td align="left">Invalid thread priority was specified. </td></tr>
+<tr>
+<td align="left">osRtxErrorThreadNotJoinable </td><td align="left">Specified thread is not joinable. </td></tr>
+<tr>
+<td align="left">osRtxErrorMutexNotOwned </td><td align="left">Specified mutex is not owned by the current running thread. </td></tr>
+<tr>
+<td align="left">osRtxErrorMutexNotLocked </td><td align="left">Specified mutex is not locked. </td></tr>
+<tr>
+<td align="left">osRtxErrorMutexLockLimit </td><td align="left">Maximum number of recursive mutex locks reached. </td></tr>
+<tr>
+<td align="left">osRtxErrorSemaphoreCountLimit </td><td align="left">Semaphore count limit reached. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_InitContext_S </td><td align="left">Secure context memory system initialization failed. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_AllocContext_S </td><td align="left">Secure context memory allocation failed. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_FreeContext_S </td><td align="left">Secure context memory deallocation failed. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_LoadContext_S </td><td align="left">Secure context load failed. </td></tr>
+<tr>
+<td align="left">osRtxErrorTZ_SaveContext_S </td><td align="left">Secure context save failed. </td></tr>
+</table>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>timer_id</b> : timer ID.</li>
+<li><b>status</b> : execution status code. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gacd46f9d31d256c27c72e47d5be5e9d09"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxTimerCallback </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaacf768c1ec64b020598afb985d7b30be">osTimerFunc_t</a>&#160;</td>
+ <td class="paramname"><em>func</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>argument</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>start address of a timer call back function. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">argument</td><td>argument to the timer call back function.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>TimerCallback</b> is generated when the timer callback function is called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>func</b> : start address of a timer call back function.</li>
+<li><b>argument</b> : memory address of argument to the timer call back function. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga6387808c22d6e186057ed744618d2487"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxTimerNew </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaacf768c1ec64b020598afb985d7b30be">osTimerFunc_t</a>&#160;</td>
+ <td class="paramname"><em>func</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#ga7dc24a4c2b90334427081c3da7a71915">osTimerType_t</a>&#160;</td>
+ <td class="paramname"><em>type</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>argument</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#structosTimerAttr__t">osTimerAttr_t</a> *&#160;</td>
+ <td class="paramname"><em>attr</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>start address of a timer call back function. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>osTimerOnce for one-shot or osTimerPeriodic for periodic behavior. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">argument</td><td>argument to the timer call back function. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">attr</td><td>timer attributes.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>TimerNew</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a> is called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>func</b> : start address of a timer call back function.</li>
+<li><b>type</b> : timer type: osTimerOnce for one-shot or osTimerPeriodic for periodic behavior.</li>
+<li><b>argument</b> : memory address of argument to the timer call back function.</li>
+<li><b>attr</b> : memory address of Timer attributes or 0 when they are not specified.</li>
+</ul>
+<p>In case when <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#structosTimerAttr__t">timer attributes</a> are provided in the API call they are also detailed in the Event Recorder. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga71dd40a818f1098052915bbfb6c17e88"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxTimerCreated </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a>&#160;</td>
+ <td class="paramname"><em>timer_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>name</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">timer_id</td><td>timer ID obtained by <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>pointer to timer object name.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>TimerCreated</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a> successfully creates a timer object.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>timer_id</b> : timer ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga601e3617903900524062c4f9069d052f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxTimerGetName </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a>&#160;</td>
+ <td class="paramname"><em>timer_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>name</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">timer_id</td><td>timer ID obtained by <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>pointer to timer object name.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>TimerGetName</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#ga4f82a98eee4d9ea79507e44340d3d319">osTimerGetName</a> is called and its execution result is known.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>timer_id</b> : timer ID.</li>
+<li><b>name</b> : retrieved memory address of name string (0 in case of a failure). </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga453d82bfa65dfbbaffbd5b4ff4f050b2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxTimerStart </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a>&#160;</td>
+ <td class="paramname"><em>timer_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>ticks</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">timer_id</td><td>timer ID obtained by <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">ticks</td><td><a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">time ticks</a> value of the timer.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>TimerStart</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d">osTimerStart</a> is called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>timer_id</b> : timer ID.</li>
+<li><b>ticks</b> : <a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">time ticks</a> value of the timer. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gab0dbdf460fc26b25f3987c44fb0ebdeb"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxTimerStarted </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a>&#160;</td>
+ <td class="paramname"><em>timer_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">timer_id</td><td>timer ID obtained by <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>TimerStarted</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d">osTimerStart</a> successfully starts or restarts the timer operation.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>timer_id</b> : timer ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga27cf05adc61d30a0e68f380c96ea5f93"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxTimerStop </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a>&#160;</td>
+ <td class="paramname"><em>timer_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">timer_id</td><td>timer ID obtained by <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>TimerStop</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gabd7a89356da7717293eb0bc5d87b8ac9">osTimerStop</a> is called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>timer_id</b> : timer ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gaccd59c7ae2351e0a1bf96cdb749c049f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxTimerStopped </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a>&#160;</td>
+ <td class="paramname"><em>timer_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">timer_id</td><td>timer ID obtained by <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>TimerStopped</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gabd7a89356da7717293eb0bc5d87b8ac9">osTimerStop</a> successfully stops the timer operation.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>timer_id</b> : timer ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga6fa5a23f241d765ae22ff1862c6f3b3f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxTimerIsRunning </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a>&#160;</td>
+ <td class="paramname"><em>timer_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>running</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">timer_id</td><td>timer ID obtained by <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">running</td><td>running state: 0 not running, 1 running.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>TimerIsRunning</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#ga69d3589f54194022c30dd01e45ec6741">osTimerIsRunning</a> is called and its execution result is known.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>timer_id</b> : timer ID.</li>
+<li><b>running</b> : timer running state: 0 not running, 1 running. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gaea5811cc74861117eccbcbb997d36133"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxTimerDelete </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a>&#160;</td>
+ <td class="paramname"><em>timer_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">timer_id</td><td>timer ID obtained by <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>TimerDelete</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad0001dd74721ab461789324806db2453">osTimerDelete</a> is called.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>timer_id</b> : timer ID. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga474f3bd3ed38945b087f37fd709560b7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxTimerDestroyed </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a>&#160;</td>
+ <td class="paramname"><em>timer_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">timer_id</td><td>timer ID obtained by <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>The event <b>TimerDestroyed</b> is generated when the function <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad0001dd74721ab461789324806db2453">osTimerDelete</a> successfully deletes the timer object.</p>
+<p><b>Value</b> in the Event Recorder shows:</p>
+<ul>
+<li><b>timer_id</b> : timer ID. </li>
+</ul>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/group__rtx__evr__timer.js b/docs/RTOS2/html/group__rtx__evr__timer.js
new file mode 100644
index 0000000..43b0b4f
--- /dev/null
+++ b/docs/RTOS2/html/group__rtx__evr__timer.js
@@ -0,0 +1,15 @@
+var group__rtx__evr__timer =
+[
+ [ "EvrRtxTimerError", "group__rtx__evr__timer.html#gaf1b516bf697288e67fe797662b1873b0", null ],
+ [ "EvrRtxTimerCallback", "group__rtx__evr__timer.html#gacd46f9d31d256c27c72e47d5be5e9d09", null ],
+ [ "EvrRtxTimerNew", "group__rtx__evr__timer.html#ga6387808c22d6e186057ed744618d2487", null ],
+ [ "EvrRtxTimerCreated", "group__rtx__evr__timer.html#ga71dd40a818f1098052915bbfb6c17e88", null ],
+ [ "EvrRtxTimerGetName", "group__rtx__evr__timer.html#ga601e3617903900524062c4f9069d052f", null ],
+ [ "EvrRtxTimerStart", "group__rtx__evr__timer.html#ga453d82bfa65dfbbaffbd5b4ff4f050b2", null ],
+ [ "EvrRtxTimerStarted", "group__rtx__evr__timer.html#gab0dbdf460fc26b25f3987c44fb0ebdeb", null ],
+ [ "EvrRtxTimerStop", "group__rtx__evr__timer.html#ga27cf05adc61d30a0e68f380c96ea5f93", null ],
+ [ "EvrRtxTimerStopped", "group__rtx__evr__timer.html#gaccd59c7ae2351e0a1bf96cdb749c049f", null ],
+ [ "EvrRtxTimerIsRunning", "group__rtx__evr__timer.html#ga6fa5a23f241d765ae22ff1862c6f3b3f", null ],
+ [ "EvrRtxTimerDelete", "group__rtx__evr__timer.html#gaea5811cc74861117eccbcbb997d36133", null ],
+ [ "EvrRtxTimerDestroyed", "group__rtx__evr__timer.html#ga474f3bd3ed38945b087f37fd709560b7", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/history_8txt.html b/docs/RTOS2/html/history_8txt.html
new file mode 100644
index 0000000..8efc10c
--- /dev/null
+++ b/docs/RTOS2/html/history_8txt.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>history.txt File Reference</title>
+<title>CMSIS-RTOS2: history.txt File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('history_8txt.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">history.txt File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="history_8txt.html">history.txt</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/index.html b/docs/RTOS2/html/index.html
new file mode 100644
index 0000000..97e96b7
--- /dev/null
+++ b/docs/RTOS2/html/index.html
@@ -0,0 +1,181 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Main Page</title>
+<title>CMSIS-RTOS2: Main Page</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li class="current"><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('index.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">CMSIS-RTOS2 Documentation</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>The <b>CMSIS-RTOS v2 (CMSIS-RTOS2)</b> provides generic RTOS interfaces for Arm&reg; Cortex&reg; processor-based devices. It provides a standardized API for software components that require RTOS functionality and gives therefore serious benefits to the users and the software industry:</p>
+<ul>
+<li>CMSIS-RTOS2 provides basic features that are required in many applications.</li>
+<li>The unified feature set of the CMSIS-RTOS2 reduces learning efforts and simplifies sharing of software components.</li>
+<li>Middleware components that use the CMSIS-RTOS2 are RTOS agnostic and are easier to adapt.</li>
+<li>Standard project templates of the CMSIS-RTOS2 may be shipped with freely available CMSIS-RTOS2 implementations.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>The CMSIS-RTOS API Version 2 defines a minimum feature set. Implementations with extended features may be provided by the RTOS vendors.</dd></dl>
+<p>The CMSIS-RTOS2 manages the resources of the microcontroller system and implements the concept of parallel threads that run concurrently.</p>
+<p>Applications frequently require several concurrent activities. CMSIS-RTOS2 can manage multiple concurrent activities at the time when they are needed. Each activity gets a separate thread which executes a specific task and this simplifies the overall program structure. The CMSIS-RTOS2 system is scalable and additional threads can be added easily at a later time. Threads have a priority allowing faster execution of time-critical parts of a user application.</p>
+<p>The CMSIS-RTOS2 offers services needed in many real-time applications, for example, periodical activation of timer functions, memory management, and message exchange between threads with time limits.</p>
+<p>The CMSIS-RTOS2 addresses the following new requirements:</p>
+<ul>
+<li>Dynamic object creation no longer requires static memory, static memory buffers are now optional.</li>
+<li>Support for Armv8-M architecture that provides a secure and non-secure state of code execution.</li>
+<li>Provisions for message passing in multi-core systems.</li>
+<li>Full support of C++ run-time environments.</li>
+<li>C interface which is binary compatible across <a href="http://infocenter.arm.com/help/topic/com.arm.doc.subset.swdev.abi/index.html">ABI compatible compilers</a>.</li>
+</ul>
+<p>As a consequence of these requirements the CMSIS-RTOS2 has the following fundamental modifications:</p>
+<ul>
+<li>The functions osXxxxNew replace osXxxxCreate functions; osXxxxNew and osXxxxDelete create and destroy objects.</li>
+<li>The C function <code>main</code> is no longer started as a thread (this was an optional feature in CMSIS-RTOS v1).</li>
+<li>Functions that return osEvent have been replaced.</li>
+</ul>
+<p>CMSIS-RTOS2 provides an translation layer to <a href="../../RTOS/html/index.html" class="el">CMSIS-RTOS v1</a>. It is possible to intermix <a class="el" href="rtos_api2.html">CMSIS-RTOS C API v2</a> and <a href="../../RTOS/html/functionOverview.html" class="el">CMSIS-RTOS C API v1</a> within the same application. Over time, you may migrate to the new API as explained in <a class="el" href="os2Migration.html">Migration from API v1 to API v2</a>.</p>
+<p>CMSIS-RTOS2 is not POSIX compliant, but has provisions to enable a C++11/C++14 interface.</p>
+<p>The following sections provide further details about CMSIS-RTOS2 and the RTX reference implementation.</p>
+<ul>
+<li><a class="el" href="rtos_revisionHistory.html">Revision History</a> documents changes made in each version for CMSIS-RTOS v2 and RTX v5.</li>
+<li><a class="el" href="genRTOS2IF.html">Generic RTOS Interface</a> provides an overview about the APIs available with CMSIS-RTOS v2.</li>
+<li><a class="el" href="functionOverview.html">Function Overview</a> lists the CMSIS-RTOS2 API functions and the header file cmsis_os2.h.</li>
+<li><a class="el" href="rtosValidation.html">RTOS Validation</a> describes the validation suite that is publicly available.</li>
+<li><a class="el" href="os2Migration.html">Migration from API v1 to API v2</a> shows how to use CMSIS-RTOS2 in existing projects and lists function differences to CMSIS-RTOS v1.</li>
+<li><a class="el" href="rtx5_impl.html">RTX v5 Implementation</a> provides general information about the operation and usage of RTX v5.</li>
+</ul>
+<hr/>
+<h2>CMSIS-RTOS2 in ARM::CMSIS Pack </h2>
+<p><a class="anchor" id="directory"></a> The following files relevant to CMSIS-RTOS2 are present in the <b>ARM::CMSIS</b> Pack directories: </p>
+<table class="doxtable">
+<tr>
+<th align="left">Directory </th><th align="left">Content </th></tr>
+<tr>
+<td align="left"><b>CMSIS/Documentation/RTOS2</b> </td><td align="left">This documentation </td></tr>
+<tr>
+<td align="left"><b>CMSIS/RTOS2/Include</b> </td><td align="left"><a class="el" href="genRTOS2IF.html#cmsis_os2_h">cmsis_os2.h header file</a> </td></tr>
+<tr>
+<td align="left"><b>CMSIS/RTOS2/RTX</b> </td><td align="left">CMSIS-RTOS2 reference implementation based on RTX version 5 </td></tr>
+<tr>
+<td align="left"><b>CMSIS/RTOS2/Source</b> </td><td align="left">Generic <b>OS tick</b> implementations for various processors based on <a class="el" href="rtos_os_tick_api.html">OS Tick API</a> </td></tr>
+<tr>
+<td align="left"><b>CMSIS/RTOS2/Template</b> </td><td align="left">Compatibility layer to <a href="../../RTOS/html/index.html" class="el">CMSIS-RTOS v1</a> </td></tr>
+</table>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/jquery.js b/docs/RTOS2/html/jquery.js
new file mode 100644
index 0000000..3db33e6
--- /dev/null
+++ b/docs/RTOS2/html/jquery.js
@@ -0,0 +1,72 @@
+/*!
+ * jQuery JavaScript Library v1.7.1
+ * http://jquery.com/
+ *
+ * Copyright 2011, John Resig
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ * Copyright 2011, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ *
+ * Date: Mon Nov 21 21:11:03 2011 -0500
+ */
+(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b4<b3;b4++){if((b9=arguments[b4])!=null){for(b2 in b9){b0=b5[b2];b1=b9[b2];if(b5===b1){continue}if(b8&&b1&&(bF.isPlainObject(b1)||(b6=bF.isArray(b1)))){if(b6){b6=false;b7=b0&&bF.isArray(b0)?b0:[]}else{b7=b0&&bF.isPlainObject(b0)?b0:{}}b5[b2]=bF.extend(b8,b7,b1)}else{if(b1!==L){b5[b2]=b1}}}}}return b5};bF.extend({noConflict:function(b0){if(bb.$===bF){bb.$=bH}if(b0&&bb.jQuery===bF){bb.jQuery=bU}return bF},isReady:false,readyWait:1,holdReady:function(b0){if(b0){bF.readyWait++}else{bF.ready(true)}},ready:function(b0){if((b0===true&&!--bF.readyWait)||(b0!==true&&!bF.isReady)){if(!av.body){return setTimeout(bF.ready,1)}bF.isReady=true;if(b0!==true&&--bF.readyWait>0){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b4<b5;){if(b6.apply(b3[b4++],b2)===false){break}}}}else{if(b0){for(b1 in b3){if(b6.call(b3[b1],b1,b3[b1])===false){break}}}else{for(;b4<b5;){if(b6.call(b3[b4],b4,b3[b4++])===false){break}}}}return b3},trim:bO?function(b0){return b0==null?"":bO.call(b0)}:function(b0){return b0==null?"":b0.toString().replace(bI,"").replace(bE,"")},makeArray:function(b3,b1){var b0=b1||[];if(b3!=null){var b2=bF.type(b3);if(b3.length==null||b2==="string"||b2==="function"||b2==="regexp"||bF.isWindow(b3)){bz.call(b0,b3)}else{bF.merge(b0,b3)}}return b0},inArray:function(b2,b3,b1){var b0;if(b3){if(bv){return bv.call(b3,b2,b1)}b0=b3.length;b1=b1?b1<0?Math.max(0,b0+b1):b1:0;for(;b1<b0;b1++){if(b1 in b3&&b3[b1]===b2){return b1}}}return -1},merge:function(b4,b2){var b3=b4.length,b1=0;if(typeof b2.length==="number"){for(var b0=b2.length;b1<b0;b1++){b4[b3++]=b2[b1]}}else{while(b2[b1]!==L){b4[b3++]=b2[b1++]}}b4.length=b3;return b4},grep:function(b1,b6,b0){var b2=[],b5;b0=!!b0;for(var b3=0,b4=b1.length;b3<b4;b3++){b5=!!b6(b1[b3],b3);if(b0!==b5){b2.push(b1[b3])}}return b2},map:function(b0,b7,b8){var b5,b6,b4=[],b2=0,b1=b0.length,b3=b0 instanceof bF||b1!==L&&typeof b1==="number"&&((b1>0&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b2<b1;b2++){b5=b7(b0[b2],b2,b8);if(b5!=null){b4[b4.length]=b5}}}else{for(b6 in b0){b5=b7(b0[b6],b6,b8);if(b5!=null){b4[b4.length]=b5}}}return b4.concat.apply([],b4)},guid:1,proxy:function(b4,b3){if(typeof b3==="string"){var b2=b4[b3];b3=b4;b4=b2}if(!bF.isFunction(b4)){return L}var b0=bK.call(arguments,2),b1=function(){return b4.apply(b3,b0.concat(bK.call(arguments)))};b1.guid=b4.guid=b4.guid||b1.guid||bF.guid++;return b1},access:function(b0,b8,b6,b2,b5,b7){var b1=b0.length;if(typeof b8==="object"){for(var b3 in b8){bF.access(b0,b3,b8[b3],b2,b5,b6)}return b0}if(b6!==L){b2=!b7&&b2&&bF.isFunction(b6);for(var b4=0;b4<b1;b4++){b5(b0[b4],b8,b2?b6.call(b0[b4],b4,b5(b0[b4],b8)):b6,b7)}return b0}return b1?b5(b0[0],b8):L},now:function(){return(new Date()).getTime()},uaMatch:function(b1){b1=b1.toLowerCase();var b0=by.exec(b1)||bR.exec(b1)||bQ.exec(b1)||b1.indexOf("compatible")<0&&bS.exec(b1)||[];return{browser:b0[1]||"",version:b0[2]||"0"}},sub:function(){function b0(b3,b4){return new b0.fn.init(b3,b4)}bF.extend(true,b0,this);b0.superclass=this;b0.fn=b0.prototype=this();b0.fn.constructor=b0;b0.sub=this.sub;b0.fn.init=function b2(b3,b4){if(b4&&b4 instanceof bF&&!(b4 instanceof b0)){b4=b0(b4)}return bF.fn.init.call(this,b3,b4,b1)};b0.fn.init.prototype=b0.fn;var b1=b0(av);return b0},browser:{}});bF.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(b1,b0){bx["[object "+b0+"]"]=b0.toLowerCase()});bV=bF.uaMatch(bX);if(bV.browser){bF.browser[bV.browser]=true;bF.browser.version=bV.version}if(bF.browser.webkit){bF.browser.safari=true}if(bM.test("\xA0")){bI=/^[\s\xA0]+/;bE=/[\s\xA0]+$/}bD=bF(av);if(av.addEventListener){e=function(){av.removeEventListener("DOMContentLoaded",e,false);bF.ready()}}else{if(av.attachEvent){e=function(){if(av.readyState==="complete"){av.detachEvent("onreadystatechange",e);bF.ready()}}}}function bw(){if(bF.isReady){return}try{av.documentElement.doScroll("left")}catch(b0){setTimeout(bw,1);return}bF.ready()}return bF})();var a2={};function X(e){var bv=a2[e]={},bw,bx;e=e.split(/\s+/);for(bw=0,bx=e.length;bw<bx;bw++){bv[e[bw]]=true}return bv}b.Callbacks=function(bw){bw=bw?(a2[bw]||X(bw)):{};var bB=[],bC=[],bx,by,bv,bz,bA,bE=function(bF){var bG,bJ,bI,bH,bK;for(bG=0,bJ=bF.length;bG<bJ;bG++){bI=bF[bG];bH=b.type(bI);if(bH==="array"){bE(bI)}else{if(bH==="function"){if(!bw.unique||!bD.has(bI)){bB.push(bI)}}}}},e=function(bG,bF){bF=bF||[];bx=!bw.memory||[bG,bF];by=true;bA=bv||0;bv=0;bz=bB.length;for(;bB&&bA<bz;bA++){if(bB[bA].apply(bG,bF)===false&&bw.stopOnFalse){bx=true;break}}by=false;if(bB){if(!bw.once){if(bC&&bC.length){bx=bC.shift();bD.fireWith(bx[0],bx[1])}}else{if(bx===true){bD.disable()}else{bB=[]}}}},bD={add:function(){if(bB){var bF=bB.length;bE(arguments);if(by){bz=bB.length}else{if(bx&&bx!==true){bv=bF;e(bx[0],bx[1])}}}return this},remove:function(){if(bB){var bF=arguments,bH=0,bI=bF.length;for(;bH<bI;bH++){for(var bG=0;bG<bB.length;bG++){if(bF[bH]===bB[bG]){if(by){if(bG<=bz){bz--;if(bG<=bA){bA--}}}bB.splice(bG--,1);if(bw.unique){break}}}}}return this},has:function(bG){if(bB){var bF=0,bH=bB.length;for(;bF<bH;bF++){if(bG===bB[bF]){return true}}}return false},empty:function(){bB=[];return this},disable:function(){bB=bC=bx=L;return this},disabled:function(){return !bB},lock:function(){bC=L;if(!bx||bx===true){bD.disable()}return this},locked:function(){return !bC},fireWith:function(bG,bF){if(bC){if(by){if(!bw.once){bC.push([bG,bF])}}else{if(!(bw.once&&bx)){e(bG,bF)}}}return this},fire:function(){bD.fireWith(this,arguments);return this},fired:function(){return !!bx}};return bD};var aJ=[].slice;b.extend({Deferred:function(by){var bx=b.Callbacks("once memory"),bw=b.Callbacks("once memory"),bv=b.Callbacks("memory"),e="pending",bA={resolve:bx,reject:bw,notify:bv},bC={done:bx.add,fail:bw.add,progress:bv.add,state:function(){return e},isResolved:bx.fired,isRejected:bw.fired,then:function(bE,bD,bF){bB.done(bE).fail(bD).progress(bF);return this},always:function(){bB.done.apply(bB,arguments).fail.apply(bB,arguments);return this},pipe:function(bF,bE,bD){return b.Deferred(function(bG){b.each({done:[bF,"resolve"],fail:[bE,"reject"],progress:[bD,"notify"]},function(bI,bL){var bH=bL[0],bK=bL[1],bJ;if(b.isFunction(bH)){bB[bI](function(){bJ=bH.apply(this,arguments);if(bJ&&b.isFunction(bJ.promise)){bJ.promise().then(bG.resolve,bG.reject,bG.notify)}else{bG[bK+"With"](this===bB?bG:this,[bJ])}})}else{bB[bI](bG[bK])}})}).promise()},promise:function(bE){if(bE==null){bE=bC}else{for(var bD in bC){bE[bD]=bC[bD]}}return bE}},bB=bC.promise({}),bz;for(bz in bA){bB[bz]=bA[bz].fire;bB[bz+"With"]=bA[bz].fireWith}bB.done(function(){e="resolved"},bw.disable,bv.lock).fail(function(){e="rejected"},bx.disable,bv.lock);if(by){by.call(bB,bB)}return bB},when:function(bA){var bx=aJ.call(arguments,0),bv=0,e=bx.length,bB=new Array(e),bw=e,by=e,bC=e<=1&&bA&&b.isFunction(bA.promise)?bA:b.Deferred(),bE=bC.promise();function bD(bF){return function(bG){bx[bF]=arguments.length>1?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv<e;bv++){if(bx[bv]&&bx[bv].promise&&b.isFunction(bx[bv].promise)){bx[bv].promise().then(bD(bv),bC.reject,bz(bv))
+}else{--bw}}if(!bw){bC.resolveWith(bC,bx)}}else{if(bC!==bA){bC.resolveWith(bC,e?[bA]:[])}}return bE}});b.support=(function(){var bJ,bI,bF,bG,bx,bE,bA,bD,bz,bK,bB,by,bw,bv=av.createElement("div"),bH=av.documentElement;bv.setAttribute("className","t");bv.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav></:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="<div "+e+"><div></div></div><table "+e+" cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="<div style='width:4px;'></div>";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA<bz;bA++){delete bB[bv[bA]]}if(!(by?S:b.isEmptyObject)(bB)){return}}}if(!by){delete e[bw].data;if(!S(e[bw])){return}}if(b.support.deleteExpando||!e.setInterval){delete e[bw]}else{e[bw]=null}if(bD){if(b.support.deleteExpando){delete bx[bC]}else{if(bx.removeAttribute){bx.removeAttribute(bC)}else{bx[bC]=null}}}},_data:function(bv,e,bw){return b.data(bv,e,bw,true)},acceptData:function(bv){if(bv.nodeName){var e=b.noData[bv.nodeName.toLowerCase()];if(e){return !(e===true||bv.getAttribute("classid")!==e)}}return true}});b.fn.extend({data:function(by,bA){var bB,e,bw,bz=null;if(typeof by==="undefined"){if(this.length){bz=b.data(this[0]);if(this[0].nodeType===1&&!b._data(this[0],"parsedAttrs")){e=this[0].attributes;for(var bx=0,bv=e.length;bx<bv;bx++){bw=e[bx].name;if(bw.indexOf("data-")===0){bw=b.camelCase(bw.substring(5));a5(this[0],bw,bz[bw])}}b._data(this[0],"parsedAttrs",true)}}return bz}else{if(typeof by==="object"){return this.each(function(){b.data(this,by)})}}bB=by.split(".");bB[1]=bB[1]?"."+bB[1]:"";if(bA===L){bz=this.triggerHandler("getData"+bB[1]+"!",[bB[0]]);if(bz===L&&this.length){bz=b.data(this[0],by);bz=a5(this[0],by,bz)}return bz===L&&bB[1]?this.data(bB[0]):bz}else{return this.each(function(){var bC=b(this),bD=[bB[0],bA];bC.triggerHandler("setData"+bB[1]+"!",bD);b.data(this,by,bA);bC.triggerHandler("changeData"+bB[1]+"!",bD)})}},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function a5(bx,bw,by){if(by===L&&bx.nodeType===1){var bv="data-"+bw.replace(aA,"-$1").toLowerCase();by=bx.getAttribute(bv);if(typeof by==="string"){try{by=by==="true"?true:by==="false"?false:by==="null"?null:b.isNumeric(by)?parseFloat(by):aS.test(by)?b.parseJSON(by):by}catch(bz){}b.data(bx,bw,by)}else{by=L}}return by}function S(bv){for(var e in bv){if(e==="data"&&b.isEmptyObject(bv[e])){continue}if(e!=="toJSON"){return false}}return true}function bi(by,bx,bA){var bw=bx+"defer",bv=bx+"queue",e=bx+"mark",bz=b._data(by,bw);if(bz&&(bA==="queue"||!b._data(by,bv))&&(bA==="mark"||!b._data(by,e))){setTimeout(function(){if(!b._data(by,bv)&&!b._data(by,e)){b.removeData(by,bw,true);bz.fire()}},0)}}b.extend({_mark:function(bv,e){if(bv){e=(e||"fx")+"mark";b._data(bv,e,(b._data(bv,e)||0)+1)}},_unmark:function(by,bx,bv){if(by!==true){bv=bx;bx=by;by=false}if(bx){bv=bv||"fx";var e=bv+"mark",bw=by?0:((b._data(bx,e)||1)-1);if(bw){b._data(bx,e,bw)}else{b.removeData(bx,e,true);bi(bx,bv,"mark")}}},queue:function(bv,e,bx){var bw;if(bv){e=(e||"fx")+"queue";bw=b._data(bv,e);if(bx){if(!bw||b.isArray(bx)){bw=b._data(bv,e,b.makeArray(bx))}else{bw.push(bx)}}return bw||[]}},dequeue:function(by,bx){bx=bx||"fx";var bv=b.queue(by,bx),bw=bv.shift(),e={};if(bw==="inprogress"){bw=bv.shift()}if(bw){if(bx==="fx"){bv.unshift("inprogress")}b._data(by,bx+".run",e);bw.call(by,function(){b.dequeue(by,bx)},e)}if(!bv.length){b.removeData(by,bx+"queue "+bx+".run",true);bi(by,bx,"queue")}}});b.fn.extend({queue:function(e,bv){if(typeof e!=="string"){bv=e;e="fx"}if(bv===L){return b.queue(this[0],e)}return this.each(function(){var bw=b.queue(this,e,bv);if(e==="fx"&&bw[0]!=="inprogress"){b.dequeue(this,e)}})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(bv,e){bv=b.fx?b.fx.speeds[bv]||bv:bv;e=e||"fx";return this.queue(e,function(bx,bw){var by=setTimeout(bx,bv);bw.stop=function(){clearTimeout(by)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(bD,bw){if(typeof bD!=="string"){bw=bD;bD=L}bD=bD||"fx";var e=b.Deferred(),bv=this,by=bv.length,bB=1,bz=bD+"defer",bA=bD+"queue",bC=bD+"mark",bx;function bE(){if(!(--bB)){e.resolveWith(bv,[bv])}}while(by--){if((bx=b.data(bv[by],bz,L,true)||(b.data(bv[by],bA,L,true)||b.data(bv[by],bC,L,true))&&b.data(bv[by],bz,b.Callbacks("once memory"),true))){bB++;bx.add(bE)}}bE();return e.promise()}});var aP=/[\n\t\r]/g,af=/\s+/,aU=/\r/g,g=/^(?:button|input)$/i,D=/^(?:button|input|object|select|textarea)$/i,l=/^a(?:rea)?$/i,ao=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,F=b.support.getSetAttribute,be,aY,aF;b.fn.extend({attr:function(e,bv){return b.access(this,e,bv,true,b.attr)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,bv){return b.access(this,e,bv,true,b.prop)},removeProp:function(e){e=b.propFix[e]||e;return this.each(function(){try{this[e]=L;delete this[e]}catch(bv){}})},addClass:function(by){var bA,bw,bv,bx,bz,bB,e;if(b.isFunction(by)){return this.each(function(bC){b(this).addClass(by.call(this,bC,this.className))})}if(by&&typeof by==="string"){bA=by.split(af);for(bw=0,bv=this.length;bw<bv;bw++){bx=this[bw];if(bx.nodeType===1){if(!bx.className&&bA.length===1){bx.className=by}else{bz=" "+bx.className+" ";for(bB=0,e=bA.length;bB<e;bB++){if(!~bz.indexOf(" "+bA[bB]+" ")){bz+=bA[bB]+" "}}bx.className=b.trim(bz)}}}}return this},removeClass:function(bz){var bA,bw,bv,by,bx,bB,e;if(b.isFunction(bz)){return this.each(function(bC){b(this).removeClass(bz.call(this,bC,this.className))})}if((bz&&typeof bz==="string")||bz===L){bA=(bz||"").split(af);for(bw=0,bv=this.length;bw<bv;bw++){by=this[bw];if(by.nodeType===1&&by.className){if(bz){bx=(" "+by.className+" ").replace(aP," ");for(bB=0,e=bA.length;bB<e;bB++){bx=bx.replace(" "+bA[bB]+" "," ")}by.className=b.trim(bx)}else{by.className=""}}}}return this},toggleClass:function(bx,bv){var bw=typeof bx,e=typeof bv==="boolean";if(b.isFunction(bx)){return this.each(function(by){b(this).toggleClass(bx.call(this,by,this.className,bv),bv)})}return this.each(function(){if(bw==="string"){var bA,bz=0,by=b(this),bB=bv,bC=bx.split(af);while((bA=bC[bz++])){bB=e?bB:!by.hasClass(bA);by[bB?"addClass":"removeClass"](bA)}}else{if(bw==="undefined"||bw==="boolean"){if(this.className){b._data(this,"__className__",this.className)}this.className=this.className||bx===false?"":b._data(this,"__className__")||""}}})},hasClass:function(e){var bx=" "+e+" ",bw=0,bv=this.length;for(;bw<bv;bw++){if(this[bw].nodeType===1&&(" "+this[bw].className+" ").replace(aP," ").indexOf(bx)>-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv<bz;bv++){bx=bC[bv];if(bx.selected&&(b.support.optDisabled?!bx.disabled:bx.getAttribute("disabled")===null)&&(!bx.parentNode.disabled||!b.nodeName(bx.parentNode,"optgroup"))){bA=b(bx).val();if(bw){return bA}bB.push(bA)}}if(bw&&!bB.length&&bC.length){return b(bC[by]).val()}return bB},set:function(bv,bw){var e=b.makeArray(bw);b(bv).find("option").each(function(){this.selected=b.inArray(b(this).val(),e)>=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;
+if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw<e;bw++){bv=bA[bw];if(bv){by=b.propFix[bv]||bv;b.attr(bx,bv,"");bx.removeAttribute(F?bv:by);if(ao.test(bv)&&by in bx){bx[by]=false}}}}},attrHooks:{type:{set:function(e,bv){if(g.test(e.nodeName)&&e.parentNode){b.error("type property can't be changed")}else{if(!b.support.radioValue&&bv==="radio"&&b.nodeName(e,"input")){var bw=e.value;e.setAttribute("type",bv);if(bw){e.value=bw}return bv}}}},value:{get:function(bv,e){if(be&&b.nodeName(bv,"button")){return be.get(bv,e)}return e in bv?bv.value:null},set:function(bv,bw,e){if(be&&b.nodeName(bv,"button")){return be.set(bv,bw,e)}bv.value=bw}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(bz,bx,bA){var bw,e,by,bv=bz.nodeType;if(!bz||bv===3||bv===8||bv===2){return}by=bv!==1||!b.isXMLDoc(bz);if(by){bx=b.propFix[bx]||bx;e=b.propHooks[bx]}if(bA!==L){if(e&&"set" in e&&(bw=e.set(bz,bA,bx))!==L){return bw}else{return(bz[bx]=bA)}}else{if(e&&"get" in e&&(bw=e.get(bz,bx))!==null){return bw}else{return bz[bx]}}},propHooks:{tabIndex:{get:function(bv){var e=bv.getAttributeNode("tabindex");return e&&e.specified?parseInt(e.value,10):D.test(bv.nodeName)||l.test(bv.nodeName)&&bv.href?0:L}}}});b.attrHooks.tabindex=b.propHooks.tabIndex;aY={get:function(bv,e){var bx,bw=b.prop(bv,e);return bw===true||typeof bw!=="boolean"&&(bx=bv.getAttributeNode(e))&&bx.nodeValue!==false?e.toLowerCase():L},set:function(bv,bx,e){var bw;if(bx===false){b.removeAttr(bv,e)}else{bw=b.propFix[e]||e;if(bw in bv){bv[bw]=true}bv.setAttribute(e,e.toLowerCase())}return e}};if(!F){aF={name:true,id:true};be=b.valHooks.button={get:function(bw,bv){var e;e=bw.getAttributeNode(bv);return e&&(aF[bv]?e.nodeValue!=="":e.specified)?e.nodeValue:L},set:function(bw,bx,bv){var e=bw.getAttributeNode(bv);if(!e){e=av.createAttribute(bv);bw.setAttributeNode(e)}return(e.nodeValue=bx+"")}};b.attrHooks.tabindex.set=be.set;b.each(["width","height"],function(bv,e){b.attrHooks[e]=b.extend(b.attrHooks[e],{set:function(bw,bx){if(bx===""){bw.setAttribute(e,"auto");return bx}}})});b.attrHooks.contenteditable={get:be.get,set:function(bv,bw,e){if(bw===""){bw="false"}be.set(bv,bw,e)}}}if(!b.support.hrefNormalized){b.each(["href","src","width","height"],function(bv,e){b.attrHooks[e]=b.extend(b.attrHooks[e],{get:function(bx){var bw=bx.getAttribute(e,2);return bw===null?L:bw}})})}if(!b.support.style){b.attrHooks.style={get:function(e){return e.style.cssText.toLowerCase()||L},set:function(e,bv){return(e.style.cssText=""+bv)}}}if(!b.support.optSelected){b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(bv){var e=bv.parentNode;if(e){e.selectedIndex;if(e.parentNode){e.parentNode.selectedIndex}}return null}})}if(!b.support.enctype){b.propFix.enctype="encoding"}if(!b.support.checkOn){b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return e.getAttribute("value")===null?"on":e.value}}})}b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,bv){if(b.isArray(bv)){return(e.checked=b.inArray(b(e).val(),bv)>=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI<bC.length;bI++){bH=n.exec(bC[bI])||[];bF=bH[1];e=(bH[2]||"").split(".").sort();bE=b.event.special[bF]||{};bF=(by?bE.delegateType:bE.bindType)||bF;bE=b.event.special[bF]||{};bG=b.extend({type:bF,origType:bH[1],data:bA,handler:bJ,guid:bJ.guid,selector:by,quick:Y(by),namespace:e.join(".")},bv);bw=bK[bF];if(!bw){bw=bK[bF]=[];bw.delegateCount=0;if(!bE.setup||bE.setup.call(bx,bA,e,bB)===false){if(bx.addEventListener){bx.addEventListener(bF,bB,false)}else{if(bx.attachEvent){bx.attachEvent("on"+bF,bB)}}}}if(bE.add){bE.add.call(bx,bG);if(!bG.handler.guid){bG.handler.guid=bJ.guid}}if(by){bw.splice(bw.delegateCount++,0,bG)}else{bw.push(bG)}b.event.global[bF]=true}bx=null},global:{},remove:function(bJ,bE,bv,bH,bB){var bI=b.hasData(bJ)&&b._data(bJ),bF,bx,bz,bL,bC,bA,bG,bw,by,bK,bD,e;if(!bI||!(bw=bI.events)){return}bE=b.trim(bt(bE||"")).split(" ");for(bF=0;bF<bE.length;bF++){bx=n.exec(bE[bF])||[];bz=bL=bx[1];bC=bx[2];if(!bz){for(bz in bw){b.event.remove(bJ,bz+bE[bF],bv,bH,true)}continue}by=b.event.special[bz]||{};bz=(bH?by.delegateType:by.bindType)||bz;bD=bw[bz]||[];bA=bD.length;bC=bC?new RegExp("(^|\\.)"+bC.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(bG=0;bG<bD.length;bG++){e=bD[bG];if((bB||bL===e.origType)&&(!bv||bv.guid===e.guid)&&(!bC||bC.test(e.namespace))&&(!bH||bH===e.selector||bH==="**"&&e.selector)){bD.splice(bG--,1);if(e.selector){bD.delegateCount--}if(by.remove){by.remove.call(bJ,e)}}}if(bD.length===0&&bA!==bD.length){if(!by.teardown||by.teardown.call(bJ,bC)===false){b.removeEvent(bJ,bz,bI.handle)}delete bw[bz]}}if(b.isEmptyObject(bw)){bK=bI.handle;if(bK){bK.elem=null}b.removeData(bJ,["events","handle"],true)}},customEvent:{getData:true,setData:true,changeData:true},trigger:function(bv,bD,bA,bJ){if(bA&&(bA.nodeType===3||bA.nodeType===8)){return}var bG=bv.type||bv,bx=[],e,bw,bC,bH,bz,by,bF,bE,bB,bI;if(T.test(bG+b.event.triggered)){return}if(bG.indexOf("!")>=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bC<bB.length&&!bv.isPropagationStopped();bC++){bH=bB[bC][0];bv.type=bB[bC][1];bE=(b._data(bH,"events")||{})[bv.type]&&b._data(bH,"handle");if(bE){bE.apply(bH,bD)}bE=by&&bH[by];if(bE&&b.acceptData(bH)&&bE.apply(bH,bD)===false){bv.preventDefault()}}bv.type=bG;if(!bJ&&!bv.isDefaultPrevented()){if((!bF._default||bF._default.apply(bA.ownerDocument,bD)===false)&&!(bG==="click"&&b.nodeName(bA,"a"))&&b.acceptData(bA)){if(by&&bA[bG]&&((bG!=="focus"&&bG!=="blur")||bv.target.offsetWidth!==0)&&!b.isWindow(bA)){bz=bA[by];if(bz){bA[by]=null}b.event.triggered=bG;bA[bG]();b.event.triggered=L;if(bz){bA[by]=bz}}}}return bv.result},dispatch:function(e){e=b.event.fix(e||bb.event);var bz=((b._data(this,"events")||{})[e.type]||[]),bA=bz.delegateCount,bG=[].slice.call(arguments,0),by=!e.exclusive&&!e.namespace,bH=[],bC,bB,bK,bx,bF,bE,bv,bD,bI,bw,bJ;bG[0]=e;e.delegateTarget=this;if(bA&&!e.target.disabled&&!(e.button&&e.type==="click")){bx=b(this);bx.context=this.ownerDocument||this;for(bK=e.target;bK!=this;bK=bK.parentNode||this){bE={};bD=[];bx[0]=bK;for(bC=0;bC<bA;bC++){bI=bz[bC];bw=bI.selector;if(bE[bw]===L){bE[bw]=(bI.quick?j(bK,bI.quick):bx.is(bw))}if(bE[bw]){bD.push(bI)}}if(bD.length){bH.push({elem:bK,matches:bD})}}}if(bz.length>bA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC<bH.length&&!e.isPropagationStopped();bC++){bv=bH[bC];e.currentTarget=bv.elem;for(bB=0;bB<bv.matches.length&&!e.isImmediatePropagationStopped();bB++){bI=bv.matches[bB];if(by||(!e.namespace&&!bI.namespace)||e.namespace_re&&e.namespace_re.test(bI.namespace)){e.data=bI.data;e.handleObj=bI;bF=((b.event.special[bI.origType]||{}).handle||bI.handler).apply(bv.elem,bG);if(bF!==L){e.result=bF;if(bF===false){e.preventDefault();e.stopPropagation()}}}}}return e.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(bv,e){if(bv.which==null){bv.which=e.charCode!=null?e.charCode:e.keyCode}return bv}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(bx,bw){var by,bz,e,bv=bw.button,bA=bw.fromElement;if(bx.pageX==null&&bw.clientX!=null){by=bx.target.ownerDocument||av;bz=by.documentElement;e=by.body;bx.pageX=bw.clientX+(bz&&bz.scrollLeft||e&&e.scrollLeft||0)-(bz&&bz.clientLeft||e&&e.clientLeft||0);bx.pageY=bw.clientY+(bz&&bz.scrollTop||e&&e.scrollTop||0)-(bz&&bz.clientTop||e&&e.clientTop||0)}if(!bx.relatedTarget&&bA){bx.relatedTarget=bA===bx.target?bw.toElement:bA}if(!bx.which&&bv!==L){bx.which=(bv&1?1:(bv&2?3:(bv&4?2:0)))}return bx}},fix:function(bw){if(bw[b.expando]){return bw}var bv,bz,e=bw,bx=b.event.fixHooks[bw.type]||{},by=bx.props?this.props.concat(bx.props):this.props;bw=b.Event(e);for(bv=by.length;bv;){bz=by[--bv];bw[bz]=e[bz]}if(!bw.target){bw.target=e.srcElement||av}if(bw.target.nodeType===3){bw.target=bw.target.parentNode}if(bw.metaKey===L){bw.metaKey=bw.ctrlKey}return bx.filter?bx.filter(bw,e):bw},special:{ready:{setup:b.bindReady},load:{noBubble:true},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(bw,bv,e){if(b.isWindow(this)){this.onbeforeunload=e}},teardown:function(bv,e){if(this.onbeforeunload===e){this.onbeforeunload=null}}}},simulate:function(bw,by,bx,bv){var bz=b.extend(new b.Event(),bx,{type:bw,isSimulated:true,originalEvent:{}});if(bv){b.event.trigger(bz,null,by)}else{b.event.dispatch.call(by,bz)}if(bz.isDefaultPrevented()){bx.preventDefault()}}};b.event.handle=b.event.dispatch;b.removeEvent=av.removeEventListener?function(bv,e,bw){if(bv.removeEventListener){bv.removeEventListener(e,bw,false)}}:function(bv,e,bw){if(bv.detachEvent){bv.detachEvent("on"+e,bw)}};b.Event=function(bv,e){if(!(this instanceof b.Event)){return new b.Event(bv,e)}if(bv&&bv.type){this.originalEvent=bv;this.type=bv.type;this.isDefaultPrevented=(bv.defaultPrevented||bv.returnValue===false||bv.getPreventDefault&&bv.getPreventDefault())?i:bk}else{this.type=bv}if(e){b.extend(this,e)}this.timeStamp=bv&&bv.timeStamp||b.now();this[b.expando]=true};function bk(){return false}function i(){return true}b.Event.prototype={preventDefault:function(){this.isDefaultPrevented=i;var bv=this.originalEvent;if(!bv){return}if(bv.preventDefault){bv.preventDefault()}else{bv.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=i;var bv=this.originalEvent;if(!bv){return}if(bv.stopPropagation){bv.stopPropagation()}bv.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=i;this.stopPropagation()},isDefaultPrevented:bk,isPropagationStopped:bk,isImmediatePropagationStopped:bk};b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(bv,e){b.event.special[bv]={delegateType:e,bindType:e,handle:function(bz){var bB=this,bA=bz.relatedTarget,by=bz.handleObj,bw=by.selector,bx;if(!bA||(bA!==bB&&!b.contains(bB,bA))){bz.type=by.origType;bx=by.handler.apply(this,arguments);bz.type=e}return bx}}});if(!b.support.submitBubbles){b.event.special.submit={setup:function(){if(b.nodeName(this,"form")){return false
+}b.event.add(this,"click._submit keypress._submit",function(bx){var bw=bx.target,bv=b.nodeName(bw,"input")||b.nodeName(bw,"button")?bw.form:L;if(bv&&!bv._submit_attached){b.event.add(bv,"submit._submit",function(e){if(this.parentNode&&!e.isTrigger){b.event.simulate("submit",this.parentNode,e,true)}});bv._submit_attached=true}})},teardown:function(){if(b.nodeName(this,"form")){return false}b.event.remove(this,"._submit")}}}if(!b.support.changeBubbles){b.event.special.change={setup:function(){if(bd.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio"){b.event.add(this,"propertychange._change",function(e){if(e.originalEvent.propertyName==="checked"){this._just_changed=true}});b.event.add(this,"click._change",function(e){if(this._just_changed&&!e.isTrigger){this._just_changed=false;b.event.simulate("change",this,e,true)}})}return false}b.event.add(this,"beforeactivate._change",function(bw){var bv=bw.target;if(bd.test(bv.nodeName)&&!bv._change_attached){b.event.add(bv,"change._change",function(e){if(this.parentNode&&!e.isSimulated&&!e.isTrigger){b.event.simulate("change",this.parentNode,e,true)}});bv._change_attached=true}})},handle:function(bv){var e=bv.target;if(this!==e||bv.isSimulated||bv.isTrigger||(e.type!=="radio"&&e.type!=="checkbox")){return bv.handleObj.handler.apply(this,arguments)}},teardown:function(){b.event.remove(this,"._change");return bd.test(this.nodeName)}}}if(!b.support.focusinBubbles){b.each({focus:"focusin",blur:"focusout"},function(bx,e){var bv=0,bw=function(by){b.event.simulate(e,by.target,b.event.fix(by),true)};b.event.special[e]={setup:function(){if(bv++===0){av.addEventListener(bx,bw,true)}},teardown:function(){if(--bv===0){av.removeEventListener(bx,bw,true)}}}})}b.fn.extend({on:function(bw,e,bz,by,bv){var bA,bx;if(typeof bw==="object"){if(typeof e!=="string"){bz=e;e=L}for(bx in bw){this.on(bx,e,bz,bw[bx],bv)}return this}if(bz==null&&by==null){by=e;bz=e=L}else{if(by==null){if(typeof e==="string"){by=bz;bz=L}else{by=bz;bz=e;e=L}}}if(by===false){by=bk}else{if(!by){return this}}if(bv===1){bA=by;by=function(bB){b().off(bB);return bA.apply(this,arguments)};by.guid=bA.guid||(bA.guid=b.guid++)}return this.each(function(){b.event.add(this,bw,by,bz,e)})},one:function(bv,e,bx,bw){return this.on.call(this,bv,e,bx,bw,1)},off:function(bw,e,by){if(bw&&bw.preventDefault&&bw.handleObj){var bv=bw.handleObj;b(bw.delegateTarget).off(bv.namespace?bv.type+"."+bv.namespace:bv.type,bv.selector,bv.handler);return this}if(typeof bw==="object"){for(var bx in bw){this.off(bx,e,bw[bx])}return this}if(e===false||typeof e==="function"){by=e;e=L}if(by===false){by=bk}return this.each(function(){b.event.remove(this,bw,by,e)})},bind:function(e,bw,bv){return this.on(e,null,bw,bv)},unbind:function(e,bv){return this.off(e,null,bv)},live:function(e,bw,bv){b(this.context).on(e,this.selector,bw,bv);return this},die:function(e,bv){b(this.context).off(e,this.selector||"**",bv);return this},delegate:function(e,bv,bx,bw){return this.on(bv,e,bx,bw)},undelegate:function(e,bv,bw){return arguments.length==1?this.off(e,"**"):this.off(bv,e,bw)},trigger:function(e,bv){return this.each(function(){b.event.trigger(e,bv,this)})},triggerHandler:function(e,bv){if(this[0]){return b.event.trigger(e,bv,this[0],true)}},toggle:function(bx){var bv=arguments,e=bx.guid||b.guid++,bw=0,by=function(bz){var bA=(b._data(this,"lastToggle"+bx.guid)||0)%bw;b._data(this,"lastToggle"+bx.guid,bA+1);bz.preventDefault();return bv[bA].apply(this,arguments)||false};by.guid=e;while(bw<bv.length){bv[bw++].guid=e}return this.click(by)},hover:function(e,bv){return this.mouseenter(e).mouseleave(bv||e)}});b.each(("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu").split(" "),function(bv,e){b.fn[e]=function(bx,bw){if(bw==null){bw=bx;bx=null}return arguments.length>0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}});
+/*!
+ * Sizzle CSS Selector Engine
+ * Copyright 2011, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ * More information: http://sizzlejs.com/
+ */
+(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e<bR.length;e++){if(bR[e]===bR[e-1]){bR.splice(e--,1)}}}}return bR};by.matches=function(e,bR){return by(e,null,null,bR)};by.matchesSelector=function(e,bR){return by(bR,null,null,[e]).length>0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS<bU;bS++){bV=bE.order[bS];if((bT=bE.leftMatch[bV].exec(bX))){bR=bT[1];bT.splice(1,1);if(bR.substr(bR.length-1)!=="\\"){bT[1]=(bT[1]||"").replace(bK,"");bW=bE.find[bV](bT,e,bY);if(bW!=null){bX=bX.replace(bE.match[bV],"");break}}}}if(!bW){bW=typeof e.getElementsByTagName!=="undefined"?e.getElementsByTagName("*"):[]}return{set:bW,expr:bX}};by.filter=function(b1,b0,b4,bU){var bW,e,bZ,b6,b3,bR,bT,bV,b2,bS=b1,b5=[],bY=b0,bX=b0&&b0[0]&&by.isXML(b0[0]);while(b1&&b0.length){for(bZ in bE.filter){if((bW=bE.leftMatch[bZ].exec(b1))!=null&&bW[2]){bR=bE.filter[bZ];bT=bW[1];e=false;bW.splice(1,1);if(bT.substr(bT.length-1)==="\\"){continue}if(bY===b5){b5=[]}if(bE.preFilter[bZ]){bW=bE.preFilter[bZ](bW,bY,b4,b5,bU,bX);if(!bW){e=b6=true}else{if(bW===true){continue}}}if(bW){for(bV=0;(b3=bY[bV])!=null;bV++){if(b3){b6=bR(b3,bW,bV,bY);b2=bU^b6;if(b4&&b6!=null){if(b2){e=true}else{bY[bV]=false}}else{if(b2){b5.push(b3);e=true}}}}}if(b6!==L){if(!b4){bY=b5}b1=b1.replace(bE.match[bZ],"");if(!e){return[]}break}}}if(b1===bS){if(e==null){by.error(b1)}else{break}}bS=b1}return bY};by.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)};var bw=by.getText=function(bU){var bS,bT,e=bU.nodeType,bR="";if(e){if(e===1||e===9){if(typeof bU.textContent==="string"){return bU.textContent}else{if(typeof bU.innerText==="string"){return bU.innerText.replace(bO,"")}else{for(bU=bU.firstChild;bU;bU=bU.nextSibling){bR+=bw(bU)}}}}else{if(e===3||e===4){return bU.nodeValue}}}else{for(bS=0;(bT=bU[bS]);bS++){if(bT.nodeType!==8){bR+=bw(bT)}}}return bR};var bE=by.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(e){return e.getAttribute("href")},type:function(e){return e.getAttribute("type")}},relative:{"+":function(bW,bR){var bT=typeof bR==="string",bV=bT&&!bQ.test(bR),bX=bT&&!bV;if(bV){bR=bR.toLowerCase()}for(var bS=0,e=bW.length,bU;bS<e;bS++){if((bU=bW[bS])){while((bU=bU.previousSibling)&&bU.nodeType!==1){}bW[bS]=bX||bU&&bU.nodeName.toLowerCase()===bR?bU||false:bU===bR}}if(bX){by.filter(bR,bW,true)}},">":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS<e;bS++){bV=bW[bS];if(bV){var bT=bV.parentNode;bW[bS]=bT.nodeName.toLowerCase()===bR?bT:false}}}else{for(;bS<e;bS++){bV=bW[bS];if(bV){bW[bS]=bU?bV.parentNode:bV.parentNode===bR}}if(bU){by.filter(bR,bW,true)}}},"":function(bT,bR,bV){var bU,bS=bI++,e=bN;if(typeof bR==="string"&&!bQ.test(bR)){bR=bR.toLowerCase();bU=bR;e=bv}e("parentNode",bR,bS,bT,bU,bV)},"~":function(bT,bR,bV){var bU,bS=bI++,e=bN;if(typeof bR==="string"&&!bQ.test(bR)){bR=bR.toLowerCase();bU=bR;e=bv}e("previousSibling",bR,bS,bT,bU,bV)}},find:{ID:function(bR,bS,bT){if(typeof bS.getElementById!=="undefined"&&!bT){var e=bS.getElementById(bR[1]);return e&&e.parentNode?[e]:[]}},NAME:function(bS,bV){if(typeof bV.getElementsByName!=="undefined"){var bR=[],bU=bV.getElementsByName(bS[1]);for(var bT=0,e=bU.length;bT<e;bT++){if(bU[bT].getAttribute("name")===bS[1]){bR.push(bU[bT])}}return bR.length===0?null:bR}},TAG:function(e,bR){if(typeof bR.getElementsByTagName!=="undefined"){return bR.getElementsByTagName(e[1])}}},preFilter:{CLASS:function(bT,bR,bS,e,bW,bX){bT=" "+bT[1].replace(bK,"")+" ";if(bX){return bT}for(var bU=0,bV;(bV=bR[bU])!=null;bU++){if(bV){if(bW^(bV.className&&(" "+bV.className+" ").replace(/[\t\n\r]/g," ").indexOf(bT)>=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1
+},lt:function(bS,bR,e){return bR<e[3]-0},gt:function(bS,bR,e){return bR>e[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV<bU;bV++){if(bT[bV]===bS){return false}}return true}else{by.error(e)}}}},CHILD:function(bS,bU){var bT,b0,bW,bZ,e,bV,bY,bX=bU[1],bR=bS;switch(bX){case"only":case"first":while((bR=bR.previousSibling)){if(bR.nodeType===1){return false}}if(bX==="first"){return true}bR=bS;case"last":while((bR=bR.nextSibling)){if(bR.nodeType===1){return false}}return true;case"nth":bT=bU[2];b0=bU[3];if(bT===1&&b0===0){return true}bW=bU[0];bZ=bS.parentNode;if(bZ&&(bZ[bC]!==bW||!bS.nodeIndex)){bV=0;for(bR=bZ.firstChild;bR;bR=bR.nextSibling){if(bR.nodeType===1){bR.nodeIndex=++bV}}bZ[bC]=bW}bY=bS.nodeIndex-b0;if(bT===0){return bY===0}else{return(bY%bT===0&&bY/bT>=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS<e;bS++){bR.push(bU[bS])}}else{for(;bU[bS];bS++){bR.push(bU[bS])}}}return bR}}var bJ,bG;if(av.documentElement.compareDocumentPosition){bJ=function(bR,e){if(bR===e){bB=true;return 0}if(!bR.compareDocumentPosition||!e.compareDocumentPosition){return bR.compareDocumentPosition?-1:1}return bR.compareDocumentPosition(e)&4?-1:1}}else{bJ=function(bY,bX){if(bY===bX){bB=true;return 0}else{if(bY.sourceIndex&&bX.sourceIndex){return bY.sourceIndex-bX.sourceIndex}}var bV,bR,bS=[],e=[],bU=bY.parentNode,bW=bX.parentNode,bZ=bU;if(bU===bW){return bG(bY,bX)}else{if(!bU){return -1}else{if(!bW){return 1}}}while(bZ){bS.unshift(bZ);bZ=bZ.parentNode}bZ=bW;while(bZ){e.unshift(bZ);bZ=bZ.parentNode}bV=bS.length;bR=e.length;for(var bT=0;bT<bV&&bT<bR;bT++){if(bS[bT]!==e[bT]){return bG(bS[bT],e[bT])}}return bT===bV?bG(bY,e[bT],-1):bG(bS[bT],bX,1)};bG=function(bR,e,bS){if(bR===e){return bS}var bT=bR.nextSibling;while(bT){if(bT===e){return -1}bT=bT.nextSibling}return 1}}(function(){var bR=av.createElement("div"),bS="script"+(new Date()).getTime(),e=av.documentElement;bR.innerHTML="<a name='"+bS+"'/>";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="<a href='#'></a>";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="<p class='TEST'></p>";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="<div class='test e'></div><div class='test'></div>";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT<bS;bT++){var e=bZ[bT];if(e){var bU=false;e=e[bR];while(e){if(e[bC]===bV){bU=bZ[e.sizset];break}if(e.nodeType===1&&!bY){e[bC]=bV;e.sizset=bT}if(e.nodeName.toLowerCase()===bW){bU=e;break}e=e[bR]}bZ[bT]=bU}}}function bN(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT<bS;bT++){var e=bZ[bT];if(e){var bU=false;e=e[bR];while(e){if(e[bC]===bV){bU=bZ[e.sizset];break}if(e.nodeType===1){if(!bY){e[bC]=bV;e.sizset=bT}if(typeof bW!=="string"){if(e===bW){bU=true;break}}else{if(by.filter(bW,[e]).length>0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT<bR;bT++){by(bS,bY[bT],bX,bW)}return by.filter(bU,bX)};by.attr=b.attr;by.selectors.attrMap={};b.find=by;b.expr=by.selectors;b.expr[":"]=b.expr.filters;b.unique=by.uniqueSort;b.text=by.getText;b.isXMLDoc=by.isXML;b.contains=by.contains})();var ab=/Until$/,aq=/^(?:parents|prevUntil|prevAll)/,a9=/,/,bp=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,H=b.expr.match.POS,ay={children:true,contents:true,next:true,prev:true};b.fn.extend({find:function(e){var bw=this,by,bv;if(typeof e!=="string"){return b(e).filter(function(){for(by=0,bv=bw.length;by<bv;by++){if(b.contains(bw[by],this)){return true}}})}var bx=this.pushStack("","find",e),bA,bB,bz;for(by=0,bv=this.length;by<bv;by++){bA=bx.length;b.find(e,this[by],bx);if(by>0){for(bB=bA;bB<bx.length;bB++){for(bz=0;bz<bA;bz++){if(bx[bz]===bx[bB]){bx.splice(bB--,1);break}}}}}return bx},has:function(bv){var e=b(bv);return this.filter(function(){for(var bx=0,bw=e.length;bx<bw;bx++){if(b.contains(this,e[bx])){return true}}})},not:function(e){return this.pushStack(aG(this,e,false),"not",e)},filter:function(e){return this.pushStack(aG(this,e,true),"filter",e)},is:function(e){return !!e&&(typeof e==="string"?H.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw<by.length;bw++){if(b(bz).is(by[bw])){bv.push({selector:by[bw],elem:bz,level:bB})}}bz=bz.parentNode;bB++}return bv}var bA=H.test(by)||typeof by!=="string"?b(by,bx||this.context):0;for(bw=0,e=this.length;bw<e;bw++){bz=this[bw];while(bz){if(bA?bA.index(bz)>-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/<tbody/i,W=/<|&#?\w+;/,ae=/<(?:script|style)/i,O=/<(?:script|object|embed|option|style)/i,ah=new RegExp("<(?:"+aR+")","i"),o=/checked\s*(?:[^=]|=\s*.checked.)/i,bm=/\/(java|ecma)script/i,aN=/^\s*<!(?:\[CDATA\[|\-\-)/,ax={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},ac=a(av);
+ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div<div>","</div>"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1></$2>");try{for(var bw=0,bv=this.length;bw<bv;bw++){if(this[bw].nodeType===1){b.cleanData(this[bw].getElementsByTagName("*"));this[bw].innerHTML=bx}}}catch(by){this.empty().append(bx)}}else{if(b.isFunction(bx)){this.each(function(bz){var e=b(this);e.html(bx.call(this,bz,e.html()))})}else{this.empty().append(bx)}}}return this},replaceWith:function(e){if(this[0]&&this[0].parentNode){if(b.isFunction(e)){return this.each(function(bx){var bw=b(this),bv=bw.html();bw.replaceWith(e.call(this,bx,bv))})}if(typeof e!=="string"){e=b(e).detach()}return this.each(function(){var bw=this.nextSibling,bv=this.parentNode;b(this).remove();if(bw){b(bw).before(e)}else{b(bv).append(e)}})}else{return this.length?this.pushStack(b(b.isFunction(e)?e():e),"replaceWith",e):this}},detach:function(e){return this.remove(e,true)},domManip:function(bB,bF,bE){var bx,by,bA,bD,bC=bB[0],bv=[];if(!b.support.checkClone&&arguments.length===3&&typeof bC==="string"&&o.test(bC)){return this.each(function(){b(this).domManip(bB,bF,bE,true)})}if(b.isFunction(bC)){return this.each(function(bH){var bG=b(this);bB[0]=bC.call(this,bH,bF?bG.html():L);bG.domManip(bB,bF,bE)})}if(this[0]){bD=bC&&bC.parentNode;if(b.support.parentNode&&bD&&bD.nodeType===11&&bD.childNodes.length===this.length){bx={fragment:bD}}else{bx=b.buildFragment(bB,this,bv)}bA=bx.fragment;if(bA.childNodes.length===1){by=bA=bA.firstChild}else{by=bA.firstChild}if(by){bF=bF&&b.nodeName(by,"tr");for(var bw=0,e=this.length,bz=e-1;bw<e;bw++){bE.call(bF?ba(this[bw],by):this[bw],bx.cacheable||(e>1&&bw<bz)?b.clone(bA,true,true):bA)}}if(bv.length){b.each(bv,bo)}}return this}});function ba(e,bv){return b.nodeName(e,"table")?(e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody"))):e}function t(bB,bv){if(bv.nodeType!==1||!b.hasData(bB)){return}var by,bx,e,bA=b._data(bB),bz=b._data(bv,bA),bw=bA.events;if(bw){delete bz.handle;bz.events={};for(by in bw){for(bx=0,e=bw[by].length;bx<e;bx++){b.event.add(bv,by+(bw[by][bx].namespace?".":"")+bw[by][bx].namespace,bw[by][bx],bw[by][bx].data)}}}if(bz.data){bz.data=b.extend({},bz.data)}}function ai(bv,e){var bw;if(e.nodeType!==1){return}if(e.clearAttributes){e.clearAttributes()}if(e.mergeAttributes){e.mergeAttributes(bv)}bw=e.nodeName.toLowerCase();if(bw==="object"){e.outerHTML=bv.outerHTML}else{if(bw==="input"&&(bv.type==="checkbox"||bv.type==="radio")){if(bv.checked){e.defaultChecked=e.checked=bv.checked}if(e.value!==bv.value){e.value=bv.value}}else{if(bw==="option"){e.selected=bv.defaultSelected}else{if(bw==="input"||bw==="textarea"){e.defaultValue=bv.defaultValue}}}}e.removeAttribute(b.expando)}b.buildFragment=function(bz,bx,bv){var by,e,bw,bA,bB=bz[0];if(bx&&bx[0]){bA=bx[0].ownerDocument||bx[0]}if(!bA.createDocumentFragment){bA=av}if(bz.length===1&&typeof bB==="string"&&bB.length<512&&bA===av&&bB.charAt(0)==="<"&&!O.test(bB)&&(b.support.checkClone||!o.test(bB))&&(b.support.html5Clone||!ah.test(bB))){e=true;bw=b.fragments[bB];if(bw&&bw!==1){by=bw}}if(!by){by=bA.createDocumentFragment();b.clean(bz,bA,by,bv)}if(e){b.fragments[bB]=bw?by:1}return{fragment:by,cacheable:e}};b.fragments={};b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,bv){b.fn[e]=function(bw){var bz=[],bC=b(bw),bB=this.length===1&&this[0].parentNode;if(bB&&bB.nodeType===11&&bB.childNodes.length===1&&bC.length===1){bC[bv](this[0]);return this}else{for(var bA=0,bx=bC.length;bA<bx;bA++){var by=(bA>0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1></$2>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]==="<table>"&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB<bG;bB++){E(bz[bB])}}else{E(bz)}}if(bz.nodeType){bI.push(bz)}else{bI=b.merge(bI,bz)}}if(bH){bF=function(bL){return !bL.type||bm.test(bL.type)};for(bE=0;bI[bE];bE++){if(bA&&b.nodeName(bI[bE],"script")&&(!bI[bE].type||bI[bE].type.toLowerCase()==="text/javascript")){bA.push(bI[bE].parentNode?bI[bE].parentNode.removeChild(bI[bE]):bI[bE])}else{if(bI[bE].nodeType===1){var bJ=b.grep(bI[bE].getElementsByTagName("script"),bF);bI.splice.apply(bI,[bE+1,0].concat(bJ))}bH.appendChild(bI[bE])}}}return bI},cleanData:function(bv){var by,bw,e=b.cache,bB=b.event.special,bA=b.support.deleteExpando;for(var bz=0,bx;(bx=bv[bz])!=null;bz++){if(bx.nodeName&&b.noData[bx.nodeName.toLowerCase()]){continue}bw=bx[b.expando];if(bw){by=e[bw];if(by&&by.events){for(var bC in by.events){if(bB[bC]){b.event.remove(bx,bC)}else{b.removeEvent(bx,bC,by.handle)}}if(by.handle){by.handle.elem=null}}if(bA){delete bx[b.expando]}else{if(bx.removeAttribute){bx.removeAttribute(b.expando)}}delete e[bw]}}}});function bo(e,bv){if(bv.src){b.ajax({url:bv.src,async:false,dataType:"script"})}else{b.globalEval((bv.text||bv.textContent||bv.innerHTML||"").replace(aN,"/*$0*/"))}if(bv.parentNode){bv.parentNode.removeChild(bv)}}var ak=/alpha\([^)]*\)/i,au=/opacity=([^)]*)/,z=/([A-Z]|^ms)/g,bc=/^-?\d+(?:px)?$/i,bn=/^-?\d/,I=/^([\-+])=([\-+.\de]+)/,a7={position:"absolute",visibility:"hidden",display:"block"},an=["Left","Right"],a1=["Top","Bottom"],Z,aI,aX;b.fn.css=function(e,bv){if(arguments.length===2&&bv===L){return this}return b.access(this,e,bv,true,function(bx,bw,by){return by!==L?b.style(bx,bw,by):b.css(bx,bw)})};b.extend({cssHooks:{opacity:{get:function(bw,bv){if(bv){var e=Z(bw,"opacity","opacity");return e===""?"1":e}else{return bw.style.opacity}}}},cssNumber:{fillOpacity:true,fontWeight:true,lineHeight:true,opacity:true,orphans:true,widows:true,zIndex:true,zoom:true},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(bx,bw,bD,by){if(!bx||bx.nodeType===3||bx.nodeType===8||!bx.style){return}var bB,bC,bz=b.camelCase(bw),bv=bx.style,bE=b.cssHooks[bz];bw=b.cssProps[bz]||bz;if(bD!==L){bC=typeof bD;if(bC==="string"&&(bB=I.exec(bD))){bD=(+(bB[1]+1)*+bB[2])+parseFloat(b.css(bx,bw));bC="number"}if(bD==null||bC==="number"&&isNaN(bD)){return}if(bC==="number"&&!b.cssNumber[bz]){bD+="px"}if(!bE||!("set" in bE)||(bD=bE.set(bx,bD))!==L){try{bv[bw]=bD}catch(bA){}}}else{if(bE&&"get" in bE&&(bB=bE.get(bx,false,by))!==L){return bB}return bv[bw]}},css:function(by,bx,bv){var bw,e;bx=b.camelCase(bx);e=b.cssHooks[bx];bx=b.cssProps[bx]||bx;if(bx==="cssFloat"){bx="float"}if(e&&"get" in e&&(bw=e.get(by,true,bv))!==L){return bw}else{if(Z){return Z(by,bx)}}},swap:function(bx,bw,by){var e={};for(var bv in bw){e[bv]=bx.style[bv];bx.style[bv]=bw[bv]}by.call(bx);for(bv in bw){bx.style[bv]=e[bv]}}});b.curCSS=b.css;b.each(["height","width"],function(bv,e){b.cssHooks[e]={get:function(by,bx,bw){var bz;if(bx){if(by.offsetWidth!==0){return p(by,e,bw)}else{b.swap(by,a7,function(){bz=p(by,e,bw)})}return bz}},set:function(bw,bx){if(bc.test(bx)){bx=parseFloat(bx);if(bx>=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;
+if(bA>0){if(bv!=="border"){for(;bx<e;bx++){if(!bv){bA-=parseFloat(b.css(by,"padding"+bz[bx]))||0}if(bv==="margin"){bA+=parseFloat(b.css(by,bv+bz[bx]))||0}else{bA-=parseFloat(b.css(by,"border"+bz[bx]+"Width"))||0}}}return bA+"px"}bA=Z(by,bw,bw);if(bA<0||bA==null){bA=by.style[bw]||0}bA=parseFloat(bA)||0;if(bv){for(;bx<e;bx++){bA+=parseFloat(b.css(by,"padding"+bz[bx]))||0;if(bv!=="padding"){bA+=parseFloat(b.css(by,"border"+bz[bx]+"Width"))||0}if(bv==="margin"){bA+=parseFloat(b.css(by,bv+bz[bx]))||0}}}return bA+"px"}if(b.expr&&b.expr.filters){b.expr.filters.hidden=function(bw){var bv=bw.offsetWidth,e=bw.offsetHeight;return(bv===0&&e===0)||(!b.support.reliableHiddenOffsets&&((bw.style&&bw.style.display)||b.css(bw,"display"))==="none")};b.expr.filters.visible=function(e){return !b.expr.filters.hidden(e)}}var k=/%20/g,ap=/\[\]$/,bs=/\r?\n/g,bq=/#.*$/,aD=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,aZ=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,aM=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,aQ=/^(?:GET|HEAD)$/,c=/^\/\//,M=/\?/,a6=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw<bz;bw++){bv=bx[bw];bC=/^\+/.test(bv);if(bC){bv=bv.substr(1)||"*"}bB=e[bv]=e[bv]||[];bB[bC?"unshift":"push"](bA)}}}}function aW(bv,bE,bz,bD,bB,bx){bB=bB||bE.dataTypes[0];bx=bx||{};bx[bB]=true;var bA=bv[bB],bw=0,e=bA?bA.length:0,by=(bv===aa),bC;for(;bw<e&&(by||!bC);bw++){bC=bA[bw](bE,bz,bD);if(typeof bC==="string"){if(!by||bx[bC]){bC=L}else{bE.dataTypes.unshift(bC);bC=aW(bv,bE,bz,bD,bC,bx)}}}if((by||!bC)&&!bx["*"]){bC=aW(bv,bE,bz,bD,"*",bx)}return bC}function am(bw,bx){var bv,e,by=b.ajaxSettings.flatOptions||{};for(bv in bx){if(bx[bv]!==L){(by[bv]?bw:(e||(e={})))[bv]=bx[bv]}}if(e){b.extend(true,bw,e)}}b.fn.extend({load:function(bw,bz,bA){if(typeof bw!=="string"&&A){return A.apply(this,arguments)}else{if(!this.length){return this}}var by=bw.indexOf(" ");if(by>=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("<div>").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA<bw;bA++){if(bA===1){for(bE in bH.converters){if(typeof bE==="string"){bG[bE.toLowerCase()]=bH.converters[bE]}}}bx=bC;bC=bD[bA];if(bC==="*"){bC=bx}else{if(bx!=="*"&&bx!==bC){by=bx+" "+bC;bF=bG[by]||bG["* "+bC];if(!bF){e=L;for(bv in bG){bB=bv.split(" ");if(bB[0]===bx||bB[0]==="*"){e=bG[bB[1]+" "+bC];if(e){bv=bG[bv];if(bv===true){bF=e}else{if(e===true){bF=bv}}break}}}}if(!(bF||e)){b.error("No conversion from "+by.replace(" "," to "))}if(bF!==true){bz=bF?bF(bz):e(bv(bz))}}}}return bz}var aC=b.now(),u=/(\=)\?(&|$)|\?\?/i;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return b.expando+"_"+(aC++)}});b.ajaxPrefilter("json jsonp",function(bD,bA,bC){var bx=bD.contentType==="application/x-www-form-urlencoded"&&(typeof bD.data==="string");if(bD.dataTypes[0]==="jsonp"||bD.jsonp!==false&&(u.test(bD.url)||bx&&u.test(bD.data))){var bB,bw=bD.jsonpCallback=b.isFunction(bD.jsonpCallback)?bD.jsonpCallback():bD.jsonpCallback,bz=bb[bw],e=bD.url,by=bD.data,bv="$1"+bw+"$2";if(bD.jsonp!==false){e=e.replace(u,bv);if(bD.url===e){if(bx){by=by.replace(u,bv)}if(bD.data===by){e+=(/\?/.test(e)?"&":"?")+bD.jsonp+"="+bw}}}bD.url=e;bD.data=by;bb[bw]=function(bE){bB=[bE]};bC.always(function(){bb[bw]=bz;if(bB&&b.isFunction(bz)){bb[bw](bB[0])}});bD.converters["script json"]=function(){if(!bB){b.error(bw+" was not called")}return bB[0]};bD.dataTypes[0]="json";return"script"}});b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){b.globalEval(e);return e}}});b.ajaxPrefilter("script",function(e){if(e.cache===L){e.cache=false}if(e.crossDomain){e.type="GET";e.global=false}});b.ajaxTransport("script",function(bw){if(bw.crossDomain){var e,bv=av.head||av.getElementsByTagName("head")[0]||av.documentElement;return{send:function(bx,by){e=av.createElement("script");e.async="async";if(bw.scriptCharset){e.charset=bw.scriptCharset}e.src=bw.url;e.onload=e.onreadystatechange=function(bA,bz){if(bz||!e.readyState||/loaded|complete/.test(e.readyState)){e.onload=e.onreadystatechange=null;if(bv&&e.parentNode){bv.removeChild(e)}e=L;if(!bz){by(200,"success")}}};bv.insertBefore(e,bv.firstChild)},abort:function(){if(e){e.onload(0,1)}}}}});var B=bb.ActiveXObject?function(){for(var e in N){N[e](0,1)}}:false,y=0,N;function aL(){try{return new bb.XMLHttpRequest()}catch(bv){}}function aj(){try{return new bb.ActiveXObject("Microsoft.XMLHTTP")}catch(bv){}}b.ajaxSettings.xhr=bb.ActiveXObject?function(){return !this.isLocal&&aL()||aj()}:aL;(function(e){b.extend(b.support,{ajax:!!e,cors:!!e&&("withCredentials" in e)})})(b.ajaxSettings.xhr());if(b.support.ajax){b.ajaxTransport(function(e){if(!e.crossDomain||b.support.cors){var bv;return{send:function(bB,bw){var bA=e.xhr(),bz,by;if(e.username){bA.open(e.type,e.url,e.async,e.username,e.password)}else{bA.open(e.type,e.url,e.async)}if(e.xhrFields){for(by in e.xhrFields){bA[by]=e.xhrFields[by]}}if(e.mimeType&&bA.overrideMimeType){bA.overrideMimeType(e.mimeType)}if(!e.crossDomain&&!bB["X-Requested-With"]){bB["X-Requested-With"]="XMLHttpRequest"}try{for(by in bB){bA.setRequestHeader(by,bB[by])}}catch(bx){}bA.send((e.hasContent&&e.data)||null);bv=function(bK,bE){var bF,bD,bC,bI,bH;try{if(bv&&(bE||bA.readyState===4)){bv=L;if(bz){bA.onreadystatechange=b.noop;if(B){delete N[bz]}}if(bE){if(bA.readyState!==4){bA.abort()}}else{bF=bA.status;bC=bA.getAllResponseHeaders();bI={};bH=bA.responseXML;if(bH&&bH.documentElement){bI.xml=bH}bI.text=bA.responseText;try{bD=bA.statusText}catch(bJ){bD=""}if(!bF&&e.isLocal&&!e.crossDomain){bF=bI.text?200:404}else{if(bF===1223){bF=204}}}}}catch(bG){if(!bE){bw(-1,bG)}}if(bI){bw(bF,bD,bI,bC)}};if(!e.async||bA.readyState===4){bv()}else{bz=++y;if(B){if(!N){N={};b(bb).unload(B)}N[bz]=bv}bA.onreadystatechange=bv}},abort:function(){if(bv){bv(0,1)
+}}}}})}var Q={},a8,m,aB=/^(?:toggle|show|hide)$/,aT=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,a3,aH=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],a4;b.fn.extend({show:function(bx,bA,bz){var bw,by;if(bx||bx===0){return this.animate(a0("show",3),bx,bA,bz)}else{for(var bv=0,e=this.length;bv<e;bv++){bw=this[bv];if(bw.style){by=bw.style.display;if(!b._data(bw,"olddisplay")&&by==="none"){by=bw.style.display=""}if(by===""&&b.css(bw,"display")==="none"){b._data(bw,"olddisplay",x(bw.nodeName))}}}for(bv=0;bv<e;bv++){bw=this[bv];if(bw.style){by=bw.style.display;if(by===""||by==="none"){bw.style.display=b._data(bw,"olddisplay")||""}}}return this}},hide:function(bx,bA,bz){if(bx||bx===0){return this.animate(a0("hide",3),bx,bA,bz)}else{var bw,by,bv=0,e=this.length;for(;bv<e;bv++){bw=this[bv];if(bw.style){by=b.css(bw,"display");if(by!=="none"&&!b._data(bw,"olddisplay")){b._data(bw,"olddisplay",by)}}}for(bv=0;bv<e;bv++){if(this[bv].style){this[bv].style.display="none"}}return this}},_toggle:b.fn.toggle,toggle:function(bw,bv,bx){var e=typeof bw==="boolean";if(b.isFunction(bw)&&b.isFunction(bv)){this._toggle.apply(this,arguments)}else{if(bw==null||e){this.each(function(){var by=e?bw:b(this).is(":hidden");b(this)[by?"show":"hide"]()})}else{this.animate(a0("toggle",3),bw,bv,bx)}}return this},fadeTo:function(e,bx,bw,bv){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:bx},e,bw,bv)},animate:function(bz,bw,by,bx){var e=b.speed(bw,by,bx);if(b.isEmptyObject(bz)){return this.each(e.complete,[false])}bz=b.extend({},bz);function bv(){if(e.queue===false){b._mark(this)}var bE=b.extend({},e),bK=this.nodeType===1,bI=bK&&b(this).is(":hidden"),bB,bF,bD,bJ,bH,bC,bG,bL,bA;bE.animatedProperties={};for(bD in bz){bB=b.camelCase(bD);if(bD!==bB){bz[bB]=bz[bD];delete bz[bD]}bF=bz[bB];if(b.isArray(bF)){bE.animatedProperties[bB]=bF[1];bF=bz[bB]=bF[0]}else{bE.animatedProperties[bB]=bE.specialEasing&&bE.specialEasing[bB]||bE.easing||"swing"}if(bF==="hide"&&bI||bF==="show"&&!bI){return bE.complete.call(this)}if(bK&&(bB==="height"||bB==="width")){bE.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(b.css(this,"display")==="inline"&&b.css(this,"float")==="none"){if(!b.support.inlineBlockNeedsLayout||x(this.nodeName)==="inline"){this.style.display="inline-block"}else{this.style.zoom=1}}}}if(bE.overflow!=null){this.style.overflow="hidden"}for(bD in bz){bJ=new b.fx(this,bE,bD);bF=bz[bD];if(aB.test(bF)){bA=b._data(this,"toggle"+bD)||(bF==="toggle"?bI?"show":"hide":0);if(bA){b._data(this,"toggle"+bD,bA==="show"?"hide":"show");bJ[bA]()}else{bJ[bF]()}}else{bH=aT.exec(bF);bC=bJ.cur();if(bH){bG=parseFloat(bH[2]);bL=bH[3]||(b.cssNumber[bD]?"":"px");if(bL!=="px"){b.style(this,bD,(bG||1)+bL);bC=((bG||1)/bJ.cur())*bC;b.style(this,bD,bC+bL)}if(bH[1]){bG=((bH[1]==="-="?-1:1)*bG)+bC}bJ.custom(bC,bG,bL)}else{bJ.custom(bC,bF,"")}}}return true}return e.queue===false?this.each(bv):this.queue(e.queue,bv)},stop:function(bw,bv,e){if(typeof bw!=="string"){e=bv;bv=bw;bw=L}if(bv&&bw!==false){this.queue(bw||"fx",[])}return this.each(function(){var bx,by=false,bA=b.timers,bz=b._data(this);if(!e){b._unmark(true,this)}function bB(bE,bF,bD){var bC=bF[bD];b.removeData(bE,bD,true);bC.stop(e)}if(bw==null){for(bx in bz){if(bz[bx]&&bz[bx].stop&&bx.indexOf(".run")===bx.length-4){bB(this,bz,bx)}}}else{if(bz[bx=bw+".run"]&&bz[bx].stop){bB(this,bz,bx)}}for(bx=bA.length;bx--;){if(bA[bx].elem===this&&(bw==null||bA[bx].queue===bw)){if(e){bA[bx](true)}else{bA[bx].saveState()}by=true;bA.splice(bx,1)}}if(!(e&&by)){b.dequeue(this,bw)}})}});function bh(){setTimeout(at,0);return(a4=b.now())}function at(){a4=L}function a0(bv,e){var bw={};b.each(aH.concat.apply([],aH.slice(0,e)),function(){bw[this]=bv});return bw}b.each({slideDown:a0("show",1),slideUp:a0("hide",1),slideToggle:a0("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,bv){b.fn[e]=function(bw,by,bx){return this.animate(bv,bw,by,bx)}});b.extend({speed:function(bw,bx,bv){var e=bw&&typeof bw==="object"?b.extend({},bw):{complete:bv||!bv&&bx||b.isFunction(bw)&&bw,duration:bw,easing:bv&&bx||bx&&!b.isFunction(bx)&&bx};e.duration=b.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in b.fx.speeds?b.fx.speeds[e.duration]:b.fx.speeds._default;if(e.queue==null||e.queue===true){e.queue="fx"}e.old=e.complete;e.complete=function(by){if(b.isFunction(e.old)){e.old.call(this)}if(e.queue){b.dequeue(this,e.queue)}else{if(by!==false){b._unmark(this)}}};return e},easing:{linear:function(bw,bx,e,bv){return e+bv*bw},swing:function(bw,bx,e,bv){return((-Math.cos(bw*Math.PI)/2)+0.5)*bv+e}},timers:[],fx:function(bv,e,bw){this.options=e;this.elem=bv;this.prop=bw;e.orig=e.orig||{}}});b.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(b.fx.step[this.prop]||b.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var e,bv=b.css(this.elem,this.prop);return isNaN(e=parseFloat(bv))?!bv||bv==="auto"?0:bv:e},custom:function(bz,by,bx){var e=this,bw=b.fx;this.startTime=a4||bh();this.end=by;this.now=this.start=bz;this.pos=this.state=0;this.unit=bx||this.unit||(b.cssNumber[this.prop]?"":"px");function bv(bA){return e.step(bA)}bv.queue=this.options.queue;bv.elem=this.elem;bv.saveState=function(){if(e.options.hide&&b._data(e.elem,"fxshow"+e.prop)===L){b._data(e.elem,"fxshow"+e.prop,e.start)}};if(bv()&&b.timers.push(bv)&&!a3){a3=setInterval(bw.tick,bw.interval)}},show:function(){var e=b._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=e||b.style(this.elem,this.prop);this.options.show=true;if(e!==L){this.custom(this.cur(),e)}else{this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur())}b(this.elem).show()},hide:function(){this.options.orig[this.prop]=b._data(this.elem,"fxshow"+this.prop)||b.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(by){var bA,bB,bv,bx=a4||bh(),e=true,bz=this.elem,bw=this.options;if(by||bx>=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e<bv.length;e++){bw=bv[e];if(!bw()&&bv[e]===bw){bv.splice(e--,1)}}if(!bv.length){b.fx.stop()}},interval:13,stop:function(){clearInterval(a3);a3=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(e){b.style(e.elem,"opacity",e.now)},_default:function(e){if(e.elem.style&&e.elem.style[e.prop]!=null){e.elem.style[e.prop]=e.now+e.unit}else{e.elem[e.prop]=e.now}}}});b.each(["width","height"],function(e,bv){b.fx.step[bv]=function(bw){b.style(bw.elem,bv,Math.max(0,bw.now)+bw.unit)}});if(b.expr&&b.expr.filters){b.expr.filters.animated=function(e){return b.grep(b.timers,function(bv){return e===bv.elem}).length}}function x(bx){if(!Q[bx]){var e=av.body,bv=b("<"+bx+">").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b
+})}})(window);
+/*!
+ * jQuery UI 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI
+ */
+(function(a,d){a.ui=a.ui||{};if(a.ui.version){return}a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(e,f){return typeof e==="number"?this.each(function(){var g=this;setTimeout(function(){a(g).focus();if(f){f.call(g)}},e)}):this._focus.apply(this,arguments)},scrollParent:function(){var e;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){e=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{e=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!e.length?a(document):e},zIndex:function(h){if(h!==d){return this.css("zIndex",h)}if(this.length){var f=a(this[0]),e,g;while(f.length&&f[0]!==document){e=f.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){g=parseInt(f.css("zIndex"),10);if(!isNaN(g)&&g!==0){return g}}f=f.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});a.each(["Width","Height"],function(g,e){var f=e==="Width"?["Left","Right"]:["Top","Bottom"],h=e.toLowerCase(),k={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function j(m,l,i,n){a.each(f,function(){l-=parseFloat(a.curCSS(m,"padding"+this,true))||0;if(i){l-=parseFloat(a.curCSS(m,"border"+this+"Width",true))||0}if(n){l-=parseFloat(a.curCSS(m,"margin"+this,true))||0}});return l}a.fn["inner"+e]=function(i){if(i===d){return k["inner"+e].call(this)}return this.each(function(){a(this).css(h,j(this,i)+"px")})};a.fn["outer"+e]=function(i,l){if(typeof i!=="number"){return k["outer"+e].call(this,i)}return this.each(function(){a(this).css(h,j(this,i,true,l)+"px")})}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(e){return !a(e).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.extend(a.expr[":"],{data:function(g,f,e){return !!a.data(g,e[3])},focusable:function(e){return c(e,!isNaN(a.attr(e,"tabindex")))},tabbable:function(g){var e=a.attr(g,"tabindex"),f=isNaN(e);return(f||e>=0)&&c(g,!f)}});a(function(){var e=document.body,f=e.appendChild(f=document.createElement("div"));f.offsetHeight;a.extend(f.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});a.support.minHeight=f.offsetHeight===100;a.support.selectstart="onselectstart" in f;e.removeChild(f).style.display="none"});a.extend(a.ui,{plugin:{add:function(f,g,j){var h=a.ui[f].prototype;for(var e in j){h.plugins[e]=h.plugins[e]||[];h.plugins[e].push([g,j[e]])}},call:function(e,g,f){var j=e.plugins[g];if(!j||!e.element[0].parentNode){return}for(var h=0;h<j.length;h++){if(e.options[j[h][0]]){j[h][1].apply(e.element,f)}}}},contains:function(f,e){return document.compareDocumentPosition?f.compareDocumentPosition(e)&16:f!==e&&f.contains(e)},hasScroll:function(h,f){if(a(h).css("overflow")==="hidden"){return false}var e=(f&&f==="left")?"scrollLeft":"scrollTop",g=false;if(h[e]>0){return true}h[e]=1;g=(h[e]>0);h[e]=0;return g},isOverAxis:function(f,e,g){return(f>e)&&(f<(e+g))},isOver:function(j,f,i,h,e,g){return a.ui.isOverAxis(j,i,e)&&a.ui.isOverAxis(f,h,g)}})})(jQuery);/*!
+ * jQuery UI Widget 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Widget
+ */
+(function(b,d){if(b.cleanData){var c=b.cleanData;b.cleanData=function(f){for(var g=0,h;(h=f[g])!=null;g++){try{b(h).triggerHandler("remove")}catch(j){}}c(f)}}else{var a=b.fn.remove;b.fn.remove=function(e,f){return this.each(function(){if(!f){if(!e||b.filter(e,[this]).length){b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(g){}})}}return a.call(b(this),e,f)})}}b.widget=function(f,h,e){var g=f.split(".")[0],j;f=f.split(".")[1];j=g+"-"+f;if(!e){e=h;h=b.Widget}b.expr[":"][j]=function(k){return !!b.data(k,f)};b[g]=b[g]||{};b[g][f]=function(k,l){if(arguments.length){this._createWidget(k,l)}};var i=new h();i.options=b.extend(true,{},i.options);b[g][f].prototype=b.extend(true,i,{namespace:g,widgetName:f,widgetEventPrefix:b[g][f].prototype.widgetEventPrefix||f,widgetBaseClass:j},e);b.widget.bridge(f,b[g][f])};b.widget.bridge=function(f,e){b.fn[f]=function(i){var g=typeof i==="string",h=Array.prototype.slice.call(arguments,1),j=this;i=!g&&h.length?b.extend.apply(null,[true,i].concat(h)):i;if(g&&i.charAt(0)==="_"){return j}if(g){this.each(function(){var k=b.data(this,f),l=k&&b.isFunction(k[i])?k[i].apply(k,h):k;if(l!==k&&l!==d){j=l;return false}})}else{this.each(function(){var k=b.data(this,f);if(k){k.option(i||{})._init()}else{b.data(this,f,new e(i,this))}})}return j}};b.Widget=function(e,f){if(arguments.length){this._createWidget(e,f)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(f,g){b.data(g,this.widgetName,this);this.element=b(g);this.options=b.extend(true,{},this.options,this._getCreateOptions(),f);var e=this;this.element.bind("remove."+this.widgetName,function(){e.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(f,g){var e=f;if(arguments.length===0){return b.extend({},this.options)}if(typeof f==="string"){if(g===d){return this.options[f]}e={};e[f]=g}this._setOptions(e);return this},_setOptions:function(f){var e=this;b.each(f,function(g,h){e._setOption(g,h)});return this},_setOption:function(e,f){this.options[e]=f;if(e==="disabled"){this.widget()[f?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",f)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(e,f,g){var j,i,h=this.options[e];g=g||{};f=b.Event(f);f.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase();f.target=this.element[0];i=f.originalEvent;if(i){for(j in i){if(!(j in f)){f[j]=i[j]}}}this.element.trigger(f,g);return !(b.isFunction(h)&&h.call(this.element[0],f,g)===false||f.isDefaultPrevented())}}})(jQuery);/*!
+ * jQuery UI Mouse 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Mouse
+ *
+ * Depends:
+ * jquery.ui.widget.js
+ */
+(function(b,c){var a=false;b(document).mouseup(function(d){a=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var d=this;this.element.bind("mousedown."+this.widgetName,function(e){return d._mouseDown(e)}).bind("click."+this.widgetName,function(e){if(true===b.data(e.target,d.widgetName+".preventClickEvent")){b.removeData(e.target,d.widgetName+".preventClickEvent");e.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(f){if(a){return}(this._mouseStarted&&this._mouseUp(f));this._mouseDownEvent=f;var e=this,g=(f.which==1),d=(typeof this.options.cancel=="string"&&f.target.nodeName?b(f.target).closest(this.options.cancel).length:false);if(!g||d||!this._mouseCapture(f)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(f)&&this._mouseDelayMet(f)){this._mouseStarted=(this._mouseStart(f)!==false);if(!this._mouseStarted){f.preventDefault();return true}}if(true===b.data(f.target,this.widgetName+".preventClickEvent")){b.removeData(f.target,this.widgetName+".preventClickEvent")}this._mouseMoveDelegate=function(h){return e._mouseMove(h)};this._mouseUpDelegate=function(h){return e._mouseUp(h)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);f.preventDefault();a=true;return true},_mouseMove:function(d){if(b.browser.msie&&!(document.documentMode>=9)&&!d.button){return this._mouseUp(d)}if(this._mouseStarted){this._mouseDrag(d);return d.preventDefault()}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,d)!==false);(this._mouseStarted?this._mouseDrag(d):this._mouseUp(d))}return !this._mouseStarted},_mouseUp:function(d){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(d.target==this._mouseDownEvent.target){b.data(d.target,this.widgetName+".preventClickEvent",true)}this._mouseStop(d)}return false},_mouseDistanceMet:function(d){return(Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance)},_mouseDelayMet:function(d){return this.mouseDelayMet},_mouseStart:function(d){},_mouseDrag:function(d){},_mouseStop:function(d){},_mouseCapture:function(d){return true}})})(jQuery);(function(c,d){c.widget("ui.resizable",c.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000},_create:function(){var f=this,k=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(k.aspectRatio),aspectRatio:k.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:k.helper||k.ghost||k.animate?k.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){this.element.wrap(c('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=k.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var l=this.handles.split(",");this.handles={};for(var g=0;g<l.length;g++){var j=c.trim(l[g]),e="ui-resizable-"+j;var h=c('<div class="ui-resizable-handle '+e+'"></div>');if(/sw|se|ne|nw/.test(j)){h.css({zIndex:++k.zIndex})}if("se"==j){h.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[j]=".ui-resizable-"+j;this.element.append(h)}}this._renderAxis=function(q){q=q||this.element;for(var n in this.handles){if(this.handles[n].constructor==String){this.handles[n]=c(this.handles[n],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var o=c(this.handles[n],this.element),p=0;p=/sw|ne|nw|se|n|s/.test(n)?o.outerHeight():o.outerWidth();var m=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");q.css(m,p);this._proportionallyResize()}if(!c(this.handles[n]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!f.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}f.axis=i&&i[1]?i[1]:"se"}});if(k.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){if(k.disabled){return}c(this).removeClass("ui-resizable-autohide");f._handles.show()},function(){if(k.disabled){return}if(!f.resizing){c(this).addClass("ui-resizable-autohide");f._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var e=function(g){c(g).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){e(this.element);var f=this.element;f.after(this.originalElement.css({position:f.css("position"),width:f.outerWidth(),height:f.outerHeight(),top:f.css("top"),left:f.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);e(this.originalElement);return this},_mouseCapture:function(f){var g=false;for(var e in this.handles){if(c(this.handles[e])[0]==f.target){g=true}}return !this.options.disabled&&g},_mouseStart:function(g){var j=this.options,f=this.element.position(),e=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(e.is(".ui-draggable")||(/absolute/).test(e.css("position"))){e.css({position:"absolute",top:f.top,left:f.left})}this._renderProxy();var k=b(this.helper.css("left")),h=b(this.helper.css("top"));if(j.containment){k+=c(j.containment).scrollLeft()||0;h+=c(j.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:k,top:h};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:k,top:h};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:g.pageX,top:g.pageY};this.aspectRatio=(typeof j.aspectRatio=="number")?j.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var i=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",i=="auto"?this.axis+"-resize":i);e.addClass("ui-resizable-resizing");this._propagate("start",g);return true},_mouseDrag:function(e){var h=this.helper,g=this.options,m={},q=this,j=this.originalMousePosition,n=this.axis;var r=(e.pageX-j.left)||0,p=(e.pageY-j.top)||0;var i=this._change[n];if(!i){return false}var l=i.apply(this,[e,r,p]),k=c.browser.msie&&c.browser.version<7,f=this.sizeDiff;this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey){l=this._updateRatio(l,e)}l=this._respectSize(l,e);this._propagate("resize",e);h.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(l);this._trigger("resize",e,this.ui());return false},_mouseStop:function(h){this.resizing=false;var i=this.options,m=this;if(this._helper){var g=this._proportionallyResizeElements,e=g.length&&(/textarea/i).test(g[0].nodeName),f=e&&c.ui.hasScroll(g[0],"left")?0:m.sizeDiff.height,k=e?0:m.sizeDiff.width;var n={width:(m.helper.width()-k),height:(m.helper.height()-f)},j=(parseInt(m.element.css("left"),10)+(m.position.left-m.originalPosition.left))||null,l=(parseInt(m.element.css("top"),10)+(m.position.top-m.originalPosition.top))||null;if(!i.animate){this.element.css(c.extend(n,{top:l,left:j}))}m.helper.height(m.size.height);m.helper.width(m.size.width);if(this._helper&&!i.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",h);if(this._helper){this.helper.remove()}return false},_updateVirtualBoundaries:function(g){var j=this.options,i,h,f,k,e;e={minWidth:a(j.minWidth)?j.minWidth:0,maxWidth:a(j.maxWidth)?j.maxWidth:Infinity,minHeight:a(j.minHeight)?j.minHeight:0,maxHeight:a(j.maxHeight)?j.maxHeight:Infinity};if(this._aspectRatio||g){i=e.minHeight*this.aspectRatio;f=e.minWidth/this.aspectRatio;h=e.maxHeight*this.aspectRatio;k=e.maxWidth/this.aspectRatio;if(i>e.minWidth){e.minWidth=i}if(f>e.minHeight){e.minHeight=f}if(h<e.maxWidth){e.maxWidth=h}if(k<e.maxHeight){e.maxHeight=k}}this._vBoundaries=e},_updateCache:function(e){var f=this.options;this.offset=this.helper.offset();if(a(e.left)){this.position.left=e.left}if(a(e.top)){this.position.top=e.top}if(a(e.height)){this.size.height=e.height}if(a(e.width)){this.size.width=e.width}},_updateRatio:function(h,g){var i=this.options,j=this.position,f=this.size,e=this.axis;if(a(h.height)){h.width=(h.height*this.aspectRatio)}else{if(a(h.width)){h.height=(h.width/this.aspectRatio)}}if(e=="sw"){h.left=j.left+(f.width-h.width);h.top=null}if(e=="nw"){h.top=j.top+(f.height-h.height);h.left=j.left+(f.width-h.width)}return h},_respectSize:function(l,g){var j=this.helper,i=this._vBoundaries,r=this._aspectRatio||g.shiftKey,q=this.axis,t=a(l.width)&&i.maxWidth&&(i.maxWidth<l.width),m=a(l.height)&&i.maxHeight&&(i.maxHeight<l.height),h=a(l.width)&&i.minWidth&&(i.minWidth>l.width),s=a(l.height)&&i.minHeight&&(i.minHeight>l.height);if(h){l.width=i.minWidth}if(s){l.height=i.minHeight}if(t){l.width=i.maxWidth}if(m){l.height=i.maxHeight}var f=this.originalPosition.left+this.originalSize.width,p=this.position.top+this.size.height;var k=/sw|nw|w/.test(q),e=/nw|ne|n/.test(q);if(h&&k){l.left=f-i.minWidth}if(t&&k){l.left=f-i.maxWidth}if(s&&e){l.top=p-i.minHeight}if(m&&e){l.top=p-i.maxHeight}var n=!l.width&&!l.height;if(n&&!l.left&&l.top){l.top=null}else{if(n&&!l.top&&l.left){l.left=null}}return l},_proportionallyResize:function(){var k=this.options;if(!this._proportionallyResizeElements.length){return}var g=this.helper||this.element;for(var f=0;f<this._proportionallyResizeElements.length;f++){var h=this._proportionallyResizeElements[f];if(!this.borderDif){var e=[h.css("borderTopWidth"),h.css("borderRightWidth"),h.css("borderBottomWidth"),h.css("borderLeftWidth")],j=[h.css("paddingTop"),h.css("paddingRight"),h.css("paddingBottom"),h.css("paddingLeft")];this.borderDif=c.map(e,function(l,n){var m=parseInt(l,10)||0,o=parseInt(j[n],10)||0;return m+o})}if(c.browser.msie&&!(!(c(g).is(":hidden")||c(g).parents(":hidden").length))){continue}h.css({height:(g.height()-this.borderDif[0]-this.borderDif[2])||0,width:(g.width()-this.borderDif[1]-this.borderDif[3])||0})}},_renderProxy:function(){var f=this.element,i=this.options;this.elementOffset=f.offset();if(this._helper){this.helper=this.helper||c('<div style="overflow:hidden;"></div>');var e=c.browser.msie&&c.browser.version<7,g=(e?1:0),h=(e?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+h,height:this.element.outerHeight()+h,position:"absolute",left:this.elementOffset.left-g+"px",top:this.elementOffset.top-g+"px",zIndex:++i.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(g,f,e){return{width:this.originalSize.width+f}},w:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{left:i.left+f,width:g.width-f}},n:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{top:i.top+e,height:g.height-e}},s:function(g,f,e){return{height:this.originalSize.height+e}},se:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},sw:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[g,f,e]))},ne:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},nw:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[g,f,e]))}},_propagate:function(f,e){c.ui.plugin.call(this,f,[e,this.ui()]);(f!="resize"&&this._trigger(f,e,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});c.extend(c.ui.resizable,{version:"1.8.18"});c.ui.plugin.add("resizable","alsoResize",{start:function(f,g){var e=c(this).data("resizable"),i=e.options;var h=function(j){c(j).each(function(){var k=c(this);k.data("resizable-alsoresize",{width:parseInt(k.width(),10),height:parseInt(k.height(),10),left:parseInt(k.css("left"),10),top:parseInt(k.css("top"),10)})})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.parentNode){if(i.alsoResize.length){i.alsoResize=i.alsoResize[0];h(i.alsoResize)}else{c.each(i.alsoResize,function(j){h(j)})}}else{h(i.alsoResize)}},resize:function(g,i){var f=c(this).data("resizable"),j=f.options,h=f.originalSize,l=f.originalPosition;var k={height:(f.size.height-h.height)||0,width:(f.size.width-h.width)||0,top:(f.position.top-l.top)||0,left:(f.position.left-l.left)||0},e=function(m,n){c(m).each(function(){var q=c(this),r=c(this).data("resizable-alsoresize"),p={},o=n&&n.length?n:q.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];c.each(o,function(s,u){var t=(r[u]||0)+(k[u]||0);if(t&&t>=0){p[u]=t||null}});q.css(p)})};if(typeof(j.alsoResize)=="object"&&!j.alsoResize.nodeType){c.each(j.alsoResize,function(m,n){e(m,n)})}else{e(j.alsoResize)}},stop:function(e,f){c(this).removeData("resizable-alsoresize")}});c.ui.plugin.add("resizable","animate",{stop:function(i,n){var p=c(this).data("resizable"),j=p.options;var h=p._proportionallyResizeElements,e=h.length&&(/textarea/i).test(h[0].nodeName),f=e&&c.ui.hasScroll(h[0],"left")?0:p.sizeDiff.height,l=e?0:p.sizeDiff.width;var g={width:(p.size.width-l),height:(p.size.height-f)},k=(parseInt(p.element.css("left"),10)+(p.position.left-p.originalPosition.left))||null,m=(parseInt(p.element.css("top"),10)+(p.position.top-p.originalPosition.top))||null;
+p.element.animate(c.extend(g,m&&k?{top:m,left:k}:{}),{duration:j.animateDuration,easing:j.animateEasing,step:function(){var o={width:parseInt(p.element.css("width"),10),height:parseInt(p.element.css("height"),10),top:parseInt(p.element.css("top"),10),left:parseInt(p.element.css("left"),10)};if(h&&h.length){c(h[0]).css({width:o.width,height:o.height})}p._updateCache(o);p._propagate("resize",i)}})}});c.ui.plugin.add("resizable","containment",{start:function(f,r){var t=c(this).data("resizable"),j=t.options,l=t.element;var g=j.containment,k=(g instanceof c)?g.get(0):(/parent/.test(g))?l.parent().get(0):g;if(!k){return}t.containerElement=c(k);if(/document/.test(g)||g==document){t.containerOffset={left:0,top:0};t.containerPosition={left:0,top:0};t.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var n=c(k),i=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){i[p]=b(n.css("padding"+o))});t.containerOffset=n.offset();t.containerPosition=n.position();t.containerSize={height:(n.innerHeight()-i[3]),width:(n.innerWidth()-i[1])};var q=t.containerOffset,e=t.containerSize.height,m=t.containerSize.width,h=(c.ui.hasScroll(k,"left")?k.scrollWidth:m),s=(c.ui.hasScroll(k)?k.scrollHeight:e);t.parentData={element:k,left:q.left,top:q.top,width:h,height:s}}},resize:function(g,q){var t=c(this).data("resizable"),i=t.options,f=t.containerSize,p=t.containerOffset,m=t.size,n=t.position,r=t._aspectRatio||g.shiftKey,e={top:0,left:0},h=t.containerElement;if(h[0]!=document&&(/static/).test(h.css("position"))){e=p}if(n.left<(t._helper?p.left:0)){t.size.width=t.size.width+(t._helper?(t.position.left-p.left):(t.position.left-e.left));if(r){t.size.height=t.size.width/i.aspectRatio}t.position.left=i.helper?p.left:0}if(n.top<(t._helper?p.top:0)){t.size.height=t.size.height+(t._helper?(t.position.top-p.top):t.position.top);if(r){t.size.width=t.size.height*i.aspectRatio}t.position.top=t._helper?p.top:0}t.offset.left=t.parentData.left+t.position.left;t.offset.top=t.parentData.top+t.position.top;var l=Math.abs((t._helper?t.offset.left-e.left:(t.offset.left-e.left))+t.sizeDiff.width),s=Math.abs((t._helper?t.offset.top-e.top:(t.offset.top-p.top))+t.sizeDiff.height);var k=t.containerElement.get(0)==t.element.parent().get(0),j=/relative|absolute/.test(t.containerElement.css("position"));if(k&&j){l-=t.parentData.left}if(l+t.size.width>=t.parentData.width){t.size.width=t.parentData.width-l;if(r){t.size.height=t.size.width/t.aspectRatio}}if(s+t.size.height>=t.parentData.height){t.size.height=t.parentData.height-s;if(r){t.size.width=t.size.height*t.aspectRatio}}},stop:function(f,n){var q=c(this).data("resizable"),g=q.options,l=q.position,m=q.containerOffset,e=q.containerPosition,i=q.containerElement;var j=c(q.helper),r=j.offset(),p=j.outerWidth()-q.sizeDiff.width,k=j.outerHeight()-q.sizeDiff.height;if(q._helper&&!g.animate&&(/relative/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}if(q._helper&&!g.animate&&(/static/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}}});c.ui.plugin.add("resizable","ghost",{start:function(g,h){var e=c(this).data("resizable"),i=e.options,f=e.size;e.ghost=e.originalElement.clone();e.ghost.css({opacity:0.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof i.ghost=="string"?i.ghost:"");e.ghost.appendTo(e.helper)},resize:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost){e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})}},stop:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost&&e.helper){e.helper.get(0).removeChild(e.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(e,m){var p=c(this).data("resizable"),h=p.options,k=p.size,i=p.originalSize,j=p.originalPosition,n=p.axis,l=h._aspectRatio||e.shiftKey;h.grid=typeof h.grid=="number"?[h.grid,h.grid]:h.grid;var g=Math.round((k.width-i.width)/(h.grid[0]||1))*(h.grid[0]||1),f=Math.round((k.height-i.height)/(h.grid[1]||1))*(h.grid[1]||1);if(/^(se|s|e)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f}else{if(/^(ne)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f}else{if(/^(sw)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.left=j.left-g}else{p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f;p.position.left=j.left-g}}}}});var b=function(e){return parseInt(e,10)||0};var a=function(e){return !isNaN(parseInt(e,10))}})(jQuery);/*!
+ * jQuery hashchange event - v1.3 - 7/21/2010
+ * http://benalman.com/projects/jquery-hashchange-plugin/
+ *
+ * Copyright (c) 2010 "Cowboy" Ben Alman
+ * Dual licensed under the MIT and GPL licenses.
+ * http://benalman.com/about/license/
+ */
+(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$('<iframe tabindex="-1" title="empty"/>').hide().one("load",function(){r||l(a());n()}).attr("src",r||"javascript:0").insertAfter("body")[0].contentWindow;h.onpropertychange=function(){try{if(event.propertyName==="title"){q.document.title=h.title}}catch(s){}}}};j.stop=k;o=function(){return a(q.location.href)};l=function(v,s){var u=q.document,t=$.fn[c].domain;if(v!==s){u.title=h.title;u.open();t&&u.write('<script>document.domain="'+t+'"<\/script>');u.close();q.location.hash=v}}})();return j})()})(jQuery,this);
+(function(c){var a=c.scrollTo=function(f,e,d){c(window).scrollTo(f,e,d)};a.defaults={axis:"xy",duration:parseFloat(c.fn.jquery)>=1.3?0:1};a.window=function(d){return c(window)._scrollable()};c.fn._scrollable=function(){return this.map(function(){var e=this,d=!e.nodeName||c.inArray(e.nodeName.toLowerCase(),["iframe","#document","html","body"])!=-1;if(!d){return e}var f=(e.contentWindow||e).document||e.ownerDocument||e;return c.browser.safari||f.compatMode=="BackCompat"?f.body:f.documentElement})};c.fn.scrollTo=function(f,e,d){if(typeof e=="object"){d=e;e=0}if(typeof d=="function"){d={onAfter:d}}if(f=="max"){f=9000000000}d=c.extend({},a.defaults,d);e=e||d.speed||d.duration;d.queue=d.queue&&d.axis.length>1;if(d.queue){e/=2}d.offset=b(d.offset);d.over=b(d.over);return this._scrollable().each(function(){var l=this,j=c(l),k=f,i,g={},m=j.is("html,body");switch(typeof k){case"number":case"string":if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(k)){k=b(k);break}k=c(k,this);case"object":if(k.is||k.style){i=(k=c(k)).offset()}}c.each(d.axis.split(""),function(q,r){var s=r=="x"?"Left":"Top",u=s.toLowerCase(),p="scroll"+s,o=l[p],n=a.max(l,r);if(i){g[p]=i[u]+(m?0:o-j.offset()[u]);if(d.margin){g[p]-=parseInt(k.css("margin"+s))||0;g[p]-=parseInt(k.css("border"+s+"Width"))||0}g[p]+=d.offset[u]||0;if(d.over[u]){g[p]+=k[r=="x"?"width":"height"]()*d.over[u]}}else{var t=k[u];g[p]=t.slice&&t.slice(-1)=="%"?parseFloat(t)/100*n:t}if(/^\d+$/.test(g[p])){g[p]=g[p]<=0?0:Math.min(g[p],n)}if(!q&&d.queue){if(o!=g[p]){h(d.onAfterFirst)}delete g[p]}});h(d.onAfter);function h(n){j.animate(g,e,d.easing,n&&function(){n.call(this,f,d)})}}).end()};a.max=function(j,i){var h=i=="x"?"Width":"Height",e="scroll"+h;if(!c(j).is("html,body")){return j[e]-c(j)[h.toLowerCase()]()}var g="client"+h,f=j.ownerDocument.documentElement,d=j.ownerDocument.body;return Math.max(f[e],d[e])-Math.min(f[g],d[g])};function b(d){return typeof d=="object"?d:{top:d,left:d}}})(jQuery);
diff --git a/docs/RTOS2/html/mainpage_8txt.html b/docs/RTOS2/html/mainpage_8txt.html
new file mode 100644
index 0000000..2b30907
--- /dev/null
+++ b/docs/RTOS2/html/mainpage_8txt.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>mainpage.txt File Reference</title>
+<title>CMSIS-RTOS2: mainpage.txt File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('mainpage_8txt.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">mainpage.txt File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="mainpage_8txt.html">mainpage.txt</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/manage_rte_cortex-a.png b/docs/RTOS2/html/manage_rte_cortex-a.png
new file mode 100644
index 0000000..5436cbc
--- /dev/null
+++ b/docs/RTOS2/html/manage_rte_cortex-a.png
Binary files differ
diff --git a/docs/RTOS2/html/manage_rte_output.png b/docs/RTOS2/html/manage_rte_output.png
new file mode 100644
index 0000000..30c9c9e
--- /dev/null
+++ b/docs/RTOS2/html/manage_rte_output.png
Binary files differ
diff --git a/docs/RTOS2/html/mempool.png b/docs/RTOS2/html/mempool.png
new file mode 100644
index 0000000..506fb42
--- /dev/null
+++ b/docs/RTOS2/html/mempool.png
Binary files differ
diff --git a/docs/RTOS2/html/misraCompliance5.html b/docs/RTOS2/html/misraCompliance5.html
new file mode 100644
index 0000000..575ebf7
--- /dev/null
+++ b/docs/RTOS2/html/misraCompliance5.html
@@ -0,0 +1,412 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>MISRA C:2012 Compliance</title>
+<title>CMSIS-RTOS2: MISRA C:2012 Compliance</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('misraCompliance5.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">MISRA C:2012 Compliance </div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>The RTX5 C source files use <b><a href="http://www.misra.org.uk/" class="el" target="_blank">MISRA C:2012</a></b> guidelines as underlying coding standard.</p>
+<p>For MISRA validation, <b><a href="http://www.gimpel.com/" class="el" target="_blank">PC-lint</a></b> V9.00L is used with configuration for Arm Compiler V6.9. The PC-Lint validation setup is part of the project file <b>.\CMSIS\RTOS2\RTX\Library\ARM\MDK\RTX_CM.uvprojx</b> as shown below. Refer to <b><a href="http://www.keil.com/support/man/docs/uv4/uv4_ut_pclint_validation.htm" class="el" target="_blank">Setup for PC-Lint</a></b> for more information.</p>
+<div class="image">
+<img src="PC-Lint.png" alt="PC-Lint.png"/>
+<div class="caption">
+Running PC-Lint within MDK - uVision</div></div>
+<p> The PC-Lint configuration uses the following Options under <b>Tools - PC-Lint Setup...</b>:</p>
+<ul>
+<li>Config File: co-ARMCC-6.lnt (20-Mar-2017) with additional options: <div class="fragment"><div class="line">+rw(__restrict)</div>
+<div class="line">-esym(526,__builtin_*) -esym(628,__builtin_*)</div>
+<div class="line">-sem(__builtin_clz, pure)</div>
+<div class="line">+doffsetof(t,m)=((size_t)&amp;((t*)0)-&gt;m) -emacro((413,923,9078),offsetof)</div>
+<div class="line">-ecall(534,__disable_irq)</div>
+</div><!-- fragment --></li>
+<li>Included Project Information:<ul>
+<li>Enable: Add 'Include' paths</li>
+<li>Enable: Add 'Software Packs' paths</li>
+<li>Enable: Verify 'Software Packs' includes</li>
+<li>Enable: Add 'Preprocessor' symbols</li>
+<li>Enable: Add 'Define' symbols</li>
+</ul>
+</li>
+<li>MISRA Rules Setup and Configuration:<ul>
+<li>MISRQ_C_2012_Config.lnt; all rules enabled</li>
+<li>includes definition file: au-misra3.lnt (12-Jun-2014)</li>
+</ul>
+</li>
+<li>Additional Lint Commands (for both single and mutiple files): <div class="fragment"><div class="line">- emacro(835,<a class="code" href="rtx__os_8h.html#a0eb4da5bed45820d732e23483b870152">osRtxConfigPrivilegedMode</a>)</div>
+</div><!-- fragment --></li>
+</ul>
+<p>The C source code is annotated with PC-Lint control comments to allows MISRA deviations. These deviations with the underlaying design decisions are described in the following.</p>
+<h2>Deviations </h2>
+<p>The RTX source code has the following deviations from MISRA:</p>
+<ul>
+<li><a class="el" href="misraCompliance5.html#MISRA_1">[MISRA Note 1]: Return statements for parameter checking</a></li>
+<li><a class="el" href="misraCompliance5.html#MISRA_2">[MISRA Note 2]: Object identifiers are void pointers</a></li>
+<li><a class="el" href="misraCompliance5.html#MISRA_3">[MISRA Note 3]: Conversion to unified object control blocks</a></li>
+<li><a class="el" href="misraCompliance5.html#MISRA_4">[MISRA Note 4]: Conversion from unified object control blocks</a></li>
+<li><a class="el" href="misraCompliance5.html#MISRA_5">[MISRA Note 5]: Conversion to object types</a></li>
+<li><a class="el" href="misraCompliance5.html#MISRA_6">[MISRA Note 6]: Conversion from user provided storage</a></li>
+<li><a class="el" href="misraCompliance5.html#MISRA_7">[MISRA Note 7]: Check for proper pointer alignment</a></li>
+<li><a class="el" href="misraCompliance5.html#MISRA_8">[MISRA Note 8]: Memory allocation management</a></li>
+<li><a class="el" href="misraCompliance5.html#MISRA_9">[MISRA Note 9]: Pointer conversions for register access</a></li>
+<li><a class="el" href="misraCompliance5.html#MISRA_10">[MISRA Note 10]: SVC calls use function-like macros</a></li>
+<li><a class="el" href="misraCompliance5.html#MISRA_11">[MISRA Note 11]: SVC calls use assembly code</a></li>
+<li><a class="el" href="misraCompliance5.html#MISRA_12">[MISRA Note 12]: Usage of exclusive access instructions</a></li>
+<li><a class="el" href="misraCompliance5.html#MISRA_13">[MISRA Note 13]: Usage of Event Recorder</a></li>
+</ul>
+<p>All source code deviations are clearly marked and in summary these deviations affect the following MISRA rules:</p>
+<ul>
+<li>[MISRA 2012 Directive 4.9, advisory]: A function should be used in preference to a function-like macro where yet are interchangeable</li>
+<li>[MISRA 2012 Rule 1.3, required]: There shall be no occurrence of undefined or critical unspecified behavior</li>
+<li>[MISRA 2012 Rule 10.3, required]: Expression assigned to a narrower or different essential type</li>
+<li>[MISRA 2012 Rule 10.5, advisory]: Impermissible cast; cannot cast from 'essentially unsigned' to 'essentially enum&lt;i&gt;'</li>
+<li>[MISRA 2012 Rule 11.1, required]: Conversions shall not be performed between a pointer to a function and any other type</li>
+<li>[MISRA 2012 Rule 11.3, required]: A cast shall not be performed between a pointer to object type and a pointer to a different object type</li>
+<li>[MISRA 2012 Rule 11.4, advisory]: A conversion should not be performed between a pointer to object and an integer type</li>
+<li>[MISRA 2012 Rule 11.5, advisory]: A conversion should not be performed from pointer to void into pointer to object</li>
+<li>[MISRA 2012 Rule 11.6, required]: A cast shall not be performed between pointer to void and an arithmetic type</li>
+<li>[MISRA 2012 Rule 15.5, advisory]: A function should have a single point of exit at the end</li>
+<li>[MISRA 2012 Rule 20.10, advisory]: The # and ## preprocessor operators should not be used</li>
+</ul>
+<p>In the following all deviations are described in detail.</p>
+<h1><a class="anchor" id="MISRA_1"></a>
+[MISRA Note 1]: Return statements for parameter checking</h1>
+<p>Return statements are used at the beginning of several functions to validate parameter values and object states. The function returns immediately without any side-effects and typically an error status is set. This structure keeps the source code better structured and easier to understand.</p>
+<p>This design decision implies the following MISRA deviation:</p>
+<ul>
+<li>[MISRA 2012 Rule 15.5, advisory]: A function should have a single point of exit at the end</li>
+</ul>
+<p>All locations in the source code are marked with: </p>
+<div class="fragment"><div class="line"><span class="comment">//lint -e{904} &quot;Return statement before end of function&quot; [MISRA Note 1]</span></div>
+</div><!-- fragment --><h1><a class="anchor" id="MISRA_2"></a>
+[MISRA Note 2]: Object identifiers are void pointers</h1>
+<p>CMSIS-RTOS is independant of an underlying RTOS implementation. The object idenifiers are therefore defined as void pointers to:</p>
+<ul>
+<li>allow application programs that are agnostic from an underlying RTOS implementation.</li>
+<li>avoid accidently accesses an RTOS control block from an application program.</li>
+</ul>
+<p>This design decisions imply the following MISRA deviations:</p>
+<ul>
+<li>[MISRA 2012 Rule 11.3, required]: A cast shall not be performed between a pointer to object type and a pointer to a different object type</li>
+<li>[MISRA 2012 Rule 11.5, advisory]: A conversion should not be performed from pointer to void into pointer to object</li>
+</ul>
+<p>All locations in the source code are marked with: </p>
+<div class="fragment"><div class="line"><span class="comment">//lint -e{9079} -e{9087} &quot;cast from pointer to void to pointer to object type&quot; [MISRA Note 2]</span></div>
+</div><!-- fragment --><p>In the RTX5 implementation the requried pointer conversions are implemented in the header file rtx_lib.h with the following inline functions:</p>
+<div class="fragment"><div class="line"><a class="code" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a> *osRtxThreadId (osThread_t thread_id);</div>
+<div class="line"><a class="code" href="rtx__os_8h.html#structosRtxTimer__t">osRtxTimer_t</a> *osRtxTimerId (osTimer_t timer_id);</div>
+<div class="line"><a class="code" href="rtx__os_8h.html#structosRtxEventFlags__t">osRtxEventFlags_t</a> *osRtxEventFlagsId (osEventFlags_t ef_id);</div>
+<div class="line"><a class="code" href="rtx__os_8h.html#structosRtxMutex__t">osRtxMutex_t</a> *osRtxMutexId (osMutex_t mutex_id);</div>
+<div class="line"><a class="code" href="rtx__os_8h.html#structosRtxSemaphore__t">osRtxSemaphore_t</a> *osRtxSemaphoreId (osSemaphore_t semaphore_id);</div>
+<div class="line"><a class="code" href="rtx__os_8h.html#structosRtxMemoryPool__t">osRtxMemoryPool_t</a> *osRtxMemoryPoolId (<a class="code" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id);</div>
+<div class="line"><a class="code" href="rtx__os_8h.html#structosRtxMessageQueue__t">osRtxMessageQueue_t</a> *osRtxMessageQueueId(<a class="code" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id);</div>
+</div><!-- fragment --><h1><a class="anchor" id="MISRA_3"></a>
+[MISRA Note 3]: Conversion to unified object control blocks</h1>
+<p>RTX uses a unified object control block structure that contains common object members. The unified control blocks use a fixed layout at the beginning of the sturcture and starts always with an object identifier. This allows common object functions that receive a pointer to a unified object control block and reference only the pointer or the members in the fixed layout. Using common object functions and data (for example the ISR queue) reduces code complexity and keeps the source code better structured. Refer also to <a class="el" href="misraCompliance5.html#MISRA_4">[MISRA Note 4]: Conversion from unified object control blocks</a></p>
+<p>This design decisions imply the following MISRA deviations:</p>
+<ul>
+<li>[MISRA 2012 Rule 11.3, required]: A cast shall not be performed between a pointer to object type and a pointer to a different object type</li>
+<li>[MISRA 2012 Rule 11.5, advisory]: A conversion should not be performed from pointer to void into pointer to object</li>
+</ul>
+<p>All locations in the source code are marked with: </p>
+<div class="fragment"><div class="line"><span class="comment">//lint -e{9079} -e{9087} &quot;cast from pointer to void to pointer to object type&quot; [MISRA Note 3]</span></div>
+</div><!-- fragment --><p>In the RTX5 implementation the requried pointer conversions are implemented in the header file <em>rtx_lib.h</em> with the following inline function:</p>
+<div class="fragment"><div class="line"><a class="code" href="rtx__os_8h.html#structosRtxObject__t">osRtxObject_t</a> *osRtxObject (<span class="keywordtype">void</span> *<span class="keywordtype">object</span>);</div>
+</div><!-- fragment --><h1><a class="anchor" id="MISRA_4"></a>
+[MISRA Note 4]: Conversion from unified object control blocks</h1>
+<p>RTX uses a unified object control block structure that contains common object members. Refer to <a class="el" href="misraCompliance5.html#MISRA_3">[MISRA Note 3]: Conversion to unified object control blocks</a> for more information. To process specifc control block data, pointer conversions are required.</p>
+<p>This design decisions imply the following MISRA deviations:</p>
+<ul>
+<li>[MISRA 2012 Rule 1.3, required]: There shall be no occurrence of undefined or critical unspecified behavior</li>
+<li>[MISRA 2012 Rule 11.3, required]: A cast shall not be performed between a pointer to object type and a pointer to a different object type In addition PC-Lint issues:</li>
+<li>Info 826: Suspicious pointer-to-pointer conversion (area too small)</li>
+</ul>
+<p>All locations in the source code are marked with: </p>
+<div class="fragment"><div class="line"><span class="comment">//lint -e{740} -e{826} -e{9087} &quot;cast from pointer to generic object to specific object&quot; [MISRA Note 4]</span></div>
+</div><!-- fragment --><p>In the RTX5 source code the requried pointer conversions are implemented in the header file <em>rtx_lib.h</em> with the following inline functions:</p>
+<div class="fragment"><div class="line"><a class="code" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a> *osRtxThreadObject (<a class="code" href="rtx__os_8h.html#structosRtxObject__t">osRtxObject_t</a> *<span class="keywordtype">object</span>);</div>
+<div class="line"><a class="code" href="rtx__os_8h.html#structosRtxTimer__t">osRtxTimer_t</a> *osRtxTimerObject (<a class="code" href="rtx__os_8h.html#structosRtxObject__t">osRtxObject_t</a> *<span class="keywordtype">object</span>);</div>
+<div class="line"><a class="code" href="rtx__os_8h.html#structosRtxEventFlags__t">osRtxEventFlags_t</a> *osRtxEventFlagsObject (<a class="code" href="rtx__os_8h.html#structosRtxObject__t">osRtxObject_t</a> *<span class="keywordtype">object</span>);</div>
+<div class="line"><a class="code" href="rtx__os_8h.html#structosRtxMutex__t">osRtxMutex_t</a> *osRtxMutexObject (<a class="code" href="rtx__os_8h.html#structosRtxObject__t">osRtxObject_t</a> *<span class="keywordtype">object</span>);</div>
+<div class="line"><a class="code" href="rtx__os_8h.html#structosRtxSemaphore__t">osRtxSemaphore_t</a> *osRtxSemaphoreObject (<a class="code" href="rtx__os_8h.html#structosRtxObject__t">osRtxObject_t</a> *<span class="keywordtype">object</span>);</div>
+<div class="line"><a class="code" href="rtx__os_8h.html#structosRtxMemoryPool__t">osRtxMemoryPool_t</a> *osRtxMemoryPoolObject (<a class="code" href="rtx__os_8h.html#structosRtxObject__t">osRtxObject_t</a> *<span class="keywordtype">object</span>);</div>
+<div class="line"><a class="code" href="rtx__os_8h.html#structosRtxMessageQueue__t">osRtxMessageQueue_t</a> *osRtxMessageQueueObject (<a class="code" href="rtx__os_8h.html#structosRtxObject__t">osRtxObject_t</a> *<span class="keywordtype">object</span>);</div>
+<div class="line"><a class="code" href="rtx__os_8h.html#structosRtxMessage__t">osRtxMessage_t</a> *osRtxMessageObject (<a class="code" href="rtx__os_8h.html#structosRtxObject__t">osRtxObject_t</a> *<span class="keywordtype">object</span>);</div>
+</div><!-- fragment --><h1><a class="anchor" id="MISRA_5"></a>
+[MISRA Note 5]: Conversion to object types</h1>
+<p>The RTX5 kernel has common memory management functions that use void pointers. These memory allocation fuctions returns a void pointer which is correctly aligned for object types.</p>
+<p>This design decision implies the following MISRA deviations:</p>
+<ul>
+<li>[MISRA 2012 Rule 11.5, advisory]: A conversion should not be performed from pointer to void into pointer to object</li>
+</ul>
+<p>All locations in the source code are marked with: </p>
+<div class="fragment"><div class="line"><span class="comment">//lint -e{9079} &quot;conversion from pointer to void to pointer to other type&quot; [MISRA Note 5]</span></div>
+</div><!-- fragment --><p>Code example:</p>
+<div class="fragment"><div class="line">os_thread_t *thread;</div>
+<div class="line"> :</div>
+<div class="line"><span class="comment">//lint -e{9079} &quot;conversion from pointer to void to pointer to other type&quot; [MISRA Note 5]</span></div>
+<div class="line">thread = osRtxMemoryPoolAlloc(<a class="code" href="rtx__os_8h.html#ad2270125c4e4991c3231d752b6ee5f3f">osRtxInfo</a>.<a class="code" href="rtx__os_8h.html#a13aeb46a18b12ae911abead8e497ffd3">mpi</a>.<a class="code" href="rtx__os_8h.html#a540b2b79850c654b3f5756c488314b8d">thread</a>);</div>
+</div><!-- fragment --><h1><a class="anchor" id="MISRA_6"></a>
+[MISRA Note 6]: Conversion from user provided storage</h1>
+<p>CMSIS-RTOS2 and RTX5 support user provided storage for object control blocks, stack, and data storage. The API uses void pointers to define the location of this user provided storage. It is therefore required to cast the void pointer to underlying storage types. Alignment restrictions of user provided storage are checked before accessing memory. Refer also to <a class="el" href="misraCompliance5.html#MISRA_7">[MISRA Note 7]: Check for proper pointer alignment</a>.</p>
+<p>This design decisions imply the following MISRA deviations:</p>
+<ul>
+<li>[MISRA 2012 Rule 11.3, required]: A cast shall not be performed between a pointer to object type and a pointer to a different object type</li>
+<li>[MISRA 2012 Rule 11.5, advisory]: A conversion should not be performed from pointer to void into pointer to object</li>
+</ul>
+<p>All locations in the source code are marked with: </p>
+<div class="fragment"><div class="line"><span class="comment">//lint -e{9079} &quot;conversion from pointer to void to pointer to other type&quot; [MISRA Note 6]</span></div>
+</div><!-- fragment --><p>Code example: </p>
+<div class="fragment"><div class="line"><span class="keyword">static</span> <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> svcRtxTimerNew (<a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gaacf768c1ec64b020598afb985d7b30be">osTimerFunc_t</a> func, <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#ga7dc24a4c2b90334427081c3da7a71915">osTimerType_t</a> type, <span class="keywordtype">void</span> *argument, <span class="keyword">const</span> <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#structosTimerAttr__t">osTimerAttr_t</a> *attr) {</div>
+<div class="line"> os_timer_t *timer;</div>
+<div class="line"> :</div>
+<div class="line"> <span class="keywordflow">if</span> (attr != NULL) {</div>
+<div class="line"> :</div>
+<div class="line"> <span class="comment">//lint -e{9079} &quot;conversion from pointer to void to pointer to other type&quot; [MISRA Note 6]</span></div>
+<div class="line"> timer = attr-&gt;<a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#a1e100dc33d403841ed3c344e3397868e">cb_mem</a>;</div>
+<div class="line"> :</div>
+</div><!-- fragment --><h1><a class="anchor" id="MISRA_7"></a>
+[MISRA Note 7]: Check for proper pointer alignment</h1>
+<p>RTX5 verifies the alignment of user provided storage for object control blocks, stack, and data storage. Refer also to <a class="el" href="misraCompliance5.html#MISRA_6">[MISRA Note 6]: Conversion from user provided storage</a> for more information.</p>
+<p>This design decision implies the following MISRA deviations:</p>
+<ul>
+<li>[MISRA 2012 Rule 11.4, advisory]: A conversion should not be performed between a pointer to object and an integer type</li>
+<li>[MISRA 2012 Rule 11.6, required]: A cast shall not be performed between pointer to void and an arithmetic type</li>
+</ul>
+<p>All locations in the source code are marked with: </p>
+<div class="fragment"><div class="line"><span class="comment">//lint -e(923) -e(9078) &quot;cast from pointer to unsigned int&quot; [MISRA Note 7]</span></div>
+</div><!-- fragment --><p>Code example: </p>
+<div class="fragment"><div class="line"><span class="keyword">static</span> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> svcRtxThreadNew (<a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gadd51f99a6eb50b94eee75f27cae815eb">osThreadFunc_t</a> func, <span class="keywordtype">void</span> *argument, <span class="keyword">const</span> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t">osThreadAttr_t</a> *attr) {</div>
+<div class="line"> :</div>
+<div class="line"> <span class="keywordtype">void</span> *stack_mem;</div>
+<div class="line"> :</div>
+<div class="line"> <span class="keywordflow">if</span> (stack_mem != NULL) {</div>
+<div class="line"> <span class="comment">//lint -e(923) -e(9078) &quot;cast from pointer to unsigned int&quot; [MISRA Note 7]</span></div>
+<div class="line"> <span class="keywordflow">if</span> ((((uint32_t)stack_mem &amp; 7U) != 0U) || (stack_size == 0U)) {</div>
+<div class="line"> :</div>
+</div><!-- fragment --><h1><a class="anchor" id="MISRA_8"></a>
+[MISRA Note 8]: Memory allocation management</h1>
+<p>RTX5 implements memory allocation functions which require pointer arithmetic to manage memory. The structure with the type <em>mem_block_t</em> that is used to menage memory allocation blocks is defined in <em>rtx_memory.c</em> </p>
+<p>This design decision implies the following MISRA deviations:</p>
+<ul>
+<li>[MISRA 2012 Rule 11.4, advisory]: A conversion should not be performed between a pointer to object and an integer type</li>
+<li>[MISRA 2012 Rule 11.6, required]: A cast shall not be performed between pointer to void and an arithmetic type</li>
+</ul>
+<p>All locations in the source code are marked with: </p>
+<div class="fragment"><div class="line"><span class="comment">//lint -e(923) -e(9078) &quot;cast from pointer to unsigned int&quot; [MISRA Note 8]</span></div>
+</div><!-- fragment --><p>The required pointer arithmetic is implemented in <em>rtx_memory.c</em> with the following function: </p>
+<div class="fragment"><div class="line">__STATIC_INLINE mem_block_t *MemBlockPtr (<span class="keywordtype">void</span> *mem, uint32_t offset) {</div>
+<div class="line"> uint32_t addr;</div>
+<div class="line"> mem_block_t *ptr;</div>
+<div class="line"></div>
+<div class="line"> <span class="comment">//lint --e{923} --e{9078} &quot;cast between pointer and unsigned int&quot; [MISRA Note 8]</span></div>
+<div class="line"> addr = (uint32_t)mem + offset;</div>
+<div class="line"> ptr = (mem_block_t *)addr;</div>
+<div class="line"></div>
+<div class="line"> <span class="keywordflow">return</span> ptr;</div>
+<div class="line">}</div>
+</div><!-- fragment --><h1><a class="anchor" id="MISRA_9"></a>
+[MISRA Note 9]: Pointer conversions for register access</h1>
+<p>The CMSIS-Core peripheral register blocks are accessed using a structure. The memory address of this structure is specified as unsigned integer number. Pointer conversions are required to access the specific registers.</p>
+<p>This design decision implies the following MISRA deviations:</p>
+<ul>
+<li>[MISRA 2012 Rule 11.4, advisory]: A conversion should not be performed between a pointer to object and an integer type</li>
+<li>[MISRA 2012 Rule 11.6, required]: A cast shall not be performed between pointer to void and an arithmetic type</li>
+</ul>
+<p>All locations in the source code are marked with: </p>
+<div class="fragment"><div class="line"><span class="comment">//lint -emacro((923,9078),SCB) &quot;cast from unsigned long to pointer&quot; [MISRA Note 9]</span></div>
+</div><!-- fragment --><p>Code example: </p>
+<div class="fragment"><div class="line"><span class="preprocessor">#define SCS_BASE (0xE000E000UL)</span></div>
+<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define SCB ((SCB_Type *)SCB_BASE)</span></div>
+<div class="line"><span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keyword">struct </span>{...} SCB_Type;</div>
+<div class="line"></div>
+<div class="line">SCB-&gt;... = ...;</div>
+</div><!-- fragment --><h1><a class="anchor" id="MISRA_10"></a>
+[MISRA Note 10]: SVC calls use function-like macros</h1>
+<p>RTX5 is using SVC (Service Calls) to switch between thread mode (for user code execution) and handler mode (for RTOS kernel execution). The SVC function call mechanism is implemented with assembly instructions to construct the code for SVC. The source code uses C macros and are designed as C function-like macros to generate parameter passing for variables depending on macro parameters. An alternative replacement code would be complex. The C macros use multiple '##' operators however it has been verified that the order of evaluation is irrelevant and result of macro expansion is always predictable.</p>
+<p>This design decision implies the following MISRA deviations:</p>
+<ul>
+<li>[MISRA 2012 Directive 4.9, advisory]: A function should be used in preference to a function-like macro where yet are interchangeable</li>
+<li>[MISRA 2012 Rule 1.3, required]: There shall be no occurrence of undefined or critical unspecified behavior</li>
+<li>[MISRA 2012 Rule 20.10, advisory]: The # and ## preprocessor operators should not be used</li>
+</ul>
+<p>The relevant source code is in the file <em>rtx_core_cm.h</em> and is marked with: </p>
+<div class="fragment"><div class="line"><span class="comment">//lint -save -e9023 -e9024 -e9026 &quot;Function-like macros using &#39;#/##&#39;&quot; [MISRA Note 10]</span></div>
+</div><!-- fragment --><h1><a class="anchor" id="MISRA_11"></a>
+[MISRA Note 11]: SVC calls use assembly code</h1>
+<p>The SVC (Service Call) functions are constructed as a mix of C and inline assembly as it is required to access CPU registers for parameter passing. The function parameters are mapped to the CPU registers R0..R3 and SVC function number to CPU register R12 (or R7). For assembly inter-working the function parameters are casted to unsigned int values.</p>
+<p>The function return value after SVC call is mapped to the CPU register R0. Return value is casted from unsigned int to the target value.</p>
+<p>It has been verified that this method has has no side-effects and is well defined.</p>
+<p>This design decision implies the following MISRA deviations:</p>
+<ul>
+<li>[MISRA 2012 Rule 10.3, required]: Expression assigned to a narrower or different essential type</li>
+<li>[MISRA 2012 Rule 10.5, advisory]: Impermissible cast; cannot cast from 'essentially unsigned' to 'essentially enum&lt;i&gt;'</li>
+<li>[MISRA 2012 Rule 11.1, required]: Conversions shall not be performed between a pointer to a function and any other type</li>
+<li>[MISRA 2012 Rule 11.4, advisory]: A conversion should not be performed between a pointer to object and an integer type</li>
+<li>[MISRA 2012 Rule 11.6, required]: A cast shall not be performed between pointer to void and an arithmetic type</li>
+</ul>
+<p>SVC functions are marked as library modules and not processed by PC-lint. The relevant source code is marked with: </p>
+<div class="fragment"><div class="line"><span class="comment">//lint ++flb &quot;Library Begin&quot; [MISRA Note 11]</span></div>
+<div class="line"> :</div>
+<div class="line"><span class="comment">//lint --flb &quot;Library End&quot;</span></div>
+</div><!-- fragment --><p>Code example: </p>
+<div class="fragment"><div class="line"><span class="comment">// Service Calls definitions</span></div>
+<div class="line"><span class="comment">//lint ++flb &quot;Library Begin&quot; [MISRA Note 11]</span></div>
+<div class="line">SVC0_1(Delay, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>, uint32_t)</div>
+<div class="line">SVC0_1(DelayUntil, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>, uint32_t)</div>
+<div class="line"><span class="comment">//lint --flb &quot;Library End&quot;</span></div>
+</div><!-- fragment --><p>PC-lint does not process ASM input/output operand lists and therefore falsely identifies issues:</p>
+<ul>
+<li>Last value assigned to variable not used</li>
+<li>Symbol not subsequently referenced </li>
+</ul>
+<h1><a class="anchor" id="MISRA_12"></a>
+[MISRA Note 12]: Usage of exclusive access instructions</h1>
+<p>The RTX5 implementation uses the CPU instructions LDREX and STREX (when supported by the processor) to implement atomic operations. This atomic operations elimite the requirement for interrupt lock-outs. The atomic operations are implemented using inline assembly.</p>
+<p>PC-lint cannot process assembler instructions including the input/output operand lists and therefore falsely identifies issues:</p>
+<ul>
+<li>Symbol not initialized</li>
+<li>Symbol not subsequently referenced</li>
+<li>Symbol not referenced</li>
+<li>Pointer parameter could be declared as pointing to const</li>
+</ul>
+<p>It has been verified that atomic operations have no side-effects and are well defined.</p>
+<p>The functions that implement atomic instructions are marked as library modules and not processed by PC-lint. The relevant source code is marked with: </p>
+<div class="fragment"><div class="line"><span class="comment">//lint ++flb &quot;Library Begin&quot; [MISRA Note 12]</span></div>
+<div class="line"> :</div>
+<div class="line"><span class="comment">//lint --flb &quot;Library End&quot;</span></div>
+</div><!-- fragment --><h1><a class="anchor" id="MISRA_13"></a>
+[MISRA Note 13]: Usage of Event Recorder</h1>
+<p>The Event Recorder is a generic event logger and the related functions are called to record an event. The function parameters are 32-bit id, 32-bit values, pointer to void (data) and are recorded as 32-bit numbers. The parameters for the Event Recorder may require cast opertions to unsigned int which however has no side-effects and is well defined.</p>
+<p>The return value indicates success or failure. There is no need to check the return value since no action is taken when a Event Recorder function fail. The EventID macro (part of external Event Recorder) constructs the ID based on input parameters which are shifted, masked with '&amp;' and combined with '|'. Zero value input parameters are valid and cause zero used with '&amp;' and '|'.</p>
+<p>The usage of the Event Recorder implies the following MISRA deviations:</p>
+<ul>
+<li>[MISRA 2012 Rule 11.1, required]: Conversions shall not be performed between a pointer to a function and any other type</li>
+<li>[MISRA 2012 Rule 11.4, advisory]: A conversion should not be performed between a pointer to object and an integer type</li>
+<li>[MISRA 2012 Rule 11.6, required]: A cast shall not be performed between pointer to void and an arithmetic type In addition PC-Lint issues:</li>
+<li>Info 835: A zero has been given as left argument to operator '&amp;'</li>
+<li>Info 845: The right argument to operator '|' is certain to be 0</li>
+</ul>
+<p>The functions that call the Event Recorder are in the module <em>rtx_evr.c</em> and the related PC-Lint messages are disabled with: </p>
+<div class="fragment"><div class="line"><span class="comment">//lint -e923 -e9074 -e9078 -emacro((835,845),EventID) [MISRA Note 13]</span></div>
+</div><!-- fragment --> </div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="index.html">index</a></li><li class="navelem"><a class="el" href="rtx5_impl.html">RTX v5 Implementation</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/modules.html b/docs/RTOS2/html/modules.html
new file mode 100644
index 0000000..4e54e91
--- /dev/null
+++ b/docs/RTOS2/html/modules.html
@@ -0,0 +1,160 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Reference</title>
+<title>CMSIS-RTOS2: Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li class="current"><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('modules.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">Here is a list of all modules:</div><div class="directory">
+<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span>]</div><table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><img id="arr_0_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_')"/><a class="el" href="group__CMSIS__RTOS.html" target="_self">CMSIS-RTOS API v2</a></td><td class="desc">C interface of <a class="el" href="rtos_api2.html">CMSIS-RTOS C API v2</a> defined in <a class="el" href="cmsis__os2_8h.html">cmsis_os2.h</a> </td></tr>
+<tr id="row_0_0_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__CMSIS__RTOS__MemoryMgmt.html" target="_self">Memory Management</a></td><td class="desc">Information about memory management possibilities </td></tr>
+<tr id="row_0_1_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html" target="_self">Kernel Information and Control</a></td><td class="desc">Provides version/system information and starts/controls the RTOS Kernel </td></tr>
+<tr id="row_0_2_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html" target="_self">Thread Management</a></td><td class="desc">Define, create, and control thread functions </td></tr>
+<tr id="row_0_3_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html" target="_self">Thread Flags</a></td><td class="desc">Synchronize threads using flags </td></tr>
+<tr id="row_0_4_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__CMSIS__RTOS__EventFlags.html" target="_self">Event Flags</a></td><td class="desc">Synchronize threads using event flags </td></tr>
+<tr id="row_0_5_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__CMSIS__RTOS__Wait.html" target="_self">Generic Wait Functions</a></td><td class="desc">Wait for a certain period of time </td></tr>
+<tr id="row_0_6_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html" target="_self">Timer Management</a></td><td class="desc">Create and control timer and timer callback functions </td></tr>
+<tr id="row_0_7_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html" target="_self">Mutex Management</a></td><td class="desc">Synchronize resource access using Mutual Exclusion (Mutex) </td></tr>
+<tr id="row_0_8_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html" target="_self">Semaphores</a></td><td class="desc">Access shared resources simultaneously from different threads </td></tr>
+<tr id="row_0_9_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html" target="_self">Memory Pool</a></td><td class="desc">Manage thread-safe fixed-size blocks of dynamic memory </td></tr>
+<tr id="row_0_10_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__CMSIS__RTOS__Message.html" target="_self">Message Queue</a></td><td class="desc">Exchange messages between threads in a FIFO-like operation </td></tr>
+<tr id="row_0_11_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_0_11_" src="ftv2mlastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('0_11_')"/><a class="el" href="group__CMSIS__RTOS__Definitions.html" target="_self">Definitions</a></td><td class="desc">Constants and enumerations used by many CMSIS-RTOS functions </td></tr>
+<tr id="row_0_11_0_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><a class="el" href="group__flags__error__codes.html" target="_self">Flags Functions Error Codes</a></td><td class="desc">Constants used by <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html">Thread Flags</a> and <a class="el" href="group__CMSIS__RTOS__EventFlags.html">Event Flags</a> to return error codes </td></tr>
+<tr id="row_1_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__CMSIS__RTOS__TickAPI.html" target="_self">OS Tick API</a></td><td class="desc">System tick timer interface for periodic RTOS Kernel Ticks defined in <b>os_tick.h</b> </td></tr>
+<tr id="row_2_"><td class="entry"><img id="arr_2_" src="ftv2mlastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('2_')"/><a class="el" href="group__rtx5__specific.html" target="_self">RTX v5 Specific API</a></td><td class="desc">RTX v5 implementation specific definitions and functions defined in <b>rtx_os.h</b> </td></tr>
+<tr id="row_2_0_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__rtx5__specific__defines.html" target="_self">Macros</a></td><td class="desc">RTX5 macros </td></tr>
+<tr id="row_2_1_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__rtx5__specific__functions.html" target="_self">Functions</a></td><td class="desc">RTX5 functions </td></tr>
+<tr id="row_2_2_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img id="arr_2_2_" src="ftv2mlastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('2_2_')"/><a class="el" href="group__rtx__evr.html" target="_self">Event functions</a></td><td class="desc">RTX5 Event Recorder functions </td></tr>
+<tr id="row_2_2_0_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__rtx__evr__memory.html" target="_self">Memory Functions</a></td><td class="desc">Events generated memory functions </td></tr>
+<tr id="row_2_2_1_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__rtx__evr__kernel.html" target="_self">Kernel Functions</a></td><td class="desc">Events generated by kernel functions </td></tr>
+<tr id="row_2_2_2_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__rtx__evr__thread.html" target="_self">Thread Functions</a></td><td class="desc">Events generated by thread functions </td></tr>
+<tr id="row_2_2_3_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__rtx__evr__timer.html" target="_self">Timer Functions</a></td><td class="desc">Events generated by timer functions </td></tr>
+<tr id="row_2_2_4_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__rtx__evr__event__flasg.html" target="_self">Event Flags Functions</a></td><td class="desc">Events generated by event flag functions </td></tr>
+<tr id="row_2_2_5_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__rtx__evr__mutex.html" target="_self">Mutex Functions</a></td><td class="desc">Events generated by mutex functions </td></tr>
+<tr id="row_2_2_6_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__rtx__evr__semaphore.html" target="_self">Semaphore Functions</a></td><td class="desc">Events generated by semaphore functions </td></tr>
+<tr id="row_2_2_7_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__rtx__evr__memory__pool.html" target="_self">Memory Pool Functions</a></td><td class="desc">Events generated by memory pool functions </td></tr>
+<tr id="row_2_2_8_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><a class="el" href="group__rtx__evr__message__queue.html" target="_self">Message Queue Functions</a></td><td class="desc">Events generated by message queue functions </td></tr>
+</table>
+</div><!-- directory -->
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/modules.js b/docs/RTOS2/html/modules.js
new file mode 100644
index 0000000..19f766f
--- /dev/null
+++ b/docs/RTOS2/html/modules.js
@@ -0,0 +1,6 @@
+var modules =
+[
+ [ "CMSIS-RTOS API v2", "group__CMSIS__RTOS.html", "group__CMSIS__RTOS" ],
+ [ "OS Tick API", "group__CMSIS__RTOS__TickAPI.html", "group__CMSIS__RTOS__TickAPI" ],
+ [ "RTX v5 Specific API", "group__rtx5__specific.html", "group__rtx5__specific" ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/mutex_states.png b/docs/RTOS2/html/mutex_states.png
new file mode 100644
index 0000000..5c10fd6
--- /dev/null
+++ b/docs/RTOS2/html/mutex_states.png
Binary files differ
diff --git a/docs/RTOS2/html/nav_f.png b/docs/RTOS2/html/nav_f.png
new file mode 100644
index 0000000..14c0de6
--- /dev/null
+++ b/docs/RTOS2/html/nav_f.png
Binary files differ
diff --git a/docs/RTOS2/html/nav_g.png b/docs/RTOS2/html/nav_g.png
new file mode 100644
index 0000000..2093a23
--- /dev/null
+++ b/docs/RTOS2/html/nav_g.png
Binary files differ
diff --git a/docs/RTOS2/html/nav_h.png b/docs/RTOS2/html/nav_h.png
new file mode 100644
index 0000000..c8894af
--- /dev/null
+++ b/docs/RTOS2/html/nav_h.png
Binary files differ
diff --git a/docs/RTOS2/html/navtree.css b/docs/RTOS2/html/navtree.css
new file mode 100644
index 0000000..41a9cb9
--- /dev/null
+++ b/docs/RTOS2/html/navtree.css
@@ -0,0 +1,143 @@
+#nav-tree .children_ul {
+ margin:0;
+ padding:4px;
+}
+
+#nav-tree ul {
+ list-style:none outside none;
+ margin:0px;
+ padding:0px;
+}
+
+#nav-tree li {
+ white-space:nowrap;
+ margin:0px;
+ padding:0px;
+}
+
+#nav-tree .plus {
+ margin:0px;
+}
+
+#nav-tree .selected {
+ background-image: url('tab_a.png');
+ background-repeat:repeat-x;
+ color: #fff;
+ text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+}
+
+#nav-tree img {
+ margin:0px;
+ padding:0px;
+ border:0px;
+ vertical-align: middle;
+}
+
+#nav-tree a {
+ text-decoration:none;
+ padding:0px;
+ margin:0px;
+ outline:none;
+}
+
+#nav-tree .label {
+ margin:0px;
+ padding:0px;
+ font: 12px 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
+}
+
+#nav-tree .label a {
+ padding:2px;
+}
+
+#nav-tree .selected a {
+ text-decoration:none;
+ color:#fff;
+}
+
+#nav-tree .children_ul {
+ margin:0px;
+ padding:0px;
+}
+
+#nav-tree .item {
+ margin:0px;
+ padding:0px;
+}
+
+#nav-tree {
+ padding: 0px 0px;
+ background-color: #FAFAFF;
+ font-size:14px;
+ overflow:auto;
+}
+
+#doc-content {
+ overflow:auto;
+ display:block;
+ padding:0px;
+ margin:0px;
+ -webkit-overflow-scrolling : touch; /* iOS 5+ */
+}
+
+#side-nav {
+ padding:0 6px 0 0;
+ margin: 0px;
+ display:block;
+ position: absolute;
+ left: 0px;
+ width: 250px;
+}
+
+.ui-resizable .ui-resizable-handle {
+ display:block;
+}
+
+.ui-resizable-e {
+ background:url("ftv2splitbar.png") repeat scroll right center transparent;
+ cursor:e-resize;
+ height:100%;
+ right:0;
+ top:0;
+ width:6px;
+}
+
+.ui-resizable-handle {
+ display:none;
+ font-size:0.1px;
+ position:absolute;
+ z-index:1;
+}
+
+#nav-tree-contents {
+ margin: 6px 0px 0px 0px;
+}
+
+#nav-tree {
+ background-image:url('nav_h.png');
+ background-repeat:repeat-x;
+ background-color: #F9FAFC;
+ -webkit-overflow-scrolling : touch; /* iOS 5+ */
+}
+
+#nav-sync {
+ position:absolute;
+ top:5px;
+ right:24px;
+ z-index:0;
+}
+
+#nav-sync img {
+ opacity:0.3;
+}
+
+#nav-sync img:hover {
+ opacity:0.9;
+}
+
+@media print
+{
+ #nav-tree { display: none; }
+ div.ui-resizable-handle { display: none; position: relative; }
+}
+
diff --git a/docs/RTOS2/html/navtree.js b/docs/RTOS2/html/navtree.js
new file mode 100644
index 0000000..6e17c94
--- /dev/null
+++ b/docs/RTOS2/html/navtree.js
@@ -0,0 +1,553 @@
+var NAVTREE =
+[
+ [ "CMSIS-RTOS2", "index.html", [
+ [ "Revision History", "rtos_revisionHistory.html", [
+ [ "CMSIS-RTOS API Version 2", "rtos_revisionHistory.html#GenRTOS2Rev", null ],
+ [ "CMSIS-RTOS RTX Version 5", "rtos_revisionHistory.html#RTX5RevisionHistory", null ]
+ ] ],
+ [ "Generic RTOS Interface", "genRTOS2IF.html", [
+ [ "cmsis_os2.h header file", "genRTOS2IF.html#cmsis_os2_h", null ],
+ [ "Using a CMSIS-RTOS2 Implementation", "genRTOS2IF.html#usingOS2", null ]
+ ] ],
+ [ "Function Overview", "functionOverview.html", "functionOverview" ],
+ [ "RTOS Validation", "rtosValidation.html", [
+ [ "Sample Test Output", "rtosValidation.html#test_output", null ]
+ ] ],
+ [ "Migration from API v1 to API v2", "os2Migration.html", "os2Migration" ],
+ [ "RTX v5 Implementation", "rtx5_impl.html", "rtx5_impl" ],
+ [ "Coding Rules", "CodingRules.html", null ],
+ [ "Reference", "modules.html", "modules" ],
+ [ "Data Structures", "annotated.html", "annotated" ],
+ [ "Data Structure Index", "classes.html", null ],
+ [ "Data Fields", "functions.html", [
+ [ "All", "functions.html", null ],
+ [ "Variables", "functions_vars.html", null ]
+ ] ]
+ ] ]
+];
+
+var NAVTREEINDEX =
+[
+"CodingRules.html",
+"group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ec",
+"misraCompliance5.html#MISRA_9",
+"structosRtxInfo__t_8timer.html"
+];
+
+var SYNCONMSG = 'click to disable panel synchronisation';
+var SYNCOFFMSG = 'click to enable panel synchronisation';
+var SYNCONMSG = 'click to disable panel synchronisation';
+var SYNCOFFMSG = 'click to enable panel synchronisation';
+var navTreeSubIndices = new Array();
+
+function getData(varName)
+{
+ var i = varName.lastIndexOf('/');
+ var n = i>=0 ? varName.substring(i+1) : varName;
+ return eval(n.replace(/\-/g,'_'));
+}
+
+function stripPath(uri)
+{
+ return uri.substring(uri.lastIndexOf('/')+1);
+}
+
+function stripPath2(uri)
+{
+ var i = uri.lastIndexOf('/');
+ var s = uri.substring(i+1);
+ var m = uri.substring(0,i+1).match(/\/d\w\/d\w\w\/$/);
+ return m ? uri.substring(i-6) : s;
+}
+
+function localStorageSupported()
+{
+ try {
+ return 'localStorage' in window && window['localStorage'] !== null && window.localStorage.getItem;
+ }
+ catch(e) {
+ return false;
+ }
+}
+
+
+function storeLink(link)
+{
+ if (!$("#nav-sync").hasClass('sync') && localStorageSupported()) {
+ window.localStorage.setItem('navpath',link);
+ }
+}
+
+function deleteLink()
+{
+ if (localStorageSupported()) {
+ window.localStorage.setItem('navpath','');
+ }
+}
+
+function cachedLink()
+{
+ if (localStorageSupported()) {
+ return window.localStorage.getItem('navpath');
+ } else {
+ return '';
+ }
+}
+
+function getScript(scriptName,func,show)
+{
+ var head = document.getElementsByTagName("head")[0];
+ var script = document.createElement('script');
+ script.id = scriptName;
+ script.type = 'text/javascript';
+ script.onload = func;
+ script.src = scriptName+'.js';
+ if ($.browser.msie && $.browser.version<=8) {
+ // script.onload does not work with older versions of IE
+ script.onreadystatechange = function() {
+ if (script.readyState=='complete' || script.readyState=='loaded') {
+ func(); if (show) showRoot();
+ }
+ }
+ }
+ head.appendChild(script);
+}
+
+function createIndent(o,domNode,node,level)
+{
+ var level=-1;
+ var n = node;
+ while (n.parentNode) { level++; n=n.parentNode; }
+ if (node.childrenData) {
+ var imgNode = document.createElement("img");
+ imgNode.style.paddingLeft=(16*level).toString()+'px';
+ imgNode.width = 16;
+ imgNode.height = 22;
+ imgNode.border = 0;
+ node.plus_img = imgNode;
+ node.expandToggle = document.createElement("a");
+ node.expandToggle.href = "javascript:void(0)";
+ node.expandToggle.onclick = function() {
+ if (node.expanded) {
+ $(node.getChildrenUL()).slideUp("fast");
+ node.plus_img.src = node.relpath+"ftv2pnode.png";
+ node.expanded = false;
+ } else {
+ expandNode(o, node, false, false);
+ }
+ }
+ node.expandToggle.appendChild(imgNode);
+ domNode.appendChild(node.expandToggle);
+ imgNode.src = node.relpath+"ftv2pnode.png";
+ } else {
+ var span = document.createElement("span");
+ span.style.display = 'inline-block';
+ span.style.width = 16*(level+1)+'px';
+ span.style.height = '22px';
+ span.innerHTML = '&#160;';
+ domNode.appendChild(span);
+ }
+}
+
+var animationInProgress = false;
+
+function gotoAnchor(anchor,aname,updateLocation)
+{
+ var pos, docContent = $('#doc-content');
+ if (anchor.parent().attr('class')=='memItemLeft' ||
+ anchor.parent().attr('class')=='fieldtype' ||
+ anchor.parent().is(':header'))
+ {
+ pos = anchor.parent().position().top;
+ } else if (anchor.position()) {
+ pos = anchor.position().top;
+ }
+ if (pos) {
+ var dist = Math.abs(Math.min(
+ pos-docContent.offset().top,
+ docContent[0].scrollHeight-
+ docContent.height()-docContent.scrollTop()));
+ animationInProgress=true;
+ docContent.animate({
+ scrollTop: pos + docContent.scrollTop() - docContent.offset().top
+ },Math.max(50,Math.min(500,dist)),function(){
+ if (updateLocation) window.location.href=aname;
+ animationInProgress=false;
+ });
+ }
+}
+
+function newNode(o, po, text, link, childrenData, lastNode)
+{
+ var node = new Object();
+ node.children = Array();
+ node.childrenData = childrenData;
+ node.depth = po.depth + 1;
+ node.relpath = po.relpath;
+ node.isLast = lastNode;
+
+ node.li = document.createElement("li");
+ po.getChildrenUL().appendChild(node.li);
+ node.parentNode = po;
+
+ node.itemDiv = document.createElement("div");
+ node.itemDiv.className = "item";
+
+ node.labelSpan = document.createElement("span");
+ node.labelSpan.className = "label";
+
+ createIndent(o,node.itemDiv,node,0);
+ node.itemDiv.appendChild(node.labelSpan);
+ node.li.appendChild(node.itemDiv);
+
+ var a = document.createElement("a");
+ node.labelSpan.appendChild(a);
+ node.label = document.createTextNode(text);
+ node.expanded = false;
+ a.appendChild(node.label);
+ if (link) {
+ var url;
+ if (link.substring(0,1)=='^') {
+ url = link.substring(1);
+ link = url;
+ } else {
+ url = node.relpath+link;
+ }
+ a.className = stripPath(link.replace('#',':'));
+ if (link.indexOf('#')!=-1) {
+ var aname = '#'+link.split('#')[1];
+ var srcPage = stripPath($(location).attr('pathname'));
+ var targetPage = stripPath(link.split('#')[0]);
+ a.href = srcPage!=targetPage ? url : "javascript:void(0)";
+ a.onclick = function(){
+ storeLink(link);
+ if (!$(a).parent().parent().hasClass('selected'))
+ {
+ $('.item').removeClass('selected');
+ $('.item').removeAttr('id');
+ $(a).parent().parent().addClass('selected');
+ $(a).parent().parent().attr('id','selected');
+ }
+ var anchor = $(aname);
+ gotoAnchor(anchor,aname,true);
+ };
+ } else {
+ a.href = url;
+ a.onclick = function() { storeLink(link); }
+ }
+ } else {
+ if (childrenData != null)
+ {
+ a.className = "nolink";
+ a.href = "javascript:void(0)";
+ a.onclick = node.expandToggle.onclick;
+ }
+ }
+
+ node.childrenUL = null;
+ node.getChildrenUL = function() {
+ if (!node.childrenUL) {
+ node.childrenUL = document.createElement("ul");
+ node.childrenUL.className = "children_ul";
+ node.childrenUL.style.display = "none";
+ node.li.appendChild(node.childrenUL);
+ }
+ return node.childrenUL;
+ };
+
+ return node;
+}
+
+function showRoot()
+{
+ var headerHeight = $("#top").height();
+ var footerHeight = $("#nav-path").height();
+ var windowHeight = $(window).height() - headerHeight - footerHeight;
+ (function (){ // retry until we can scroll to the selected item
+ try {
+ var navtree=$('#nav-tree');
+ navtree.scrollTo('#selected',0,{offset:-windowHeight/2});
+ } catch (err) {
+ setTimeout(arguments.callee, 0);
+ }
+ })();
+}
+
+function expandNode(o, node, imm, showRoot)
+{
+ if (node.childrenData && !node.expanded) {
+ if (typeof(node.childrenData)==='string') {
+ var varName = node.childrenData;
+ getScript(node.relpath+varName,function(){
+ node.childrenData = getData(varName);
+ expandNode(o, node, imm, showRoot);
+ }, showRoot);
+ } else {
+ if (!node.childrenVisited) {
+ getNode(o, node);
+ } if (imm || ($.browser.msie && $.browser.version>8)) {
+ // somehow slideDown jumps to the start of tree for IE9 :-(
+ $(node.getChildrenUL()).show();
+ } else {
+ $(node.getChildrenUL()).slideDown("fast");
+ }
+ if (node.isLast) {
+ node.plus_img.src = node.relpath+"ftv2mlastnode.png";
+ } else {
+ node.plus_img.src = node.relpath+"ftv2mnode.png";
+ }
+ node.expanded = true;
+ }
+ }
+}
+
+function glowEffect(n,duration)
+{
+ n.addClass('glow').delay(duration).queue(function(next){
+ $(this).removeClass('glow');next();
+ });
+}
+
+function highlightAnchor()
+{
+ var aname = $(location).attr('hash');
+ var anchor = $(aname);
+ if (anchor.parent().attr('class')=='memItemLeft'){
+ var rows = $('.memberdecls tr[class$="'+
+ window.location.hash.substring(1)+'"]');
+ glowEffect(rows.children(),300); // member without details
+ } else if (anchor.parents().slice(2).prop('tagName')=='TR') {
+ glowEffect(anchor.parents('div.memitem'),1000); // enum value
+ } else if (anchor.parent().attr('class')=='fieldtype'){
+ glowEffect(anchor.parent().parent(),1000); // struct field
+ } else if (anchor.parent().is(":header")) {
+ glowEffect(anchor.parent(),1000); // section header
+ } else {
+ glowEffect(anchor.next(),1000); // normal member
+ }
+ gotoAnchor(anchor,aname,false);
+}
+
+function selectAndHighlight(hash,n)
+{
+ var a;
+ if (hash) {
+ var link=stripPath($(location).attr('pathname'))+':'+hash.substring(1);
+ a=$('.item a[class$="'+link+'"]');
+ }
+ if (a && a.length) {
+ a.parent().parent().addClass('selected');
+ a.parent().parent().attr('id','selected');
+ highlightAnchor();
+ } else if (n) {
+ $(n.itemDiv).addClass('selected');
+ $(n.itemDiv).attr('id','selected');
+ }
+ if ($('#nav-tree-contents .item:first').hasClass('selected')) {
+ $('#nav-sync').css('top','30px');
+ } else {
+ $('#nav-sync').css('top','5px');
+ }
+ showRoot();
+}
+
+function showNode(o, node, index, hash)
+{
+ if (node && node.childrenData) {
+ if (typeof(node.childrenData)==='string') {
+ var varName = node.childrenData;
+ getScript(node.relpath+varName,function(){
+ node.childrenData = getData(varName);
+ showNode(o,node,index,hash);
+ },true);
+ } else {
+ if (!node.childrenVisited) {
+ getNode(o, node);
+ }
+ $(node.getChildrenUL()).css({'display':'block'});
+ if (node.isLast) {
+ node.plus_img.src = node.relpath+"ftv2mlastnode.png";
+ } else {
+ node.plus_img.src = node.relpath+"ftv2mnode.png";
+ }
+ node.expanded = true;
+ var n = node.children[o.breadcrumbs[index]];
+ if (index+1<o.breadcrumbs.length) {
+ showNode(o,n,index+1,hash);
+ } else {
+ if (typeof(n.childrenData)==='string') {
+ var varName = n.childrenData;
+ getScript(n.relpath+varName,function(){
+ n.childrenData = getData(varName);
+ node.expanded=false;
+ showNode(o,node,index,hash); // retry with child node expanded
+ },true);
+ } else {
+ var rootBase = stripPath(o.toroot.replace(/\..+$/, ''));
+ if (rootBase=="index" || rootBase=="pages" || rootBase=="search") {
+ expandNode(o, n, true, true);
+ }
+ selectAndHighlight(hash,n);
+ }
+ }
+ }
+ } else {
+ selectAndHighlight(hash);
+ }
+}
+
+function removeToInsertLater(element) {
+ var parentNode = element.parentNode;
+ var nextSibling = element.nextSibling;
+ parentNode.removeChild(element);
+ return function() {
+ if (nextSibling) {
+ parentNode.insertBefore(element, nextSibling);
+ } else {
+ parentNode.appendChild(element);
+ }
+ };
+}
+
+function getNode(o, po)
+{
+ var insertFunction = removeToInsertLater(po.li);
+ po.childrenVisited = true;
+ var l = po.childrenData.length-1;
+ for (var i in po.childrenData) {
+ var nodeData = po.childrenData[i];
+ po.children[i] = newNode(o, po, nodeData[0], nodeData[1], nodeData[2],
+ i==l);
+ }
+ insertFunction();
+}
+
+function gotoNode(o,subIndex,root,hash,relpath)
+{
+ var nti = navTreeSubIndices[subIndex][root+hash];
+ o.breadcrumbs = $.extend(true, [], nti ? nti : navTreeSubIndices[subIndex][root]);
+ if (!o.breadcrumbs && root!=NAVTREE[0][1]) { // fallback: show index
+ navTo(o,NAVTREE[0][1],"",relpath);
+ $('.item').removeClass('selected');
+ $('.item').removeAttr('id');
+ }
+ if (o.breadcrumbs) {
+ o.breadcrumbs.unshift(0); // add 0 for root node
+ showNode(o, o.node, 0, hash);
+ }
+}
+
+function navTo(o,root,hash,relpath)
+{
+ var link = cachedLink();
+ if (link) {
+ var parts = link.split('#');
+ root = parts[0];
+ if (parts.length>1) hash = '#'+parts[1];
+ else hash='';
+ }
+ if (hash.match(/^#l\d+$/)) {
+ var anchor=$('a[name='+hash.substring(1)+']');
+ glowEffect(anchor.parent(),1000); // line number
+ hash=''; // strip line number anchors
+ //root=root.replace(/_source\./,'.'); // source link to doc link
+ }
+ var url=root+hash;
+ var i=-1;
+ while (NAVTREEINDEX[i+1]<=url) i++;
+ if (i==-1) { i=0; root=NAVTREE[0][1]; } // fallback: show index
+ if (navTreeSubIndices[i]) {
+ gotoNode(o,i,root,hash,relpath)
+ } else {
+ getScript(relpath+'navtreeindex'+i,function(){
+ navTreeSubIndices[i] = eval('NAVTREEINDEX'+i);
+ if (navTreeSubIndices[i]) {
+ gotoNode(o,i,root,hash,relpath);
+ }
+ },true);
+ }
+}
+
+function showSyncOff(n,relpath)
+{
+ n.html('<img src="'+relpath+'sync_off.png" title="'+SYNCOFFMSG+'"/>');
+}
+
+function showSyncOn(n,relpath)
+{
+ n.html('<img src="'+relpath+'sync_on.png" title="'+SYNCONMSG+'"/>');
+}
+
+function toggleSyncButton(relpath)
+{
+ var navSync = $('#nav-sync');
+ if (navSync.hasClass('sync')) {
+ navSync.removeClass('sync');
+ showSyncOff(navSync,relpath);
+ storeLink(stripPath2($(location).attr('pathname'))+$(location).attr('hash'));
+ } else {
+ navSync.addClass('sync');
+ showSyncOn(navSync,relpath);
+ deleteLink();
+ }
+}
+
+function initNavTree(toroot,relpath)
+{
+ var o = new Object();
+ o.toroot = toroot;
+ o.node = new Object();
+ o.node.li = document.getElementById("nav-tree-contents");
+ o.node.childrenData = NAVTREE;
+ o.node.children = new Array();
+ o.node.childrenUL = document.createElement("ul");
+ o.node.getChildrenUL = function() { return o.node.childrenUL; };
+ o.node.li.appendChild(o.node.childrenUL);
+ o.node.depth = 0;
+ o.node.relpath = relpath;
+ o.node.expanded = false;
+ o.node.isLast = true;
+ o.node.plus_img = document.createElement("img");
+ o.node.plus_img.src = relpath+"ftv2pnode.png";
+ o.node.plus_img.width = 16;
+ o.node.plus_img.height = 22;
+
+ if (localStorageSupported()) {
+ var navSync = $('#nav-sync');
+ if (cachedLink()) {
+ showSyncOff(navSync,relpath);
+ navSync.removeClass('sync');
+ } else {
+ showSyncOn(navSync,relpath);
+ }
+ navSync.click(function(){ toggleSyncButton(relpath); });
+ }
+
+ $(window).load(function(){
+ navTo(o,toroot,window.location.hash,relpath);
+ showRoot();
+ });
+
+ $(window).bind('hashchange', function(){
+ if (window.location.hash && window.location.hash.length>1){
+ var a;
+ if ($(location).attr('hash')){
+ var clslink=stripPath($(location).attr('pathname'))+':'+
+ $(location).attr('hash').substring(1);
+ a=$('.item a[class$="'+clslink+'"]');
+ }
+ if (a==null || !$(a).parent().parent().hasClass('selected')){
+ $('.item').removeClass('selected');
+ $('.item').removeAttr('id');
+ }
+ var link=stripPath2($(location).attr('pathname'));
+ navTo(o,link,$(location).attr('hash'),relpath);
+ } else if (!animationInProgress) {
+ $('#doc-content').scrollTop(0);
+ $('.item').removeClass('selected');
+ $('.item').removeAttr('id');
+ navTo(o,toroot,window.location.hash,relpath);
+ }
+ })
+}
+
diff --git a/docs/RTOS2/html/navtreeindex0.js b/docs/RTOS2/html/navtreeindex0.js
new file mode 100644
index 0000000..752ad2e
--- /dev/null
+++ b/docs/RTOS2/html/navtreeindex0.js
@@ -0,0 +1,253 @@
+var NAVTREEINDEX0 =
+{
+"CodingRules.html":[6],
+"annotated.html":[8],
+"classes.html":[9],
+"cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a0545c92c18ce8e6b24e82a0d694a0b4a":[7,0,1,1,5],
+"cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a0596c6e14113447604753656417c9a24":[7,0,1,1,1],
+"cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a2ad3e5912db47b497529d036c89e7995":[7,0,1,1,0],
+"cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a2fe382ad5ebab2257b35740414b28b01":[7,0,1,1,3],
+"cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a8e0b699fbe1c8bb66fefadd5911cb6ce":[7,0,1,1,2],
+"cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4ab0a47576defa29396a649d9173d4bc4b":[7,0,1,1,6],
+"cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4ad364464ad84d63b1413a9ac8a962390c":[7,0,1,1,4],
+"cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea21635bdc492d3094fe83027fa4a30e2f":[7,0,11,5,6],
+"cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea66cc9ce9106b508df0e4a733a55a439d":[7,0,11,5,7],
+"cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea8fc5801e8b0482bdf22ad63a77f0155d":[7,0,11,5,3],
+"cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea913eb5df15ad85f8557eb3a456b56879":[7,0,11,5,2],
+"cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f":[7,0,11,5,0],
+"cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813eabb7b2d2c4efa66df42f1c10635467b09":[7,0,11,5,1],
+"cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813eac24adca6a5d072c9f01c32178ba0d109":[7,0,11,5,4],
+"cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813eaf1fac0240218e51eb30a13da2f8aae81":[7,0,11,5,5],
+"cmsis__os2_8h.html#gad3dc89e942e38d9f3af858a0269a820da8872f7e352370eb11ee772c7dcca6e6c":[7,0,2,5,6],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca049abd04f8951415407ec9d92bd9b80b":[7,0,2,6,25],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca0b15518b0b5321a29efa0b42b2f8c759":[7,0,2,6,37],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca0bcd9ad1e7a02e3bf03be7dcc8ece38e":[7,0,2,6,15],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca1485dec3702434a1ec3cb74c7a17a4af":[7,0,2,6,42],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca17b36cd9cd38652c2bc6d4803990674b":[7,0,2,6,26],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca17b7a7e6febf12444a84e90edfce36cb":[7,0,2,6,35],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca193b650117c209b4a203954542bcc3e6":[7,0,2,6,10],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca19c013690d0d6bf3ac90707942be3fdf":[7,0,2,6,13],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca19e96f2b025b6462a43b1965043c8205":[7,0,2,6,20],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca28ccb07942c16f5f5efefb6cf68a7f50":[7,0,2,6,5],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca36931ad6cee5e4700e2c8622bdd2cd24":[7,0,2,6,14],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca3e70c19e03d5a54e66bd071f0776782c":[7,0,2,6,19],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca3f2261e5e733e92844ae8c630f2f9eaa":[7,0,2,6,45],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca402bd7ab26fb57c8cee8cf94168f4c91":[7,0,2,6,21],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca40a120cf8bbc42e575455c027f3d9b03":[7,0,2,6,36],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca45a2895ad30c79fb97de18cac7cc19f1":[7,0,2,6,18],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca4f081d6735bf2f513338b07eddf13ae3":[7,0,2,6,12],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca5714dda6effc1a3f8ec155d97e3e69bc":[7,0,2,6,40],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca5960841bfbdd959b163429e8502ea4e9":[7,0,2,6,39],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca5a4a4f26d5b220a968e221e854f69a81":[7,0,2,6,6],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca5b151ebba7fdeb1baaa9b7b420890b7a":[7,0,2,6,9],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca61cb822239ac8f66dfbdc7291598a3d4":[7,0,2,6,2],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca61e6ce27e1e0f34f2540b413b8a8b207":[7,0,2,6,32],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca63ad0cc52a701ef3d9df52b59b995652":[7,0,2,6,41],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca68f3f6fdaa639de300277802aa13a0ab":[7,0,2,6,23],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca6c437c7185161a3bd1e7e4669dfa17a3":[7,0,2,6,0],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca6ccac37d7dae4586a2031966d36a63ec":[7,0,2,6,30],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca78ad5d00aa07a2b4bf30a639544f5507":[7,0,2,6,4],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca80ae9d0dd256312c0c8f44af48316194":[7,0,2,6,48],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca8221eb0d059726a6309f1f2d0cdb6204":[7,0,2,6,24],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca901acf86070e06f5990b611734ee2562":[7,0,2,6,28],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca9138da7187690b15f52d8e5729c18da5":[7,0,2,6,11],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca914433934143a9ba767e59577c56e6c2":[7,0,2,6,34],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca93ef07d3a107aeee6508bfd29ba3485d":[7,0,2,6,22],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecaa76da6825c4bd31c4958200bc289103b":[7,0,2,6,49],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecab18e3bda7b5e418e309a62d6267ea14b":[7,0,2,6,17],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecab832bd9de84e5eec2ecad69d085dadff":[7,0,2,6,44],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecaba2b6919f0b630c8c1b2c940e3bfadbe":[7,0,2,6,3],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecabd3cc7df5b92b752ddf1e7843a786c05":[7,0,2,6,16],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecabfeafc713edfc7b9130aa5c762d68998":[7,0,2,6,27],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecac0f188468664d06d4cd9e6e1ed351393":[7,0,2,6,8],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecac86c171f8d466cced0cb1b03bb03343b":[7,0,2,6,52],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecad566b876b64e6efdc3eba0fc04e54013":[7,0,2,6,29],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecad69b8c14809bc5bdce4887f5a57d9353":[7,0,2,6,7],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecadbbb0fed3ada6b9b50d4a628abc2a67d":[7,0,2,6,33],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecae35f5e2f9c64ad346822521b643bdea4":[7,0,2,6,51],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecae36e8b38ee046a3104bcccabb10cf78c":[7,0,2,6,31],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecaf614e3dc966d559cd9d9d2a0f78ebe70":[7,0,2,6,46],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecaf685a06b30f0635476e21347a986305b":[7,0,2,6,43],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecafe5a4f393fab04551ac7d93e80cdf0fb":[7,0,2,6,38],
+"cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecaff84f31ceff203c711fb9476443507df":[7,0,2,6,47],
+"config_rtx5.html":[5,2],
+"config_rtx5.html#eventFlagsConfig":[5,2,3],
+"config_rtx5.html#eventFlagsConfig_obj":[5,2,3,0],
+"config_rtx5.html#evtrecConfig":[5,2,8],
+"config_rtx5.html#evtrecConfigEvtGen":[5,2,8,1],
+"config_rtx5.html#evtrecConfigGlobIni":[5,2,8,0],
+"config_rtx5.html#memPoolConfig":[5,2,6],
+"config_rtx5.html#memPoolConfig_obj":[5,2,6,0],
+"config_rtx5.html#msgQueueConfig":[5,2,7],
+"config_rtx5.html#msgQueueConfig_obj":[5,2,7,0],
+"config_rtx5.html#mutexConfig":[5,2,4],
+"config_rtx5.html#mutexConfig_obj":[5,2,4,0],
+"config_rtx5.html#semaphoreConfig":[5,2,5],
+"config_rtx5.html#semaphoreConfig_obj":[5,2,5,0],
+"config_rtx5.html#systemConfig":[5,2,0],
+"config_rtx5.html#systemConfig_event_recording":[5,2,8,2],
+"config_rtx5.html#systemConfig_glob_mem":[5,2,0,0],
+"config_rtx5.html#systemConfig_isr_fifo":[5,2,0,2],
+"config_rtx5.html#systemConfig_rr":[5,2,0,1],
+"config_rtx5.html#systemConfig_usage_counters":[5,2,0,3],
+"config_rtx5.html#threadConfig":[5,2,1],
+"config_rtx5.html#threadConfig_countstack":[5,2,1,0],
+"config_rtx5.html#threadConfig_ovfcheck":[5,2,1,1],
+"config_rtx5.html#threadConfig_procmode":[5,2,1,3],
+"config_rtx5.html#threadConfig_watermark":[5,2,1,2],
+"config_rtx5.html#timerConfig":[5,2,2],
+"config_rtx5.html#timerConfig_obj":[5,2,2,0],
+"config_rtx5.html#timerConfig_user":[5,2,2,1],
+"cre_rtx_proj.html":[5,0],
+"cre_rtx_proj.html#cre_UsingIRQs":[5,0,1],
+"cre_rtx_proj.html#cre_rtx_cortexa":[5,0,0],
+"cre_rtx_proj.html#cre_rtx_proj_er":[5,0,3],
+"cre_rtx_proj.html#cre_rtx_proj_specifics":[5,0,2],
+"creating_RTX5_LIB.html":[5,3],
+"functionOverview.html":[2],
+"functions.html":[10,0],
+"functions_vars.html":[10,1],
+"genRTOS2IF.html":[1],
+"genRTOS2IF.html#cmsis_os2_h":[1,0],
+"genRTOS2IF.html#usingOS2":[1,1],
+"group__CMSIS__RTOS.html":[7,0],
+"group__CMSIS__RTOS__Definitions.html":[7,0,11],
+"group__CMSIS__RTOS__Definitions.html#ga18e63587b8450d5b8798b6f6ec04e012":[7,0,11,2],
+"group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e":[7,0,11,5],
+"group__CMSIS__RTOS__Definitions.html#ga8b6f562736fbfb5428940e0c017dec24":[7,0,11,3],
+"group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb":[7,0,11,1],
+"group__CMSIS__RTOS__Definitions.html#gaade844a42237d8c37569d4d9b16b9f1c":[7,0,11,4],
+"group__CMSIS__RTOS__EventFlags.html":[7,0,4],
+"group__CMSIS__RTOS__EventFlags.html#a1e100dc33d403841ed3c344e3397868e":[7,0,4,0,2],
+"group__CMSIS__RTOS__EventFlags.html#a6e93b49cb79c12f768d72580c7731f30":[7,0,4,0,1],
+"group__CMSIS__RTOS__EventFlags.html#aa55a4335d12dc2785dc00fdc292d1159":[7,0,4,0,3],
+"group__CMSIS__RTOS__EventFlags.html#ab74e6bf80237ddc4109968cedc58c151":[7,0,4,0,0],
+"group__CMSIS__RTOS__EventFlags.html#ga33b71d14cecf90b4e72639dd19f23a5e":[7,0,4,3],
+"group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e":[7,0,4,6],
+"group__CMSIS__RTOS__EventFlags.html#ga59f4ddf0ee8c395b1672bb978d1cfc88":[7,0,4,8],
+"group__CMSIS__RTOS__EventFlags.html#ga7c4acf2fb0d506ec82905dee53fb5435":[7,0,4,7],
+"group__CMSIS__RTOS__EventFlags.html#ga8bda3185f46bfd278cea8a6cf357677d":[7,0,4,5],
+"group__CMSIS__RTOS__EventFlags.html#ga93bf258ca0007c6641fbe8e4f2b8a1e5":[7,0,4,4],
+"group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df":[7,0,4,2],
+"group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50":[7,0,4,1],
+"group__CMSIS__RTOS__EventFlags.html#structosEventFlagsAttr__t":[7,0,4,0],
+"group__CMSIS__RTOS__KernelCtrl.html":[7,0,1],
+"group__CMSIS__RTOS__KernelCtrl.html#a76a1ef1a4d3d9bd3e70783051f22a6d3":[7,0,1,0,0],
+"group__CMSIS__RTOS__KernelCtrl.html#ad8075d3f42141346ae2c56389358f9e7":[7,0,1,0,1],
+"group__CMSIS__RTOS__KernelCtrl.html#ga08326469274b668140ca934b168a5ad4":[7,0,1,1],
+"group__CMSIS__RTOS__KernelCtrl.html#ga48b69b81012fce051f639be288b243ba":[7,0,1,4],
+"group__CMSIS__RTOS__KernelCtrl.html#ga4d69215a93220f72be3684cad582f16a":[7,0,1,14],
+"group__CMSIS__RTOS__KernelCtrl.html#ga6f7764e7250c5c5364c00c45a5d1d199":[7,0,1,3],
+"group__CMSIS__RTOS__KernelCtrl.html#ga7a8d7bd927eaaa58999f91d7d6310cee":[7,0,1,12],
+"group__CMSIS__RTOS__KernelCtrl.html#ga84bcdbf2fb76b10c8df4e439f0c7e11b":[7,0,1,11],
+"group__CMSIS__RTOS__KernelCtrl.html#ga8c4b4d7ed34cab73c001665d9176aced":[7,0,1,10],
+"group__CMSIS__RTOS__KernelCtrl.html#ga948609ee930d9b38336b9e1c2a4dfe12":[7,0,1,6],
+"group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221":[7,0,1,5],
+"group__CMSIS__RTOS__KernelCtrl.html#gae0fcaff6cecfb4013bb556c87afcd7d2":[7,0,1,13],
+"group__CMSIS__RTOS__KernelCtrl.html#gae26683e1606ec633354a2876c68f0c1f":[7,0,1,9],
+"group__CMSIS__RTOS__KernelCtrl.html#gae7d0a71b9586cbbb49fcbdf6a04f0289":[7,0,1,8],
+"group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659":[7,0,1,2],
+"group__CMSIS__RTOS__KernelCtrl.html#gaf401728b4657456198c33fe75f8d6720":[7,0,1,7],
+"group__CMSIS__RTOS__KernelCtrl.html#structosVersion__t":[7,0,1,0],
+"group__CMSIS__RTOS__MemoryMgmt.html":[7,0,0],
+"group__CMSIS__RTOS__Message.html":[7,0,10],
+"group__CMSIS__RTOS__Message.html#a1e100dc33d403841ed3c344e3397868e":[7,0,10,0,2],
+"group__CMSIS__RTOS__Message.html#a4e208dc0fb049b42c4b90cbd2791c5ad":[7,0,10,0,4],
+"group__CMSIS__RTOS__Message.html#a6e93b49cb79c12f768d72580c7731f30":[7,0,10,0,1],
+"group__CMSIS__RTOS__Message.html#aa55a4335d12dc2785dc00fdc292d1159":[7,0,10,0,3],
+"group__CMSIS__RTOS__Message.html#ab74e6bf80237ddc4109968cedc58c151":[7,0,10,0,0],
+"group__CMSIS__RTOS__Message.html#ac1cc09f875e20c926920b57bb83c70ee":[7,0,10,0,5],
+"group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed":[7,0,10,1],
+"group__CMSIS__RTOS__Message.html#ga6a32ac394fcff568b251c160cc3014b2":[7,0,10,7],
+"group__CMSIS__RTOS__Message.html#ga96d3d84069b20359de48109e28a1a89e":[7,0,10,6],
+"group__CMSIS__RTOS__Message.html#gaa515fc8b956f721a8f72b2c505813bfc":[7,0,10,3],
+"group__CMSIS__RTOS__Message.html#gaba987f665444e0d83fa6a3a68bc72abe":[7,0,10,10],
+"group__CMSIS__RTOS__Message.html#gac24f87d4f395e9e9c900c320e45ade8a":[7,0,10,5],
+"group__CMSIS__RTOS__Message.html#gac6dce7f9ad132d266292c2e979d861b4":[7,0,10,9],
+"group__CMSIS__RTOS__Message.html#gad90d4959466a7a65105061da8256ab9e":[7,0,10,4],
+"group__CMSIS__RTOS__Message.html#gaddf0904427436dd3880d46263c2dc9fa":[7,0,10,8],
+"group__CMSIS__RTOS__Message.html#gae7cf7bf2b97a5ae481fb60fcce99247a":[7,0,10,2],
+"group__CMSIS__RTOS__Message.html#structosMessageQueueAttr__t":[7,0,10,0],
+"group__CMSIS__RTOS__MutexMgmt.html":[7,0,7],
+"group__CMSIS__RTOS__MutexMgmt.html#a1e100dc33d403841ed3c344e3397868e":[7,0,7,0,2],
+"group__CMSIS__RTOS__MutexMgmt.html#a6e93b49cb79c12f768d72580c7731f30":[7,0,7,0,1],
+"group__CMSIS__RTOS__MutexMgmt.html#aa55a4335d12dc2785dc00fdc292d1159":[7,0,7,0,3],
+"group__CMSIS__RTOS__MutexMgmt.html#ab74e6bf80237ddc4109968cedc58c151":[7,0,7,0,0],
+"group__CMSIS__RTOS__MutexMgmt.html#ga00b5e58cd247a412d1afd18732d8b752":[7,0,7,6],
+"group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42":[7,0,7,4],
+"group__CMSIS__RTOS__MutexMgmt.html#ga40fba270cb31a977b3bd551d41eb9599":[7,0,7,2],
+"group__CMSIS__RTOS__MutexMgmt.html#ga65c2482cc64a35d03871f3180f305926":[7,0,7,1],
+"group__CMSIS__RTOS__MutexMgmt.html#ga7f9a7666df0978738cd570cb700b83fb":[7,0,7,9],
+"group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8":[7,0,7,5],
+"group__CMSIS__RTOS__MutexMgmt.html#gabc54686ea0fc281823b1763422d2a924":[7,0,7,7],
+"group__CMSIS__RTOS__MutexMgmt.html#gabee73ad227ba4587d3db12ef9bd582bc":[7,0,7,10],
+"group__CMSIS__RTOS__MutexMgmt.html#gaea629705703580ff58776bf73c8db915":[7,0,7,8],
+"group__CMSIS__RTOS__MutexMgmt.html#gaf0e1dee376798b4d516d164981526780":[7,0,7,3],
+"group__CMSIS__RTOS__MutexMgmt.html#structosMutexAttr__t":[7,0,7,0],
+"group__CMSIS__RTOS__PoolMgmt.html":[7,0,9],
+"group__CMSIS__RTOS__PoolMgmt.html#a1e100dc33d403841ed3c344e3397868e":[7,0,9,0,2],
+"group__CMSIS__RTOS__PoolMgmt.html#a5799465cca9c71c5587ceb0986f5b06a":[7,0,9,0,4],
+"group__CMSIS__RTOS__PoolMgmt.html#a66c26015c0ac8e88a4ad907c120aee4f":[7,0,9,0,5],
+"group__CMSIS__RTOS__PoolMgmt.html#a6e93b49cb79c12f768d72580c7731f30":[7,0,9,0,1],
+"group__CMSIS__RTOS__PoolMgmt.html#aa55a4335d12dc2785dc00fdc292d1159":[7,0,9,0,3],
+"group__CMSIS__RTOS__PoolMgmt.html#ab74e6bf80237ddc4109968cedc58c151":[7,0,9,0,0],
+"group__CMSIS__RTOS__PoolMgmt.html#ga0394cffa9479a7994e3b03c79c1cb909":[7,0,9,9],
+"group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960":[7,0,9,1],
+"group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc":[7,0,9,2],
+"group__CMSIS__RTOS__PoolMgmt.html#ga8c39e7e5cd2b9eda907466808e59d62e":[7,0,9,10],
+"group__CMSIS__RTOS__PoolMgmt.html#ga8ead54e99ccb8f112356c88f99d38fbe":[7,0,9,4],
+"group__CMSIS__RTOS__PoolMgmt.html#ga958a9449bff8c95ce213de98eef5739d":[7,0,9,8],
+"group__CMSIS__RTOS__PoolMgmt.html#gab2bf059b7fa7679c3cccdaeec60b6c0e":[7,0,9,7],
+"group__CMSIS__RTOS__PoolMgmt.html#gab414a1e138205a55820acfa277c8f386":[7,0,9,3],
+"group__CMSIS__RTOS__PoolMgmt.html#gabb4f4560daa6d1f8c8789082ee186d16":[7,0,9,5],
+"group__CMSIS__RTOS__PoolMgmt.html#gad696e94bfbe28f0b6613f9303fdf6a37":[7,0,9,6],
+"group__CMSIS__RTOS__PoolMgmt.html#structosMemoryPoolAttr__t":[7,0,9,0],
+"group__CMSIS__RTOS__SemaphoreMgmt.html":[7,0,8],
+"group__CMSIS__RTOS__SemaphoreMgmt.html#a1e100dc33d403841ed3c344e3397868e":[7,0,8,0,2],
+"group__CMSIS__RTOS__SemaphoreMgmt.html#a6e93b49cb79c12f768d72580c7731f30":[7,0,8,0,1],
+"group__CMSIS__RTOS__SemaphoreMgmt.html#aa55a4335d12dc2785dc00fdc292d1159":[7,0,8,0,3],
+"group__CMSIS__RTOS__SemaphoreMgmt.html#ab74e6bf80237ddc4109968cedc58c151":[7,0,8,0,0],
+"group__CMSIS__RTOS__SemaphoreMgmt.html#ga0abcee1b5449d7a6928fb9248c690bb6":[7,0,8,5],
+"group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a":[7,0,8,2],
+"group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40":[7,0,8,1],
+"group__CMSIS__RTOS__SemaphoreMgmt.html#ga7559d4dff3cda9992fc5ab5de3e74c70":[7,0,8,6],
+"group__CMSIS__RTOS__SemaphoreMgmt.html#ga7e94c8b242a0c81f2cc79ec22895c87b":[7,0,8,4],
+"group__CMSIS__RTOS__SemaphoreMgmt.html#ga81258ce9c67fa89f07cc49d2e136cd88":[7,0,8,7],
+"group__CMSIS__RTOS__SemaphoreMgmt.html#ga9586952051f00285f1482dbe6695bbc4":[7,0,8,3],
+"group__CMSIS__RTOS__SemaphoreMgmt.html#structosSemaphoreAttr__t":[7,0,8,0],
+"group__CMSIS__RTOS__ThreadFlagsMgmt.html":[7,0,3],
+"group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga656abc1c862c5b9a2b13584c42cc0bfa":[7,0,3,1],
+"group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga6f89ef9caded1d9963c7b12b0f6412c9":[7,0,3,0],
+"group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga85c8d2c89466e25abbcb545d9ddd71ba":[7,0,3,2],
+"group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b":[7,0,3,3],
+"group__CMSIS__RTOS__ThreadMgmt.html":[7,0,2],
+"group__CMSIS__RTOS__ThreadMgmt.html#a1e100dc33d403841ed3c344e3397868e":[7,0,2,0,2],
+"group__CMSIS__RTOS__ThreadMgmt.html#a66f538babc389986738ec70104e0562b":[7,0,2,0,8],
+"group__CMSIS__RTOS__ThreadMgmt.html#a697f2aad6119d655d212ea10245ae394":[7,0,2,0,7],
+"group__CMSIS__RTOS__ThreadMgmt.html#a6a5183df4c54c3e28dc8dc704f2487d5":[7,0,2,0,6],
+"group__CMSIS__RTOS__ThreadMgmt.html#a6e93b49cb79c12f768d72580c7731f30":[7,0,2,0,1],
+"group__CMSIS__RTOS__ThreadMgmt.html#aa55a4335d12dc2785dc00fdc292d1159":[7,0,2,0,3],
+"group__CMSIS__RTOS__ThreadMgmt.html#aacbc9a219f2d6870e9ce89bb93f975c9":[7,0,2,0,5],
+"group__CMSIS__RTOS__ThreadMgmt.html#ab74e6bf80237ddc4109968cedc58c151":[7,0,2,0,0],
+"group__CMSIS__RTOS__ThreadMgmt.html#ad7c9b42355a4c8b9467130ab3fb19e43":[7,0,2,0,4],
+"group__CMSIS__RTOS__ThreadMgmt.html#ga0aeaf349604f456e68e78f9d3b42e44b":[7,0,2,20],
+"group__CMSIS__RTOS__ThreadMgmt.html#ga249499c519f3f8eef5673009ab6cfcbe":[7,0,2,1],
+"group__CMSIS__RTOS__ThreadMgmt.html#ga2f8ba6dba6e9c065a6e236ffd410d74a":[7,0,2,27],
+"group__CMSIS__RTOS__ThreadMgmt.html#ga3dbad90eff394b02de76a452c84c5d80":[7,0,2,23],
+"group__CMSIS__RTOS__ThreadMgmt.html#ga3fca90fb0679afeb968aa8c3d5874487":[7,0,2,25],
+"group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f":[7,0,2,15],
+"group__CMSIS__RTOS__ThreadMgmt.html#ga495b3f812224e7301f23a691793765db":[7,0,2,30],
+"group__CMSIS__RTOS__ThreadMgmt.html#ga5606604d56e21ece1a654664be877439":[7,0,2,31],
+"group__CMSIS__RTOS__ThreadMgmt.html#ga861a420fb2d643115b06622903fb3bfb":[7,0,2,19],
+"group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da":[7,0,2,17],
+"group__CMSIS__RTOS__ThreadMgmt.html#ga9c83bd5dd8de329701775d6ef7012720":[7,0,2,29],
+"group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7":[7,0,2,4],
+"group__CMSIS__RTOS__ThreadMgmt.html#gaa9336c1073858d6b118e2e011636246f":[7,0,2,2],
+"group__CMSIS__RTOS__ThreadMgmt.html#gaa9de419d0152bf77e9bbcd1f369fb990":[7,0,2,22],
+"group__CMSIS__RTOS__ThreadMgmt.html#gaaad14cd9547341ea8109dc4e8540f1dc":[7,0,2,24],
+"group__CMSIS__RTOS__ThreadMgmt.html#gab9f8bd715d671c6ee27644867bc1bf65":[7,0,2,28],
+"group__CMSIS__RTOS__ThreadMgmt.html#gac3230f3a55a297514b013ebf38f27e0a":[7,0,2,16],
+"group__CMSIS__RTOS__ThreadMgmt.html#gacc0a98b42f0a5928e12dc91dc76866b9":[7,0,2,18],
+"group__CMSIS__RTOS__ThreadMgmt.html#gad01c7ec26535b1de6b018bb9466720e2":[7,0,2,21],
+"group__CMSIS__RTOS__ThreadMgmt.html#gad3dc89e942e38d9f3af858a0269a820d":[7,0,2,5]
+};
diff --git a/docs/RTOS2/html/navtreeindex1.js b/docs/RTOS2/html/navtreeindex1.js
new file mode 100644
index 0000000..406646c
--- /dev/null
+++ b/docs/RTOS2/html/navtreeindex1.js
@@ -0,0 +1,253 @@
+var NAVTREEINDEX1 =
+{
+"group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ec":[7,0,2,6],
+"group__CMSIS__RTOS__ThreadMgmt.html#gadd51f99a6eb50b94eee75f27cae815eb":[7,0,2,3],
+"group__CMSIS__RTOS__ThreadMgmt.html#gaddaa452dd7610e4096647a566d3556fc":[7,0,2,26],
+"group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820da339313e26613bc12f66a852e2ff8745e":[7,0,2,5,5],
+"group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820da339313e26613bc12f66a852e2ff8745e":[7,0,2,12],
+"group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820da59e286915944fe0e4d1ffdb1f2946f14":[7,0,2,5,1],
+"group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820da59e286915944fe0e4d1ffdb1f2946f14":[7,0,2,8],
+"group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820dac4fe336e0790188fcf7d667372eca19d":[7,0,2,5,2],
+"group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820dac4fe336e0790188fcf7d667372eca19d":[7,0,2,9],
+"group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820dad5b2726c2d0228f4f1a76cf6b630963c":[7,0,2,5,4],
+"group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820dad5b2726c2d0228f4f1a76cf6b630963c":[7,0,2,11],
+"group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820dae9d77830b6866e287417b6e1d983e971":[7,0,2,5,0],
+"group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820dae9d77830b6866e287417b6e1d983e971":[7,0,2,7],
+"group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820daf0e992e354fba8695957c530226a4968":[7,0,2,5,3],
+"group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820daf0e992e354fba8695957c530226a4968":[7,0,2,10],
+"group__CMSIS__RTOS__ThreadMgmt.html#ggad4e3e0971b41f2d17584a8c6837342eca4b4fa46c3ebaf4259662a0a0a3173b7f":[7,0,2,6,50],
+"group__CMSIS__RTOS__ThreadMgmt.html#ggad4e3e0971b41f2d17584a8c6837342eca4b4fa46c3ebaf4259662a0a0a3173b7f":[7,0,2,14],
+"group__CMSIS__RTOS__ThreadMgmt.html#ggad4e3e0971b41f2d17584a8c6837342ecacd5864eac01a6916a7c866bb51a6aac1":[7,0,2,6,1],
+"group__CMSIS__RTOS__ThreadMgmt.html#ggad4e3e0971b41f2d17584a8c6837342ecacd5864eac01a6916a7c866bb51a6aac1":[7,0,2,13],
+"group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t":[7,0,2,0],
+"group__CMSIS__RTOS__TickAPI.html":[7,1],
+"group__CMSIS__RTOS__TickAPI.html#ga123151dc19d5a94a68f12cdbf61a9bb5":[7,1,6],
+"group__CMSIS__RTOS__TickAPI.html#ga1f9a593126b7f0b66fc526c2cebd6192":[7,1,8],
+"group__CMSIS__RTOS__TickAPI.html#ga3e47971bf3a02599d9ecb32208adafec":[7,1,1],
+"group__CMSIS__RTOS__TickAPI.html#ga57065ec4b281504ad4de13a419870b4f":[7,1,3],
+"group__CMSIS__RTOS__TickAPI.html#ga5e325c304fef5003b1dc31906f6a3056":[7,1,2],
+"group__CMSIS__RTOS__TickAPI.html#ga5eeffb4d9dc6c6802fee8898096d9a59":[7,1,0],
+"group__CMSIS__RTOS__TickAPI.html#ga936217ea28236fb57648973e0d8f627a":[7,1,5],
+"group__CMSIS__RTOS__TickAPI.html#gaa64a145a554f1e5077848938d7f39c92":[7,1,7],
+"group__CMSIS__RTOS__TickAPI.html#gaa8b4eca23e3ffe2df403291958cdc905":[7,1,4],
+"group__CMSIS__RTOS__TimerMgmt.html":[7,0,6],
+"group__CMSIS__RTOS__TimerMgmt.html#a1e100dc33d403841ed3c344e3397868e":[7,0,6,0,2],
+"group__CMSIS__RTOS__TimerMgmt.html#a6e93b49cb79c12f768d72580c7731f30":[7,0,6,0,1],
+"group__CMSIS__RTOS__TimerMgmt.html#aa55a4335d12dc2785dc00fdc292d1159":[7,0,6,0,3],
+"group__CMSIS__RTOS__TimerMgmt.html#ab74e6bf80237ddc4109968cedc58c151":[7,0,6,0,0],
+"group__CMSIS__RTOS__TimerMgmt.html#ga4f82a98eee4d9ea79507e44340d3d319":[7,0,6,7],
+"group__CMSIS__RTOS__TimerMgmt.html#ga69d3589f54194022c30dd01e45ec6741":[7,0,6,10],
+"group__CMSIS__RTOS__TimerMgmt.html#ga7dc24a4c2b90334427081c3da7a71915":[7,0,6,3],
+"group__CMSIS__RTOS__TimerMgmt.html#gaacf768c1ec64b020598afb985d7b30be":[7,0,6,2],
+"group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34":[7,0,6,1],
+"group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d":[7,0,6,8],
+"group__CMSIS__RTOS__TimerMgmt.html#gabd7a89356da7717293eb0bc5d87b8ac9":[7,0,6,9],
+"group__CMSIS__RTOS__TimerMgmt.html#gad0001dd74721ab461789324806db2453":[7,0,6,11],
+"group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec":[7,0,6,6],
+"group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915a2e0e1f31c742c84b497c4d7143357bdb":[7,0,6,3,0],
+"group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915a2e0e1f31c742c84b497c4d7143357bdb":[7,0,6,4],
+"group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915ab3463d921dc310938094745c230f2b35":[7,0,6,3,1],
+"group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915ab3463d921dc310938094745c230f2b35":[7,0,6,5],
+"group__CMSIS__RTOS__TimerMgmt.html#structosTimerAttr__t":[7,0,6,0],
+"group__CMSIS__RTOS__Wait.html":[7,0,5],
+"group__CMSIS__RTOS__Wait.html#ga3c807924c2d6d43bc2ffb49da3f7f3a1":[7,0,5,1],
+"group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e":[7,0,5,0],
+"group__flags__error__codes.html":[7,0,11,0],
+"group__flags__error__codes.html#ga2e951c3f1c3b7bff4eca3d7836cd19ca":[7,0,11,0,1],
+"group__flags__error__codes.html#ga3b1d9fbb83d64eedb62f831c9be647c3":[7,0,11,0,0],
+"group__flags__error__codes.html#ga4db38b50da1889bcaaa7f747e844f904":[7,0,11,0,2],
+"group__flags__error__codes.html#gaa8a95ef938f8f5a9fcb815ec53184f77":[7,0,11,0,3],
+"group__flags__error__codes.html#gaea3abd186643f539877e894b62b63448":[7,0,11,0,4],
+"group__rtx5__specific.html":[7,2],
+"group__rtx5__specific__defines.html":[7,2,0],
+"group__rtx5__specific__defines.html#ga0949b67063d0bd427fbee9c816b5d45a":[7,2,0,4],
+"group__rtx5__specific__defines.html#ga14a24724f6e87744ba84674ef76e4256":[7,2,0,12],
+"group__rtx5__specific__defines.html#ga188bfaaf7477cf24cbc9f207feaeb53a":[7,2,0,3],
+"group__rtx5__specific__defines.html#ga30d19272204231956582ebfff69567f6":[7,2,0,0],
+"group__rtx5__specific__defines.html#ga42206aa2524b8fab613d26bea0f73c44":[7,2,0,9],
+"group__rtx5__specific__defines.html#ga47eb1e21f1bf9a42281c6c89c7473e99":[7,2,0,8],
+"group__rtx5__specific__defines.html#ga68100c8c44931f03547973294c433075":[7,2,0,2],
+"group__rtx5__specific__defines.html#ga7377235f9fa3cedee06f682cd93f3e88":[7,2,0,10],
+"group__rtx5__specific__defines.html#gaa8d067c476faa6bfc8e5e21f3b3c844e":[7,2,0,6],
+"group__rtx5__specific__defines.html#gaad420018f26e751ec55d3922a283beb0":[7,2,0,11],
+"group__rtx5__specific__defines.html#gab8e49e9e1eea5a015f2a3114cabceb48":[7,2,0,5],
+"group__rtx5__specific__defines.html#gac6bea3541b458bbc79eafce42a2d87a2":[7,2,0,7],
+"group__rtx5__specific__defines.html#gac749c24b9cf6c49b392b015ed0517cfc":[7,2,0,13],
+"group__rtx5__specific__defines.html#gaf8a145fdeb24fd912971f0671b1a3603":[7,2,0,1],
+"group__rtx5__specific__functions.html":[7,2,1],
+"group__rtx5__specific__functions.html#ga074068b8efa7074cee68a71481d0b072":[7,2,1,1],
+"group__rtx5__specific__functions.html#gaf1745a88f9cc60b609ab1c8076bd346d":[7,2,1,0],
+"group__rtx__evr.html":[7,2,2],
+"group__rtx__evr__event__flasg.html":[7,2,2,4],
+"group__rtx__evr__event__flasg.html#ga10e98e35999350e9e337c716ba4dc079":[7,2,2,4,5],
+"group__rtx__evr__event__flasg.html#ga2ef153a6ee7a8d72375f81128454ede9":[7,2,2,4,6],
+"group__rtx__evr__event__flasg.html#ga877235cbe04188b831b70a3c2237c827":[7,2,2,4,4],
+"group__rtx__evr__event__flasg.html#gaa1f48b9787e3a7d4f56449ed1dd12f26":[7,2,2,4,2],
+"group__rtx__evr__event__flasg.html#gaa281b7380c0fa725faa722badbeb2e5f":[7,2,2,4,0],
+"group__rtx__evr__event__flasg.html#gae798cdc4cb10ada732e592318037cba7":[7,2,2,4,1],
+"group__rtx__evr__event__flasg.html#gae9ebcbc09a1c15c719d95fe7b8c2ee18":[7,2,2,4,3],
+"group__rtx__evr__kernel.html":[7,2,2,1],
+"group__rtx__evr__kernel.html#ga1d0340812c29274c6150fa72288e0612":[7,2,2,1,8],
+"group__rtx__evr__kernel.html#ga26e0a22f49576824d853fb434cf6b079":[7,2,2,1,17],
+"group__rtx__evr__kernel.html#ga28043ffc76fec09e6c8763a9a71b7f2a":[7,2,2,1,7],
+"group__rtx__evr__kernel.html#ga2a38154886e6293e127bafcfb6f7d609":[7,2,2,1,0],
+"group__rtx__evr__kernel.html#ga4c2a175b79d39d70a4a5112e270d03f2":[7,2,2,1,3],
+"group__rtx__evr__kernel.html#ga5cc909465e8df09c9231782e0c45e374":[7,2,2,1,11],
+"group__rtx__evr__kernel.html#ga5db8d306617656bfec12638e17584d66":[7,2,2,1,2],
+"group__rtx__evr__kernel.html#ga64431a63437506a6f7fe22637d4891c5":[7,2,2,1,18],
+"group__rtx__evr__kernel.html#ga7404f3a22af84ad4091c24811fc1bf87":[7,2,2,1,19],
+"group__rtx__evr__kernel.html#ga75937a761dd488600d2525a532808d2b":[7,2,2,1,6],
+"group__rtx__evr__kernel.html#ga7e84d337b452f647c3a3d6937abd6292":[7,2,2,1,1],
+"group__rtx__evr__kernel.html#ga812fdd14d6c40072cc40aec742d4869e":[7,2,2,1,12],
+"group__rtx__evr__kernel.html#ga9a8cac0fed8d3cf06f7301c944ad26d1":[7,2,2,1,16],
+"group__rtx__evr__kernel.html#gabdaa26d7774111af4913b5d6669d0f85":[7,2,2,1,15],
+"group__rtx__evr__kernel.html#gabe14acf14ed2611a3ba1f3b280fbfd8c":[7,2,2,1,10],
+"group__rtx__evr__kernel.html#gac18ea91ffcae01e893304609a3c6cdc3":[7,2,2,1,9],
+"group__rtx__evr__kernel.html#gac3abd78a9d3f3a6adc698e2929e1c32c":[7,2,2,1,14],
+"group__rtx__evr__kernel.html#gad6407e9ff0910629b041866bd801075a":[7,2,2,1,5],
+"group__rtx__evr__kernel.html#gaf09b8cd94ad2384e3ab518f0df94a651":[7,2,2,1,4],
+"group__rtx__evr__kernel.html#gaf2bdfcb7b099295c7b0123abe88e10a3":[7,2,2,1,21],
+"group__rtx__evr__kernel.html#gaf7be1022a33c13fb44f4059f5636b75a":[7,2,2,1,13],
+"group__rtx__evr__kernel.html#gafb6530be8201b119015a3f45d66c2f09":[7,2,2,1,20],
+"group__rtx__evr__memory.html":[7,2,2,0],
+"group__rtx__evr__memory.html#ga15078f1251744140d90761e05c0fe1f2":[7,2,2,0,0],
+"group__rtx__evr__memory.html#ga69c2139620def7c5e59f6b1249857949":[7,2,2,0,5],
+"group__rtx__evr__memory.html#ga71c0df6f932436b54d7d641a440586db":[7,2,2,0,4],
+"group__rtx__evr__memory.html#ga9227b18f5ea44d7caa8fadd4d539af9c":[7,2,2,0,2],
+"group__rtx__evr__memory.html#gac71421bbf537f2f8c9255f9f51cf7d54":[7,2,2,0,3],
+"group__rtx__evr__memory.html#gae1818917a5e085f92a03039ffaf2bad4":[7,2,2,0,1],
+"group__rtx__evr__memory__pool.html":[7,2,2,7],
+"group__rtx__evr__memory__pool.html#ga0e144530d45959126018ad74bae7a6ed":[7,2,2,7,6],
+"group__rtx__evr__memory__pool.html#ga2fbd33e3d84b4f37e9f9b80576b26907":[7,2,2,7,5],
+"group__rtx__evr__memory__pool.html#ga3e8e700baea20b88c3d13678fe7a7fb4":[7,2,2,7,10],
+"group__rtx__evr__memory__pool.html#ga425c8a0e13c6fb13262d99a4dcabd507":[7,2,2,7,4],
+"group__rtx__evr__memory__pool.html#ga46bc3ef3b1ca2e4cfb914f58d0efe92e":[7,2,2,7,9],
+"group__rtx__evr__memory__pool.html#ga4bee4e3e41bdef94046dc059f16ca7ce":[7,2,2,7,15],
+"group__rtx__evr__memory__pool.html#ga64ae703ad556f25b105e3eae85b582b8":[7,2,2,7,16],
+"group__rtx__evr__memory__pool.html#ga668bc3e627d9b74b6e8259a667e05846":[7,2,2,7,14],
+"group__rtx__evr__memory__pool.html#ga7e1a37b0c5dd0a97507c025ab1a62ec8":[7,2,2,7,0],
+"group__rtx__evr__memory__pool.html#ga853e1867a4b65aff3f12f7be1aee5ce4":[7,2,2,7,17],
+"group__rtx__evr__memory__pool.html#gad05246ee7e1f95e7f9496716515daeed":[7,2,2,7,7],
+"group__rtx__evr__memory__pool.html#gad75c377c00ae23caf7b4c3b77a0b46d1":[7,2,2,7,11],
+"group__rtx__evr__memory__pool.html#gadad71c7b04493c03647ca0929ea087b1":[7,2,2,7,2],
+"group__rtx__evr__memory__pool.html#gaed36f26a548d40e2a3d5b81c8695f287":[7,2,2,7,12],
+"group__rtx__evr__memory__pool.html#gaeface1ee4957cdb59292e13c38a672d7":[7,2,2,7,3],
+"group__rtx__evr__memory__pool.html#gaf2fd4c91acf1379e93cd9886c515b9c5":[7,2,2,7,1],
+"group__rtx__evr__memory__pool.html#gaf511fce5389dde6fd3277e3469c72fd9":[7,2,2,7,8],
+"group__rtx__evr__memory__pool.html#gaf79f0e1eb41d42566ba9023be7e442c5":[7,2,2,7,13],
+"group__rtx__evr__message__queue.html":[7,2,2,8],
+"group__rtx__evr__message__queue.html#ga0826c1d05d3a99afb8682f0ca3f7fd62":[7,2,2,8,10],
+"group__rtx__evr__message__queue.html#ga11e3df32a66d5240b277375cbb5d3c83":[7,2,2,8,11],
+"group__rtx__evr__message__queue.html#ga145f0c464382dc71ff3b1c624b8bd570":[7,2,2,8,17],
+"group__rtx__evr__message__queue.html#ga22bfb7d1c2f6e3e9fea9d3267b2d6988":[7,2,2,8,14],
+"group__rtx__evr__message__queue.html#ga2922125d8ac63fd800dc3b7888fd3f3c":[7,2,2,8,9],
+"group__rtx__evr__message__queue.html#ga36d6982377c1f54a227ba6fbb9458b79":[7,2,2,8,2],
+"group__rtx__evr__message__queue.html#ga3947d4a7ac86ee7a50052c9eb4cd5432":[7,2,2,8,20],
+"group__rtx__evr__message__queue.html#ga3bbf02128c31e5cc7ef4c78cdbec508c":[7,2,2,8,22],
+"group__rtx__evr__message__queue.html#ga3d6348bed3937de29765ed4d7d07fac8":[7,2,2,8,16],
+"group__rtx__evr__message__queue.html#ga401536a603e5a805cc6089b4de11d3d3":[7,2,2,8,4],
+"group__rtx__evr__message__queue.html#ga4b1b6191c6ca87dff4714e25b5845828":[7,2,2,8,5],
+"group__rtx__evr__message__queue.html#ga5e699de7401c46fd0e8bc19e398dc5a8":[7,2,2,8,12],
+"group__rtx__evr__message__queue.html#ga6cfce7336f58505a2379a8a71f477d2f":[7,2,2,8,18],
+"group__rtx__evr__message__queue.html#ga7394ca2d88255470f7ba0bb2bff12e99":[7,2,2,8,6],
+"group__rtx__evr__message__queue.html#ga8440223b9d48145df5505489e7c6f7d9":[7,2,2,8,7],
+"group__rtx__evr__message__queue.html#ga8ded1d43703e0885a81e65251c6df405":[7,2,2,8,0],
+"group__rtx__evr__message__queue.html#ga91b8c8630c7d89b6b6dbb74d4fc81ba4":[7,2,2,8,19],
+"group__rtx__evr__message__queue.html#gaa30c5b375d4050ad7d99ba094821bf52":[7,2,2,8,8],
+"group__rtx__evr__message__queue.html#gaa7b18f18f3f53d6afb39ac1abe257000":[7,2,2,8,1],
+"group__rtx__evr__message__queue.html#gab340b38df5d8bf2a1182fd18f2d3a6c4":[7,2,2,8,13],
+"group__rtx__evr__message__queue.html#gad0ef8ee59d2ec189351c5884f5f8e945":[7,2,2,8,3],
+"group__rtx__evr__message__queue.html#gad11606ef82f5b82f291bf64adfc805e4":[7,2,2,8,21],
+"group__rtx__evr__message__queue.html#gad423a0be13d65e98d9ae08de9c399615":[7,2,2,8,15],
+"group__rtx__evr__mutex.html":[7,2,2,5],
+"group__rtx__evr__mutex.html#ga3fe98bfc9cbea52f578aa5a202305442":[7,2,2,5,9],
+"group__rtx__evr__mutex.html#ga457302507cedf0ea969cbb110af606b8":[7,2,2,5,3],
+"group__rtx__evr__mutex.html#ga47388f06c025938facfddd95851d666f":[7,2,2,5,0],
+"group__rtx__evr__mutex.html#ga4c4780cf766e9d2c6e8c26f206fba607":[7,2,2,5,6],
+"group__rtx__evr__mutex.html#ga51f59bf99b315f016ca752eddd1911d5":[7,2,2,5,1],
+"group__rtx__evr__mutex.html#ga561c8898b912ea8eace4e6ba606210e5":[7,2,2,5,10],
+"group__rtx__evr__mutex.html#ga5d2b957c02fcdcc0617479b93a56f6af":[7,2,2,5,8],
+"group__rtx__evr__mutex.html#ga697ec95e014a30a3676690a8d217f546":[7,2,2,5,7],
+"group__rtx__evr__mutex.html#ga712b32609cfb3ceded746ee6a86d2442":[7,2,2,5,2],
+"group__rtx__evr__mutex.html#ga89284c1927aa646535ff804f1aeda720":[7,2,2,5,11],
+"group__rtx__evr__mutex.html#ga913c46223d91000fedab624d0f4e53f8":[7,2,2,5,4],
+"group__rtx__evr__mutex.html#gaa3feba455090d50295cbf4b1447f3f87":[7,2,2,5,13],
+"group__rtx__evr__mutex.html#gaaadf1b9cf9a62f4e61742069b95daf68":[7,2,2,5,12],
+"group__rtx__evr__mutex.html#gaddc9bb3c619b92a786ee5255ec65eaca":[7,2,2,5,5],
+"group__rtx__evr__semaphore.html":[7,2,2,6],
+"group__rtx__evr__semaphore.html#ga0a9f3c7dbf89d3f155a96524e7195630":[7,2,2,6,9],
+"group__rtx__evr__semaphore.html#ga17d8aa861b6e669cc68c3c41e3e12332":[7,2,2,6,3],
+"group__rtx__evr__semaphore.html#ga17f21ffa4ec39c50ce203e6985dd0deb":[7,2,2,6,11],
+"group__rtx__evr__semaphore.html#ga31f9d55abcc5f398ea3810177cbf2bf3":[7,2,2,6,2],
+"group__rtx__evr__semaphore.html#ga4d1f85595cc0802cf8cac89fd8f88b5d":[7,2,2,6,7],
+"group__rtx__evr__semaphore.html#ga53eb40f5251e9464b46cc153fe8b26d8":[7,2,2,6,8],
+"group__rtx__evr__semaphore.html#ga5639f03e935ab79844777664a518c2ec":[7,2,2,6,1],
+"group__rtx__evr__semaphore.html#ga814dc5c7d95e7d1bfb30ce0f472ae420":[7,2,2,6,10],
+"group__rtx__evr__semaphore.html#ga852798d5e14cda14484564ac4d7f5a4b":[7,2,2,6,6],
+"group__rtx__evr__semaphore.html#ga96a0209384296a283c7b1d23a3395fa1":[7,2,2,6,0],
+"group__rtx__evr__semaphore.html#gaad8d8a2844e948b00f02e8620c431c9c":[7,2,2,6,13],
+"group__rtx__evr__semaphore.html#gabbaaf85deaf4645414987fc1c3289343":[7,2,2,6,5],
+"group__rtx__evr__semaphore.html#gaeb0605679ad9f686dd0f40610c8af772":[7,2,2,6,12],
+"group__rtx__evr__semaphore.html#gafd91c9bb268a48b394571a9fc1809019":[7,2,2,6,4],
+"group__rtx__evr__thread.html":[7,2,2,2],
+"group__rtx__evr__thread.html#ga02088c2d38cbc31a46675334f63f37f5":[7,2,2,2,15],
+"group__rtx__evr__thread.html#ga1200f51e9152810e76386e241904427c":[7,2,2,2,6],
+"group__rtx__evr__thread.html#ga1999d77992b03347abdca7ec17f91cca":[7,2,2,2,28],
+"group__rtx__evr__thread.html#ga1c3120fb155ca19ea5c9089a446ef19d":[7,2,2,2,5],
+"group__rtx__evr__thread.html#ga392bb7a8dcd6d126a5e424ab01aa8a80":[7,2,2,2,17],
+"group__rtx__evr__thread.html#ga396ce41f68401a885f0ae46a54e8dd1f":[7,2,2,2,1],
+"group__rtx__evr__thread.html#ga3faae4d941ddecfe773ef9f3efe8b901":[7,2,2,2,21],
+"group__rtx__evr__thread.html#ga40c0d21a5c0d128f09966aeeca37ecba":[7,2,2,2,4],
+"group__rtx__evr__thread.html#ga47b64cfdc5c5410dde2c5d9145c7d79b":[7,2,2,2,18],
+"group__rtx__evr__thread.html#ga4a2879b06201a29d8c223253d41cca43":[7,2,2,2,0],
+"group__rtx__evr__thread.html#ga4f849a33d2c95754b11a499d77503b5c":[7,2,2,2,3],
+"group__rtx__evr__thread.html#ga4fd48ef48eefb01a6252cfc02ea169ab":[7,2,2,2,7],
+"group__rtx__evr__thread.html#ga5bfa3bc241aea59ebe9bc1edcf6b78d8":[7,2,2,2,2],
+"group__rtx__evr__thread.html#ga6abe7d167bd5bb91c3d6bf6d2bb417aa":[7,2,2,2,25],
+"group__rtx__evr__thread.html#ga6d5932965736e0f2f35fe2d87bd622e7":[7,2,2,2,27],
+"group__rtx__evr__thread.html#ga86ac910ac88d8fe54206a12d7ed69a27":[7,2,2,2,19],
+"group__rtx__evr__thread.html#ga8b25f2548a9f3c069431131169d170ac":[7,2,2,2,14],
+"group__rtx__evr__thread.html#gaa268fe19f933b8d2a830063560694561":[7,2,2,2,11],
+"group__rtx__evr__thread.html#gaa557f9732a8a2120f08cfb2694aa26fb":[7,2,2,2,24],
+"group__rtx__evr__thread.html#gaa5aa707fc2d6b44bfcb86bce2e2e90f3":[7,2,2,2,26],
+"group__rtx__evr__thread.html#gab0d959bc625cb3e7ddd6bf7c302f631e":[7,2,2,2,12],
+"group__rtx__evr__thread.html#gab46562848142ce5ea806d629fd000168":[7,2,2,2,32],
+"group__rtx__evr__thread.html#gab9efd66ed2edb439c5081806c9b63cf9":[7,2,2,2,20],
+"group__rtx__evr__thread.html#gabe470d5bb1373c59c51470fd20b55bcb":[7,2,2,2,22],
+"group__rtx__evr__thread.html#gabf4a015bd3fb2a33c0d105a871aaba72":[7,2,2,2,8],
+"group__rtx__evr__thread.html#gac60670562ed1efbfbc61036d881c8af9":[7,2,2,2,16],
+"group__rtx__evr__thread.html#gada73306deca99987b104aa9840fdd4e2":[7,2,2,2,9],
+"group__rtx__evr__thread.html#gadbbee398f4fab418c9b8115fc7392ff8":[7,2,2,2,29],
+"group__rtx__evr__thread.html#gadd45d32305aa45668a36f2c9f0f4c758":[7,2,2,2,30],
+"group__rtx__evr__thread.html#gae3bc50d5f154463c7f6647544bb5ecab":[7,2,2,2,23],
+"group__rtx__evr__thread.html#gaf41ff549329cf2feb4a1efe49c518e30":[7,2,2,2,13],
+"group__rtx__evr__thread.html#gaf59defd6c171d2c3d3508e7136278db2":[7,2,2,2,31],
+"group__rtx__evr__thread.html#gafed41f1b6bcdde658ca306f8a6d7ac7e":[7,2,2,2,10],
+"group__rtx__evr__timer.html":[7,2,2,3],
+"group__rtx__evr__timer.html#ga27cf05adc61d30a0e68f380c96ea5f93":[7,2,2,3,7],
+"group__rtx__evr__timer.html#ga453d82bfa65dfbbaffbd5b4ff4f050b2":[7,2,2,3,5],
+"group__rtx__evr__timer.html#ga474f3bd3ed38945b087f37fd709560b7":[7,2,2,3,11],
+"group__rtx__evr__timer.html#ga601e3617903900524062c4f9069d052f":[7,2,2,3,4],
+"group__rtx__evr__timer.html#ga6387808c22d6e186057ed744618d2487":[7,2,2,3,2],
+"group__rtx__evr__timer.html#ga6fa5a23f241d765ae22ff1862c6f3b3f":[7,2,2,3,9],
+"group__rtx__evr__timer.html#ga71dd40a818f1098052915bbfb6c17e88":[7,2,2,3,3],
+"group__rtx__evr__timer.html#gab0dbdf460fc26b25f3987c44fb0ebdeb":[7,2,2,3,6],
+"group__rtx__evr__timer.html#gaccd59c7ae2351e0a1bf96cdb749c049f":[7,2,2,3,8],
+"group__rtx__evr__timer.html#gacd46f9d31d256c27c72e47d5be5e9d09":[7,2,2,3,1],
+"group__rtx__evr__timer.html#gaea5811cc74861117eccbcbb997d36133":[7,2,2,3,10],
+"group__rtx__evr__timer.html#gaf1b516bf697288e67fe797662b1873b0":[7,2,2,3,0],
+"index.html":[],
+"misraCompliance5.html":[5,5],
+"misraCompliance5.html#MISRA_1":[5,5,0],
+"misraCompliance5.html#MISRA_10":[5,5,9],
+"misraCompliance5.html#MISRA_11":[5,5,10],
+"misraCompliance5.html#MISRA_12":[5,5,11],
+"misraCompliance5.html#MISRA_13":[5,5,12],
+"misraCompliance5.html#MISRA_2":[5,5,1],
+"misraCompliance5.html#MISRA_3":[5,5,2],
+"misraCompliance5.html#MISRA_4":[5,5,3],
+"misraCompliance5.html#MISRA_5":[5,5,4],
+"misraCompliance5.html#MISRA_6":[5,5,5],
+"misraCompliance5.html#MISRA_7":[5,5,6],
+"misraCompliance5.html#MISRA_8":[5,5,7]
+};
diff --git a/docs/RTOS2/html/navtreeindex2.js b/docs/RTOS2/html/navtreeindex2.js
new file mode 100644
index 0000000..05a9e29
--- /dev/null
+++ b/docs/RTOS2/html/navtreeindex2.js
@@ -0,0 +1,253 @@
+var NAVTREEINDEX2 =
+{
+"misraCompliance5.html#MISRA_9":[5,5,8],
+"modules.html":[7],
+"os2Migration.html":[4],
+"os2MigrationFunctions.html":[4,1],
+"os2MigrationFunctions.html#mig_eventFlags":[4,1,3],
+"os2MigrationFunctions.html#mig_kernel":[4,1,0],
+"os2MigrationFunctions.html#mig_mailQueue":[4,1,10],
+"os2MigrationFunctions.html#mig_memPool":[4,1,8],
+"os2MigrationFunctions.html#mig_msgQueue":[4,1,9],
+"os2MigrationFunctions.html#mig_mutex":[4,1,6],
+"os2MigrationFunctions.html#mig_sem":[4,1,7],
+"os2MigrationFunctions.html#mig_signalEvents":[4,1,11],
+"os2MigrationFunctions.html#mig_threadFlags":[4,1,2],
+"os2MigrationFunctions.html#mig_threadMgmt":[4,1,1],
+"os2MigrationFunctions.html#mig_timer":[4,1,5],
+"os2MigrationFunctions.html#mig_wait":[4,1,4],
+"os2MigrationGuide.html":[4,0],
+"os2MigrationGuide.html#MigL1":[4,0,0],
+"os2MigrationGuide.html#MigL2":[4,0,1],
+"os2MigrationGuide.html#MigL3":[4,0,2],
+"pControlBlockSizes.html":[5,4,1],
+"pDirectory_Files.html":[5,4,2],
+"pDirectory_Files.html#Folders":[5,4,2,0],
+"pDirectory_Files.html#libFiles":[5,4,2,1],
+"pHardwareRequirements.html":[5,4,0],
+"pHardwareRequirements.html#rMemory":[5,4,0,1],
+"pHardwareRequirements.html#tpCortexA5_A7_A9":[5,4,0,0,2],
+"pHardwareRequirements.html#tpCortexM0_M0P_M23":[5,4,0,0,0],
+"pHardwareRequirements.html#tpCortexM3_M4_M7_M33":[5,4,0,0,1],
+"pHardwareRequirements.html#tpProcessor":[5,4,0,0],
+"pToolchains.html":[5,4,3],
+"pToolchains.html#technicalData_Toolchain_ARM":[5,4,3,0],
+"pToolchains.html#technicalData_Toolchain_GCC":[5,4,3,2],
+"pToolchains.html#technicalData_Toolchain_IAR":[5,4,3,1],
+"pages.html":[],
+"rtosValidation.html":[3],
+"rtosValidation.html#test_output":[3,0],
+"rtos_api2.html":[2,0],
+"rtos_api2.html#rtos_api2_basics":[2,0,0],
+"rtos_api2.html#rtos_api2_functions":[2,0,1],
+"rtos_apicpp.html":[2,1],
+"rtos_os_tick_api.html":[2,2],
+"rtos_revisionHistory.html":[0],
+"rtos_revisionHistory.html#GenRTOS2Rev":[0,0],
+"rtos_revisionHistory.html#RTX5RevisionHistory":[0,1],
+"rtx5_impl.html":[5],
+"rtx__os_8h.html#a0046cd4086246454426394e75d5ae872":[8,12,2],
+"rtx__os_8h.html#a0354dd9f726694843f2a01df98c5641c":[8,4,3],
+"rtx__os_8h.html#a09c2a312ca0311b5e24340fe8f827077":[8,17,0],
+"rtx__os_8h.html#a0a8aa7db62759b8d67cca3ca2af45aa0":[8,6,1],
+"rtx__os_8h.html#a0acbb12a103775ddce0fb5d0efa3540f":[8,8,1],
+"rtx__os_8h.html#a0acbb12a103775ddce0fb5d0efa3540f":[8,20,1],
+"rtx__os_8h.html#a0acbb12a103775ddce0fb5d0efa3540f":[8,19,1],
+"rtx__os_8h.html#a0acbb12a103775ddce0fb5d0efa3540f":[8,21,1],
+"rtx__os_8h.html#a0acbb12a103775ddce0fb5d0efa3540f":[8,23,1],
+"rtx__os_8h.html#a0acbb12a103775ddce0fb5d0efa3540f":[8,26,1],
+"rtx__os_8h.html#a0ad043071ccc7a261d79a759dc9c6f0c":[8,20,3],
+"rtx__os_8h.html#a0b57aa10271a66f3dc936bba1d2f3830":[8,24,1],
+"rtx__os_8h.html#a0b57aa10271a66f3dc936bba1d2f3830":[8,28,1],
+"rtx__os_8h.html#a0b57aa10271a66f3dc936bba1d2f3830":[8,27,1],
+"rtx__os_8h.html#a1071334ebd46d95b9ab1dcad788b2adc":[8,27,13],
+"rtx__os_8h.html#a11175ec6a8801a32e287f84e82908bfb":[8,15,3],
+"rtx__os_8h.html#a121e21e21369e7ccff1b47800c32797e":[8,12,1],
+"rtx__os_8h.html#a13aeb46a18b12ae911abead8e497ffd3":[8,9,9],
+"rtx__os_8h.html#a13b5bfe96f3e2fe411c9f66f4a582adf":[8,10,2],
+"rtx__os_8h.html#a13c143cc2f25a550fc3eb7ae68b0c56d":[8,21,9],
+"rtx__os_8h.html#a1d127017fb298b889f4ba24752d08b8e":[8,28,3],
+"rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b":[8,8,0],
+"rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b":[8,19,0],
+"rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b":[8,20,0],
+"rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b":[8,27,0],
+"rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b":[8,23,0],
+"rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b":[8,26,0],
+"rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b":[8,24,0],
+"rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b":[8,21,0],
+"rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b":[8,28,0],
+"rtx__os_8h.html#a1effca68f27e85391274c5e2987d693c":[8,15,5],
+"rtx__os_8h.html#a21a74cedec66715cd5d7422797035868":[8,27,7],
+"rtx__os_8h.html#a25a01bb859125507013a2fe9737d3c32":[8,7,4],
+"rtx__os_8h.html#a25a01bb859125507013a2fe9737d3c32":[8,13,4],
+"rtx__os_8h.html#a260e06ce96c2e4deebccaedeb059dc0b":[8,28,7],
+"rtx__os_8h.html#a2817f701d5e1a1181e657251363295fd":[8,10,1],
+"rtx__os_8h.html#a28478ea2856f6286899bc90b2c6a1ec4":[8,27,3],
+"rtx__os_8h.html#a28478ea2856f6286899bc90b2c6a1ec4":[8,23,3],
+"rtx__os_8h.html#a2c127bf32ccb4edf2bf22fea5a00e494":[8,7,2],
+"rtx__os_8h.html#a2c127bf32ccb4edf2bf22fea5a00e494":[8,13,2],
+"rtx__os_8h.html#a2d0644ba3070f630371f24c452e2a26f":[8,6,6],
+"rtx__os_8h.html#a2ffe4e77325d9a7152f7086ea7aa5114":[8,5,1],
+"rtx__os_8h.html#a2ffe4e77325d9a7152f7086ea7aa5114":[8,10,0],
+"rtx__os_8h.html#a310b3e01cc8e274529353210db5a78c3":[8,4,8],
+"rtx__os_8h.html#a382a07e24a852d580d7548b8d517384c":[8,27,20],
+"rtx__os_8h.html#a3c7b4f24d9527394f4b5a1135d117691":[8,27,15],
+"rtx__os_8h.html#a3d6d4ee231cd6db41ee358a5676b1a9d":[8,4,10],
+"rtx__os_8h.html#a3e07bcf21ce5250f3dc0f1ec4ebc938d":[8,4,9],
+"rtx__os_8h.html#a421971e8ae94fe0bd86b85a90445e71e":[8,27,5],
+"rtx__os_8h.html#a42d7108f7184dcb944cdf73f649ad2dd":[8,9,8],
+"rtx__os_8h.html#a444139ba664bc8c262139a9addddb48c":[8,22,1],
+"rtx__os_8h.html#a447dbb69b4c036e118b3b1b8bd22fe60":[8,27,18],
+"rtx__os_8h.html#a458421a43d4f6dc515faf427bf579d00":[8,27,10],
+"rtx__os_8h.html#a4a598d941460a6d8ebfbd9c622e2876a":[8,22,3],
+"rtx__os_8h.html#a4e2e4e1126848f81d9e943147e07f0e0":[8,26,6],
+"rtx__os_8h.html#a50b315b9b80bafdba54a7a731be1cc30":[8,23,7],
+"rtx__os_8h.html#a534f37c2b021c8242492bedfe48b0338":[8,9,6],
+"rtx__os_8h.html#a540b2b79850c654b3f5756c488314b8d":[8,9,4],
+"rtx__os_8h.html#a54be7ae32f627ee70e1af8c54203ee5a":[8,23,8],
+"rtx__os_8h.html#a58873af81b75772a41aa5c1ff788a0c2":[8,21,7],
+"rtx__os_8h.html#a5916fa670084fea56a52ba450565da4b":[8,25,1],
+"rtx__os_8h.html#a5973e7102782a9936a5e0d1417863675":[8,4,1],
+"rtx__os_8h.html#a61326117ed4a9ddf3f754e71e119e5b3":[8,11,1],
+"rtx__os_8h.html#a675214f6d8913a15569ca32f3a505e46":[8,13,6],
+"rtx__os_8h.html#a675214f6d8913a15569ca32f3a505e46":[8,7,6],
+"rtx__os_8h.html#a68d0eb20a4cb1daaec11ac0ef1dd9399":[8,6,4],
+"rtx__os_8h.html#a694e5f79185db270e087e94719177ca0":[8,4,7],
+"rtx__os_8h.html#a6a019648a53352a413ea79b958a362cd":[8,21,8],
+"rtx__os_8h.html#a6aa2c0bcb2024f1e4c38f9e8f6769c09":[8,4,6],
+"rtx__os_8h.html#a6b4c66676a5bc985c28b71ac4ac79159":[8,4,2],
+"rtx__os_8h.html#a6bc379cb485caaa1bd9b63abbc79a4ec":[8,25,0],
+"rtx__os_8h.html#a7044be0679894b5daf72f19f9dd06e03":[8,8,6],
+"rtx__os_8h.html#a70b3153655adaf42687fe250983f6c95":[8,27,17],
+"rtx__os_8h.html#a72d4e2550fcee67cc139fca04505a903":[8,9,2],
+"rtx__os_8h.html#a735ef00341a84c02ba561c66de3d20af":[8,23,10],
+"rtx__os_8h.html#a773b39d480759f67926cb18ae2219281":[8,4,0],
+"rtx__os_8h.html#a7b7d02cdf33432995469f29878f7dcda":[8,9,0],
+"rtx__os_8h.html#a7f005c3fa691e77c52d3297cc2699072":[8,11,3],
+"rtx__os_8h.html#a81659cc4c01e54e2424022728d9effc7":[8,27,11],
+"rtx__os_8h.html#a81baadf3fdf0eeff338f997ca3fe5009":[8,25,2],
+"rtx__os_8h.html#a83ec0540c50d4e79bed99f1b384bd2b9":[8,27,9],
+"rtx__os_8h.html#a87c898585d0aeffdcf67c9e1b3befefe":[8,27,14],
+"rtx__os_8h.html#a89570e219f9fb794b8353207a7592f95":[8,20,5],
+"rtx__os_8h.html#a8afd5feb676df99867375957b0587451":[8,8,5],
+"rtx__os_8h.html#a8afd5feb676df99867375957b0587451":[8,19,5],
+"rtx__os_8h.html#a8afd5feb676df99867375957b0587451":[8,23,5],
+"rtx__os_8h.html#a8afd5feb676df99867375957b0587451":[8,21,5],
+"rtx__os_8h.html#a8afd5feb676df99867375957b0587451":[8,24,5],
+"rtx__os_8h.html#a8afd5feb676df99867375957b0587451":[8,26,5],
+"rtx__os_8h.html#a8b9ac161a613448926b2c2b2c8dbe259":[8,28,6],
+"rtx__os_8h.html#a8d777f385d3dfec8815d20f7496026dc":[8,5,0],
+"rtx__os_8h.html#a8d777f385d3dfec8815d20f7496026dc":[8,10,4],
+"rtx__os_8h.html#a8ee60a2e00c90d7e00d5069188dc115b":[8,15,6],
+"rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb":[8,28,4],
+"rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb":[8,23,4],
+"rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb":[8,19,4],
+"rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb":[8,24,4],
+"rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb":[8,26,4],
+"rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb":[8,21,4],
+"rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb":[8,27,4],
+"rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb":[8,8,4],
+"rtx__os_8h.html#a90272dda245ae1fb3cf197e91a8689dc":[8,16,2],
+"rtx__os_8h.html#a92435efb84d6814afd444fd462802e9c":[8,23,9],
+"rtx__os_8h.html#a987889d464cb2925029e135b76aa0dc9":[8,23,6],
+"rtx__os_8h.html#a9ce2ec4812a92cb6ab39f6e81e9173a9":[8,29,1],
+"rtx__os_8h.html#a9e3fb1e50a1c71b2337df296222d9553":[8,22,2],
+"rtx__os_8h.html#a9ed39e2ea931586b6a985a6942ef573e":[8,11,0],
+"rtx__os_8h.html#a9efab2399c7c560b34de477b9aa0a465":[8,12,3],
+"rtx__os_8h.html#aa111194ee30ea4e76b9dfcac8a03a8d9":[8,22,5],
+"rtx__os_8h.html#aa230a0d899f6c0750e6d454af3ef9b05":[8,27,6],
+"rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe":[8,26,2],
+"rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe":[8,20,2],
+"rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe":[8,28,2],
+"rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe":[8,21,2],
+"rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe":[8,8,2],
+"rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe":[8,23,2],
+"rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe":[8,24,2],
+"rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe":[8,19,2],
+"rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe":[8,27,2],
+"rtx__os_8h.html#aa30bb7d2484db1812c1aaf77a23cd11e":[8,4,4],
+"rtx__os_8h.html#aa53108f7543b75adbb34afc035d4cdf6":[8,15,0],
+"rtx__os_8h.html#aa793f0e9a46e8b59b6d351535ee18a7d":[8,26,7],
+"rtx__os_8h.html#aab3d7e5f552f1830b1613e1498cef7cb":[8,6,5],
+"rtx__os_8h.html#aaf8577e5ddcbff356a1d27310baa8a1f":[8,29,0],
+"rtx__os_8h.html#ab2fdab230a2c39f3595a947861863cb7":[8,15,1],
+"rtx__os_8h.html#ab386d4a98974f52ca151426c4dde0da4":[8,21,10],
+"rtx__os_8h.html#ab415a6615c5ddf5365ed86e58a1e1809":[8,28,9],
+"rtx__os_8h.html#ab70cdb878a204fecf91c7dd1af312421":[8,5,2],
+"rtx__os_8h.html#aba0fcdc6eda7e9f65c1d1904b2fff919":[8,22,4],
+"rtx__os_8h.html#ac013bca5f28bebf36a3372da78107e97":[8,4,5],
+"rtx__os_8h.html#ac1cf67a8631962a42fa2da46f20a1a39":[8,19,6],
+"rtx__os_8h.html#ac1cf67a8631962a42fa2da46f20a1a39":[8,21,6],
+"rtx__os_8h.html#ac67f8858081fb7a6e5a4ee8d2de3b348":[8,27,12],
+"rtx__os_8h.html#ac68271a63ddbc431c307beb7d2918275":[8,10,3],
+"rtx__os_8h.html#ac8953ebf7df8aaf724cb12876ac8fb1a":[8,28,5],
+"rtx__os_8h.html#ac8a94d8dcb13e89d5886dabf7cd9945a":[8,13,7],
+"rtx__os_8h.html#ac8a94d8dcb13e89d5886dabf7cd9945a":[8,7,7],
+"rtx__os_8h.html#acb7bc06bed6f6408d719334fc41698c7":[8,19,3],
+"rtx__os_8h.html#acb7bc06bed6f6408d719334fc41698c7":[8,21,3],
+"rtx__os_8h.html#acb7bc06bed6f6408d719334fc41698c7":[8,24,3],
+"rtx__os_8h.html#acb7bc06bed6f6408d719334fc41698c7":[8,26,3],
+"rtx__os_8h.html#acb7bc06bed6f6408d719334fc41698c7":[8,8,3],
+"rtx__os_8h.html#acd99bb05ca015e7d74448acb1deba7ca":[8,9,1],
+"rtx__os_8h.html#ace1bc7755b9332cfacdf8ee58ef2e3c1":[8,13,5],
+"rtx__os_8h.html#ace1bc7755b9332cfacdf8ee58ef2e3c1":[8,7,5],
+"rtx__os_8h.html#ad0cab90d8d20d57e2f2b9be52f7dd25d":[8,17,1],
+"rtx__os_8h.html#ad2649f7342615613f26a8603203bba7b":[8,9,5],
+"rtx__os_8h.html#ad2b4e6d37acc8020701610f54c0c8910":[8,20,4],
+"rtx__os_8h.html#ad5ee660a662e3d7897a97f62ce6ecdc1":[8,6,3],
+"rtx__os_8h.html#ad63716408aae5b50857ca8ce74e3a3ff":[8,27,19],
+"rtx__os_8h.html#ad88a39594ffe6ab1016cf59517219e21":[8,9,3],
+"rtx__os_8h.html#ad9cc02dbd824d3b15349daa809bcfee9":[8,15,4],
+"rtx__os_8h.html#adaa6c424a231e5f6c788532675f33e16":[8,27,22],
+"rtx__os_8h.html#adb7453887f86cc0d98e37becf4c83682":[8,6,7],
+"rtx__os_8h.html#adbd8f5195a8c472906488694e50bc57d":[8,11,2],
+"rtx__os_8h.html#adc127f5d2483352fd20eaddb38feb6d2":[8,7,1],
+"rtx__os_8h.html#adc127f5d2483352fd20eaddb38feb6d2":[8,16,0],
+"rtx__os_8h.html#adc127f5d2483352fd20eaddb38feb6d2":[8,13,1],
+"rtx__os_8h.html#adcfea33cc536708db8a3419ba0295551":[8,27,8],
+"rtx__os_8h.html#addc777bf5285ab03de6787385e6ea053":[8,22,0],
+"rtx__os_8h.html#adf2ebf46aa7018845582f1c70de83598":[8,27,21],
+"rtx__os_8h.html#ae20e71788b6e24c734e1a4fbfb1bc55c":[8,6,0],
+"rtx__os_8h.html#ae5e5c0754f1e26bf915455e21cf2eba5":[8,16,1],
+"rtx__os_8h.html#ae5e5c0754f1e26bf915455e21cf2eba5":[8,11,4],
+"rtx__os_8h.html#ae64a3e930a8e3d1fb28038db9bc514d9":[8,9,7],
+"rtx__os_8h.html#ae757685e50b875e953f4aff67ac24b1b":[8,27,16],
+"rtx__os_8h.html#aec2f993aec2c27fc750119ab17b16cdb":[8,15,2],
+"rtx__os_8h.html#aee4a6239f04d660fc90663dd6b39ca95":[8,28,8],
+"rtx__os_8h.html#af1b7cb88db5bf93bba7cbcaa503cbd6c":[8,7,3],
+"rtx__os_8h.html#af1b7cb88db5bf93bba7cbcaa503cbd6c":[8,13,3],
+"rtx__os_8h.html#af77cba93c22c4dac7ea999b28b6b686d":[8,6,2],
+"rtx__os_8h.html#afac2a47adace059aff113283a03f6760":[8,7,0],
+"rtx__os_8h.html#afac2a47adace059aff113283a03f6760":[8,13,0],
+"rtx__os_8h.html#afac2a47adace059aff113283a03f6760":[8,12,0],
+"rtx__os_8h.html#structosRtxConfig__t":[8,4],
+"rtx__os_8h.html#structosRtxConfig__t_8isr__queue":[8,5],
+"rtx__os_8h.html#structosRtxConfig__t_8mem":[8,6],
+"rtx__os_8h.html#structosRtxConfig__t_8mpi":[8,7],
+"rtx__os_8h.html#structosRtxEventFlags__t":[8,8],
+"rtx__os_8h.html#structosRtxInfo__t":[8,9],
+"rtx__os_8h.html#structosRtxInfo__t_8isr__queue":[8,10],
+"rtx__os_8h.html#structosRtxInfo__t_8kernel":[8,11],
+"rtx__os_8h.html#structosRtxInfo__t_8mem":[8,12],
+"rtx__os_8h.html#structosRtxInfo__t_8mpi":[8,13],
+"rtx__os_8h.html#structosRtxInfo__t_8thread":[8,15],
+"rtx__os_8h.html#structosRtxInfo__t_8thread_8robin":[8,16],
+"rtx__os_8h.html#structosRtxInfo__t_8thread_8run":[8,17],
+"rtx__os_8h.html#structosRtxMemoryPool__t":[8,19],
+"rtx__os_8h.html#structosRtxMessageQueue__t":[8,21],
+"rtx__os_8h.html#structosRtxMessage__t":[8,20],
+"rtx__os_8h.html#structosRtxMpInfo__t":[8,22],
+"rtx__os_8h.html#structosRtxMutex__t":[8,23],
+"rtx__os_8h.html#structosRtxObjectMemUsage__t":[8,25],
+"rtx__os_8h.html#structosRtxObject__t":[8,24],
+"rtx__os_8h.html#structosRtxSemaphore__t":[8,26],
+"rtx__os_8h.html#structosRtxThread__t":[8,27],
+"rtx__os_8h.html#structosRtxTimerFinfo__t":[8,29],
+"rtx__os_8h.html#structosRtxTimer__t":[8,28],
+"structosRtxInfo__t_8post__process.html":[8,14],
+"structosRtxInfo__t_8post__process.html#a07c9d45abfb605d2bdb59d8f2e697fca":[8,14,4],
+"structosRtxInfo__t_8post__process.html#a448b397ae9f093b1632dd42680d003bf":[8,14,0],
+"structosRtxInfo__t_8post__process.html#a701cf47135bf3d62510b25b6dcdc19a8":[8,14,2],
+"structosRtxInfo__t_8post__process.html#a87c97ad39fd308d767c9b0870aa57932":[8,14,1],
+"structosRtxInfo__t_8post__process.html#afa86c80888f72693bbf3bc6c05856159":[8,14,3]
+};
diff --git a/docs/RTOS2/html/navtreeindex3.js b/docs/RTOS2/html/navtreeindex3.js
new file mode 100644
index 0000000..f568310
--- /dev/null
+++ b/docs/RTOS2/html/navtreeindex3.js
@@ -0,0 +1,23 @@
+var NAVTREEINDEX3 =
+{
+"structosRtxInfo__t_8timer.html":[8,18],
+"structosRtxInfo__t_8timer.html#a10ae9fc7d453b0dd525d0edf2ede7961":[8,18,0],
+"structosRtxInfo__t_8timer.html#a1d8a4975693ef1eb9ca54878098d608f":[8,18,2],
+"structosRtxInfo__t_8timer.html#adc127f5d2483352fd20eaddb38feb6d2":[8,18,1],
+"structosRtxInfo__t_8timer.html#ae69dfeafefa7851fd9524a2b32a0eff9":[8,18,3],
+"technicalData5.html":[5,4],
+"theory_of_operation.html":[5,1],
+"theory_of_operation.html#CMSIS_RTOS_ISR_Calls":[5,1,8],
+"theory_of_operation.html#CMSIS_RTOS_TimeOutValue":[5,1,7],
+"theory_of_operation.html#GlobalMemoryPool":[5,1,2,0],
+"theory_of_operation.html#MemoryAllocation":[5,1,2],
+"theory_of_operation.html#ObjectMemoryPool":[5,1,2,1],
+"theory_of_operation.html#Scheduler":[5,1,1],
+"theory_of_operation.html#StaticObjectMemory":[5,1,2,2],
+"theory_of_operation.html#SystemStartup":[5,1,0],
+"theory_of_operation.html#ThreadStack":[5,1,3],
+"theory_of_operation.html#TickLess":[5,1,5,0],
+"theory_of_operation.html#kernelTimer":[5,1,5],
+"theory_of_operation.html#lowPower":[5,1,4],
+"theory_of_operation.html#rtx_os_h":[5,1,6]
+};
diff --git a/docs/RTOS2/html/open.png b/docs/RTOS2/html/open.png
new file mode 100644
index 0000000..39e5e68
--- /dev/null
+++ b/docs/RTOS2/html/open.png
Binary files differ
diff --git a/docs/RTOS2/html/os2Migration.html b/docs/RTOS2/html/os2Migration.html
new file mode 100644
index 0000000..ec043a9
--- /dev/null
+++ b/docs/RTOS2/html/os2Migration.html
@@ -0,0 +1,134 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Migration from API v1 to API v2</title>
+<title>CMSIS-RTOS2: Migration from API v1 to API v2</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('os2Migration.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">Migration from API v1 to API v2 </div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>To use the API version 2 functions follow the steps described in:</p>
+<ul>
+<li><a class="el" href="os2MigrationGuide.html">RTX Migration Guide</a> - Steps to migrate from API version 1 to API version 2</li>
+<li><a class="el" href="os2MigrationFunctions.html">Detailed API Function Differences</a> - List of function differences </li>
+</ul>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="index.html">index</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/os2Migration.js b/docs/RTOS2/html/os2Migration.js
new file mode 100644
index 0000000..cd3f183
--- /dev/null
+++ b/docs/RTOS2/html/os2Migration.js
@@ -0,0 +1,22 @@
+var os2Migration =
+[
+ [ "RTX Migration Guide", "os2MigrationGuide.html", [
+ [ "Level 1 Migration - Upgrade to RTX5 on API v1", "os2MigrationGuide.html#MigL1", null ],
+ [ "Level 2 Migration - Use API v2 and v1 alongside in RTX5", "os2MigrationGuide.html#MigL2", null ],
+ [ "Level 3 Migration - Full transition to API v2", "os2MigrationGuide.html#MigL3", null ]
+ ] ],
+ [ "Detailed API Function Differences", "os2MigrationFunctions.html", [
+ [ "Kernel Information and Control", "os2MigrationFunctions.html#mig_kernel", null ],
+ [ "Thread Management", "os2MigrationFunctions.html#mig_threadMgmt", null ],
+ [ "Thread Flags", "os2MigrationFunctions.html#mig_threadFlags", null ],
+ [ "Event Flags", "os2MigrationFunctions.html#mig_eventFlags", null ],
+ [ "Generic Wait Functions", "os2MigrationFunctions.html#mig_wait", null ],
+ [ "Timer Management", "os2MigrationFunctions.html#mig_timer", null ],
+ [ "Mutexes", "os2MigrationFunctions.html#mig_mutex", null ],
+ [ "Semaphores", "os2MigrationFunctions.html#mig_sem", null ],
+ [ "Memory Pool", "os2MigrationFunctions.html#mig_memPool", null ],
+ [ "Message Queue", "os2MigrationFunctions.html#mig_msgQueue", null ],
+ [ "Mail Queue", "os2MigrationFunctions.html#mig_mailQueue", null ],
+ [ "Signal Events", "os2MigrationFunctions.html#mig_signalEvents", null ]
+ ] ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/os2MigrationFunctions.html b/docs/RTOS2/html/os2MigrationFunctions.html
new file mode 100644
index 0000000..a629624
--- /dev/null
+++ b/docs/RTOS2/html/os2MigrationFunctions.html
@@ -0,0 +1,766 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Detailed API Function Differences</title>
+<title>CMSIS-RTOS2: Detailed API Function Differences</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('os2MigrationFunctions.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">Detailed API Function Differences </div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>This section lists the CMSIS-RTOS API v1 and API v2 functions along with the differences in functionality. The list is sorted alphabetically by API v2 function names and is structured the following way:</p>
+<ul>
+<li>RTOS API v2 function prototype</li>
+<li>RTOS API v1 function prototype that is equivalent or provides similar functionality</li>
+<li>Brief description of the RTOS v2 function.</li>
+<li>Description of the difference.</li>
+</ul>
+<p>The background color indicates:</p>
+<ul>
+<li><div class="new">Green: New functions in API v2 that are not available in API v1 </div></li>
+<li><div class="mod">Amber: Functions that are modified or replaced in API v2 compared to API v1 </div></li>
+<li><div class="del">Red: Functions in API v1 that are deprecated in API v2 </div></li>
+</ul>
+<h1><a class="anchor" id="mig_kernel"></a>
+Kernel Information and Control</h1>
+<hr/>
+<div class="new"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga6f7764e7250c5c5364c00c45a5d1d199" title="Get RTOS Kernel Information. ">osKernelGetInfo</a> (osVersion_t* version, char* id_buf, uint32_t id_size)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Get RTOS Kernel Information. <br/>
+ New function <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga6f7764e7250c5c5364c00c45a5d1d199" title="Get RTOS Kernel Information. ">osKernelGetInfo</a>. </div><hr/>
+<div class="mod"> <code>osKernelState_t <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga48b69b81012fce051f639be288b243ba" title="Get the current RTOS Kernel state. ">osKernelGetState</a> (void)</code> <br/>
+ <code>int32_t &#160; &#160; &#160; &#160; osKernelRunning (void)</code> <br/>
+ <br/>
+ Get the current RTOS Kernel state. <br/>
+</p>
+<ul>
+<li>The function <b>osKernelGetState</b> replaces the RTOS v1 function <b>osKernelRunning</b>.</li>
+<li>Return type changed to <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga08326469274b668140ca934b168a5ad4">osKernelState_t</a>.</li>
+</ul>
+</div><div class="mod"> </div><hr/>
+<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga84bcdbf2fb76b10c8df4e439f0c7e11b" title="Get the RTOS kernel tick count. ">osKernelGetTickCount</a> (void)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Get the RTOS kernel tick count. <br/>
+ New function. </div><hr/>
+<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga7a8d7bd927eaaa58999f91d7d6310cee" title="Get the RTOS kernel tick frequency. ">osKernelGetTickFreq</a> (void)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Get the RTOS kernel tick frequency. <br/>
+</p>
+<ul>
+<li>The function <b>osKernelGetTickFreq</b> replaces the RTOS v1 macro <b>osKernelTickMicroSec</b>.</li>
+</ul>
+</div><div class="new"> </div><hr/>
+<div class="mod"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae0fcaff6cecfb4013bb556c87afcd7d2" title="Get the RTOS kernel system timer count. ">osKernelGetSysTimerCount</a> (void)</code> <br/>
+ <code>uint32_t osKernelSysTick (void)</code> <br/>
+ <br/>
+ Get the RTOS kernel system timer count. <br/>
+</p>
+<ul>
+<li>The function <b>osKernelGetSysTimerCount</b> replaces the RTOS v1 function <b>osKernelSysTick</b>.</li>
+</ul>
+</div><div class="mod"> </div><hr/>
+<div class="new"> <code>uint64_t <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga4d69215a93220f72be3684cad582f16a" title="Get the RTOS kernel system timer frequency. ">osKernelGetSysTimerFreq</a> (void)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Get the RTOS kernel system timer frequency. <br/>
+ New function. </div><hr/>
+<div class="mod"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659" title="Initialize the RTOS Kernel. ">osKernelInitialize</a> (void)</code> <br/>
+ <code>osStatus &#160; osKernelInitialize (void)</code> <br/>
+ <br/>
+ Initialize the RTOS Kernel. <br/>
+</p>
+<ul>
+<li>Return type changed to <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>.</li>
+</ul>
+</div><div class="mod"> </div><hr/>
+<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga948609ee930d9b38336b9e1c2a4dfe12" title="Lock the RTOS Kernel scheduler. ">osKernelLock</a> (void)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Lock the RTOS Kernel scheduler. <br/>
+ New function. </div><hr/>
+<div class="new"> <code>int32_t <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gaf401728b4657456198c33fe75f8d6720" title="Unlock the RTOS Kernel scheduler. ">osKernelUnlock</a> (void)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Unlock the RTOS Kernel scheduler. <br/>
+ New function. </div><hr/>
+<div class="new"> <code>void <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae7d0a71b9586cbbb49fcbdf6a04f0289" title="Restore the RTOS Kernel scheduler lock state. ">osKernelRestoreLock</a> (void)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Restore the RTOS Kernel scheduler lock state. <br/>
+ New function. </div><hr/>
+<div class="mod"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221" title="Start the RTOS Kernel scheduler. ">osKernelStart</a> (void)</code> <br/>
+ <code>osStatus &#160; osKernelStart (void)</code> <br/>
+ <br/>
+ Start the RTOS Kernel scheduler. <br/>
+</p>
+<ul>
+<li>Return type changed to <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>.</li>
+</ul>
+</div><div class="mod"> </div><hr/>
+<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae26683e1606ec633354a2876c68f0c1f" title="Suspend the RTOS Kernel scheduler. ">osKernelSuspend</a> (void)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Suspend the RTOS Kernel scheduler. <br/>
+ New function. </div><hr/>
+<div class="new"> <code>void <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga8c4b4d7ed34cab73c001665d9176aced" title="Resume the RTOS Kernel scheduler. ">osKernelResume</a> (uint32_t sleep_time)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Resume the RTOS Kernel scheduler. <br/>
+ New function. </div><h1><a class="anchor" id="mig_threadMgmt"></a>
+Thread Management</h1>
+<hr/>
+<div class="new"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaaad14cd9547341ea8109dc4e8540f1dc" title="Detach a thread (thread storage can be reclaimed when thread terminates). ">osThreadDetach</a> (osThreadId_t thread_id)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Detach a thread (thread storage can be reclaimed when thread terminates). <br/>
+ New function. </div><hr/>
+<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga5606604d56e21ece1a654664be877439" title="Enumerate active threads. ">osThreadEnumerate</a> (osThreadId_t *thread_array, uint32_t array_items)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Enumerate active threads. <br/>
+ New function. </div><hr/>
+<div class="new"> <code>__NO_RETURN void <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaddaa452dd7610e4096647a566d3556fc" title="Terminate execution of current running thread. ">osThreadExit</a> (void)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Terminate execution of current running thread. <br/>
+ New function. </div><hr/>
+<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga495b3f812224e7301f23a691793765db" title="Get number of active threads. ">osThreadGetCount</a> (osThreadId_t thread_id)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Get number of active threads. <br/>
+ New function. </div><hr/>
+<div class="new"> <code>const char *<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gac3230f3a55a297514b013ebf38f27e0a" title="Get name of a thread. ">osThreadGetName</a> (osThreadId_t thread_id)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Get name of a thread. <br/>
+ New function. </div><hr/>
+<div class="mod"> <code>osThreadId_t <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da" title="Return the thread ID of the current running thread. ">osThreadGetId</a> (void)</code> <br/>
+ <code>osThreadId &#160; osThreadGetId (void)</code> <br/>
+ <br/>
+ Return the thread ID of the current running thread. <br/>
+</p>
+<ul>
+<li>Return type changed to <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>.</li>
+</ul>
+</div><div class="mod"> </div><hr/>
+<div class="mod"> <code>osPriority_t <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga0aeaf349604f456e68e78f9d3b42e44b" title="Get current priority of a thread. ">osThreadGetPriority</a> (osThreadId_t thread_id)</code> <br/>
+ <code>osPriority &#160; osThreadGetPriority (osThreadId thread_id)</code> <br/>
+ <br/>
+ Get current priority of a thread. <br/>
+</p>
+<ul>
+<li>Return type changed to <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ec" title="Priority values. ">osPriority_t</a>.</li>
+<li>Parameter type changed to <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>.</li>
+</ul>
+</div><div class="mod"> </div><hr/>
+<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gab9f8bd715d671c6ee27644867bc1bf65" title="Get stack size of a thread. ">osThreadGetStackSize</a> (osThreadId_t thread_id)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Get stack size of a thread. <br/>
+ New function. </div><hr/>
+<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga9c83bd5dd8de329701775d6ef7012720" title="Get available stack space of a thread based on stack watermark recording during execution. ">osThreadGetStackSpace</a> (osThreadId_t thread_id)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Get available stack space of a thread based on stack watermark recording during execution. <br/>
+ New function. </div><hr/>
+<div class="new"> <code>osThreadState_t <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gacc0a98b42f0a5928e12dc91dc76866b9" title="Get current thread state of a thread. ">osThreadGetState</a> (osThreadId_t thread_id)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Get current thread state of a thread. <br/>
+ New function. </div><hr/>
+<div class="new"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga3fca90fb0679afeb968aa8c3d5874487" title="Wait for specified thread to terminate. ">osThreadJoin</a> (osThreadId_t thread_id)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Wait for specified thread to terminate. <br/>
+ New function. </div><hr/>
+<div class="mod"> <code>osThreadId_t <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f" title="Create a thread and add it to Active Threads. ">osThreadNew</a> (osThreadFunc_t function, void *argument, const <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t" title="Attributes structure for thread. ">osThreadAttr_t</a> *attr)</code> <br/>
+ <code>osThreadId &#160; osThreadCreate (const osThreadDef_t *thread_def, void *argument)</code> <br/>
+ <br/>
+ Create a thread and add it to Active Threads. <br/>
+</p>
+<ul>
+<li>The function <b>osThreadNew</b> replaces the RTOS v1 function <b>osThreadCreate</b>.</li>
+<li>Options are now passed using a <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t">osThreadAttr_t</a> struct, replacing the <b>osThreadDef</b> macro.</li>
+<li>New function prototype is <code>void func (void *arg)</code>, before: <code>void func (const void *arg)</code>.</li>
+</ul>
+</div><div class="mod"> </div><hr/>
+<div class="new"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga3dbad90eff394b02de76a452c84c5d80" title="Resume execution of a thread. ">osThreadResume</a> (osThreadId_t thread_id)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Resume execution of a thread. <br/>
+ New function. </div><hr/>
+<div class="mod"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga861a420fb2d643115b06622903fb3bfb" title="Change priority of a thread. ">osThreadSetPriority</a> (osThreadId_t thread_id, osPriority_t priority)</code> <br/>
+ <code>osStatus &#160; osThreadSetPriority (osThreadId thread_id, osPriority priority)</code> <br/>
+ <br/>
+ Change priority of a thread. <br/>
+</p>
+<ul>
+<li>Return type changed to <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e" title="Status code values returned by CMSIS-RTOS functions. ">osStatus_t</a>.</li>
+<li>Parameter types changed to <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> and <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ec" title="Priority values. ">osPriority_t</a>.</li>
+</ul>
+</div><div class="mod"> </div><hr/>
+<div class="new"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa9de419d0152bf77e9bbcd1f369fb990" title="Suspend execution of a thread. ">osThreadSuspend</a> (osThreadId_t thread_id)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Suspend execution of a thread. <br/>
+ New function. </div><hr/>
+<div class="mod"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga2f8ba6dba6e9c065a6e236ffd410d74a" title="Terminate execution of a thread. ">osThreadTerminate</a> (osThreadId_t thread_id)</code> <br/>
+ <code>osStatus &#160; osThreadTerminate (osThreadId thread_id)</code> <br/>
+ <br/>
+ Terminate execution of a thread. <br/>
+</p>
+<ul>
+<li>Return type changed to <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e" title="Status code values returned by CMSIS-RTOS functions. ">osStatus_t</a>.</li>
+<li>Parameter type changed to <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>.</li>
+</ul>
+</div><div class="mod"> </div><hr/>
+<div class="mod"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad01c7ec26535b1de6b018bb9466720e2" title="Pass control to next thread that is in state READY. ">osThreadYield</a> (void)</code> <br/>
+ <code>osStatus &#160; osThreadYield (void)</code> <br/>
+ <br/>
+ Pass control to next thread that is in state <b>READY</b>. <br/>
+</p>
+<ul>
+<li>Return type changed to <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e" title="Status code values returned by CMSIS-RTOS functions. ">osStatus_t</a>.</li>
+</ul>
+</div><div class="mod"> </div><h1><a class="anchor" id="mig_threadFlags"></a>
+Thread Flags</h1>
+<p>New section to synchronize threads using flags. Thread flags and the more flexible <a class="el" href="os2MigrationFunctions.html#mig_eventFlags">Event Flags</a> are replacing the RTOS v1 <b>Signal Events</b>. Refer to <a class="el" href="os2MigrationFunctions.html#mig_signalEvents">Signal Events</a> for a list of deprecated functions. Refer to <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html">Thread Flags</a> for details.</p>
+<hr/>
+<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga6f89ef9caded1d9963c7b12b0f6412c9" title="Set the specified Thread Flags of a thread. ">osThreadFlagsSet</a> (osThreadId_t thread_id, uint32_t flags)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Set the specified Thread Flags of a thread. <br/>
+ New function. </div><hr/>
+<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga656abc1c862c5b9a2b13584c42cc0bfa" title="Clear the specified Thread Flags of current running thread. ">osThreadFlagsClear</a> (uint32_t flags)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Clear the specified Thread Flags of current running thread. <br/>
+ New function. </div><hr/>
+<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga85c8d2c89466e25abbcb545d9ddd71ba" title="Get the current Thread Flags of current running thread. ">osThreadFlagsGet</a> (void)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Get the current Thread Flags of current running thread. <br/>
+ New function. </div><hr/>
+<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b" title="Wait for one or more Thread Flags of the current running thread to become signaled. ">osThreadFlagsWait</a> (uint32_t flags, uint32_t options, uint32_t timeout)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Wait for one or more Thread Flags of the current running thread to become signaled. <br/>
+ New function. </div><h1><a class="anchor" id="mig_eventFlags"></a>
+Event Flags</h1>
+<p>New section to synchronize events using flags. Event flags and thread flags are replacing the RTOS v1 <b>Signal Events</b>. All functions listed in the RTOS v1 <b>Signal Events</b> have been deprecated. Refer to <a class="el" href="os2MigrationFunctions.html#mig_signalEvents">Signal Events</a> for a list of deprecated functions. Refer to <a class="el" href="group__CMSIS__RTOS__EventFlags.html">Event Flags</a> for details about the new function.</p>
+<hr/>
+<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga93bf258ca0007c6641fbe8e4f2b8a1e5" title="Clear the specified Event Flags. ">osEventFlagsClear</a> (osEventFlagsId_t ef_id, uint32_t flags)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Clear the specified Event Flags. <br/>
+ New function. </div><hr/>
+<div class="new"> <code>const char *<a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga59f4ddf0ee8c395b1672bb978d1cfc88" title="Get name of an Event Flags object. ">osEventFlagsGetName</a> ((osEventFlagsId_t ef_id)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Get name of an Event Flags object. <br/>
+ New function. </div><hr/>
+<div class="new"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga7c4acf2fb0d506ec82905dee53fb5435" title="Delete an Event Flags object. ">osEventFlagsDelete</a> (osEventFlagsId_t ef_id)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Delete an Event Flags object. <br/>
+ New function. </div><hr/>
+<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga8bda3185f46bfd278cea8a6cf357677d" title="Get the current Event Flags. ">osEventFlagsGet</a> (osEventFlagsId_t ef_id)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Get the current Event Flags. <br/>
+ New function. </div><hr/>
+<div class="new"> <code>osEventFlagsId_t <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df" title="Create and Initialize an Event Flags object. ">osEventFlagsNew</a> (const <a class="el" href="group__CMSIS__RTOS__EventFlags.html#structosEventFlagsAttr__t" title="Attributes structure for event flags. ">osEventFlagsAttr_t</a> *attr)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Create and Initialize an Event Flags object. <br/>
+ New function. </div><hr/>
+<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga33b71d14cecf90b4e72639dd19f23a5e" title="Set the specified Event Flags. ">osEventFlagsSet</a> (osEventFlagsId_t ef_id, uint32_t flags)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Set the specified Event Flags. <br/>
+ New function. </div><hr/>
+<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e" title="Wait for one or more Event Flags to become signaled. ">osEventFlagsWait</a> (osEventFlagsId_t ef_id, uint32_t flags, uint32_t options, uint32_t timeout)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Wait for one or more Event Flags to become signaled. <br/>
+ New function. </div><h1><a class="anchor" id="mig_wait"></a>
+Generic Wait Functions</h1>
+<p>Refer to <a class="el" href="group__CMSIS__RTOS__Wait.html">Generic Wait Functions</a> for details.</p>
+<hr/>
+<div class="mod"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e" title="Wait for Timeout (Time Delay). ">osDelay</a> (uint32_t ticks)</code> <br/>
+ <code>osStatus &#160; osDelay (uint32_t timeout)</code> <br/>
+ <br/>
+ Wait for Timeout (Time Delay). <br/>
+</p>
+<ul>
+<li>The return type changed to <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e" title="Status code values returned by CMSIS-RTOS functions. ">osStatus_t</a>.</li>
+</ul>
+</div><div class="mod"> </div><hr/>
+<div class="new"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__Wait.html#ga3c807924c2d6d43bc2ffb49da3f7f3a1" title="Wait until specified time. ">osDelayUntil</a> (uint32_t ticks)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Wait until specified time. <br/>
+ New function. </div><hr/>
+<div class="del"> <em>none</em> <br/>
+ <code>osEvent osWait (uint32_t millisec)</code> <br/>
+ <br/>
+Deprecated. </div><h1><a class="anchor" id="mig_timer"></a>
+Timer Management</h1>
+<p>Refer to <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html">Timer Management</a> for details.</p>
+<hr/>
+<div class="mod"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad0001dd74721ab461789324806db2453" title="Delete a timer. ">osTimerDelete</a> (osTimerId_t timer_id)</code> <br/>
+ <code>osStatus &#160; osTimerDelete (osTimerId timer_id)</code> <br/>
+ <br/>
+ Delete a timer. <br/>
+</p>
+<ul>
+<li>The return type changed to <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e" title="Status code values returned by CMSIS-RTOS functions. ">osStatus_t</a>.</li>
+<li>The parameter type has changed to <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a>.</li>
+</ul>
+</div><div class="mod"> </div><hr/>
+<div class="new"> <code>const char *<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#ga4f82a98eee4d9ea79507e44340d3d319" title="Get name of a timer. ">osTimerGetName</a> (osTimerId_t timer_id)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Get name of a timer. <br/>
+ New function. </div><hr/>
+<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#ga69d3589f54194022c30dd01e45ec6741" title="Check if a timer is running. ">osTimerIsRunning</a> (osTimerId_t timer_id)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Check if a timer is running. <br/>
+ New function. </div><hr/>
+<div class="mod"> <code>osTimerId_t <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec" title="Create and Initialize a timer. ">osTimerNew</a> (osTimerFunc_t func, osTimerType_t type, void *argument, const <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#structosTimerAttr__t" title="Attributes structure for timer. ">osTimerAttr_t</a> *attr)</code> <br/>
+ <code>osTimerId &#160; osTimerCreate (const osTimerDef_t *timer_def, os_timer_type type, void *argument)</code> <br/>
+ <br/>
+ Create and Initialize a timer. <br/>
+</p>
+<ul>
+<li>The function <b>osTimerNew</b> replaces the RTOS v1 function <b>osTimerCreate</b>.</li>
+<li>The return type changed to <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a>.</li>
+<li>The parameter list and types have changed.</li>
+</ul>
+</div><div class="mod"> </div><hr/>
+<div class="mod"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d" title="Start or restart a timer. ">osTimerStart</a> (osTimerId_t timer_id, uint32_t ticks)</code> <br/>
+ <code>osStatus &#160; osTimerStart (osTimerId timer_id, uint32_t timeout)</code> <br/>
+ <br/>
+ Start or restart a timer. <br/>
+</p>
+<ul>
+<li>The return type changed to <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e" title="Status code values returned by CMSIS-RTOS functions. ">osStatus_t</a>.</li>
+<li>The first parameter type has changed to <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a>.</li>
+</ul>
+</div><div class="mod"> </div><hr/>
+<div class="mod"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gabd7a89356da7717293eb0bc5d87b8ac9" title="Stop a timer. ">osTimerStop</a> (osTimerId_t timer_id)</code> <br/>
+ <code>osStatus &#160; osTimerStop (osTimerId timer_id)</code> <br/>
+ <br/>
+ Stop a timer. <br/>
+</p>
+<ul>
+<li>The return type changed to <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e" title="Status code values returned by CMSIS-RTOS functions. ">osStatus_t</a>.</li>
+<li>The parameter type has changed to <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a>.</li>
+</ul>
+</div><div class="mod"> </div><h1><a class="anchor" id="mig_mutex"></a>
+Mutexes</h1>
+<p>Refer to <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html">Mutex Management</a> for details.</p>
+<hr/>
+<div class="mod"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gabc54686ea0fc281823b1763422d2a924" title="Acquire a Mutex or timeout if it is locked. ">osMutexAcquire</a> (osMutexId_t mutex_id, uint32_t timeout)</code> <br/>
+ <code>osStatus &#160; osMutexWait (osMutexId mutex_id, uint32_t timeout)</code> <br/>
+ <br/>
+ Acquire a Mutex or timeout if it is locked. <br/>
+</p>
+<ul>
+<li>The function <b>osMutexAcquire</b> replaces the RTOS v1 function <b>osMutexWait</b>.</li>
+<li>Return type changed to <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>.</li>
+<li>First parameter type changed to <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a>.</li>
+</ul>
+</div><div class="mod"> </div><hr/>
+<div class="mod"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gabee73ad227ba4587d3db12ef9bd582bc" title="Delete a Mutex object. ">osMutexDelete</a> (osMutexId_t mutex_id)</code> <br/>
+ <code>osStatus &#160; osMutexDelete (osMutexId mutex_id)</code> <br/>
+ <br/>
+ Delete a Mutex object. <br/>
+</p>
+<ul>
+<li>The return type changed to <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>.</li>
+<li>The parameter type changed to <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a>.</li>
+</ul>
+</div><div class="mod"> </div><hr/>
+<div class="new"> <code>const char *<a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga00b5e58cd247a412d1afd18732d8b752" title="Get name of a Mutex object. ">osMutexGetName</a> ((osMutexId_t mutex_id)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Get name of a Mutex object. <br/>
+ New function. </div><hr/>
+<div class="new"> <code>osThreadId_t <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga7f9a7666df0978738cd570cb700b83fb" title="Get Thread which owns a Mutex object. ">osMutexGetOwner</a> (osMutexId_t mutex_id)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Get Thread which owns a Mutex object. <br/>
+ New function. </div><hr/>
+<div class="mod"> <code>osMutexId_t <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8" title="Create and Initialize a Mutex object. ">osMutexNew</a> (const <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#structosMutexAttr__t" title="Attributes structure for mutex. ">osMutexAttr_t</a> *attr)</code> <br/>
+ <code>osMutexId &#160; osMutexCreate (const osMutexDef_t *mutex_def)</code> <br/>
+ <br/>
+ Create and Initialize a Mutex object. <br/>
+</p>
+<ul>
+<li>The function <b>osMutexNew</b> replaces the RTOS v1 function <b>osMutexCreate</b>.</li>
+<li>The return type changed to <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a>.</li>
+<li>The parameter type changed to <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#structosMutexAttr__t">osMutexAttr_t</a>.</li>
+</ul>
+</div><div class="mod"> </div><hr/>
+<div class="mod"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gaea629705703580ff58776bf73c8db915" title="Release a Mutex that was acquired by osMutexAcquire. ">osMutexRelease</a> (osMutexId_t mutex_id)</code> <br/>
+ <code>osStatus &#160; osMutexRelease (osMutexId mutex_id)</code> <br/>
+ <br/>
+ Release a Mutex that was acquired by <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gabc54686ea0fc281823b1763422d2a924">osMutexAcquire</a>. <br/>
+</p>
+<ul>
+<li>The return type changed to <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e">osStatus_t</a>.</li>
+<li>The parameter type changed to <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a>.</li>
+</ul>
+</div><div class="mod"> </div><h1><a class="anchor" id="mig_sem"></a>
+Semaphores</h1>
+<p>Refer to <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html">Semaphores</a> for details.</p>
+<hr/>
+<div class="new"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7e94c8b242a0c81f2cc79ec22895c87b" title="Acquire a Semaphore token or timeout if no tokens are available. ">osSemaphoreAcquire</a> (osSemaphoreId_t semaphore_id, uint32_t timeout)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Acquire a Semaphore token or timeout if no tokens are available. <br/>
+ New function. Replaces <code>osSemaphoreWait</code>. </div><hr/>
+<div class="mod"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga81258ce9c67fa89f07cc49d2e136cd88" title="Delete a Semaphore object. ">osSemaphoreDelete</a> (osSemaphoreId_t semaphore_id)</code> <br/>
+ <code>osStatus &#160; osSemaphoreDelete (osSemaphoreId semaphore_id)</code> <br/>
+ <br/>
+ Delete a Semaphore object. <br/>
+</p>
+<ul>
+<li>The return type changed to <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e" title="Status code values returned by CMSIS-RTOS functions. ">osStatus_t</a>.</li>
+<li>The parameter type has changed to <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a>.</li>
+</ul>
+</div><div class="mod"> </div><hr/>
+<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7559d4dff3cda9992fc5ab5de3e74c70" title="Get current Semaphore token count. ">osSemaphoreGetCount</a> (osSemaphoreId_t semaphore_id)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Get current Semaphore token count. <br/>
+ New function. </div><hr/>
+<div class="new"> <code>const char *<a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga9586952051f00285f1482dbe6695bbc4" title="Get name of a Semaphore object. ">osSemaphoreGetName</a> ((osSemaphoreId_t semaphore_id)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Get name of a Semaphore object. <br/>
+ New function. </div><hr/>
+<div class="mod"> <code>osSemaphoreId_t <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a" title="Create and Initialize a Semaphore object. ">osSemaphoreNew</a> (uint32_t max_count, uint32_t initial_count, const <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#structosSemaphoreAttr__t" title="Attributes structure for semaphore. ">osSemaphoreAttr_t</a> *attr)</code> <br/>
+ <code>osSemaphoreId &#160; osSemaphoreCreate (const osSemaphoreDef_t *semaphore_def, int32_t count)</code> <br/>
+ <br/>
+ Create and Initialize a Semaphore object. <br/>
+</p>
+<ul>
+<li>The function <b>osSemaphoreNew</b> replaces the RTOS v1 function <b>osSemaphoreCreate</b>.</li>
+<li>The return type changed to <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a>.</li>
+<li>The parameter list and types have changed.</li>
+</ul>
+</div><div class="mod"> </div><hr/>
+<div class="mod"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga0abcee1b5449d7a6928fb9248c690bb6" title="Release a Semaphore token up to the initial maximum count. ">osSemaphoreRelease</a> (osSemaphoreId_t semaphore_id)</code> <br/>
+ <code>osStatus &#160; osSemaphoreRelease (osSemaphoreId semaphore_id)</code> <br/>
+ <br/>
+ Release a Semaphore token up to the initial maximum count. <br/>
+</p>
+<ul>
+<li>The return type changed to <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e" title="Status code values returned by CMSIS-RTOS functions. ">osStatus_t</a>.</li>
+<li>The parameter type has changed to <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a>.</li>
+</ul>
+</div><div class="mod"> </div><hr/>
+<div class="del"> <em>none</em> <br/>
+ <code>int32_t osSemaphoreWait (osSemaphoreId semaphore_id, uint32_t timeout)</code> <br/>
+ <br/>
+Deprecated. Replaced by <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7e94c8b242a0c81f2cc79ec22895c87b" title="Acquire a Semaphore token or timeout if no tokens are available. ">osSemaphoreAcquire</a>. </div><h1><a class="anchor" id="mig_memPool"></a>
+Memory Pool</h1>
+<hr/>
+<div class="mod"> <code>void * <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga8ead54e99ccb8f112356c88f99d38fbe" title="Allocate a memory block from a Memory Pool. ">osMemoryPoolAlloc</a> (osMemoryPoolId_t mp_id, uint32_t timeout)</code> <br/>
+ <code>void * osPoolAlloc &#160;(osPoolId pool_id)</code> <br/>
+ <br/>
+ Allocate a memory block from a Memory Pool. <br/>
+</p>
+<ul>
+<li>The function <b>osMemoryPoolAlloc</b> replaces both RTOS v1 functions <b>osPoolAlloc</b>.</li>
+<li>The parameter list and types changed.</li>
+</ul>
+</div><div class="mod"> </div><hr/>
+<div class="new"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga8c39e7e5cd2b9eda907466808e59d62e" title="Delete a Memory Pool object. ">osMemoryPoolDelete</a> (osMemoryPoolId_t mp_id)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Delete a Memory Pool object. <br/>
+ New function. </div><hr/>
+<div class="mod"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gabb4f4560daa6d1f8c8789082ee186d16" title="Return an allocated memory block back to a Memory Pool. ">osMemoryPoolFree</a> (osMemoryPoolId_t mp_id, void * block)</code> <br/>
+ <code>osStatus &#160; osPoolFree (osPoolId pool_id, void * block)</code> <br/>
+ <br/>
+ Return an allocated memory block back to a Memory Pool. <br/>
+</p>
+<ul>
+<li>The function <b>osMemoryPoolFree</b> replaces the RTOS v1 function <b>osPoolFree</b>.</li>
+<li>The first parameter type <b>osMemoryPoolId_t</b> replaces the ROTS v1 type <b>osPoolId</b>.</li>
+</ul>
+</div><div class="mod"> </div><hr/>
+<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gab2bf059b7fa7679c3cccdaeec60b6c0e" title="Get memory block size in a Memory Pool. ">osMemoryPoolGetBlockSize</a> (osMemoryPoolId_t mp_id)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Get memory block size in a Memory Pool. <br/>
+ New function. </div><hr/>
+<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gad696e94bfbe28f0b6613f9303fdf6a37" title="Get maximum number of memory blocks in a Memory Pool. ">osMemoryPoolGetCapacity</a> (osMemoryPoolId_t mp_id)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Get maximum number of memory blocks in a Memory Pool. <br/>
+ New function. </div><hr/>
+<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga958a9449bff8c95ce213de98eef5739d" title="Get number of memory blocks used in a Memory Pool. ">osMemoryPoolGetCount</a> (osMemoryPoolId_t mp_id)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Get number of memory blocks used in a Memory Pool. <br/>
+ New function. </div><hr/>
+<div class="new"> <code>const char *<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gab414a1e138205a55820acfa277c8f386" title="Get name of a Memory Pool object. ">osMemoryPoolGetName</a> ((osMemoryPoolId_t mp_id)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Get name of a Memory Pool object. <br/>
+ New function. </div><hr/>
+<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga0394cffa9479a7994e3b03c79c1cb909" title="Get number of memory blocks available in a Memory Pool. ">osMemoryPoolGetSpace</a> (osMemoryPoolId_t mp_id)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Get number of memory blocks available in a Memory Pool. <br/>
+ New function. </div><hr/>
+<div class="mod"> <code>osMemoryPoolId_t <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc" title="Create and Initialize a Memory Pool object. ">osMemoryPoolNew</a> (uint32_t block_count, uint32_t block_size, const <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#structosMemoryPoolAttr__t" title="Attributes structure for memory pool. ">osMemoryPoolAttr_t</a> *attr)</code> <br/>
+ <code>osPoolId &#160; &#160; &#160; &#160; osPoolCreate (const osPoolDef_t * pool_def)</code> <br/>
+ <br/>
+ Get number of memory blocks available in a Memory Pool. <br/>
+</p>
+<ul>
+<li>The function <b>osMemoryPoolNew</b> replaces the RTOS v1 function <b>osPoolCreate</b>.</li>
+<li>The return type changed to <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a>.</li>
+<li>Parameter list and parameter types have changed.</li>
+</ul>
+</div><div class="mod"> </div><h1><a class="anchor" id="mig_msgQueue"></a>
+Message Queue</h1>
+<p>In general, messages are now using fixed size memory instead of being 32-bit values. Refer to <a class="el" href="group__CMSIS__RTOS__Message.html">Message Queue</a> for details.</p>
+<hr/>
+<div class="new"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__Message.html#gaba987f665444e0d83fa6a3a68bc72abe" title="Delete a Message Queue object. ">osMessageQueueDelete</a> (osMessageQueueId_t mq_id)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Delete a Message Queue object. <br/>
+ New function. </div><hr/>
+<div class="mod"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__Message.html#gad90d4959466a7a65105061da8256ab9e" title="Get a Message from a Queue or timeout if Queue is empty. ">osMessageQueueGet</a> (osMessageQueueId_t mq_id, void *msg_ptr, uint8_t *msg_prio, uint32_t timeout)</code> <br/>
+ <code>osEvent &#160;&#160; osMessageGet (osMessageQId queue_id, uint32_t timeout)</code> <br/>
+ <br/>
+ Get a Message from a Queue or timeout if Queue is empty. <br/>
+</p>
+<ul>
+<li>The function <b>osMessageQueueGet</b> replaces the RTOS v1 function <b>osMessageGet</b>.</li>
+<li>The return type changed to <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e" title="Status code values returned by CMSIS-RTOS functions. ">osStatus_t</a>.</li>
+<li>The parameter list and parameter types have changed.</li>
+</ul>
+</div><div class="mod"> </div><hr/>
+<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__Message.html#gac24f87d4f395e9e9c900c320e45ade8a" title="Get maximum number of messages in a Message Queue. ">osMessageQueueGetCapacity</a> (osMessageQueueId_t mq_id)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Get maximum number of messages in a Message Queue. <br/>
+ New function. </div><hr/>
+<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__Message.html#ga6a32ac394fcff568b251c160cc3014b2" title="Get number of queued messages in a Message Queue. ">osMessageQueueGetCount</a> (osMessageQueueId_t mq_id)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Get number of queued messages in a Message Queue. <br/>
+ New function. </div><hr/>
+<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__Message.html#ga96d3d84069b20359de48109e28a1a89e" title="Get maximum message size in a Memory Pool. ">osMessageQueueGetMsgSize</a> (osMessageQueueId_t mq_id)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Get maximum message size in a Memory Pool. <br/>
+ New function. </div><hr/>
+<div class="new"> <code>const char *<a class="el" href="group__CMSIS__RTOS__Message.html#gae7cf7bf2b97a5ae481fb60fcce99247a" title="Get name of a Message Queue object. ">osMessageQueueGetName</a> ((osMessageQueueId_t mq_id)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Get name of a Message Queue object. <br/>
+ New function. </div><hr/>
+<div class="new"> <code>uint32_t <a class="el" href="group__CMSIS__RTOS__Message.html#gaddf0904427436dd3880d46263c2dc9fa" title="Get number of available slots for messages in a Message Queue. ">osMessageQueueGetSpace</a> (osMessageQueueId_t mq_id)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Get number of available slots for messages in a Message Queue. <br/>
+ New function. </div><hr/>
+<div class="mod"> <code>osMessageQueueId_t <a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed" title="Create and Initialize a Message Queue object. ">osMessageQueueNew</a> (uint32_t msg_count, uint32_t msg_size, const <a class="el" href="group__CMSIS__RTOS__Message.html#structosMessageQueueAttr__t" title="Attributes structure for message queue. ">osMessageQueueAttr_t</a> *attr)</code> <br/>
+ <code>osMessageQId &#160; &#160; &#160; osMessageCreate (const osMessageQDef_t *queue_def, osThreadId thread_id)</code> <br/>
+ <br/>
+ Create and Initialize a Message Queue object. <br/>
+</p>
+<ul>
+<li>The function <b>osMessageQueueNew</b> replaces the RTOS v1 function <b>osMessageCreate</b>.</li>
+<li>The return type changed to <a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a>.</li>
+<li>The parameter list and parameter types have changed.</li>
+</ul>
+</div><div class="mod"> </div><hr/>
+<div class="mod"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__Message.html#gaa515fc8b956f721a8f72b2c505813bfc" title="Put a Message into a Queue or timeout if Queue is full. ">osMessageQueuePut</a> (osMessageQueueId_t mq_id, const void *msg_ptr, uint8_t msg_prio, uint32_t timeout)</code> <br/>
+ <code>osStatus &#160; osMessagePut (osMessageQId queue_id, uint32_t info, uint32_t timeout)</code> <br/>
+ <br/>
+ Put a Message into a Queue or timeout if Queue is full. <br/>
+</p>
+<ul>
+<li>The function <b>osMessageQueuePut</b> replaces the RTOS v1 function <b>osMessagePut</b>.</li>
+<li>The return type changed to <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e" title="Status code values returned by CMSIS-RTOS functions. ">osStatus_t</a>.</li>
+<li>The parameter list and parameter types have changed.</li>
+</ul>
+</div><div class="mod"> </div><hr/>
+<div class="new"> <code>osStatus_t <a class="el" href="group__CMSIS__RTOS__Message.html#gac6dce7f9ad132d266292c2e979d861b4" title="Reset a Message Queue to initial empty state. ">osMessageQueueReset</a> (osMessageQueueId_t mq_id)</code> <br/>
+ <em>none</em> <br/>
+ <br/>
+ Reset a Message Queue to initial empty state. <br/>
+ New function. </div><h1><a class="anchor" id="mig_mailQueue"></a>
+Mail Queue</h1>
+<p>The <b>Mail Queue</b> RTOS v1 functions have been deprecated. Use the functionality of the <a class="el" href="group__CMSIS__RTOS__Message.html">Message Queue</a> instead. Differences are listed under <a class="el" href="os2MigrationFunctions.html#mig_msgQueue">Message Queue</a>.</p>
+<hr/>
+<div class="del"> <em>none</em> <br/>
+ <code>void * osMailAlloc (osMailQId queue_id, uint32_t timeout)</code> <br/>
+ <br/>
+Deprecated. </div><hr/>
+<div class="del"> <em>none</em> <br/>
+ <code>void * osMailCAlloc (osMailQId queue_id, uint32_t timeout)</code> <br/>
+ <br/>
+Deprecated. </div><hr/>
+<div class="del"> <em>none</em> <br/>
+ <code>osMailQId osMailCreate (const osMailQDef_t *queue_def, osThreadId thread_id)</code> <br/>
+ <br/>
+Deprecated. </div><hr/>
+<div class="del"> <em>none</em> <br/>
+ <code>osStatus osMailFree (osMailQId queue_id, void *mail)</code> <br/>
+ <br/>
+Deprecated. </div><hr/>
+<div class="del"> <em>none</em> <br/>
+ <code>osEvent osMailGet (osMailQId queue_id, uint32_t timeout)</code> <br/>
+ <br/>
+Deprecated. </div><hr/>
+<div class="del"> <em>none</em> <br/>
+ <code>osStatus osMailPut (osMailQId queue_id, void *mail)</code> <br/>
+ <br/>
+Deprecated. </div><h1><a class="anchor" id="mig_signalEvents"></a>
+Signal Events</h1>
+<p>The section RTOS v1 <b>Signal Events</b> has been deprecated. Use the functions listed under <a class="el" href="os2MigrationFunctions.html#mig_threadFlags">Thread Flags</a> instead.</p>
+<hr/>
+<div class="del"> <em>none</em> <br/>
+ <code>int32_t osSignalClear (osThreadId thread_id, int32_t signals)</code> <br/>
+ <br/>
+Deprecated. </div><hr/>
+<div class="del"> <em>none</em> <br/>
+ <code>int32_t osSignalSet (osThreadId thread_id, int32_t signals)</code> <br/>
+ <br/>
+Deprecated. </div><hr/>
+<div class="del"> <em>none</em> <br/>
+ <code>osEvent osSignalWait (int32_t signals, uint32_t timeout)</code> <br/>
+ <br/>
+Deprecated. </div> </div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="index.html">index</a></li><li class="navelem"><a class="el" href="os2Migration.html">Migration from API v1 to API v2</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/os2MigrationGuide.html b/docs/RTOS2/html/os2MigrationGuide.html
new file mode 100644
index 0000000..d1b662b
--- /dev/null
+++ b/docs/RTOS2/html/os2MigrationGuide.html
@@ -0,0 +1,282 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>RTX Migration Guide</title>
+<title>CMSIS-RTOS2: RTX Migration Guide</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('os2MigrationGuide.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">RTX Migration Guide </div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>RTX5 supplies both API layers: CMSIS-RTOS v1 and CMSIS-RTOS v2. This allows a gradient transition from version 1 to 2. A modified v1 header and a special v1 compatibility module enable existing code to run on a v2 implementation with almost no modifications.</p>
+<p>Only a few incompatibilities and limitations exist:</p>
+<ul>
+<li>Kernel startup<br/>
+<ul>
+<li>The function <code>osKernelRunning</code> has been removed in CMSIS-RTOS v2, use <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga48b69b81012fce051f639be288b243ba" title="Get the current RTOS Kernel state. ">osKernelGetState()</a> instead.</li>
+<li>Function <code>main</code> was usually a running thread in CMSIS-RTOS v1 implementations, which is not the case in CMSIS-RTOS v2 anymore. The Kernel was running even without calling corresponding APIs to initialize and start the Kernel explicitly. In CMSIS-RTOS v2 the Kernel needs be initialized by calling <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659" title="Initialize the RTOS Kernel. ">osKernelInitialize()</a> and must be started by calling <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221" title="Start the RTOS Kernel scheduler. ">osKernelStart()</a>.</li>
+</ul>
+</li>
+<li>OS tick<br/>
+ RTX5 uses the <a class="el" href="group__CMSIS__RTOS__TickAPI.html">OS Tick API</a> to configure the tick interrupts. The interval calculation is typically based on <code>SystemCoreClock</code> variable. Thus one has to assure this variable is set correctly before calling <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221">osKernelStart</a>.</li>
+<li>The function <code>osWait</code> is deprecated.</li>
+<li>Error code incompatibility<br/>
+ CMSIS-RTOS v1 used two different error codes for invalid parameters: <code>osErrorParameter</code> and <code>osErrorValue</code>. The new version only uses a common <a class="el" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813eac24adca6a5d072c9f01c32178ba0d109">osErrorParameter</a> code. Therefore, code relying on osErrorValue is not compatible. The following functions are affected:<ul>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga861a420fb2d643115b06622903fb3bfb">osThreadSetPriority</a> returns <a class="el" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813eac24adca6a5d072c9f01c32178ba0d109">osErrorParameter</a> instead of osErrorValue when priority is out of range</li>
+<li><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gabb4f4560daa6d1f8c8789082ee186d16">osMemoryPoolFree</a> (previously <code>osPoolFree</code>) returns <a class="el" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813eac24adca6a5d072c9f01c32178ba0d109">osErrorParameter</a> instead of osErrorValue when block to be returned is invalid</li>
+</ul>
+</li>
+<li>The <a class="el" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a> return code has changed from osErrorTimeout to <a class="el" href="cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f">osOK</a>.</li>
+</ul>
+<p>The level of migration depends on the project's phase in its life cycle:</p>
+<ul>
+<li>The <a class="el" href="os2MigrationGuide.html#MigL1">first level</a> of migration is to migrate to RTX5 without changing the API level.</li>
+<li>The <a class="el" href="os2MigrationGuide.html#MigL2">second level</a> in the transition is to use v2 API functions and v1 API functions in mixed variation.</li>
+<li>The <a class="el" href="os2MigrationGuide.html#MigL3">third level</a> is the full transition to the API v2. It is non-trivial and requires some additional development effort to migrate all API v1 calls to v2.</li>
+</ul>
+<h1><a class="anchor" id="MigL1"></a>
+Level 1 Migration - Upgrade to RTX5 on API v1</h1>
+<p>Upgrade to RTX Version 5 from any 4.x version using the API v1 compatibility layer. Configure an existing project as follows:</p>
+<ul>
+<li>Open <b>Manage</b> <b>Run-Time</b> <b>Environment</b> window</li>
+<li>Expand <b>CMSIS</b> software component.</li>
+<li>Expand <b>RTOS</b> <b></b>(API), uncheck <b>Keil</b> <b>RTX</b>, and select <b>Keil</b> <b>RTX5</b>.</li>
+<li>Expand <b>RTOS2</b> <b></b>(API) and select <b>Keil</b> <b>RTX5</b>.</li>
+<li>Resolve missing components.</li>
+</ul>
+<div class="image">
+<img src="RTX5_Migrate1.PNG" alt="RTX5_Migrate1.PNG"/>
+<div class="caption">
+Component Selection for RTX5</div></div>
+<ul>
+<li>Click OK.</li>
+<li>Expand <b>CMSIS</b> group in the <b>Project</b> window:</li>
+<li>Open <b>RTX_Config.h</b> and adapt the configuration to suit the application including (refer to <a class="el" href="config_rtx5.html">Configure RTX v5</a>):<ul>
+<li>System Configuration-&gt;Global Dynamic Memory size</li>
+<li>Kernel Tick Frequency</li>
+<li>Thread Configuration-&gt;Default Thread Stack size</li>
+</ul>
+</li>
+<li>Rename function <code>int main (void)</code> to <code>void app_main (void *arg)</code>.</li>
+<li>Create a new function <code>int main (void)</code> which implements at least:<ul>
+<li>System initialization and configuration</li>
+<li>Update <a href="../../Core/html/group__system__init__gr.html">SystemCoreClock</a></li>
+<li>Initialize CMSIS-RTOS kernel</li>
+<li>Creates new thread app_main</li>
+<li>Start RTOS scheduler</li>
+</ul>
+</li>
+</ul>
+<p><b>Example - Application Main Thread</b> </p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;RTE_Components.h&quot;</span></div>
+<div class="line"><span class="preprocessor">#include CMSIS_device_header</span></div>
+<div class="line"><span class="preprocessor"></span> </div>
+<div class="line"><span class="comment">/* Renamed main() function */</span></div>
+<div class="line"><span class="keywordtype">void</span> app_main (<span class="keywordtype">void</span> <span class="keyword">const</span> *argument) {</div>
+<div class="line"> <span class="comment">// contents of old &quot;main&quot;</span></div>
+<div class="line">}</div>
+<div class="line"> </div>
+<div class="line">osThreadDef(app_main, <a class="code" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca45a2895ad30c79fb97de18cac7cc19f1">osPriorityNormal</a>, 1, 0);</div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">int</span> main (<span class="keywordtype">void</span>) {</div>
+<div class="line"> <span class="comment">// System Initialization</span></div>
+<div class="line"> SystemCoreClockUpdate();</div>
+<div class="line"> <span class="comment">// ...</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659">osKernelInitialize</a>();</div>
+<div class="line"> osThreadCreate(osThread(app_main), NULL);</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221">osKernelStart</a>();</div>
+<div class="line"> <span class="keywordflow">for</span> (;;);</div>
+<div class="line">}</div>
+</div><!-- fragment --><dl class="section note"><dt>Note</dt><dd>In RTOS API v1 all timings were specified in milliseconds. RTX5 defines all times in kernel ticks. To match both it is recommended to set the Kernel Tick Frequency to 1000 Hz in the <a class="el" href="config_rtx5.html#systemConfig">System Configuration</a>.</dd></dl>
+<p>To validate the correct operation of your RTOS after migration you can temporarily integrate the <a class="el" href="rtosValidation.html">RTOS Validation</a> component into your project.</p>
+<h1><a class="anchor" id="MigL2"></a>
+Level 2 Migration - Use API v2 and v1 alongside in RTX5</h1>
+<p>Implementing new features in your project is ideally done using the new API. Both API versions are offered in RTX5 and can exist along-side.</p>
+<p>The component selection is identical to Migration Level 1.</p>
+<p>Include "cmsis_os2.h" in all modules where access to API v2 functions is required.</p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;cmsis_os.h&quot;</span> <span class="comment">// ARM::CMSIS:RTOS:Keil RTX5</span></div>
+<div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span> <span class="comment">// ARM::CMSIS:RTOS2:Keil RTX5</span></div>
+</div><!-- fragment --><p>The following snippet shows how threads - created with both API versions - live along-side:</p>
+<div class="fragment"><div class="line"><span class="comment">/*----------------------------------------------------------------------------</span></div>
+<div class="line"><span class="comment"> * Thread 4 &#39;phaseD&#39;: Phase D output - API v2 thread</span></div>
+<div class="line"><span class="comment"> *---------------------------------------------------------------------------*/</span></div>
+<div class="line"><span class="keywordtype">void</span> phaseD (<span class="keywordtype">void</span> *argument) {</div>
+<div class="line"> <span class="keywordflow">for</span> (;;) {</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b">osThreadFlagsWait</a>(0x0001, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga18e63587b8450d5b8798b6f6ec04e012">osFlagsWaitAny</a>, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>); <span class="comment">/* wait for an event flag 0x0001 */</span></div>
+<div class="line"> Switch_On (LED_D);</div>
+<div class="line"> signal_func(tid_phaseA); <span class="comment">/* call common signal function */</span></div>
+<div class="line"> Switch_Off(LED_D);</div>
+<div class="line"> }</div>
+<div class="line">}</div>
+<div class="line"> </div>
+<div class="line"><span class="comment">/*----------------------------------------------------------------------------</span></div>
+<div class="line"><span class="comment"> * Thread 5 &#39;clock&#39;: Signal Clock - API v1 thread</span></div>
+<div class="line"><span class="comment"> *---------------------------------------------------------------------------*/</span></div>
+<div class="line"><span class="keywordtype">void</span> clock (<span class="keywordtype">void</span> <span class="keyword">const</span> *argument) {</div>
+<div class="line"> <span class="keywordflow">for</span> (;;) {</div>
+<div class="line"> osSignalWait(0x0100, <a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>); <span class="comment">/* Wait for event send by API v2 function osThreadFlagsSet() */</span></div>
+<div class="line"> Switch_On (LED_CLK);</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a>(80); <span class="comment">/* delay ticks */</span></div>
+<div class="line"> Switch_Off(LED_CLK);</div>
+<div class="line"> }</div>
+<div class="line">}</div>
+<div class="line"> </div>
+<div class="line"><span class="comment">/* Define the API v1 thread */</span></div>
+<div class="line">osThreadDef(clock, <a class="code" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca45a2895ad30c79fb97de18cac7cc19f1">osPriorityNormal</a>, 1, 0);</div>
+<div class="line"> </div>
+<div class="line"><span class="comment">/*----------------------------------------------------------------------------</span></div>
+<div class="line"><span class="comment"> * Main: Initialize and start RTX Kernel</span></div>
+<div class="line"><span class="comment"> *---------------------------------------------------------------------------*/</span></div>
+<div class="line"><span class="keywordtype">void</span> app_main (<span class="keywordtype">void</span> *argument) {</div>
+<div class="line"></div>
+<div class="line"> ; <span class="comment">//...</span></div>
+<div class="line"> <span class="comment">/* Create the API v2 thread */</span></div>
+<div class="line"> tid_phaseD = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(phaseD, NULL, NULL);</div>
+<div class="line"> <span class="comment">/* Create the API v1 thread */</span></div>
+<div class="line"> tid_clock = osThreadCreate(osThread(clock), NULL);</div>
+<div class="line"> </div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga6f89ef9caded1d9963c7b12b0f6412c9">osThreadFlagsSet</a>(tid_phaseA, 0x0001); <span class="comment">/* set signal to phaseA thread */</span></div>
+<div class="line"> </div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a>(<a class="code" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a>);</div>
+<div class="line"> <span class="keywordflow">while</span>(1);</div>
+<div class="line">}</div>
+</div><!-- fragment --><p>The full example "RTX5 Migration" is part of the CMSIS5 pack and available from the pack installer.</p>
+<h1><a class="anchor" id="MigL3"></a>
+Level 3 Migration - Full transition to API v2</h1>
+<p>Migrating fully to APIv2 reduces the overhead of the translation layer and simplifies the project. There is some effort to replace and re-test all API Version 1 calls. The following steps are recommended as a rough guide-line:</p>
+<ul>
+<li>Open Manage Run-Time Environment window:</li>
+<li>Expand CMSIS Software Component:</li>
+<li>Expand RTOS (API) Software Component and de-select Keil RTX5</li>
+<li>Click OK</li>
+<li>Exchange all occurrences of <div class="fragment"><div class="line"><span class="preprocessor">#include &quot;cmsis_os.h&quot;</span> </div>
+</div><!-- fragment --> with <div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span> </div>
+</div><!-- fragment --></li>
+<li>Identify all references to the API v1 and replace with the appropriate calls in v2. You might want to use the Error List window in uVision to identify the related code passages quickly.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>See <a class="el" href="os2MigrationFunctions.html">Detailed API Function Differences</a> for details in differences.</dd></dl>
+<p>Generally there are no longer os*Def macros to declare OS objects.</p>
+<dl class="section note"><dt>Note</dt><dd><ul>
+<li>Signal Events have been replaced. Use the functions listed under Thread Flags and Event Flags instead.</li>
+<li>The Mail Queue RTOS v1 functions have been deprecated. Use the functionality of the Message Queue instead. Differences are listed under <a class="el" href="os2MigrationFunctions.html#mig_msgQueue">Message Queue</a>. </li>
+</ul>
+</dd></dl>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="index.html">index</a></li><li class="navelem"><a class="el" href="os2Migration.html">Migration from API v1 to API v2</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/os__systick_8c.html b/docs/RTOS2/html/os__systick_8c.html
new file mode 100644
index 0000000..865978c
--- /dev/null
+++ b/docs/RTOS2/html/os__systick_8c.html
@@ -0,0 +1,135 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>os_systick.c File Reference</title>
+<title>CMSIS-RTOS2: os_systick.c File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.2</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('os__systick_8c.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">os_systick.c File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>CMSIS OS Tick SysTick implementation.
+<a href="#details">More...</a></p>
+<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
+<div class="textblock"><dl class="section version"><dt>Version</dt><dd>V1.0.0 </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>05. June 2017 </dd></dl>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="dir_a43355fbfff7212ac2193223a73d577c.html">RTOS2</a></li><li class="navelem"><a class="el" href="dir_899d076620cccde5757c1c1ca5de63cc.html">Source</a></li><li class="navelem"><a class="el" href="os__systick_8c.html">os_systick.c</a></li>
+ <li class="footer">Generated on Thu Nov 16 2017 17:06:23 for CMSIS-RTOS2 by ARM Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/os__tick_8h.html b/docs/RTOS2/html/os__tick_8h.html
new file mode 100644
index 0000000..dcc5d52
--- /dev/null
+++ b/docs/RTOS2/html/os__tick_8h.html
@@ -0,0 +1,207 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>os_tick.h File Reference</title>
+<title>CMSIS-RTOS2: os_tick.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('os__tick_8h.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#define-members">Macros</a> &#124;
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">os_tick.h File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>CMSIS OS Tick header file.
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
+Macros</h2></td></tr>
+<tr class="memitem:aed032df21f11e8715f5c4deeeb56cc36"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="os__tick_8h.html#aed032df21f11e8715f5c4deeeb56cc36">IRQHANDLER_T</a></td></tr>
+<tr class="memdesc:aed032df21f11e8715f5c4deeeb56cc36"><td class="mdescLeft">&#160;</td><td class="mdescRight">IRQ Handler. <a href="#aed032df21f11e8715f5c4deeeb56cc36">More...</a><br/></td></tr>
+<tr class="separator:aed032df21f11e8715f5c4deeeb56cc36"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr class="memitem:afbfa2180a9b6208f34891d539e9e2d52"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="os__tick_8h.html#afbfa2180a9b6208f34891d539e9e2d52">IRQHandler_t</a> )(void)</td></tr>
+<tr class="separator:afbfa2180a9b6208f34891d539e9e2d52"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga5eeffb4d9dc6c6802fee8898096d9a59"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__TickAPI.html#ga5eeffb4d9dc6c6802fee8898096d9a59">OS_Tick_Setup</a> (uint32_t freq, <a class="el" href="os__tick_8h.html#afbfa2180a9b6208f34891d539e9e2d52">IRQHandler_t</a> handler)</td></tr>
+<tr class="memdesc:ga5eeffb4d9dc6c6802fee8898096d9a59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup OS Tick timer to generate periodic RTOS Kernel Ticks. <a href="group__CMSIS__RTOS__TickAPI.html#ga5eeffb4d9dc6c6802fee8898096d9a59">More...</a><br/></td></tr>
+<tr class="separator:ga5eeffb4d9dc6c6802fee8898096d9a59"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3e47971bf3a02599d9ecb32208adafec"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__TickAPI.html#ga3e47971bf3a02599d9ecb32208adafec">OS_Tick_Enable</a> (void)</td></tr>
+<tr class="memdesc:ga3e47971bf3a02599d9ecb32208adafec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable OS Tick timer interrupt. <a href="group__CMSIS__RTOS__TickAPI.html#ga3e47971bf3a02599d9ecb32208adafec">More...</a><br/></td></tr>
+<tr class="separator:ga3e47971bf3a02599d9ecb32208adafec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5e325c304fef5003b1dc31906f6a3056"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__TickAPI.html#ga5e325c304fef5003b1dc31906f6a3056">OS_Tick_Disable</a> (void)</td></tr>
+<tr class="memdesc:ga5e325c304fef5003b1dc31906f6a3056"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disable OS Tick timer interrupt. <a href="group__CMSIS__RTOS__TickAPI.html#ga5e325c304fef5003b1dc31906f6a3056">More...</a><br/></td></tr>
+<tr class="separator:ga5e325c304fef5003b1dc31906f6a3056"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga57065ec4b281504ad4de13a419870b4f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__TickAPI.html#ga57065ec4b281504ad4de13a419870b4f">OS_Tick_AcknowledgeIRQ</a> (void)</td></tr>
+<tr class="memdesc:ga57065ec4b281504ad4de13a419870b4f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Acknowledge execution of OS Tick timer interrupt. <a href="group__CMSIS__RTOS__TickAPI.html#ga57065ec4b281504ad4de13a419870b4f">More...</a><br/></td></tr>
+<tr class="separator:ga57065ec4b281504ad4de13a419870b4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa8b4eca23e3ffe2df403291958cdc905"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__TickAPI.html#gaa8b4eca23e3ffe2df403291958cdc905">OS_Tick_GetIRQn</a> (void)</td></tr>
+<tr class="memdesc:gaa8b4eca23e3ffe2df403291958cdc905"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get OS Tick timer IRQ number. <a href="group__CMSIS__RTOS__TickAPI.html#gaa8b4eca23e3ffe2df403291958cdc905">More...</a><br/></td></tr>
+<tr class="separator:gaa8b4eca23e3ffe2df403291958cdc905"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga936217ea28236fb57648973e0d8f627a"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__TickAPI.html#ga936217ea28236fb57648973e0d8f627a">OS_Tick_GetClock</a> (void)</td></tr>
+<tr class="memdesc:ga936217ea28236fb57648973e0d8f627a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get OS Tick timer clock frequency. <a href="group__CMSIS__RTOS__TickAPI.html#ga936217ea28236fb57648973e0d8f627a">More...</a><br/></td></tr>
+<tr class="separator:ga936217ea28236fb57648973e0d8f627a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga123151dc19d5a94a68f12cdbf61a9bb5"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__TickAPI.html#ga123151dc19d5a94a68f12cdbf61a9bb5">OS_Tick_GetInterval</a> (void)</td></tr>
+<tr class="memdesc:ga123151dc19d5a94a68f12cdbf61a9bb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get OS Tick timer interval reload value. <a href="group__CMSIS__RTOS__TickAPI.html#ga123151dc19d5a94a68f12cdbf61a9bb5">More...</a><br/></td></tr>
+<tr class="separator:ga123151dc19d5a94a68f12cdbf61a9bb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa64a145a554f1e5077848938d7f39c92"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__TickAPI.html#gaa64a145a554f1e5077848938d7f39c92">OS_Tick_GetCount</a> (void)</td></tr>
+<tr class="memdesc:gaa64a145a554f1e5077848938d7f39c92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get OS Tick timer counter value. <a href="group__CMSIS__RTOS__TickAPI.html#gaa64a145a554f1e5077848938d7f39c92">More...</a><br/></td></tr>
+<tr class="separator:gaa64a145a554f1e5077848938d7f39c92"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1f9a593126b7f0b66fc526c2cebd6192"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__RTOS__TickAPI.html#ga1f9a593126b7f0b66fc526c2cebd6192">OS_Tick_GetOverflow</a> (void)</td></tr>
+<tr class="memdesc:ga1f9a593126b7f0b66fc526c2cebd6192"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get OS Tick timer overflow status. <a href="group__CMSIS__RTOS__TickAPI.html#ga1f9a593126b7f0b66fc526c2cebd6192">More...</a><br/></td></tr>
+<tr class="separator:ga1f9a593126b7f0b66fc526c2cebd6192"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
+<div class="textblock"><dl class="section version"><dt>Version</dt><dd>V1.0.1 </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>24. November 2017 </dd></dl>
+</div><h2 class="groupheader">Macro Definition Documentation</h2>
+<a class="anchor" id="aed032df21f11e8715f5c4deeeb56cc36"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define IRQHANDLER_T</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Typedef Documentation</h2>
+<a class="anchor" id="afbfa2180a9b6208f34891d539e9e2d52"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef void(* IRQHandler_t)(void)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="dir_a43355fbfff7212ac2193223a73d577c.html">RTOS2</a></li><li class="navelem"><a class="el" href="dir_f5870d36a7061bb81e1a64a750696f2d.html">Include</a></li><li class="navelem"><a class="el" href="os__tick_8h.html">os_tick.h</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/own_lib_projwin.png b/docs/RTOS2/html/own_lib_projwin.png
new file mode 100644
index 0000000..9802fa5
--- /dev/null
+++ b/docs/RTOS2/html/own_lib_projwin.png
Binary files differ
diff --git a/docs/RTOS2/html/pControlBlockSizes.html b/docs/RTOS2/html/pControlBlockSizes.html
new file mode 100644
index 0000000..fcb61c7
--- /dev/null
+++ b/docs/RTOS2/html/pControlBlockSizes.html
@@ -0,0 +1,151 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Control Block Sizes</title>
+<title>CMSIS-RTOS2: Control Block Sizes</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('pControlBlockSizes.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">Control Block Sizes </div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>Keil RTX v5 specific control block definitions (including sizes) as well as memory pool and message queue memory requirements are defined in the header file <b><a class="el" href="rtx__os_8h.html">rtx_os.h</a></b>:</p>
+<p>If you provide memory for the RTOS objects, you need to know the size that is required for each object control block. The memory of the control block is provided by the parameter <em>attr</em> of the related <em>osXxxxNew</em> function. The element <em>cb_mem</em> is the memory address, <em>cb_size</em> is the size of the control block memory.</p>
+<p>Refer to <a class="el" href="theory_of_operation.html#StaticObjectMemory">Static Object Memory</a> for more information.</p>
+<p>The following table lists the control block sizes:</p>
+<table class="doxtable">
+<tr>
+<th align="left">Category </th><th align="left">Control Block Size Attribute </th><th align="left">Size </th><th align="left">#define symbol </th></tr>
+<tr>
+<td align="left"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html">Thread Management</a> </td><td align="left"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#a1e100dc33d403841ed3c344e3397868e">osThreadAttr_t::cb_mem</a> </td><td align="left">68 bytes </td><td align="left"><a class="el" href="group__rtx5__specific__defines.html#ga30d19272204231956582ebfff69567f6">osRtxThreadCbSize</a> </td></tr>
+<tr>
+<td align="left"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html">Timer Management</a> </td><td align="left"><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#a1e100dc33d403841ed3c344e3397868e">osTimerAttr_t::cb_mem</a> </td><td align="left">32 bytes </td><td align="left"><a class="el" href="group__rtx5__specific__defines.html#gaf8a145fdeb24fd912971f0671b1a3603">osRtxTimerCbSize</a> </td></tr>
+<tr>
+<td align="left"><a class="el" href="group__CMSIS__RTOS__EventFlags.html">Event Flags</a> </td><td align="left"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#a1e100dc33d403841ed3c344e3397868e">osEventFlagsAttr_t::cb_mem</a> </td><td align="left">16 bytes </td><td align="left"><a class="el" href="group__rtx5__specific__defines.html#ga68100c8c44931f03547973294c433075">osRtxEventFlagsCbSize</a> </td></tr>
+<tr>
+<td align="left"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html">Mutex Management</a> </td><td align="left"><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#a1e100dc33d403841ed3c344e3397868e">osMutexAttr_t::cb_mem</a> </td><td align="left">28 bytes </td><td align="left"><a class="el" href="group__rtx5__specific__defines.html#ga188bfaaf7477cf24cbc9f207feaeb53a">osRtxMutexCbSize</a> </td></tr>
+<tr>
+<td align="left"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html">Semaphores</a> </td><td align="left"><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#a1e100dc33d403841ed3c344e3397868e">osSemaphoreAttr_t::cb_mem</a> </td><td align="left">16 bytes </td><td align="left"><a class="el" href="group__rtx5__specific__defines.html#ga0949b67063d0bd427fbee9c816b5d45a">osRtxSemaphoreCbSize</a> </td></tr>
+<tr>
+<td align="left"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html">Memory Pool</a> </td><td align="left"><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#a1e100dc33d403841ed3c344e3397868e">osMemoryPoolAttr_t::cb_mem</a> </td><td align="left">36 bytes </td><td align="left"><a class="el" href="group__rtx5__specific__defines.html#gab8e49e9e1eea5a015f2a3114cabceb48">osRtxMemoryPoolCbSize</a> </td></tr>
+<tr>
+<td align="left"><a class="el" href="group__CMSIS__RTOS__Message.html">Message Queue</a> </td><td align="left"><a class="el" href="group__CMSIS__RTOS__Message.html#a1e100dc33d403841ed3c344e3397868e">osMessageQueueAttr_t::cb_mem</a> </td><td align="left">52 bytes </td><td align="left"><a class="el" href="group__rtx5__specific__defines.html#gaa8d067c476faa6bfc8e5e21f3b3c844e">osRtxMessageQueueCbSize</a> </td></tr>
+</table>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="index.html">index</a></li><li class="navelem"><a class="el" href="rtx5_impl.html">RTX v5 Implementation</a></li><li class="navelem"><a class="el" href="technicalData5.html">Technical Data</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/pDirectory_Files.html b/docs/RTOS2/html/pDirectory_Files.html
new file mode 100644
index 0000000..b865db1
--- /dev/null
+++ b/docs/RTOS2/html/pDirectory_Files.html
@@ -0,0 +1,202 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Directory Structure and File Overview</title>
+<title>CMSIS-RTOS2: Directory Structure and File Overview</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('pDirectory_Files.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">Directory Structure and File Overview </div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>The following section provides an overview of the directory structure and the files that are relevant for the user's for CMSIS-RTOS RTX v5. The following directory references start below the CMSIS pack installation path, for example ARM/CMSIS/<em>version</em>/CMSIS/RTOS2.</p>
+<h1><a class="anchor" id="Folders"></a>
+RTX v5 Directory Structure</h1>
+<p>The CMSIS-RTOS RTX v5 is delivered in source code and several examples are provided.</p>
+<table class="cmtable" summary="CMSIS-RTOS RTX Library Files">
+<tr>
+<th>Directory </th><th>Content </th></tr>
+<tr>
+<td>Include </td><td>Header files: <b>cmsis_os2.h</b> for <a class="el" href="rtos_api2.html">CMSIS-RTOS C API v2</a> and <b>os_tick.h</b> for <a class="el" href="rtos_os_tick_api.html">OS Tick API</a>. </td></tr>
+<tr>
+<td>Source </td><td>Generic <b>OS tick</b> implementations for various processors based on <a class="el" href="rtos_os_tick_api.html">OS Tick API</a>. </td></tr>
+<tr>
+<td>Template </td><td><a href="../../RTOS/html/index.html" class="el">CMSIS-RTOS API v1</a> template source and header file. </td></tr>
+<tr>
+<td>RTX </td><td>Directory with RTX specific files and folders. Also contains the component viewer description file. </td></tr>
+<tr>
+<td>RTX/Config </td><td>CMSIS-RTOS RTX configuration files RTX_Config.h and RTX_Config.c. </td></tr>
+<tr>
+<td>RTX/Examples </td><td>Example projects that can be directly used in development tools. </td></tr>
+<tr>
+<td>RTX/Include </td><td>RTX v5 specific include files. </td></tr>
+<tr>
+<td>RTX/Include1 </td><td>CMSIS-RTOS v1 API header file. </td></tr>
+<tr>
+<td>RTX/Library </td><td>Pre-built libraries (see next table for details). </td></tr>
+<tr>
+<td>RTX/Source </td><td>Source code that can be used with ARMCC and GCC. </td></tr>
+<tr>
+<td>RTX/Template </td><td>User code templates for creating application projects with CMSIS-RTOS RTX v5. </td></tr>
+</table>
+<h1><a class="anchor" id="libFiles"></a>
+RTX v5 Library Files</h1>
+<p>The CMSIS-RTOS RTX Library is available pre-compiled for ARMCC and GCC compilers and supports all Cortex-M processor variants in every configuration, including Arm Cortex-M23 and Cortex-M33.</p>
+<table class="cmtable" summary="CMSIS-RTOS RTX Library Files">
+<tr>
+<th>Library File </th><th>Processor Configuration </th></tr>
+<tr>
+<td>Library/ARM/RTX_CM0.lib </td><td>CMSIS-RTOS RTX Library for ARMCC Compiler, Cortex-M0 and M1, little-endian. </td></tr>
+<tr>
+<td>Library/ARM/RTX_CM3.lib </td><td>CMSIS-RTOS RTX Library for ARMCC Compiler, Cortex-M3, M4, and M7 without FPU, little-endian. </td></tr>
+<tr>
+<td>Library/ARM/RTX_CM4F.lib </td><td>CMSIS-RTOS RTX Library for ARMCC Compiler, Cortex-M4 and M7 with FPU, little-endian. </td></tr>
+<tr>
+<td>Library/ARM/RTX_V8MB.lib </td><td>CMSIS-RTOS RTX Library for ARMCC Compiler, Armv8-M Baseline. </td></tr>
+<tr>
+<td>Library/ARM/RTX_V8MBN.lib </td><td>CMSIS-RTOS RTX Library for ARMCC Compiler, Armv8-M Baseline, non-secure. </td></tr>
+<tr>
+<td>Library/ARM/RTX_V8MM.lib </td><td>CMSIS-RTOS RTX Library for ARMCC Compiler, Armv8-M Mainline. </td></tr>
+<tr>
+<td>Library/ARM/RTX_V8MMF.lib </td><td>CMSIS-RTOS RTX Library for ARMCC Compiler, Armv8-M Mainline with FPU. </td></tr>
+<tr>
+<td>Library/ARM/RTX_V8MMFN.lib </td><td>CMSIS-RTOS RTX Library for ARMCC Compiler, Armv8-M Mainline with FPU, non-secure. </td></tr>
+<tr>
+<td>Library/ARM/RTX_V8MMN.lib </td><td>CMSIS-RTOS RTX Library for ARMCC Compiler, Armv8-M Mainline, non-secure. </td></tr>
+<tr>
+<td>Library/GCC/libRTX_CM0.a </td><td>CMSIS-RTOS libRTX Library for GCC Compiler, Cortex-M0 and M1, little-endian. </td></tr>
+<tr>
+<td>Library/GCC/libRTX_CM3.a </td><td>CMSIS-RTOS libRTX Library for GCC Compiler, Cortex-M3, M4, and M7 without FPU, little-endian. </td></tr>
+<tr>
+<td>Library/GCC/libRTX_CM4F.a </td><td>CMSIS-RTOS libRTX Library for GCC Compiler, Cortex-M4 and M7 with FPU, little-endian. </td></tr>
+<tr>
+<td>Library/GCC/libRTX_V8MB.a </td><td>CMSIS-RTOS libRTX Library for GCC Compiler, Armv8-M Baseline. </td></tr>
+<tr>
+<td>Library/GCC/libRTX_V8MBN.a </td><td>CMSIS-RTOS libRTX Library for GCC Compiler, Armv8-M Baseline, non-secure. </td></tr>
+<tr>
+<td>Library/GCC/libRTX_V8MM.a </td><td>CMSIS-RTOS libRTX Library for GCC Compiler, Armv8-M Mainline. </td></tr>
+<tr>
+<td>Library/GCC/libRTX_V8MMF.a </td><td>CMSIS-RTOS libRTX Library for GCC Compiler, Armv8-M Mainline with FPU. </td></tr>
+<tr>
+<td>Library/GCC/libRTX_V8MMFN.a </td><td>CMSIS-RTOS libRTX Library for GCC Compiler, Armv8-M Mainline with FPU, non-secure. </td></tr>
+<tr>
+<td>Library/GCC/libRTX_V8MMN.a </td><td>CMSIS-RTOS libRTX Library for GCC Compiler, Armv8-M Mainline, non-secure. </td></tr>
+</table>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="index.html">index</a></li><li class="navelem"><a class="el" href="rtx5_impl.html">RTX v5 Implementation</a></li><li class="navelem"><a class="el" href="technicalData5.html">Technical Data</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/pHardwareRequirements.html b/docs/RTOS2/html/pHardwareRequirements.html
new file mode 100644
index 0000000..fac09bb
--- /dev/null
+++ b/docs/RTOS2/html/pHardwareRequirements.html
@@ -0,0 +1,221 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Hardware Requirements</title>
+<title>CMSIS-RTOS2: Hardware Requirements</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('pHardwareRequirements.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">Hardware Requirements </div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>The following section lists the hardware requirements for RTX v5 on the various supported target processors:</p>
+<h1><a class="anchor" id="tpProcessor"></a>
+Processor Requirements</h1>
+<p>RTX assumes a fully function-able processor and uses the following hardware features. It does not implement any confidence test for processor validation which should be provided by an user-supplied software test library.</p>
+<h2><a class="anchor" id="tpCortexM0_M0P_M23"></a>
+Cortex-M0/M0+/M23 target processor</h2>
+<table class="doxtable">
+<tr>
+<th align="left">Hardware Requirement </th><th align="left">Description </th></tr>
+<tr>
+<td align="left">SysTick timer </td><td align="left">The SysTick timer generates the kernel tick interrupts and the interface is implemented in os_systick.c using the <a class="el" href="group__CMSIS__RTOS__TickAPI.html">OS Tick API</a> </td></tr>
+<tr>
+<td align="left">Exception Handler </td><td align="left">RTX implements exception handlers for SVC, PendSV, and SysTick interrupt </td></tr>
+<tr>
+<td align="left">Core Registers </td><td align="left">The processor status is read using the following core registers: CONTROL, IPSR, PRIMASK </td></tr>
+<tr>
+<td align="left">System Control Block (SBC) </td><td align="left">To control and setup the processor exceptions including PendSV and SVC </td></tr>
+<tr>
+<td align="left">Interrupt Control </td><td align="left">The CMSIS-Core functions __disable_irq and __enable_irq to control the interrupt system via the CPSR core register. </td></tr>
+</table>
+<p>The interface files to the processor hardware are:</p>
+<ul>
+<li><b>irq_cm0.s</b> defines exception handlers for Cortex-M0/M0+</li>
+<li><b>irq_armv8mbl_common.s</b> defines exception handlers for Cortex-M23</li>
+<li><b>rtx_core_cm.h</b> defines processor specific helper functions and the interfaces to Core Registers and Core Peripherals.</li>
+<li><b>os_tick.h</b> is the <a class="el" href="group__CMSIS__RTOS__TickAPI.html">OS Tick API</a> that defines the interface functions to the SysTick timer.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd><ul>
+<li>The CMSIS-Core variable <code>SystemCoreClock</code> is used to configure the SysTick timer.</li>
+</ul>
+</dd></dl>
+<h2><a class="anchor" id="tpCortexM3_M4_M7_M33"></a>
+Cortex-M3/M4/M7/M33 target processor</h2>
+<table class="doxtable">
+<tr>
+<th align="left">Hardware Requirement </th><th align="left">Description </th></tr>
+<tr>
+<td align="left">SysTick timer </td><td align="left">The SysTick timer generates the kernel tick interrupts and the interface is implemented in os_systick.c using the <a class="el" href="group__CMSIS__RTOS__TickAPI.html">OS Tick API</a> </td></tr>
+<tr>
+<td align="left">Exception Handler </td><td align="left">RTX implements exception handlers for SVC, PendSV, and SysTick interrupt </td></tr>
+<tr>
+<td align="left">Core Registers </td><td align="left">The processor status is read using the following core registers: CONTROL, IPSR, PRIMASK, BASEPRI </td></tr>
+<tr>
+<td align="left">System Control Block (SBC) </td><td align="left">To control and setup the processor exceptions including PendSV and SVC </td></tr>
+<tr>
+<td align="left">NVIC Interface </td><td align="left">The CMSIS-Core function NVIC_GetPriorityGrouping to setup interrupt priorities. </td></tr>
+<tr>
+<td align="left">LDREX, STREX instruction </td><td align="left">Atomic execution avoids the requirement to disable interrupts and is implemented via exclusive access instructions. </td></tr>
+</table>
+<p>The interface files to the processor hardware are:</p>
+<ul>
+<li><b>irq_cm3.s</b> defines exception handlers for Cortex-M3 and Cortex-M4/M7 without floating point unit.</li>
+<li><b>irq_cm4f.s</b> defines exception handlers for Cortex-M4/M7 with floating point unit.</li>
+<li><b>irq_armv8mml_common.s</b> defines exception handlers for Cortex-M33</li>
+<li><b>rtx_core_cm.h</b> defines processor specific helper functions and the interfaces to Core Registers and Core Peripherals.</li>
+<li><b>os_tick.h</b> is the <a class="el" href="group__CMSIS__RTOS__TickAPI.html">OS Tick API</a> that defines the interface functions to the SysTick timer.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd><ul>
+<li>The CMSIS-Core variable <code>SystemCoreClock</code> is used to configure the SysTick timer.</li>
+</ul>
+</dd></dl>
+<h2><a class="anchor" id="tpCortexA5_A7_A9"></a>
+Cortex-A5/A7/A9 target processor</h2>
+<table class="doxtable">
+<tr>
+<th align="left">Hardware Requirement </th><th align="left">Description </th></tr>
+<tr>
+<td align="left">Timer Peripheral </td><td align="left">An arbitrary timer peripheral generates the kernel tick interrupts. The interfaces for Cortex-A Generic Timer and Private Timer are implemented in os_tick_gtim.c and os_tick_ptim.c using the <a class="el" href="group__CMSIS__RTOS__TickAPI.html">OS Tick API</a> </td></tr>
+<tr>
+<td align="left">Exception Handler </td><td align="left">RTX implements exception handlers for SVC, IRQ, Data Abort, Prefetch Abort and Undefined Instruction interrupt. </td></tr>
+<tr>
+<td align="left">Core Registers </td><td align="left">The processor status is read using the following core registers: CPSR, CPACR and FPSCR. </td></tr>
+<tr>
+<td align="left">LDREX, STREX instruction </td><td align="left">Atomic execution avoids the requirement to disable interrupts and is implemented via exclusive access instructions. </td></tr>
+<tr>
+<td align="left">Interrupt Controller </td><td align="left">An interrupt controller interface is required to setup and control Timer Peripheral interrupt. The interface for Arm GIC (Generic Interrupt Controller) is implemented in irq_ctrl_gic.c using the <a href="../../Core_A/html/group__irq__ctrl__gr.html" class="el">IRQ Controller API</a>. </td></tr>
+</table>
+<p>The interface files to the processor hardware are:</p>
+<ul>
+<li><b>irq_ca.s</b> defines SVC, IRQ, Data Abort, Prefetch Abort and Undefined Instruction exception handlers.</li>
+<li><b>rtx_core_ca.h</b> defines processor specific helper functions and the interfaces to Core Registers and Core Peripherals.</li>
+<li><b>os_tick.h</b> is the <a class="el" href="group__CMSIS__RTOS__TickAPI.html">OS Tick API</a> that defines the interface functions to the timer peripheral.</li>
+<li><b>irq_ctrl.h</b> is the <a href="../../Core_A/html/group__irq__ctrl__gr.html" class="el">IRQ Controller API</a> that defines the interface functions to the interrupt controller.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd><ul>
+<li>The CMSIS-Core variable <code>SystemCoreClock</code> is used to configure the timer peripheral.</li>
+</ul>
+</dd></dl>
+<h1><a class="anchor" id="rMemory"></a>
+Memory Requirements</h1>
+<p>RTX requires RAM memory that is accessible with contiguous linear addressing. When memory is split across multiple memory banks, some systems do not accept multiple load or store operations on this memory blocks.</p>
+<p>RTX does not implement any confidence test for memory validation. This should be implemented by an user-supplied software test library. </p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="index.html">index</a></li><li class="navelem"><a class="el" href="rtx5_impl.html">RTX v5 Implementation</a></li><li class="navelem"><a class="el" href="technicalData5.html">Technical Data</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/pToolchains.html b/docs/RTOS2/html/pToolchains.html
new file mode 100644
index 0000000..7f260b6
--- /dev/null
+++ b/docs/RTOS2/html/pToolchains.html
@@ -0,0 +1,161 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Supported Toolchains</title>
+<title>CMSIS-RTOS2: Supported Toolchains</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('pToolchains.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">Supported Toolchains </div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>Keil RTX5 is developed and tested using the common toolchains and development environments.</p>
+<h1><a class="anchor" id="technicalData_Toolchain_ARM"></a>
+Arm Compiler (Arm/Keil MDK, uVision5)</h1>
+<p>RTX5 is initially developed and optimized using Arm Compiler and Arm/Keil MDK. The current release is tested with the following versions: </p>
+<ul>
+<li>
+Arm Compiler 5.06 Update 6 </li>
+<li>
+Arm Compiler 6.6.2 (Long Term Maintenance) </li>
+<li>
+Arm Compiler 6.9 </li>
+<li>
+RTOS-aware debugging with uVision 5.24 </li>
+</ul>
+<h1><a class="anchor" id="technicalData_Toolchain_IAR"></a>
+IAR Embedded Workbench</h1>
+<p>RTX5 has been ported to the IAR Embedded Workbench. The following releases are known to work: </p>
+<ul>
+<li>
+IAR Embedded Workbench 7.7 (<a href="https://github.com/ARM-software/CMSIS_5/issues/201">community report</a>) </li>
+<li>
+IAR Embedded Workbench 7.80.4 </li>
+<li>
+<b>IAR Embedded Workbench 8.20.1</b> </li>
+</ul>
+<h1><a class="anchor" id="technicalData_Toolchain_GCC"></a>
+GNU Compiler Collection</h1>
+<p>RTX5 has also been ported to support GCC, maintenance mainly relays on community contribution. Active development is currently tested with: </p>
+<ul>
+<li>
+GNU Tools for Arm Embedded 6.3.1 20170620 </li>
+</ul>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="index.html">index</a></li><li class="navelem"><a class="el" href="rtx5_impl.html">RTX v5 Implementation</a></li><li class="navelem"><a class="el" href="technicalData5.html">Technical Data</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/pages.html b/docs/RTOS2/html/pages.html
new file mode 100644
index 0000000..a819afc
--- /dev/null
+++ b/docs/RTOS2/html/pages.html
@@ -0,0 +1,133 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Usage and Description</title>
+<title>CMSIS-RTOS2: Usage and Description</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('pages.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">Usage and Description</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">Here is a list of all related documentation pages:</div><div class="directory">
+<table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><a class="el" href="CodingRules.html" target="_self">Coding Rules</a></td><td class="desc"></td></tr>
+</table>
+</div><!-- directory -->
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:46 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/printComponentTabs.js b/docs/RTOS2/html/printComponentTabs.js
new file mode 100644
index 0000000..8afdb6b
--- /dev/null
+++ b/docs/RTOS2/html/printComponentTabs.js
@@ -0,0 +1,39 @@
+var strgURL = location.pathname; // path of current component
+
+// constuctor for the array of objects
+function tabElement(id, folderName, tabTxt ) {
+ this.id = id; // elementID as needed in html;
+ this.folderName = folderName; // folder name of the component
+ this.tabTxt = tabTxt; // Text displayed as menu on the web
+ this.currentListItem = '<li id="' + this.id + '" class="current"> <a href="../..' + this.folderName + 'index.html"><span>' + this.tabTxt + '</span></a></li>';
+ this.listItem = '<li id="' + this.id + '"> <a href="../..' + this.folderName + 'index.html"><span>' + this.tabTxt + '</span></a></li>';
+};
+
+// array of objects
+var arr = [];
+
+// fill array
+ arr.push( new tabElement( "GEN", "/General/html/", "General") );
+ arr.push( new tabElement( "CORE_A", "/Core_A/html/", "CMSIS-Core(A)") );
+ arr.push( new tabElement( "CORE_M", "/Core/html/", "CMSIS-Core(M)") );
+ arr.push( new tabElement( "DRV", "/Driver/html/", "Driver") );
+ arr.push( new tabElement( "DSP", "/DSP/html/", "DSP") );
+ arr.push( new tabElement( "NN", "/NN/html/", "NN") );
+ arr.push( new tabElement( "RTOSv1", "/RTOS/html/", "RTOS v1") );
+ arr.push( new tabElement( "RTOSv2", "/RTOS2/html/", "RTOS v2") );
+ arr.push( new tabElement( "PACK", "/Pack/html/", "Pack") );
+ arr.push( new tabElement( "SVD", "/SVD/html/", "SVD") );
+ arr.push( new tabElement( "DAP", "/DAP/html/", "DAP") );
+ arr.push( new tabElement( "ZONE", "/Zone/html/", "Zone") );
+
+// write tabs
+// called from the header file.
+function writeComponentTabs() {
+ for ( var i=0; i < arr.length; i++ ) {
+ if (strgURL.search(arr[i].folderName) > 0) { // if this is the current folder
+ document.write(arr[i].currentListItem); // then print and hightlight the tab
+ } else {
+ document.write(arr[i].listItem); // else, print the tab
+ }
+ }
+};
diff --git a/docs/RTOS2/html/project_window.png b/docs/RTOS2/html/project_window.png
new file mode 100644
index 0000000..137ae14
--- /dev/null
+++ b/docs/RTOS2/html/project_window.png
Binary files differ
diff --git a/docs/RTOS2/html/resize.js b/docs/RTOS2/html/resize.js
new file mode 100644
index 0000000..304fcb6
--- /dev/null
+++ b/docs/RTOS2/html/resize.js
@@ -0,0 +1,97 @@
+var cookie_namespace = 'doxygen';
+var sidenav,navtree,content,header;
+
+function readCookie(cookie)
+{
+ var myCookie = cookie_namespace+"_"+cookie+"=";
+ if (document.cookie)
+ {
+ var index = document.cookie.indexOf(myCookie);
+ if (index != -1)
+ {
+ var valStart = index + myCookie.length;
+ var valEnd = document.cookie.indexOf(";", valStart);
+ if (valEnd == -1)
+ {
+ valEnd = document.cookie.length;
+ }
+ var val = document.cookie.substring(valStart, valEnd);
+ return val;
+ }
+ }
+ return 0;
+}
+
+function writeCookie(cookie, val, expiration)
+{
+ if (val==undefined) return;
+ if (expiration == null)
+ {
+ var date = new Date();
+ date.setTime(date.getTime()+(10*365*24*60*60*1000)); // default expiration is one week
+ expiration = date.toGMTString();
+ }
+ document.cookie = cookie_namespace + "_" + cookie + "=" + val + "; expires=" + expiration+"; path=/";
+}
+
+function resizeWidth()
+{
+ var windowWidth = $(window).width() + "px";
+ var sidenavWidth = $(sidenav).outerWidth();
+ content.css({marginLeft:parseInt(sidenavWidth)+"px"});
+ writeCookie('width',sidenavWidth, null);
+}
+
+function restoreWidth(navWidth)
+{
+ var windowWidth = $(window).width() + "px";
+ content.css({marginLeft:parseInt(navWidth)+6+"px"});
+ sidenav.css({width:navWidth + "px"});
+}
+
+function resizeHeight()
+{
+ var headerHeight = header.outerHeight();
+ var footerHeight = footer.outerHeight();
+ var windowHeight = $(window).height() - headerHeight - footerHeight;
+ content.css({height:windowHeight + "px"});
+ navtree.css({height:windowHeight + "px"});
+ sidenav.css({height:windowHeight + "px",top: headerHeight+"px"});
+}
+
+function initResizable()
+{
+ header = $("#top");
+ sidenav = $("#side-nav");
+ content = $("#doc-content");
+ navtree = $("#nav-tree");
+ footer = $("#nav-path");
+ $(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } });
+ $(window).resize(function() { resizeHeight(); });
+ var width = readCookie('width');
+ if (width) { restoreWidth(width); } else { resizeWidth(); }
+ resizeHeight();
+ var url = location.href;
+ var i=url.indexOf("#");
+ if (i>=0) window.location.hash=url.substr(i);
+ var _preventDefault = function(evt) { evt.preventDefault(); };
+ $("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault);
+ $(document).bind('touchmove',function(e){
+ var device = navigator.userAgent.toLowerCase();
+ var ios = device.match(/(iphone|ipod|ipad)/);
+ if (ios) {
+ try {
+ var target = e.target;
+ while (target) {
+ if ($(target).css('-webkit-overflow-scrolling')=='touch') return;
+ target = target.parentNode;
+ }
+ e.preventDefault();
+ } catch(err) {
+ e.preventDefault();
+ }
+ }
+ });
+}
+
+
diff --git a/docs/RTOS2/html/rtosValidation.html b/docs/RTOS2/html/rtosValidation.html
new file mode 100644
index 0000000..a909f61
--- /dev/null
+++ b/docs/RTOS2/html/rtosValidation.html
@@ -0,0 +1,172 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>RTOS Validation</title>
+<title>CMSIS-RTOS2: RTOS Validation</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('rtosValidation.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">RTOS Validation </div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>Arm offers a <a href="http://www.keil.com/pack" class="el" target="_blank">Software Pack</a> for the CMSIS-RTOS Validation. The <b>ARM::CMSIS-RTOS_Validation</b> Pack contains the following:</p>
+<ul>
+<li>Source code of a CMSIS-RTOS Validation Suite along with configuration file.</li>
+<li>Documentation of the CMSIS-RTOS Validation Suite.</li>
+<li>Example that shows the usage of the CMSIS-RTOS Validation Suite using simulation.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>Currently, a public version of the test suite is available only for CMSIS-RTOS v1 API.</dd></dl>
+<p>The CMSIS-RTOS Validation Suite performs generic validation of various RTOS features. The test cases verify the functional behavior, test invalid parameters and call management functions from ISR.</p>
+<p>The following CMSIS-RTOS features can be tested with the current release:</p>
+<ul>
+<li>Thread : Create multiple threads, terminate, restart, yield, change priority</li>
+<li>Timer : Create periodic and one-shot timers</li>
+<li>GenWait : Call generic wait functions (osDelay and osWait)</li>
+<li>WaitFunc : Measure wait ticks (delay, mail, message, mutex, semaphore, signal)</li>
+</ul>
+<p>Moreover the following inter-thread communication functions can be tested:</p>
+<ul>
+<li>Signal : Verify signal events</li>
+<li>Memory Pool : Verify memory allocation</li>
+<li>Message Queue : Exchange messages between threads</li>
+<li>Mail Queue : Exchange data between threads</li>
+<li>Mutex : Synchronize resource access</li>
+<li>Semaphore : Access shared resources</li>
+</ul>
+<p>The RTOS Validation output can be printed to a console, output via ITM printf, or output to a memory buffer.</p>
+<h1><a class="anchor" id="test_output"></a>
+Sample Test Output</h1>
+<pre class="fragment">CMSIS-RTOS Test Suite Oct 21 2015 16:39:16
+
+TEST 01: TC_ThreadCreate PASSED
+TEST 02: TC_ThreadMultiInstance PASSED
+TEST 03: TC_ThreadTerminate PASSED
+ :
+ :
+TEST 08: TC_ThreadChainedCreate PASSED
+TEST 09: TC_ThreadYield NOT EXECUTED
+TEST 10: TC_ThreadParam PASSED
+ :
+ :
+TEST 60: TC_MailFromISRToThread PASSED
+
+Test Summary: 60 Tests, 59 Executed, 59 Passed, 0 Failed, 0 Warnings.
+Test Result: PASSED
+</pre> </div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="index.html">index</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/rtos_api2.html b/docs/RTOS2/html/rtos_api2.html
new file mode 100644
index 0000000..31420e6
--- /dev/null
+++ b/docs/RTOS2/html/rtos_api2.html
@@ -0,0 +1,275 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>CMSIS-RTOS C API v2</title>
+<title>CMSIS-RTOS2: CMSIS-RTOS C API v2</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('rtos_api2.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">CMSIS-RTOS C API v2 </div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>Overview of all CMSIS-RTOS C API v2 functions that are implemented in the <a class="el" href="genRTOS2IF.html#cmsis_os2_h">cmsis_os2.h header file</a>.</p>
+<h1><a class="anchor" id="rtos_api2_basics"></a>
+Common Design Concepts</h1>
+<p>All RTOS objects share a common design concept. The overall life-cycle of an object can be summarized as created -&gt; in use -&gt; destroyed.</p>
+<p><b>Create Objects</b></p>
+<p>An object is created by calling its <code>osXxxNew</code> function. The new function returns an identifier that can be used to operate with the new object. The actual state of an object is typically stored in an object specific control block. The memory layout (and size needed) for the control block is implementation specific. One should not make any specific assumptions about the control block. The control block layout might change and hence should be seen as an implementation internal detail.</p>
+<p>In order to expose control about object specific options all <code>osXxxNew</code> functions provide an optional <code>attr</code> argument, which can be left as <span class="XML-Token">NULL</span> by default. It takes a pointer to an object specific attribute structure, commonly containing the fields</p>
+<ul>
+<li><code>name</code> to attach a human readable name to the object for identification,</li>
+<li><code>attr_bits</code> to control object-specific options,</li>
+<li><code>cb_mem</code> to provide memory for the control block manually, and</li>
+<li><code>cb_size</code> to quantify the memory size provided for the control block.</li>
+</ul>
+<p>The <code>name</code> attribute is only used for object identification, e.g. using RTOS-aware debugging. The attached string is not used for any other purposes internally.</p>
+<p>The <code>cb_mem</code> and <code>cb_size</code> attributes can be used to provide memory for the control block manually instead of relying on the implementation internal memory allocation. One has to assure that the amount of memory pointed to by <code>cb_mem</code> is sufficient for the objects control block structure. If the size given as <code>cb_size</code> is not sufficient the <code>osXxxNew</code> function returns with an error, i.e. returning <span class="XML-Token">NULL</span>. Furthermore providing control block memory manually is less portable. Thus one has to take care about implementation specific alignment and placement requirements for instance. Refer to <a class="el" href="group__CMSIS__RTOS__MemoryMgmt.html">Memory Management</a> for further details.</p>
+<p><b>Object Usage</b></p>
+<p>After an object has been created successfully it can be used until it is destroyed. The actions defined for an object depends on its type. Commonly all the <code>osXxxDoSomething</code> access function require the reference to the object to work with as the first <code>xxx_id</code> parameter.</p>
+<p>The access function can be assumed to apply some sort of sanity checking on the id parameter. So that it is assured one cannot accidentally call an access function with a <span class="XML-Token">NULL</span> object reference. Furthermore the concrete object type is verified, i.e. one cannot call access functions of one object type with a reference to another object type.</p>
+<p>All further parameter checks applied are either object and action specific or may even be implementation specific. Thus one should always check action function return values for <code>osErrorParameter</code> to asure the provided arguments were accepted.</p>
+<p>As a rule of thumb only non-blocking access function can be used from <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a> (ISR). This incorporates <code>osXxxWait</code> functions (and similar) limited to be called with parameter <code>timeout</code> set to <span class="XML-Token">0</span>, i.e. usage of try-semantics.</p>
+<p><b>Object Destruction</b></p>
+<p>Objects that are not needed anymore can be destructed on demand to free the control block memory. Objects are not destructed implicitly. Thus one can assume an object id to be valid until <code>osXxxDelete</code> is called explicitly. The delete function finally frees the control block memory. In case of user provided control block memory, see above, the memory must be freed manually as well.</p>
+<p>The only exception one has to take care of are Threads which do not have an explicit <code>osThreadDelete</code> function. Threads can either be <code>detached</code> or <code>joinable</code>. Detached threads are automatically destroyed on termination, i.e. call to <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga2f8ba6dba6e9c065a6e236ffd410d74a">osThreadTerminate</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaddaa452dd7610e4096647a566d3556fc">osThreadExit</a> or return from thread function. On the other hand joinable threads are kept alive until one explicitly calls <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga3fca90fb0679afeb968aa8c3d5874487">osThreadJoin</a>.</p>
+<h1><a class="anchor" id="rtos_api2_functions"></a>
+Function Reference</h1>
+<ul>
+<li><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html">Kernel Information and Control</a><ul>
+<li><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga6f7764e7250c5c5364c00c45a5d1d199">osKernelGetInfo</a> : Get RTOS Kernel Information.</li>
+<li><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga48b69b81012fce051f639be288b243ba">osKernelGetState</a> : Get the current RTOS Kernel state.</li>
+<li><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae0fcaff6cecfb4013bb556c87afcd7d2">osKernelGetSysTimerCount</a> : Get the RTOS kernel system timer count.</li>
+<li><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga4d69215a93220f72be3684cad582f16a">osKernelGetSysTimerFreq</a> : Get the RTOS kernel system timer frequency.</li>
+<li><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659">osKernelInitialize</a> : Initialize the RTOS Kernel.</li>
+<li><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga948609ee930d9b38336b9e1c2a4dfe12">osKernelLock</a> : Lock the RTOS Kernel scheduler.</li>
+<li><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gaf401728b4657456198c33fe75f8d6720">osKernelUnlock</a> : Unlock the RTOS Kernel scheduler.</li>
+<li><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae7d0a71b9586cbbb49fcbdf6a04f0289">osKernelRestoreLock</a> : Restore the RTOS Kernel scheduler lock state.</li>
+<li><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga8c4b4d7ed34cab73c001665d9176aced">osKernelResume</a> : Resume the RTOS Kernel scheduler.</li>
+<li><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221">osKernelStart</a> : Start the RTOS Kernel scheduler.</li>
+<li><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae26683e1606ec633354a2876c68f0c1f">osKernelSuspend</a> : Suspend the RTOS Kernel scheduler.</li>
+<li><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga84bcdbf2fb76b10c8df4e439f0c7e11b">osKernelGetTickCount</a> : Get the RTOS kernel tick count.</li>
+<li><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga7a8d7bd927eaaa58999f91d7d6310cee">osKernelGetTickFreq</a> : Get the RTOS kernel tick frequency.</li>
+</ul>
+</li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html">Thread Management</a><ul>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaaad14cd9547341ea8109dc4e8540f1dc">osThreadDetach</a> : Detach a thread (thread storage can be reclaimed when thread terminates).</li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga5606604d56e21ece1a654664be877439">osThreadEnumerate</a> : Enumerate active threads.</li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaddaa452dd7610e4096647a566d3556fc">osThreadExit</a> : Terminate execution of current running thread.</li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga495b3f812224e7301f23a691793765db">osThreadGetCount</a> : Get number of active threads.</li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a> : Return the thread ID of the current running thread.</li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gac3230f3a55a297514b013ebf38f27e0a">osThreadGetName</a> : Get name of a thread.</li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga0aeaf349604f456e68e78f9d3b42e44b">osThreadGetPriority</a> : Get current priority of a thread.</li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gab9f8bd715d671c6ee27644867bc1bf65">osThreadGetStackSize</a> : Get stack size of a thread.</li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga9c83bd5dd8de329701775d6ef7012720">osThreadGetStackSpace</a> : Get available stack space of a thread based on stack watermark recording during execution.</li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gacc0a98b42f0a5928e12dc91dc76866b9">osThreadGetState</a> : Get current thread state of a thread.</li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga3fca90fb0679afeb968aa8c3d5874487">osThreadJoin</a> : Wait for specified thread to terminate.</li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> : Create a thread and add it to Active Threads.</li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga3dbad90eff394b02de76a452c84c5d80">osThreadResume</a> : Resume execution of a thread.</li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga861a420fb2d643115b06622903fb3bfb">osThreadSetPriority</a> : Change priority of a thread.</li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa9de419d0152bf77e9bbcd1f369fb990">osThreadSuspend</a> : Suspend execution of a thread.</li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga2f8ba6dba6e9c065a6e236ffd410d74a">osThreadTerminate</a> : Terminate execution of a thread.</li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad01c7ec26535b1de6b018bb9466720e2">osThreadYield</a> : Pass control to next thread that is in state <b>READY</b>.</li>
+</ul>
+</li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html">Thread Flags</a><ul>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga6f89ef9caded1d9963c7b12b0f6412c9">osThreadFlagsSet</a> : Set the specified Thread Flags of a thread.</li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga656abc1c862c5b9a2b13584c42cc0bfa">osThreadFlagsClear</a> : Clear the specified Thread Flags of current running thread.</li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga85c8d2c89466e25abbcb545d9ddd71ba">osThreadFlagsGet</a> : Get the current Thread Flags of current running thread.</li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b">osThreadFlagsWait</a> : Wait for one or more Thread Flags of the current running thread to become signaled.</li>
+</ul>
+</li>
+<li><a class="el" href="group__CMSIS__RTOS__EventFlags.html">Event Flags</a><ul>
+<li><a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga59f4ddf0ee8c395b1672bb978d1cfc88">osEventFlagsGetName</a> : Get name of an Event Flags object.</li>
+<li><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a> : Create and Initialize an Event Flags object.</li>
+<li><a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga7c4acf2fb0d506ec82905dee53fb5435">osEventFlagsDelete</a> : Delete an Event Flags object.</li>
+<li><a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga33b71d14cecf90b4e72639dd19f23a5e">osEventFlagsSet</a> : Set the specified Event Flags.</li>
+<li><a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga93bf258ca0007c6641fbe8e4f2b8a1e5">osEventFlagsClear</a> : Clear the specified Event Flags.</li>
+<li><a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga8bda3185f46bfd278cea8a6cf357677d">osEventFlagsGet</a> : Get the current Event Flags.</li>
+<li><a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">osEventFlagsWait</a> : Wait for one or more Event Flags to become signaled.</li>
+</ul>
+</li>
+<li><a class="el" href="group__CMSIS__RTOS__Wait.html">Generic Wait Functions</a><ul>
+<li><a class="el" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a> : Wait for Timeout (Time Delay).</li>
+<li><a class="el" href="group__CMSIS__RTOS__Wait.html#ga3c807924c2d6d43bc2ffb49da3f7f3a1">osDelayUntil</a> : Wait until specified time.</li>
+</ul>
+</li>
+<li><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html">Timer Management</a><ul>
+<li><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad0001dd74721ab461789324806db2453">osTimerDelete</a> : Delete a timer.</li>
+<li><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#ga4f82a98eee4d9ea79507e44340d3d319">osTimerGetName</a> : Get name of a timer.</li>
+<li><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#ga69d3589f54194022c30dd01e45ec6741">osTimerIsRunning</a> : Check if a timer is running.</li>
+<li><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec">osTimerNew</a> : Create and Initialize a timer.</li>
+<li><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d">osTimerStart</a> : Start or restart a timer.</li>
+<li><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gabd7a89356da7717293eb0bc5d87b8ac9">osTimerStop</a> : Stop a timer.</li>
+</ul>
+</li>
+<li><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html">Mutex Management</a><ul>
+<li><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gabc54686ea0fc281823b1763422d2a924">osMutexAcquire</a> : Acquire a Mutex or timeout if it is locked.</li>
+<li><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gabee73ad227ba4587d3db12ef9bd582bc">osMutexDelete</a> : Delete a Mutex object.</li>
+<li><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga00b5e58cd247a412d1afd18732d8b752">osMutexGetName</a> : Get name of a Mutex object.</li>
+<li><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga7f9a7666df0978738cd570cb700b83fb">osMutexGetOwner</a> : Get Thread which owns a Mutex object.</li>
+<li><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8">osMutexNew</a> : Create and Initialize a Mutex object.</li>
+<li><a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gaea629705703580ff58776bf73c8db915">osMutexRelease</a> : Release a Mutex that was acquired by <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gabc54686ea0fc281823b1763422d2a924">osMutexAcquire</a>.</li>
+</ul>
+</li>
+<li><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html">Semaphores</a><ul>
+<li><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7e94c8b242a0c81f2cc79ec22895c87b">osSemaphoreAcquire</a> : Acquire a Semaphore token or timeout if no tokens are available.</li>
+<li><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga81258ce9c67fa89f07cc49d2e136cd88">osSemaphoreDelete</a> : Delete a Semaphore object.</li>
+<li><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7559d4dff3cda9992fc5ab5de3e74c70">osSemaphoreGetCount</a> : Get current Semaphore token count.</li>
+<li><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga9586952051f00285f1482dbe6695bbc4">osSemaphoreGetName</a> : Get name of a Semaphore object.</li>
+<li><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a">osSemaphoreNew</a> : Create and Initialize a Semaphore object.</li>
+<li><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga0abcee1b5449d7a6928fb9248c690bb6">osSemaphoreRelease</a> : Release a Semaphore token up to the initial maximum count.</li>
+</ul>
+</li>
+<li><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html">Memory Pool</a><ul>
+<li><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga8ead54e99ccb8f112356c88f99d38fbe">osMemoryPoolAlloc</a> : Allocate a memory block from a Memory Pool.</li>
+<li><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga8c39e7e5cd2b9eda907466808e59d62e">osMemoryPoolDelete</a> : Delete a Memory Pool object.</li>
+<li><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gabb4f4560daa6d1f8c8789082ee186d16">osMemoryPoolFree</a> : Return an allocated memory block back to a Memory Pool.</li>
+<li><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gab2bf059b7fa7679c3cccdaeec60b6c0e">osMemoryPoolGetBlockSize</a> : Get memory block size in a Memory Pool.</li>
+<li><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gad696e94bfbe28f0b6613f9303fdf6a37">osMemoryPoolGetCapacity</a> : Get maximum number of memory blocks in a Memory Pool.</li>
+<li><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga958a9449bff8c95ce213de98eef5739d">osMemoryPoolGetCount</a> : Get number of memory blocks used in a Memory Pool.</li>
+<li><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gab414a1e138205a55820acfa277c8f386">osMemoryPoolGetName</a> : Get name of a Memory Pool object.</li>
+<li><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga0394cffa9479a7994e3b03c79c1cb909">osMemoryPoolGetSpace</a> : Get number of memory blocks available in a Memory Pool.</li>
+<li><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc">osMemoryPoolNew</a> : Create and Initialize a Memory Pool object.</li>
+</ul>
+</li>
+<li><a class="el" href="group__CMSIS__RTOS__Message.html">Message Queue</a><ul>
+<li><a class="el" href="group__CMSIS__RTOS__Message.html#gaba987f665444e0d83fa6a3a68bc72abe">osMessageQueueDelete</a> : Delete a Message Queue object.</li>
+<li><a class="el" href="group__CMSIS__RTOS__Message.html#gad90d4959466a7a65105061da8256ab9e">osMessageQueueGet</a> : Get a Message from a Queue or timeout if Queue is empty.</li>
+<li><a class="el" href="group__CMSIS__RTOS__Message.html#gac24f87d4f395e9e9c900c320e45ade8a">osMessageQueueGetCapacity</a> : Get maximum number of messages in a Message Queue.</li>
+<li><a class="el" href="group__CMSIS__RTOS__Message.html#ga6a32ac394fcff568b251c160cc3014b2">osMessageQueueGetCount</a> : Get number of queued messages in a Message Queue.</li>
+<li><a class="el" href="group__CMSIS__RTOS__Message.html#ga96d3d84069b20359de48109e28a1a89e">osMessageQueueGetMsgSize</a> : Get maximum message size in a Memory Pool.</li>
+<li><a class="el" href="group__CMSIS__RTOS__Message.html#gae7cf7bf2b97a5ae481fb60fcce99247a">osMessageQueueGetName</a> : Get name of a Message Queue object.</li>
+<li><a class="el" href="group__CMSIS__RTOS__Message.html#gaddf0904427436dd3880d46263c2dc9fa">osMessageQueueGetSpace</a> : Get number of available slots for messages in a Message Queue.</li>
+<li><a class="el" href="group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed">osMessageQueueNew</a> : Create and Initialize a Message Queue object.</li>
+<li><a class="el" href="group__CMSIS__RTOS__Message.html#gaa515fc8b956f721a8f72b2c505813bfc">osMessageQueuePut</a> : Put a Message into a Queue or timeout if Queue is full.</li>
+<li><a class="el" href="group__CMSIS__RTOS__Message.html#gac6dce7f9ad132d266292c2e979d861b4">osMessageQueueReset</a> : Reset a Message Queue to initial empty state.</li>
+</ul>
+</li>
+</ul>
+<p>The following CMSIS-RTOS C API v2 functions can be called from threads and <a class="el" href="theory_of_operation.html#CMSIS_RTOS_ISR_Calls">Interrupt Service Routines</a> (ISR):</p>
+<ul>
+<li><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga6f7764e7250c5c5364c00c45a5d1d199">osKernelGetInfo</a>, <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga48b69b81012fce051f639be288b243ba">osKernelGetState</a>, <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga84bcdbf2fb76b10c8df4e439f0c7e11b">osKernelGetTickCount</a>, <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga7a8d7bd927eaaa58999f91d7d6310cee">osKernelGetTickFreq</a>, <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae0fcaff6cecfb4013bb556c87afcd7d2">osKernelGetSysTimerCount</a>, <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga4d69215a93220f72be3684cad582f16a">osKernelGetSysTimerFreq</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>, <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga6f89ef9caded1d9963c7b12b0f6412c9">osThreadFlagsSet</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga33b71d14cecf90b4e72639dd19f23a5e">osEventFlagsSet</a>, <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga93bf258ca0007c6641fbe8e4f2b8a1e5">osEventFlagsClear</a>, <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga8bda3185f46bfd278cea8a6cf357677d">osEventFlagsGet</a>, <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">osEventFlagsWait</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7e94c8b242a0c81f2cc79ec22895c87b">osSemaphoreAcquire</a>, <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga0abcee1b5449d7a6928fb9248c690bb6">osSemaphoreRelease</a>, <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7559d4dff3cda9992fc5ab5de3e74c70">osSemaphoreGetCount</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga8ead54e99ccb8f112356c88f99d38fbe">osMemoryPoolAlloc</a>, <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gabb4f4560daa6d1f8c8789082ee186d16">osMemoryPoolFree</a>, <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gad696e94bfbe28f0b6613f9303fdf6a37">osMemoryPoolGetCapacity</a>, <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gab2bf059b7fa7679c3cccdaeec60b6c0e">osMemoryPoolGetBlockSize</a>, <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga958a9449bff8c95ce213de98eef5739d">osMemoryPoolGetCount</a>, <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga0394cffa9479a7994e3b03c79c1cb909">osMemoryPoolGetSpace</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__Message.html#gaa515fc8b956f721a8f72b2c505813bfc">osMessageQueuePut</a>, <a class="el" href="group__CMSIS__RTOS__Message.html#gad90d4959466a7a65105061da8256ab9e">osMessageQueueGet</a>, <a class="el" href="group__CMSIS__RTOS__Message.html#gac24f87d4f395e9e9c900c320e45ade8a">osMessageQueueGetCapacity</a>, <a class="el" href="group__CMSIS__RTOS__Message.html#ga96d3d84069b20359de48109e28a1a89e">osMessageQueueGetMsgSize</a>, <a class="el" href="group__CMSIS__RTOS__Message.html#ga6a32ac394fcff568b251c160cc3014b2">osMessageQueueGetCount</a>, <a class="el" href="group__CMSIS__RTOS__Message.html#gaddf0904427436dd3880d46263c2dc9fa">osMessageQueueGetSpace</a> </li>
+</ul>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="index.html">index</a></li><li class="navelem"><a class="el" href="functionOverview.html">Function Overview</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/rtos_apicpp.html b/docs/RTOS2/html/rtos_apicpp.html
new file mode 100644
index 0000000..d6cf733
--- /dev/null
+++ b/docs/RTOS2/html/rtos_apicpp.html
@@ -0,0 +1,130 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>CMSIS-RTOS C++ API</title>
+<title>CMSIS-RTOS2: CMSIS-RTOS C++ API</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('rtos_apicpp.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">CMSIS-RTOS C++ API </div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>A C++11/C++14 interface is planned for the future. </p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="index.html">index</a></li><li class="navelem"><a class="el" href="functionOverview.html">Function Overview</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/rtos_os_tick_api.html b/docs/RTOS2/html/rtos_os_tick_api.html
new file mode 100644
index 0000000..a2dfaca
--- /dev/null
+++ b/docs/RTOS2/html/rtos_os_tick_api.html
@@ -0,0 +1,144 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>OS Tick API</title>
+<title>CMSIS-RTOS2: OS Tick API</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('rtos_os_tick_api.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">OS Tick API </div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>The CMSIS OS Tick API may be used by an RTOS implementation to be easily potable across the different Cortex-M and Cortex-A processors. It provides a generic interface to a kernel system tick timer and defines the following functions:</p>
+<ul>
+<li>The Reference for <a class="el" href="group__CMSIS__RTOS__TickAPI.html">OS Tick API</a> provides details about these functions:<ul>
+<li><a class="el" href="group__CMSIS__RTOS__TickAPI.html#ga5eeffb4d9dc6c6802fee8898096d9a59">OS_Tick_Setup</a> : Setup OS Tick timer to generate periodic RTOS Kernel Ticks.</li>
+<li><a class="el" href="group__CMSIS__RTOS__TickAPI.html#ga3e47971bf3a02599d9ecb32208adafec">OS_Tick_Enable</a> : Enable OS Tick timer interrupt.</li>
+<li><a class="el" href="group__CMSIS__RTOS__TickAPI.html#ga5e325c304fef5003b1dc31906f6a3056">OS_Tick_Disable</a> : Disable OS Tick timer interrupt.</li>
+<li><a class="el" href="group__CMSIS__RTOS__TickAPI.html#ga57065ec4b281504ad4de13a419870b4f">OS_Tick_AcknowledgeIRQ</a> : Acknowledge execution of OS Tick timer interrupt.</li>
+<li><a class="el" href="group__CMSIS__RTOS__TickAPI.html#gaa8b4eca23e3ffe2df403291958cdc905">OS_Tick_GetIRQn</a> : Get OS Tick timer IRQ number.</li>
+<li><a class="el" href="group__CMSIS__RTOS__TickAPI.html#ga936217ea28236fb57648973e0d8f627a">OS_Tick_GetClock</a> : Get OS Tick timer clock frequency.</li>
+<li><a class="el" href="group__CMSIS__RTOS__TickAPI.html#ga123151dc19d5a94a68f12cdbf61a9bb5">OS_Tick_GetInterval</a> : Get OS Tick timer interval reload value.</li>
+<li><a class="el" href="group__CMSIS__RTOS__TickAPI.html#gaa64a145a554f1e5077848938d7f39c92">OS_Tick_GetCount</a> : Get OS Tick timer counter value.</li>
+<li><a class="el" href="group__CMSIS__RTOS__TickAPI.html#ga1f9a593126b7f0b66fc526c2cebd6192">OS_Tick_GetOverflow</a> : Get OS Tick timer overflow status. </li>
+</ul>
+</li>
+</ul>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="index.html">index</a></li><li class="navelem"><a class="el" href="functionOverview.html">Function Overview</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/rtos_revisionHistory.html b/docs/RTOS2/html/rtos_revisionHistory.html
new file mode 100644
index 0000000..bde1a04
--- /dev/null
+++ b/docs/RTOS2/html/rtos_revisionHistory.html
@@ -0,0 +1,265 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Revision History</title>
+<title>CMSIS-RTOS2: Revision History</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('rtos_revisionHistory.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">Revision History </div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><h1><a class="anchor" id="GenRTOS2Rev"></a>
+CMSIS-RTOS API Version 2</h1>
+<table class="cmtable" summary="Revision History">
+<tr>
+<th>Version </th><th>Description </th></tr>
+<tr>
+<td>V2.1.3 </td><td>Additional functions allowed to be called from Interrupt Service Routines:<ul>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a> </li>
+</ul>
+</td></tr>
+<tr>
+<td>V2.1.2 </td><td>Additional functions allowed to be called from Interrupt Service Routines:<ul>
+<li><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga6f7764e7250c5c5364c00c45a5d1d199">osKernelGetInfo</a>, <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga48b69b81012fce051f639be288b243ba">osKernelGetState</a> </li>
+</ul>
+</td></tr>
+<tr>
+<td>V2.1.1 </td><td><p class="starttd">Additional functions allowed to be called from Interrupt Service Routines:</p>
+<ul>
+<li><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga84bcdbf2fb76b10c8df4e439f0c7e11b">osKernelGetTickCount</a>, <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga7a8d7bd927eaaa58999f91d7d6310cee">osKernelGetTickFreq</a></li>
+</ul>
+<p class="endtd">Changed Kernel Tick type to uint32_t:</p>
+<ul>
+<li>updated: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga84bcdbf2fb76b10c8df4e439f0c7e11b">osKernelGetTickCount</a>, <a class="el" href="group__CMSIS__RTOS__Wait.html#ga3c807924c2d6d43bc2ffb49da3f7f3a1">osDelayUntil</a> </li>
+</ul>
+</td></tr>
+<tr>
+<td>V2.1.0 </td><td><p class="starttd">Support for critical and uncritical sections (nesting safe):</p>
+<ul>
+<li>updated: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga948609ee930d9b38336b9e1c2a4dfe12">osKernelLock</a>, <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gaf401728b4657456198c33fe75f8d6720">osKernelUnlock</a></li>
+<li>added: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae7d0a71b9586cbbb49fcbdf6a04f0289">osKernelRestoreLock</a></li>
+</ul>
+<p class="endtd">Updated <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html">Thread Flags</a> and <a class="el" href="group__CMSIS__RTOS__EventFlags.html">Event Flags</a>:</p>
+<ul>
+<li>changed flags parameter and return type from int32_t to uint32_t </li>
+</ul>
+</td></tr>
+<tr>
+<td>V2.0.0 </td><td>New API Version 2.0 available.<ul>
+<li>See <a class="el" href="rtos_api2.html">CMSIS-RTOS C API v2</a> for a detailed function reference.</li>
+<li>See <a class="el" href="os2Migration.html">Migration from API v1 to API v2</a> for details on the migration process from API Version 1. </li>
+</ul>
+</td></tr>
+<tr>
+<td>V1.02 - only documentation changes </td><td>Added: Overview of the <a class="el" href="rtosValidation.html">CMSIS-RTOS Validation</a> Software Pack.<br/>
+ Clarified: Behavior of <a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a>. </td></tr>
+<tr>
+<td>V1.02 </td><td>Added: New control functions for short timeouts in microsecond resolution <b>osKernelSysTick</b>, <b>osKernelSysTickFrequency</b>, <b>osKernelSysTickMicroSec</b>.<br/>
+ Removed: osSignalGet. fv </td></tr>
+<tr>
+<td>V1.01 </td><td>Added capabilities for C++, kernel initialization and object deletion.<br/>
+ Prepared for C++ class interface. In this context to <em>const</em> attribute has been moved from osXxxxDef_t typedefs to the osXxxxDef macros.<br/>
+ Added: <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad0001dd74721ab461789324806db2453">osTimerDelete</a>, <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gabee73ad227ba4587d3db12ef9bd582bc">osMutexDelete</a>, <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga81258ce9c67fa89f07cc49d2e136cd88">osSemaphoreDelete</a>.<br/>
+ Added: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659">osKernelInitialize</a> that prepares the kernel for object creation.<br/>
+ </td></tr>
+<tr>
+<td>V1.00 </td><td>First official Release.<br/>
+ Added: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221">osKernelStart</a>; starting 'main' as a thread is now an optional feature.<br/>
+ Semaphores have now the standard behavior.<br/>
+ <b>osTimerCreate</b> does no longer start the timer. Added: <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d">osTimerStart</a> (replaces osTimerRestart).<br/>
+ Changed: osThreadPass is renamed to <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad01c7ec26535b1de6b018bb9466720e2">osThreadYield</a>. </td></tr>
+<tr>
+<td>V0.02 </td><td>Preview Release. </td></tr>
+</table>
+<h1><a class="anchor" id="RTX5RevisionHistory"></a>
+CMSIS-RTOS RTX Version 5</h1>
+<table class="cmtable" summary="Revision History">
+<tr>
+<th>Version </th><th>Description </th></tr>
+<tr>
+<td>V5.4.0 </td><td><ul>
+<li>Based on CMSIS-RTOS API V2.1.3.</li>
+<li>Added support for Event Recorder initialization and filter setup.</li>
+<li>Added support to use RTOS as Event Recorder Time Stamp source.</li>
+<li>Fixed osDelayUntil longest delay (limited to 2^31-1).</li>
+<li>Fixed optimization issue when using GCC optimization level 3.</li>
+<li>Fixed osMemoryPoolAlloc to avoid potential race condition.</li>
+<li>Restructured exception handling for Cortex-A devices.</li>
+<li>Minor code optimizations (removed unnecessary checks). </li>
+</ul>
+</td></tr>
+<tr>
+<td>V5.3.0 </td><td><ul>
+<li>Added Object Memory usage counters.</li>
+<li>Added support for additional external configuration file.</li>
+<li>Added user configurable names for system threads (Idle and Timer).</li>
+<li>Added support for OS sections when using ARMCC5.</li>
+<li>Added callback for MPU integration (experimental)</li>
+<li>Increased default thread stack sizes to 256 bytes.</li>
+<li>Fixed stack context display for running thread in SCVD.</li>
+<li>Enhanced MISRA Compliance. </li>
+</ul>
+</td></tr>
+<tr>
+<td>V5.2.3 </td><td><ul>
+<li>Based on CMSIS-RTOS API V2.1.2.</li>
+<li>Added TrustZone Module Identifier configuration for Idle and Timer Thread.</li>
+<li>Moved SVC/PendSV handler priority setup from osKernelInitialize to osKernelStart (User Priority Grouping can be updated after osKernelInitialize but before osKernelStart).</li>
+<li>Corrected SysTick and PendSV handlers for ARMv8-M Baseline.</li>
+<li>Corrected memory allocation for stack and data when "Object specific Memory allocation" configuration is used.</li>
+<li>Added support for ARMv8-M IAR compiler. </li>
+</ul>
+</td></tr>
+<tr>
+<td>V5.2.2 </td><td><ul>
+<li>Corrected IRQ and SVC exception handlers for Cortex-A. </li>
+</ul>
+</td></tr>
+<tr>
+<td>V5.2.1 </td><td><ul>
+<li>Corrected SysTick and SVC Interrupt Priority for Cortex-M. </li>
+</ul>
+</td></tr>
+<tr>
+<td>V5.2.0 </td><td><ul>
+<li>Based on CMSIS-RTOS API V2.1.1.</li>
+<li>Added support for for Cortex-A.</li>
+<li>Using OS Tick API for RTX Kernel Timer Tick.</li>
+<li>Fixed potential corruption of terminated threads list.</li>
+<li>Corrected MessageQueue to use actual message length (before padding).</li>
+<li>Corrected parameters for ThreadEnumerate and MessageQueueInserted events.</li>
+<li>Timer Thread creation moved to osKernelStart. </li>
+</ul>
+</td></tr>
+<tr>
+<td>V5.1.0 </td><td><ul>
+<li>Based on CMSIS-RTOS API V2.1.0.</li>
+<li>Added support for Event recording.</li>
+<li>Added support for IAR compiler.</li>
+<li>Updated configuration files: RTX_Config.h for the configuration settings and RTX_config.c for implementing the <a class="el" href="group__rtx5__specific.html">RTX v5 Specific API</a>.</li>
+<li>osRtx name-space for RTX specific symbols. </li>
+</ul>
+</td></tr>
+<tr>
+<td>V5.0.0 </td><td>Initial release compliant to CMSIS-RTOS2.<br/>
+ </td></tr>
+</table>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="index.html">index</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/rtx5_impl.html b/docs/RTOS2/html/rtx5_impl.html
new file mode 100644
index 0000000..de1d804
--- /dev/null
+++ b/docs/RTOS2/html/rtx5_impl.html
@@ -0,0 +1,139 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>RTX v5 Implementation</title>
+<title>CMSIS-RTOS2: RTX v5 Implementation</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('rtx5_impl.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">RTX v5 Implementation </div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>Keil RTX version 5 (RTX5) implements the CMSIS-RTOS2 as a native RTOS interface for Arm Cortex-M processor-based devices. A translation layer to CMSIS-RTOS API v1 is provided. Therefore, RTX5 can be used in applications that where previously based on RTX version 4 and CMSIS-RTOS version 1 with minimal effort.</p>
+<p>The following sections provide further details:</p>
+<ul>
+<li><a class="el" href="cre_rtx_proj.html">Create an RTX5 Project</a> explains how to setup an RTX v5 project in Keil MDK.</li>
+<li><a class="el" href="theory_of_operation.html">Theory of Operation</a> provides general information about the operation of CMSIS-RTOS RTX v5.</li>
+<li><a class="el" href="config_rtx5.html">Configure RTX v5</a> describes configuration parameters of CMSIS-RTOS RTX v5.</li>
+<li><a class="el" href="creating_RTX5_LIB.html">Building the RTX5 Library</a> explains how to build your own CMSIS-RTOS RTX v5 library.</li>
+<li><a class="el" href="technicalData5.html">Technical Data</a> lists hardware, software, and resource requirements, supplied files, and supported tool chains.</li>
+<li><a class="el" href="misraCompliance5.html">MISRA C:2012 Compliance</a> describes the violations to the MISRA standard. </li>
+</ul>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="index.html">index</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/rtx5_impl.js b/docs/RTOS2/html/rtx5_impl.js
new file mode 100644
index 0000000..2fa6c97
--- /dev/null
+++ b/docs/RTOS2/html/rtx5_impl.js
@@ -0,0 +1,81 @@
+var rtx5_impl =
+[
+ [ "Create an RTX5 Project", "cre_rtx_proj.html", [
+ [ "Additional requirements for RTX on Cortex-A", "cre_rtx_proj.html#cre_rtx_cortexa", null ],
+ [ "Using Interrupts on Cortex-M", "cre_rtx_proj.html#cre_UsingIRQs", null ],
+ [ "Add support for RTX specific functions", "cre_rtx_proj.html#cre_rtx_proj_specifics", null ],
+ [ "Add Event Recorder Visibility", "cre_rtx_proj.html#cre_rtx_proj_er", null ]
+ ] ],
+ [ "Theory of Operation", "theory_of_operation.html", [
+ [ "System Startup", "theory_of_operation.html#SystemStartup", null ],
+ [ "Scheduler", "theory_of_operation.html#Scheduler", null ],
+ [ "Memory Allocation", "theory_of_operation.html#MemoryAllocation", [
+ [ "Global Memory Pool", "theory_of_operation.html#GlobalMemoryPool", null ],
+ [ "Object-specific Memory Pools", "theory_of_operation.html#ObjectMemoryPool", null ],
+ [ "Static Object Memory", "theory_of_operation.html#StaticObjectMemory", null ]
+ ] ],
+ [ "Thread Stack Management", "theory_of_operation.html#ThreadStack", null ],
+ [ "Low-Power Operation", "theory_of_operation.html#lowPower", null ],
+ [ "RTX Kernel Timer Tick", "theory_of_operation.html#kernelTimer", [
+ [ "Tick-less Low-Power Operation", "theory_of_operation.html#TickLess", null ]
+ ] ],
+ [ "RTX5 Header File", "theory_of_operation.html#rtx_os_h", null ],
+ [ "Timeout Value", "theory_of_operation.html#CMSIS_RTOS_TimeOutValue", null ],
+ [ "Calls from Interrupt Service Routines", "theory_of_operation.html#CMSIS_RTOS_ISR_Calls", null ]
+ ] ],
+ [ "Configure RTX v5", "config_rtx5.html", [
+ [ "System Configuration", "config_rtx5.html#systemConfig", [
+ [ "Global dynamic memory", "config_rtx5.html#systemConfig_glob_mem", null ],
+ [ "Round-Robin Thread Switching", "config_rtx5.html#systemConfig_rr", null ],
+ [ "ISR FIFO Queue", "config_rtx5.html#systemConfig_isr_fifo", null ],
+ [ "Object Memory Usage Counters", "config_rtx5.html#systemConfig_usage_counters", null ]
+ ] ],
+ [ "Thread Configuration", "config_rtx5.html#threadConfig", [
+ [ "Configuration of Thread Count and Stack Space", "config_rtx5.html#threadConfig_countstack", null ],
+ [ "Stack Overflow Checking", "config_rtx5.html#threadConfig_ovfcheck", null ],
+ [ "Stack Usage Watermark", "config_rtx5.html#threadConfig_watermark", null ],
+ [ "Processor Mode for Thread Execution", "config_rtx5.html#threadConfig_procmode", null ]
+ ] ],
+ [ "Timer Configuration", "config_rtx5.html#timerConfig", [
+ [ "Object-specific memory allocation", "config_rtx5.html#timerConfig_obj", null ],
+ [ "User Timer Thread", "config_rtx5.html#timerConfig_user", null ]
+ ] ],
+ [ "Event Flags Configuration", "config_rtx5.html#eventFlagsConfig", [
+ [ "Object-specific memory allocation", "config_rtx5.html#eventFlagsConfig_obj", null ]
+ ] ],
+ [ "Mutex Configuration", "config_rtx5.html#mutexConfig", [
+ [ "Object-specific Memory Allocation", "config_rtx5.html#mutexConfig_obj", null ]
+ ] ],
+ [ "Semaphore Configuration", "config_rtx5.html#semaphoreConfig", [
+ [ "Object-specific memory allocation", "config_rtx5.html#semaphoreConfig_obj", null ]
+ ] ],
+ [ "Memory Pool Configuration", "config_rtx5.html#memPoolConfig", [
+ [ "Object-specific memory allocation", "config_rtx5.html#memPoolConfig_obj", null ]
+ ] ],
+ [ "Message Queue Configuration", "config_rtx5.html#msgQueueConfig", [
+ [ "Object-specific memory allocation", "config_rtx5.html#msgQueueConfig_obj", null ]
+ ] ],
+ [ "Event Recorder Configuration", "config_rtx5.html#evtrecConfig", [
+ [ "Global Configuration", "config_rtx5.html#evtrecConfigGlobIni", null ],
+ [ "RTOS Event Generation", "config_rtx5.html#evtrecConfigEvtGen", null ],
+ [ "Manual event configuration", "config_rtx5.html#systemConfig_event_recording", null ]
+ ] ]
+ ] ],
+ [ "Building the RTX5 Library", "creating_RTX5_LIB.html", null ],
+ [ "Technical Data", "technicalData5.html", "technicalData5" ],
+ [ "MISRA C:2012 Compliance", "misraCompliance5.html", [
+ [ "[MISRA Note 1]: Return statements for parameter checking", "misraCompliance5.html#MISRA_1", null ],
+ [ "[MISRA Note 2]: Object identifiers are void pointers", "misraCompliance5.html#MISRA_2", null ],
+ [ "[MISRA Note 3]: Conversion to unified object control blocks", "misraCompliance5.html#MISRA_3", null ],
+ [ "[MISRA Note 4]: Conversion from unified object control blocks", "misraCompliance5.html#MISRA_4", null ],
+ [ "[MISRA Note 5]: Conversion to object types", "misraCompliance5.html#MISRA_5", null ],
+ [ "[MISRA Note 6]: Conversion from user provided storage", "misraCompliance5.html#MISRA_6", null ],
+ [ "[MISRA Note 7]: Check for proper pointer alignment", "misraCompliance5.html#MISRA_7", null ],
+ [ "[MISRA Note 8]: Memory allocation management", "misraCompliance5.html#MISRA_8", null ],
+ [ "[MISRA Note 9]: Pointer conversions for register access", "misraCompliance5.html#MISRA_9", null ],
+ [ "[MISRA Note 10]: SVC calls use function-like macros", "misraCompliance5.html#MISRA_10", null ],
+ [ "[MISRA Note 11]: SVC calls use assembly code", "misraCompliance5.html#MISRA_11", null ],
+ [ "[MISRA Note 12]: Usage of exclusive access instructions", "misraCompliance5.html#MISRA_12", null ],
+ [ "[MISRA Note 13]: Usage of Event Recorder", "misraCompliance5.html#MISRA_13", null ]
+ ] ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/rtx__evr_8h.html b/docs/RTOS2/html/rtx__evr_8h.html
new file mode 100644
index 0000000..d34903a
--- /dev/null
+++ b/docs/RTOS2/html/rtx__evr_8h.html
@@ -0,0 +1,1498 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>rtx_evr.h File Reference</title>
+<title>CMSIS-RTOS2: rtx_evr.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('rtx__evr_8h.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#define-members">Macros</a> &#124;
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">rtx_evr.h File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
+Macros</h2></td></tr>
+<tr class="memitem:a168269d3a1264ac7a7427f8642e358a4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__evr_8h.html#a168269d3a1264ac7a7427f8642e358a4">osRtxErrorKernelNotReady</a>&#160;&#160;&#160;(-7)</td></tr>
+<tr class="memdesc:a168269d3a1264ac7a7427f8642e358a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extended Status codes. <a href="#a168269d3a1264ac7a7427f8642e358a4">More...</a><br/></td></tr>
+<tr class="separator:a168269d3a1264ac7a7427f8642e358a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8a916c6a8ad67a38c29ca2e2141d1540"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__evr_8h.html#a8a916c6a8ad67a38c29ca2e2141d1540">osRtxErrorKernelNotRunning</a>&#160;&#160;&#160;(-8)</td></tr>
+<tr class="separator:a8a916c6a8ad67a38c29ca2e2141d1540"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a56335b5b0a3f932e06aa764d185b6a60"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__evr_8h.html#a56335b5b0a3f932e06aa764d185b6a60">osRtxErrorInvalidControlBlock</a>&#160;&#160;&#160;(-9)</td></tr>
+<tr class="separator:a56335b5b0a3f932e06aa764d185b6a60"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a037115a16032074ae1a82d64c160338b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__evr_8h.html#a037115a16032074ae1a82d64c160338b">osRtxErrorInvalidDataMemory</a>&#160;&#160;&#160;(-10)</td></tr>
+<tr class="separator:a037115a16032074ae1a82d64c160338b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5cabacbb758a1bc5012cae2292771726"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__evr_8h.html#a5cabacbb758a1bc5012cae2292771726">osRtxErrorInvalidThreadStack</a>&#160;&#160;&#160;(-11)</td></tr>
+<tr class="separator:a5cabacbb758a1bc5012cae2292771726"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a45219e125941ecbe7eca030fd2f40d7a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__evr_8h.html#a45219e125941ecbe7eca030fd2f40d7a">osRtxErrorInvalidPriority</a>&#160;&#160;&#160;(-12)</td></tr>
+<tr class="separator:a45219e125941ecbe7eca030fd2f40d7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1955ed26bf52d4fd07a73961ee6a1478"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__evr_8h.html#a1955ed26bf52d4fd07a73961ee6a1478">osRtxErrorThreadNotJoinable</a>&#160;&#160;&#160;(-13)</td></tr>
+<tr class="separator:a1955ed26bf52d4fd07a73961ee6a1478"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2abf2bd19d5d80399c129e7b79e19e9a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__evr_8h.html#a2abf2bd19d5d80399c129e7b79e19e9a">osRtxErrorMutexNotOwned</a>&#160;&#160;&#160;(-14)</td></tr>
+<tr class="separator:a2abf2bd19d5d80399c129e7b79e19e9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4fc98ec7f644bc7156af58431043171a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__evr_8h.html#a4fc98ec7f644bc7156af58431043171a">osRtxErrorMutexNotLocked</a>&#160;&#160;&#160;(-15)</td></tr>
+<tr class="separator:a4fc98ec7f644bc7156af58431043171a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a949198d164108954151e89607a1504a7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__evr_8h.html#a949198d164108954151e89607a1504a7">osRtxErrorMutexLockLimit</a>&#160;&#160;&#160;(-16)</td></tr>
+<tr class="separator:a949198d164108954151e89607a1504a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4266d3dd5e7bbd2693dd53d00d80bc4c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__evr_8h.html#a4266d3dd5e7bbd2693dd53d00d80bc4c">osRtxErrorSemaphoreCountLimit</a>&#160;&#160;&#160;(-17)</td></tr>
+<tr class="separator:a4266d3dd5e7bbd2693dd53d00d80bc4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a33f2affc96c91cf39a3986e4bd119c5c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__evr_8h.html#a33f2affc96c91cf39a3986e4bd119c5c">osRtxErrorTZ_InitContext_S</a>&#160;&#160;&#160;(-18)</td></tr>
+<tr class="separator:a33f2affc96c91cf39a3986e4bd119c5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a787925e3c31997d22bb7ea985b69c3db"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__evr_8h.html#a787925e3c31997d22bb7ea985b69c3db">osRtxErrorTZ_AllocContext_S</a>&#160;&#160;&#160;(-19)</td></tr>
+<tr class="separator:a787925e3c31997d22bb7ea985b69c3db"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8b1b28f13acfecfec665a3759ce69991"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__evr_8h.html#a8b1b28f13acfecfec665a3759ce69991">osRtxErrorTZ_FreeContext_S</a>&#160;&#160;&#160;(-20)</td></tr>
+<tr class="separator:a8b1b28f13acfecfec665a3759ce69991"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3e9b3fdece321c3766bc6bc1a35e9cf6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__evr_8h.html#a3e9b3fdece321c3766bc6bc1a35e9cf6">osRtxErrorTZ_LoadContext_S</a>&#160;&#160;&#160;(-21)</td></tr>
+<tr class="separator:a3e9b3fdece321c3766bc6bc1a35e9cf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad600f514856926fc313a5f7dc0c3d422"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__evr_8h.html#ad600f514856926fc313a5f7dc0c3d422">osRtxErrorTZ_SaveContext_S</a>&#160;&#160;&#160;(-22)</td></tr>
+<tr class="separator:ad600f514856926fc313a5f7dc0c3d422"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga15078f1251744140d90761e05c0fe1f2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory.html#ga15078f1251744140d90761e05c0fe1f2">EvrRtxMemoryInit</a> (void *mem, uint32_t size, uint32_t result)</td></tr>
+<tr class="memdesc:ga15078f1251744140d90761e05c0fe1f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on memory initialization (Op) <a href="group__rtx__evr__memory.html#ga15078f1251744140d90761e05c0fe1f2">More...</a><br/></td></tr>
+<tr class="separator:ga15078f1251744140d90761e05c0fe1f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae1818917a5e085f92a03039ffaf2bad4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory.html#gae1818917a5e085f92a03039ffaf2bad4">EvrRtxMemoryAlloc</a> (void *mem, uint32_t size, uint32_t type, void *block)</td></tr>
+<tr class="memdesc:gae1818917a5e085f92a03039ffaf2bad4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on memory allocate (Op) <a href="group__rtx__evr__memory.html#gae1818917a5e085f92a03039ffaf2bad4">More...</a><br/></td></tr>
+<tr class="separator:gae1818917a5e085f92a03039ffaf2bad4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga9227b18f5ea44d7caa8fadd4d539af9c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory.html#ga9227b18f5ea44d7caa8fadd4d539af9c">EvrRtxMemoryFree</a> (void *mem, void *block, uint32_t result)</td></tr>
+<tr class="memdesc:ga9227b18f5ea44d7caa8fadd4d539af9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on memory free (Op) <a href="group__rtx__evr__memory.html#ga9227b18f5ea44d7caa8fadd4d539af9c">More...</a><br/></td></tr>
+<tr class="separator:ga9227b18f5ea44d7caa8fadd4d539af9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac71421bbf537f2f8c9255f9f51cf7d54"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory.html#gac71421bbf537f2f8c9255f9f51cf7d54">EvrRtxMemoryBlockInit</a> (<a class="el" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *mp_info, uint32_t block_count, uint32_t block_size, void *block_mem)</td></tr>
+<tr class="memdesc:gac71421bbf537f2f8c9255f9f51cf7d54"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on memory block initialization (Op) <a href="group__rtx__evr__memory.html#gac71421bbf537f2f8c9255f9f51cf7d54">More...</a><br/></td></tr>
+<tr class="separator:gac71421bbf537f2f8c9255f9f51cf7d54"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga71c0df6f932436b54d7d641a440586db"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory.html#ga71c0df6f932436b54d7d641a440586db">EvrRtxMemoryBlockAlloc</a> (<a class="el" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *mp_info, void *block)</td></tr>
+<tr class="memdesc:ga71c0df6f932436b54d7d641a440586db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on memory block alloc (Op) <a href="group__rtx__evr__memory.html#ga71c0df6f932436b54d7d641a440586db">More...</a><br/></td></tr>
+<tr class="separator:ga71c0df6f932436b54d7d641a440586db"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga69c2139620def7c5e59f6b1249857949"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory.html#ga69c2139620def7c5e59f6b1249857949">EvrRtxMemoryBlockFree</a> (<a class="el" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *mp_info, void *block, int32_t status)</td></tr>
+<tr class="memdesc:ga69c2139620def7c5e59f6b1249857949"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on memory block free (Op) <a href="group__rtx__evr__memory.html#ga69c2139620def7c5e59f6b1249857949">More...</a><br/></td></tr>
+<tr class="separator:ga69c2139620def7c5e59f6b1249857949"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2a38154886e6293e127bafcfb6f7d609"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#ga2a38154886e6293e127bafcfb6f7d609">EvrRtxKernelError</a> (int32_t status)</td></tr>
+<tr class="memdesc:ga2a38154886e6293e127bafcfb6f7d609"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on RTOS kernel error (Error) <a href="group__rtx__evr__kernel.html#ga2a38154886e6293e127bafcfb6f7d609">More...</a><br/></td></tr>
+<tr class="separator:ga2a38154886e6293e127bafcfb6f7d609"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7e84d337b452f647c3a3d6937abd6292"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#ga7e84d337b452f647c3a3d6937abd6292">EvrRtxKernelInitialize</a> (void)</td></tr>
+<tr class="memdesc:ga7e84d337b452f647c3a3d6937abd6292"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on RTOS kernel initialize (API) <a href="group__rtx__evr__kernel.html#ga7e84d337b452f647c3a3d6937abd6292">More...</a><br/></td></tr>
+<tr class="separator:ga7e84d337b452f647c3a3d6937abd6292"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5db8d306617656bfec12638e17584d66"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#ga5db8d306617656bfec12638e17584d66">EvrRtxKernelInitialized</a> (void)</td></tr>
+<tr class="memdesc:ga5db8d306617656bfec12638e17584d66"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful RTOS kernel initialize (Op) <a href="group__rtx__evr__kernel.html#ga5db8d306617656bfec12638e17584d66">More...</a><br/></td></tr>
+<tr class="separator:ga5db8d306617656bfec12638e17584d66"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4c2a175b79d39d70a4a5112e270d03f2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#ga4c2a175b79d39d70a4a5112e270d03f2">EvrRtxKernelGetInfo</a> (<a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#structosVersion__t">osVersion_t</a> *version, char *id_buf, uint32_t id_size)</td></tr>
+<tr class="memdesc:ga4c2a175b79d39d70a4a5112e270d03f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on RTOS kernel information retrieve (API) <a href="group__rtx__evr__kernel.html#ga4c2a175b79d39d70a4a5112e270d03f2">More...</a><br/></td></tr>
+<tr class="separator:ga4c2a175b79d39d70a4a5112e270d03f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf09b8cd94ad2384e3ab518f0df94a651"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#gaf09b8cd94ad2384e3ab518f0df94a651">EvrRtxKernelInfoRetrieved</a> (<a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#structosVersion__t">osVersion_t</a> *version, char *id_buf)</td></tr>
+<tr class="memdesc:gaf09b8cd94ad2384e3ab518f0df94a651"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful RTOS kernel information retrieve (Op) <a href="group__rtx__evr__kernel.html#gaf09b8cd94ad2384e3ab518f0df94a651">More...</a><br/></td></tr>
+<tr class="separator:gaf09b8cd94ad2384e3ab518f0df94a651"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad6407e9ff0910629b041866bd801075a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#gad6407e9ff0910629b041866bd801075a">EvrRtxKernelGetState</a> (<a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga08326469274b668140ca934b168a5ad4">osKernelState_t</a> state)</td></tr>
+<tr class="memdesc:gad6407e9ff0910629b041866bd801075a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on current RTOS Kernel state retrieve (API) <a href="group__rtx__evr__kernel.html#gad6407e9ff0910629b041866bd801075a">More...</a><br/></td></tr>
+<tr class="separator:gad6407e9ff0910629b041866bd801075a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga75937a761dd488600d2525a532808d2b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#ga75937a761dd488600d2525a532808d2b">EvrRtxKernelStart</a> (void)</td></tr>
+<tr class="memdesc:ga75937a761dd488600d2525a532808d2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on RTOS Kernel scheduler start (API) <a href="group__rtx__evr__kernel.html#ga75937a761dd488600d2525a532808d2b">More...</a><br/></td></tr>
+<tr class="separator:ga75937a761dd488600d2525a532808d2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga28043ffc76fec09e6c8763a9a71b7f2a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#ga28043ffc76fec09e6c8763a9a71b7f2a">EvrRtxKernelStarted</a> (void)</td></tr>
+<tr class="memdesc:ga28043ffc76fec09e6c8763a9a71b7f2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful RTOS Kernel scheduler start (Op) <a href="group__rtx__evr__kernel.html#ga28043ffc76fec09e6c8763a9a71b7f2a">More...</a><br/></td></tr>
+<tr class="separator:ga28043ffc76fec09e6c8763a9a71b7f2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1d0340812c29274c6150fa72288e0612"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#ga1d0340812c29274c6150fa72288e0612">EvrRtxKernelLock</a> (void)</td></tr>
+<tr class="memdesc:ga1d0340812c29274c6150fa72288e0612"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on RTOS Kernel scheduler lock (API) <a href="group__rtx__evr__kernel.html#ga1d0340812c29274c6150fa72288e0612">More...</a><br/></td></tr>
+<tr class="separator:ga1d0340812c29274c6150fa72288e0612"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac18ea91ffcae01e893304609a3c6cdc3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#gac18ea91ffcae01e893304609a3c6cdc3">EvrRtxKernelLocked</a> (int32_t lock)</td></tr>
+<tr class="memdesc:gac18ea91ffcae01e893304609a3c6cdc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful RTOS Kernel scheduler lock (Op) <a href="group__rtx__evr__kernel.html#gac18ea91ffcae01e893304609a3c6cdc3">More...</a><br/></td></tr>
+<tr class="separator:gac18ea91ffcae01e893304609a3c6cdc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gabe14acf14ed2611a3ba1f3b280fbfd8c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#gabe14acf14ed2611a3ba1f3b280fbfd8c">EvrRtxKernelUnlock</a> (void)</td></tr>
+<tr class="memdesc:gabe14acf14ed2611a3ba1f3b280fbfd8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on RTOS Kernel scheduler unlock (API) <a href="group__rtx__evr__kernel.html#gabe14acf14ed2611a3ba1f3b280fbfd8c">More...</a><br/></td></tr>
+<tr class="separator:gabe14acf14ed2611a3ba1f3b280fbfd8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5cc909465e8df09c9231782e0c45e374"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#ga5cc909465e8df09c9231782e0c45e374">EvrRtxKernelUnlocked</a> (int32_t lock)</td></tr>
+<tr class="memdesc:ga5cc909465e8df09c9231782e0c45e374"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful RTOS Kernel scheduler unlock (Op) <a href="group__rtx__evr__kernel.html#ga5cc909465e8df09c9231782e0c45e374">More...</a><br/></td></tr>
+<tr class="separator:ga5cc909465e8df09c9231782e0c45e374"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga812fdd14d6c40072cc40aec742d4869e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#ga812fdd14d6c40072cc40aec742d4869e">EvrRtxKernelRestoreLock</a> (int32_t lock)</td></tr>
+<tr class="memdesc:ga812fdd14d6c40072cc40aec742d4869e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on RTOS Kernel scheduler lock state restore (API) <a href="group__rtx__evr__kernel.html#ga812fdd14d6c40072cc40aec742d4869e">More...</a><br/></td></tr>
+<tr class="separator:ga812fdd14d6c40072cc40aec742d4869e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf7be1022a33c13fb44f4059f5636b75a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#gaf7be1022a33c13fb44f4059f5636b75a">EvrRtxKernelLockRestored</a> (int32_t lock)</td></tr>
+<tr class="memdesc:gaf7be1022a33c13fb44f4059f5636b75a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful RTOS Kernel scheduler lock state restore (Op) <a href="group__rtx__evr__kernel.html#gaf7be1022a33c13fb44f4059f5636b75a">More...</a><br/></td></tr>
+<tr class="separator:gaf7be1022a33c13fb44f4059f5636b75a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac3abd78a9d3f3a6adc698e2929e1c32c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#gac3abd78a9d3f3a6adc698e2929e1c32c">EvrRtxKernelSuspend</a> (void)</td></tr>
+<tr class="memdesc:gac3abd78a9d3f3a6adc698e2929e1c32c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on RTOS Kernel scheduler suspend (API) <a href="group__rtx__evr__kernel.html#gac3abd78a9d3f3a6adc698e2929e1c32c">More...</a><br/></td></tr>
+<tr class="separator:gac3abd78a9d3f3a6adc698e2929e1c32c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gabdaa26d7774111af4913b5d6669d0f85"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#gabdaa26d7774111af4913b5d6669d0f85">EvrRtxKernelSuspended</a> (uint32_t sleep_ticks)</td></tr>
+<tr class="memdesc:gabdaa26d7774111af4913b5d6669d0f85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful RTOS Kernel scheduler suspend (Op) <a href="group__rtx__evr__kernel.html#gabdaa26d7774111af4913b5d6669d0f85">More...</a><br/></td></tr>
+<tr class="separator:gabdaa26d7774111af4913b5d6669d0f85"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga9a8cac0fed8d3cf06f7301c944ad26d1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#ga9a8cac0fed8d3cf06f7301c944ad26d1">EvrRtxKernelResume</a> (uint32_t sleep_ticks)</td></tr>
+<tr class="memdesc:ga9a8cac0fed8d3cf06f7301c944ad26d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on RTOS Kernel scheduler resume (API) <a href="group__rtx__evr__kernel.html#ga9a8cac0fed8d3cf06f7301c944ad26d1">More...</a><br/></td></tr>
+<tr class="separator:ga9a8cac0fed8d3cf06f7301c944ad26d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga26e0a22f49576824d853fb434cf6b079"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#ga26e0a22f49576824d853fb434cf6b079">EvrRtxKernelResumed</a> (void)</td></tr>
+<tr class="memdesc:ga26e0a22f49576824d853fb434cf6b079"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful RTOS Kernel scheduler resume (Op) <a href="group__rtx__evr__kernel.html#ga26e0a22f49576824d853fb434cf6b079">More...</a><br/></td></tr>
+<tr class="separator:ga26e0a22f49576824d853fb434cf6b079"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga64431a63437506a6f7fe22637d4891c5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#ga64431a63437506a6f7fe22637d4891c5">EvrRtxKernelGetTickCount</a> (uint32_t count)</td></tr>
+<tr class="memdesc:ga64431a63437506a6f7fe22637d4891c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on RTOS kernel tick count retrieve (API) <a href="group__rtx__evr__kernel.html#ga64431a63437506a6f7fe22637d4891c5">More...</a><br/></td></tr>
+<tr class="separator:ga64431a63437506a6f7fe22637d4891c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7404f3a22af84ad4091c24811fc1bf87"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#ga7404f3a22af84ad4091c24811fc1bf87">EvrRtxKernelGetTickFreq</a> (uint32_t freq)</td></tr>
+<tr class="memdesc:ga7404f3a22af84ad4091c24811fc1bf87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on RTOS kernel tick frequency retrieve (API) <a href="group__rtx__evr__kernel.html#ga7404f3a22af84ad4091c24811fc1bf87">More...</a><br/></td></tr>
+<tr class="separator:ga7404f3a22af84ad4091c24811fc1bf87"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gafb6530be8201b119015a3f45d66c2f09"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#gafb6530be8201b119015a3f45d66c2f09">EvrRtxKernelGetSysTimerCount</a> (uint32_t count)</td></tr>
+<tr class="memdesc:gafb6530be8201b119015a3f45d66c2f09"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on RTOS kernel system timer count retrieve (API) <a href="group__rtx__evr__kernel.html#gafb6530be8201b119015a3f45d66c2f09">More...</a><br/></td></tr>
+<tr class="separator:gafb6530be8201b119015a3f45d66c2f09"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf2bdfcb7b099295c7b0123abe88e10a3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__kernel.html#gaf2bdfcb7b099295c7b0123abe88e10a3">EvrRtxKernelGetSysTimerFreq</a> (uint32_t freq)</td></tr>
+<tr class="memdesc:gaf2bdfcb7b099295c7b0123abe88e10a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on RTOS kernel system timer frequency retrieve (API) <a href="group__rtx__evr__kernel.html#gaf2bdfcb7b099295c7b0123abe88e10a3">More...</a><br/></td></tr>
+<tr class="separator:gaf2bdfcb7b099295c7b0123abe88e10a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4a2879b06201a29d8c223253d41cca43"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#ga4a2879b06201a29d8c223253d41cca43">EvrRtxThreadError</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id, int32_t status)</td></tr>
+<tr class="memdesc:ga4a2879b06201a29d8c223253d41cca43"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread error (Error) <a href="group__rtx__evr__thread.html#ga4a2879b06201a29d8c223253d41cca43">More...</a><br/></td></tr>
+<tr class="separator:ga4a2879b06201a29d8c223253d41cca43"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga396ce41f68401a885f0ae46a54e8dd1f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#ga396ce41f68401a885f0ae46a54e8dd1f">EvrRtxThreadNew</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gadd51f99a6eb50b94eee75f27cae815eb">osThreadFunc_t</a> func, void *argument, const <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t">osThreadAttr_t</a> *attr)</td></tr>
+<tr class="memdesc:ga396ce41f68401a885f0ae46a54e8dd1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread create and intialize (API) <a href="group__rtx__evr__thread.html#ga396ce41f68401a885f0ae46a54e8dd1f">More...</a><br/></td></tr>
+<tr class="separator:ga396ce41f68401a885f0ae46a54e8dd1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5bfa3bc241aea59ebe9bc1edcf6b78d8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#ga5bfa3bc241aea59ebe9bc1edcf6b78d8">EvrRtxThreadCreated</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id, uint32_t thread_addr, const char *name)</td></tr>
+<tr class="memdesc:ga5bfa3bc241aea59ebe9bc1edcf6b78d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful thread create (Op) <a href="group__rtx__evr__thread.html#ga5bfa3bc241aea59ebe9bc1edcf6b78d8">More...</a><br/></td></tr>
+<tr class="separator:ga5bfa3bc241aea59ebe9bc1edcf6b78d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4f849a33d2c95754b11a499d77503b5c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#ga4f849a33d2c95754b11a499d77503b5c">EvrRtxThreadGetName</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id, const char *name)</td></tr>
+<tr class="memdesc:ga4f849a33d2c95754b11a499d77503b5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread name retrieve (API) <a href="group__rtx__evr__thread.html#ga4f849a33d2c95754b11a499d77503b5c">More...</a><br/></td></tr>
+<tr class="separator:ga4f849a33d2c95754b11a499d77503b5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga40c0d21a5c0d128f09966aeeca37ecba"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#ga40c0d21a5c0d128f09966aeeca37ecba">EvrRtxThreadGetId</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:ga40c0d21a5c0d128f09966aeeca37ecba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on current running thread ID retrieve (API) <a href="group__rtx__evr__thread.html#ga40c0d21a5c0d128f09966aeeca37ecba">More...</a><br/></td></tr>
+<tr class="separator:ga40c0d21a5c0d128f09966aeeca37ecba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1c3120fb155ca19ea5c9089a446ef19d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#ga1c3120fb155ca19ea5c9089a446ef19d">EvrRtxThreadGetState</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id, <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad3dc89e942e38d9f3af858a0269a820d">osThreadState_t</a> state)</td></tr>
+<tr class="memdesc:ga1c3120fb155ca19ea5c9089a446ef19d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread state retrieve (API) <a href="group__rtx__evr__thread.html#ga1c3120fb155ca19ea5c9089a446ef19d">More...</a><br/></td></tr>
+<tr class="separator:ga1c3120fb155ca19ea5c9089a446ef19d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1200f51e9152810e76386e241904427c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#ga1200f51e9152810e76386e241904427c">EvrRtxThreadGetStackSize</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id, uint32_t stack_size)</td></tr>
+<tr class="memdesc:ga1200f51e9152810e76386e241904427c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread stack size retrieve (API) <a href="group__rtx__evr__thread.html#ga1200f51e9152810e76386e241904427c">More...</a><br/></td></tr>
+<tr class="separator:ga1200f51e9152810e76386e241904427c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4fd48ef48eefb01a6252cfc02ea169ab"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#ga4fd48ef48eefb01a6252cfc02ea169ab">EvrRtxThreadGetStackSpace</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id, uint32_t stack_space)</td></tr>
+<tr class="memdesc:ga4fd48ef48eefb01a6252cfc02ea169ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on available stack space retrieve (API) <a href="group__rtx__evr__thread.html#ga4fd48ef48eefb01a6252cfc02ea169ab">More...</a><br/></td></tr>
+<tr class="separator:ga4fd48ef48eefb01a6252cfc02ea169ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gabf4a015bd3fb2a33c0d105a871aaba72"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gabf4a015bd3fb2a33c0d105a871aaba72">EvrRtxThreadSetPriority</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id, <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ec">osPriority_t</a> priority)</td></tr>
+<tr class="memdesc:gabf4a015bd3fb2a33c0d105a871aaba72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread priority set (API) <a href="group__rtx__evr__thread.html#gabf4a015bd3fb2a33c0d105a871aaba72">More...</a><br/></td></tr>
+<tr class="separator:gabf4a015bd3fb2a33c0d105a871aaba72"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gada73306deca99987b104aa9840fdd4e2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gada73306deca99987b104aa9840fdd4e2">EvrRtxThreadGetPriority</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id, <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ec">osPriority_t</a> priority)</td></tr>
+<tr class="memdesc:gada73306deca99987b104aa9840fdd4e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread priority retrieve (API) <a href="group__rtx__evr__thread.html#gada73306deca99987b104aa9840fdd4e2">More...</a><br/></td></tr>
+<tr class="separator:gada73306deca99987b104aa9840fdd4e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gafed41f1b6bcdde658ca306f8a6d7ac7e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gafed41f1b6bcdde658ca306f8a6d7ac7e">EvrRtxThreadYield</a> (void)</td></tr>
+<tr class="memdesc:gafed41f1b6bcdde658ca306f8a6d7ac7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread yield (API) <a href="group__rtx__evr__thread.html#gafed41f1b6bcdde658ca306f8a6d7ac7e">More...</a><br/></td></tr>
+<tr class="separator:gafed41f1b6bcdde658ca306f8a6d7ac7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa268fe19f933b8d2a830063560694561"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gaa268fe19f933b8d2a830063560694561">EvrRtxThreadSuspend</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:gaa268fe19f933b8d2a830063560694561"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread suspend (API) <a href="group__rtx__evr__thread.html#gaa268fe19f933b8d2a830063560694561">More...</a><br/></td></tr>
+<tr class="separator:gaa268fe19f933b8d2a830063560694561"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab0d959bc625cb3e7ddd6bf7c302f631e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gab0d959bc625cb3e7ddd6bf7c302f631e">EvrRtxThreadSuspended</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:gab0d959bc625cb3e7ddd6bf7c302f631e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful thread suspend (Op) <a href="group__rtx__evr__thread.html#gab0d959bc625cb3e7ddd6bf7c302f631e">More...</a><br/></td></tr>
+<tr class="separator:gab0d959bc625cb3e7ddd6bf7c302f631e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf41ff549329cf2feb4a1efe49c518e30"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gaf41ff549329cf2feb4a1efe49c518e30">EvrRtxThreadResume</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:gaf41ff549329cf2feb4a1efe49c518e30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread resume (API) <a href="group__rtx__evr__thread.html#gaf41ff549329cf2feb4a1efe49c518e30">More...</a><br/></td></tr>
+<tr class="separator:gaf41ff549329cf2feb4a1efe49c518e30"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8b25f2548a9f3c069431131169d170ac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#ga8b25f2548a9f3c069431131169d170ac">EvrRtxThreadResumed</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:ga8b25f2548a9f3c069431131169d170ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful thread resume (Op) <a href="group__rtx__evr__thread.html#ga8b25f2548a9f3c069431131169d170ac">More...</a><br/></td></tr>
+<tr class="separator:ga8b25f2548a9f3c069431131169d170ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga02088c2d38cbc31a46675334f63f37f5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#ga02088c2d38cbc31a46675334f63f37f5">EvrRtxThreadDetach</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:ga02088c2d38cbc31a46675334f63f37f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread detach (API) <a href="group__rtx__evr__thread.html#ga02088c2d38cbc31a46675334f63f37f5">More...</a><br/></td></tr>
+<tr class="separator:ga02088c2d38cbc31a46675334f63f37f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac60670562ed1efbfbc61036d881c8af9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gac60670562ed1efbfbc61036d881c8af9">EvrRtxThreadDetached</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:gac60670562ed1efbfbc61036d881c8af9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful thread detach (Op) <a href="group__rtx__evr__thread.html#gac60670562ed1efbfbc61036d881c8af9">More...</a><br/></td></tr>
+<tr class="separator:gac60670562ed1efbfbc61036d881c8af9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga392bb7a8dcd6d126a5e424ab01aa8a80"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#ga392bb7a8dcd6d126a5e424ab01aa8a80">EvrRtxThreadJoin</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:ga392bb7a8dcd6d126a5e424ab01aa8a80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread join (API) <a href="group__rtx__evr__thread.html#ga392bb7a8dcd6d126a5e424ab01aa8a80">More...</a><br/></td></tr>
+<tr class="separator:ga392bb7a8dcd6d126a5e424ab01aa8a80"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga47b64cfdc5c5410dde2c5d9145c7d79b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#ga47b64cfdc5c5410dde2c5d9145c7d79b">EvrRtxThreadJoinPending</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:ga47b64cfdc5c5410dde2c5d9145c7d79b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on pending thread join (Op) <a href="group__rtx__evr__thread.html#ga47b64cfdc5c5410dde2c5d9145c7d79b">More...</a><br/></td></tr>
+<tr class="separator:ga47b64cfdc5c5410dde2c5d9145c7d79b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga86ac910ac88d8fe54206a12d7ed69a27"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#ga86ac910ac88d8fe54206a12d7ed69a27">EvrRtxThreadJoined</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:ga86ac910ac88d8fe54206a12d7ed69a27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful thread join (Op) <a href="group__rtx__evr__thread.html#ga86ac910ac88d8fe54206a12d7ed69a27">More...</a><br/></td></tr>
+<tr class="separator:ga86ac910ac88d8fe54206a12d7ed69a27"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab9efd66ed2edb439c5081806c9b63cf9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gab9efd66ed2edb439c5081806c9b63cf9">EvrRtxThreadBlocked</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id, uint32_t timeout)</td></tr>
+<tr class="memdesc:gab9efd66ed2edb439c5081806c9b63cf9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread execution block (Op) <a href="group__rtx__evr__thread.html#gab9efd66ed2edb439c5081806c9b63cf9">More...</a><br/></td></tr>
+<tr class="separator:gab9efd66ed2edb439c5081806c9b63cf9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3faae4d941ddecfe773ef9f3efe8b901"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#ga3faae4d941ddecfe773ef9f3efe8b901">EvrRtxThreadUnblocked</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id, uint32_t ret_val)</td></tr>
+<tr class="memdesc:ga3faae4d941ddecfe773ef9f3efe8b901"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread execution unblock (Op) <a href="group__rtx__evr__thread.html#ga3faae4d941ddecfe773ef9f3efe8b901">More...</a><br/></td></tr>
+<tr class="separator:ga3faae4d941ddecfe773ef9f3efe8b901"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gabe470d5bb1373c59c51470fd20b55bcb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gabe470d5bb1373c59c51470fd20b55bcb">EvrRtxThreadPreempted</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:gabe470d5bb1373c59c51470fd20b55bcb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on running thread pre-emption (Op) <a href="group__rtx__evr__thread.html#gabe470d5bb1373c59c51470fd20b55bcb">More...</a><br/></td></tr>
+<tr class="separator:gabe470d5bb1373c59c51470fd20b55bcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae3bc50d5f154463c7f6647544bb5ecab"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gae3bc50d5f154463c7f6647544bb5ecab">EvrRtxThreadSwitched</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:gae3bc50d5f154463c7f6647544bb5ecab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on running thread switch (Op) <a href="group__rtx__evr__thread.html#gae3bc50d5f154463c7f6647544bb5ecab">More...</a><br/></td></tr>
+<tr class="separator:gae3bc50d5f154463c7f6647544bb5ecab"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa557f9732a8a2120f08cfb2694aa26fb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gaa557f9732a8a2120f08cfb2694aa26fb">EvrRtxThreadExit</a> (void)</td></tr>
+<tr class="memdesc:gaa557f9732a8a2120f08cfb2694aa26fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread exit (API) <a href="group__rtx__evr__thread.html#gaa557f9732a8a2120f08cfb2694aa26fb">More...</a><br/></td></tr>
+<tr class="separator:gaa557f9732a8a2120f08cfb2694aa26fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6abe7d167bd5bb91c3d6bf6d2bb417aa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#ga6abe7d167bd5bb91c3d6bf6d2bb417aa">EvrRtxThreadTerminate</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:ga6abe7d167bd5bb91c3d6bf6d2bb417aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread terminate (API) <a href="group__rtx__evr__thread.html#ga6abe7d167bd5bb91c3d6bf6d2bb417aa">More...</a><br/></td></tr>
+<tr class="separator:ga6abe7d167bd5bb91c3d6bf6d2bb417aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa5aa707fc2d6b44bfcb86bce2e2e90f3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gaa5aa707fc2d6b44bfcb86bce2e2e90f3">EvrRtxThreadDestroyed</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:gaa5aa707fc2d6b44bfcb86bce2e2e90f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful thread terminate (Op) <a href="group__rtx__evr__thread.html#gaa5aa707fc2d6b44bfcb86bce2e2e90f3">More...</a><br/></td></tr>
+<tr class="separator:gaa5aa707fc2d6b44bfcb86bce2e2e90f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6d5932965736e0f2f35fe2d87bd622e7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#ga6d5932965736e0f2f35fe2d87bd622e7">EvrRtxThreadGetCount</a> (uint32_t count)</td></tr>
+<tr class="memdesc:ga6d5932965736e0f2f35fe2d87bd622e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on active thread count retrieve (API) <a href="group__rtx__evr__thread.html#ga6d5932965736e0f2f35fe2d87bd622e7">More...</a><br/></td></tr>
+<tr class="separator:ga6d5932965736e0f2f35fe2d87bd622e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1999d77992b03347abdca7ec17f91cca"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#ga1999d77992b03347abdca7ec17f91cca">EvrRtxThreadEnumerate</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> *thread_array, uint32_t array_items, uint32_t count)</td></tr>
+<tr class="memdesc:ga1999d77992b03347abdca7ec17f91cca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on active threads enumerate (API) <a href="group__rtx__evr__thread.html#ga1999d77992b03347abdca7ec17f91cca">More...</a><br/></td></tr>
+<tr class="separator:ga1999d77992b03347abdca7ec17f91cca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac356c777af86c2d8d9250cbffc516e1d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__evr_8h.html#ac356c777af86c2d8d9250cbffc516e1d">EvrRtxThreadFlagsSet</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id, uint32_t flags)</td></tr>
+<tr class="memdesc:ac356c777af86c2d8d9250cbffc516e1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread flags set (API) <a href="#ac356c777af86c2d8d9250cbffc516e1d">More...</a><br/></td></tr>
+<tr class="separator:ac356c777af86c2d8d9250cbffc516e1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abd447773c02e235a8d0bb96dd9bb1c4f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__evr_8h.html#abd447773c02e235a8d0bb96dd9bb1c4f">EvrRtxThreadFlagsSetDone</a> (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id, uint32_t thread_flags)</td></tr>
+<tr class="memdesc:abd447773c02e235a8d0bb96dd9bb1c4f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful thread flags set (Op) <a href="#abd447773c02e235a8d0bb96dd9bb1c4f">More...</a><br/></td></tr>
+<tr class="separator:abd447773c02e235a8d0bb96dd9bb1c4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac8ddc747c72f7fc5cfa58edcee56b82d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__evr_8h.html#ac8ddc747c72f7fc5cfa58edcee56b82d">EvrRtxThreadFlagsClear</a> (uint32_t flags)</td></tr>
+<tr class="memdesc:ac8ddc747c72f7fc5cfa58edcee56b82d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread flags clear (API) <a href="#ac8ddc747c72f7fc5cfa58edcee56b82d">More...</a><br/></td></tr>
+<tr class="separator:ac8ddc747c72f7fc5cfa58edcee56b82d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad13b17507cc07a4a1e37a5653489943"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__evr_8h.html#aad13b17507cc07a4a1e37a5653489943">EvrRtxThreadFlagsClearDone</a> (uint32_t thread_flags)</td></tr>
+<tr class="memdesc:aad13b17507cc07a4a1e37a5653489943"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful thread flags clear (Op) <a href="#aad13b17507cc07a4a1e37a5653489943">More...</a><br/></td></tr>
+<tr class="separator:aad13b17507cc07a4a1e37a5653489943"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aab1a30a0ac3dfa588ededbfad52bae30"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__evr_8h.html#aab1a30a0ac3dfa588ededbfad52bae30">EvrRtxThreadFlagsGet</a> (uint32_t thread_flags)</td></tr>
+<tr class="memdesc:aab1a30a0ac3dfa588ededbfad52bae30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on thread flags retrieve (API) <a href="#aab1a30a0ac3dfa588ededbfad52bae30">More...</a><br/></td></tr>
+<tr class="separator:aab1a30a0ac3dfa588ededbfad52bae30"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad860c571b9b083ff2889fb76fb619f1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__evr_8h.html#aad860c571b9b083ff2889fb76fb619f1">EvrRtxThreadFlagsWait</a> (uint32_t flags, uint32_t options, uint32_t timeout)</td></tr>
+<tr class="memdesc:aad860c571b9b083ff2889fb76fb619f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on wait for thread flags (API) <a href="#aad860c571b9b083ff2889fb76fb619f1">More...</a><br/></td></tr>
+<tr class="separator:aad860c571b9b083ff2889fb76fb619f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad09ec9317a4440e5228870b750e9860e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__evr_8h.html#ad09ec9317a4440e5228870b750e9860e">EvrRtxThreadFlagsWaitPending</a> (uint32_t flags, uint32_t options, uint32_t timeout)</td></tr>
+<tr class="memdesc:ad09ec9317a4440e5228870b750e9860e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on pending wait for thread flags (Op) <a href="#ad09ec9317a4440e5228870b750e9860e">More...</a><br/></td></tr>
+<tr class="separator:ad09ec9317a4440e5228870b750e9860e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gadbbee398f4fab418c9b8115fc7392ff8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gadbbee398f4fab418c9b8115fc7392ff8">EvrRtxThreadFlagsWaitTimeout</a> (void)</td></tr>
+<tr class="memdesc:gadbbee398f4fab418c9b8115fc7392ff8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on wait timeout for thread flags (Op) <a href="group__rtx__evr__thread.html#gadbbee398f4fab418c9b8115fc7392ff8">More...</a><br/></td></tr>
+<tr class="separator:gadbbee398f4fab418c9b8115fc7392ff8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a01396074495b21270c75185f63c497d7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__evr_8h.html#a01396074495b21270c75185f63c497d7">EvrRtxThreadFlagsWaitCompleted</a> (uint32_t flags, uint32_t options, uint32_t thread_flags)</td></tr>
+<tr class="memdesc:a01396074495b21270c75185f63c497d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful wait for thread flags (Op) <a href="#a01396074495b21270c75185f63c497d7">More...</a><br/></td></tr>
+<tr class="separator:a01396074495b21270c75185f63c497d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adf6b9f4882f62a65b4e06e1b3e5c9c5b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__evr_8h.html#adf6b9f4882f62a65b4e06e1b3e5c9c5b">EvrRtxThreadFlagsWaitNotCompleted</a> (uint32_t flags, uint32_t options)</td></tr>
+<tr class="memdesc:adf6b9f4882f62a65b4e06e1b3e5c9c5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on unsuccessful wait for thread flags (Op) <a href="#adf6b9f4882f62a65b4e06e1b3e5c9c5b">More...</a><br/></td></tr>
+<tr class="separator:adf6b9f4882f62a65b4e06e1b3e5c9c5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gadd45d32305aa45668a36f2c9f0f4c758"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gadd45d32305aa45668a36f2c9f0f4c758">EvrRtxThreadDelay</a> (uint32_t ticks)</td></tr>
+<tr class="memdesc:gadd45d32305aa45668a36f2c9f0f4c758"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on wait for timeout (API) <a href="group__rtx__evr__thread.html#gadd45d32305aa45668a36f2c9f0f4c758">More...</a><br/></td></tr>
+<tr class="separator:gadd45d32305aa45668a36f2c9f0f4c758"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf59defd6c171d2c3d3508e7136278db2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gaf59defd6c171d2c3d3508e7136278db2">EvrRtxThreadDelayUntil</a> (uint32_t ticks)</td></tr>
+<tr class="memdesc:gaf59defd6c171d2c3d3508e7136278db2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on wait until specified time (API) <a href="group__rtx__evr__thread.html#gaf59defd6c171d2c3d3508e7136278db2">More...</a><br/></td></tr>
+<tr class="separator:gaf59defd6c171d2c3d3508e7136278db2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab46562848142ce5ea806d629fd000168"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__thread.html#gab46562848142ce5ea806d629fd000168">EvrRtxThreadDelayCompleted</a> (void)</td></tr>
+<tr class="memdesc:gab46562848142ce5ea806d629fd000168"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on completed wait (Op) <a href="group__rtx__evr__thread.html#gab46562848142ce5ea806d629fd000168">More...</a><br/></td></tr>
+<tr class="separator:gab46562848142ce5ea806d629fd000168"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf1b516bf697288e67fe797662b1873b0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__timer.html#gaf1b516bf697288e67fe797662b1873b0">EvrRtxTimerError</a> (<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> timer_id, int32_t status)</td></tr>
+<tr class="memdesc:gaf1b516bf697288e67fe797662b1873b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on timer error (Error) <a href="group__rtx__evr__timer.html#gaf1b516bf697288e67fe797662b1873b0">More...</a><br/></td></tr>
+<tr class="separator:gaf1b516bf697288e67fe797662b1873b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gacd46f9d31d256c27c72e47d5be5e9d09"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__timer.html#gacd46f9d31d256c27c72e47d5be5e9d09">EvrRtxTimerCallback</a> (<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaacf768c1ec64b020598afb985d7b30be">osTimerFunc_t</a> func, void *argument)</td></tr>
+<tr class="memdesc:gacd46f9d31d256c27c72e47d5be5e9d09"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on timer callback call (Op) <a href="group__rtx__evr__timer.html#gacd46f9d31d256c27c72e47d5be5e9d09">More...</a><br/></td></tr>
+<tr class="separator:gacd46f9d31d256c27c72e47d5be5e9d09"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6387808c22d6e186057ed744618d2487"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__timer.html#ga6387808c22d6e186057ed744618d2487">EvrRtxTimerNew</a> (<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaacf768c1ec64b020598afb985d7b30be">osTimerFunc_t</a> func, <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#ga7dc24a4c2b90334427081c3da7a71915">osTimerType_t</a> type, void *argument, const <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#structosTimerAttr__t">osTimerAttr_t</a> *attr)</td></tr>
+<tr class="memdesc:ga6387808c22d6e186057ed744618d2487"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on timer create and initialize (API) <a href="group__rtx__evr__timer.html#ga6387808c22d6e186057ed744618d2487">More...</a><br/></td></tr>
+<tr class="separator:ga6387808c22d6e186057ed744618d2487"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga71dd40a818f1098052915bbfb6c17e88"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__timer.html#ga71dd40a818f1098052915bbfb6c17e88">EvrRtxTimerCreated</a> (<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> timer_id, const char *name)</td></tr>
+<tr class="memdesc:ga71dd40a818f1098052915bbfb6c17e88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful timer create (Op) <a href="group__rtx__evr__timer.html#ga71dd40a818f1098052915bbfb6c17e88">More...</a><br/></td></tr>
+<tr class="separator:ga71dd40a818f1098052915bbfb6c17e88"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga601e3617903900524062c4f9069d052f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__timer.html#ga601e3617903900524062c4f9069d052f">EvrRtxTimerGetName</a> (<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> timer_id, const char *name)</td></tr>
+<tr class="memdesc:ga601e3617903900524062c4f9069d052f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on timer name retrieve (API) <a href="group__rtx__evr__timer.html#ga601e3617903900524062c4f9069d052f">More...</a><br/></td></tr>
+<tr class="separator:ga601e3617903900524062c4f9069d052f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga453d82bfa65dfbbaffbd5b4ff4f050b2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__timer.html#ga453d82bfa65dfbbaffbd5b4ff4f050b2">EvrRtxTimerStart</a> (<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> timer_id, uint32_t ticks)</td></tr>
+<tr class="memdesc:ga453d82bfa65dfbbaffbd5b4ff4f050b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on timer start (API) <a href="group__rtx__evr__timer.html#ga453d82bfa65dfbbaffbd5b4ff4f050b2">More...</a><br/></td></tr>
+<tr class="separator:ga453d82bfa65dfbbaffbd5b4ff4f050b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab0dbdf460fc26b25f3987c44fb0ebdeb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__timer.html#gab0dbdf460fc26b25f3987c44fb0ebdeb">EvrRtxTimerStarted</a> (<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> timer_id)</td></tr>
+<tr class="memdesc:gab0dbdf460fc26b25f3987c44fb0ebdeb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful timer start (Op) <a href="group__rtx__evr__timer.html#gab0dbdf460fc26b25f3987c44fb0ebdeb">More...</a><br/></td></tr>
+<tr class="separator:gab0dbdf460fc26b25f3987c44fb0ebdeb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga27cf05adc61d30a0e68f380c96ea5f93"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__timer.html#ga27cf05adc61d30a0e68f380c96ea5f93">EvrRtxTimerStop</a> (<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> timer_id)</td></tr>
+<tr class="memdesc:ga27cf05adc61d30a0e68f380c96ea5f93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on timer stop (API) <a href="group__rtx__evr__timer.html#ga27cf05adc61d30a0e68f380c96ea5f93">More...</a><br/></td></tr>
+<tr class="separator:ga27cf05adc61d30a0e68f380c96ea5f93"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaccd59c7ae2351e0a1bf96cdb749c049f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__timer.html#gaccd59c7ae2351e0a1bf96cdb749c049f">EvrRtxTimerStopped</a> (<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> timer_id)</td></tr>
+<tr class="memdesc:gaccd59c7ae2351e0a1bf96cdb749c049f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful timer stop (Op) <a href="group__rtx__evr__timer.html#gaccd59c7ae2351e0a1bf96cdb749c049f">More...</a><br/></td></tr>
+<tr class="separator:gaccd59c7ae2351e0a1bf96cdb749c049f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6fa5a23f241d765ae22ff1862c6f3b3f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__timer.html#ga6fa5a23f241d765ae22ff1862c6f3b3f">EvrRtxTimerIsRunning</a> (<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> timer_id, uint32_t running)</td></tr>
+<tr class="memdesc:ga6fa5a23f241d765ae22ff1862c6f3b3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on timer running state check (API) <a href="group__rtx__evr__timer.html#ga6fa5a23f241d765ae22ff1862c6f3b3f">More...</a><br/></td></tr>
+<tr class="separator:ga6fa5a23f241d765ae22ff1862c6f3b3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaea5811cc74861117eccbcbb997d36133"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__timer.html#gaea5811cc74861117eccbcbb997d36133">EvrRtxTimerDelete</a> (<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> timer_id)</td></tr>
+<tr class="memdesc:gaea5811cc74861117eccbcbb997d36133"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on timer delete (API) <a href="group__rtx__evr__timer.html#gaea5811cc74861117eccbcbb997d36133">More...</a><br/></td></tr>
+<tr class="separator:gaea5811cc74861117eccbcbb997d36133"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga474f3bd3ed38945b087f37fd709560b7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__timer.html#ga474f3bd3ed38945b087f37fd709560b7">EvrRtxTimerDestroyed</a> (<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34">osTimerId_t</a> timer_id)</td></tr>
+<tr class="memdesc:ga474f3bd3ed38945b087f37fd709560b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful timer delete (Op) <a href="group__rtx__evr__timer.html#ga474f3bd3ed38945b087f37fd709560b7">More...</a><br/></td></tr>
+<tr class="separator:ga474f3bd3ed38945b087f37fd709560b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa281b7380c0fa725faa722badbeb2e5f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flasg.html#gaa281b7380c0fa725faa722badbeb2e5f">EvrRtxEventFlagsError</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id, int32_t status)</td></tr>
+<tr class="memdesc:gaa281b7380c0fa725faa722badbeb2e5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on event flags error (Error) <a href="group__rtx__evr__event__flasg.html#gaa281b7380c0fa725faa722badbeb2e5f">More...</a><br/></td></tr>
+<tr class="separator:gaa281b7380c0fa725faa722badbeb2e5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae798cdc4cb10ada732e592318037cba7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flasg.html#gae798cdc4cb10ada732e592318037cba7">EvrRtxEventFlagsNew</a> (const <a class="el" href="group__CMSIS__RTOS__EventFlags.html#structosEventFlagsAttr__t">osEventFlagsAttr_t</a> *attr)</td></tr>
+<tr class="memdesc:gae798cdc4cb10ada732e592318037cba7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on event flags create and initialize (API) <a href="group__rtx__evr__event__flasg.html#gae798cdc4cb10ada732e592318037cba7">More...</a><br/></td></tr>
+<tr class="separator:gae798cdc4cb10ada732e592318037cba7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa1f48b9787e3a7d4f56449ed1dd12f26"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flasg.html#gaa1f48b9787e3a7d4f56449ed1dd12f26">EvrRtxEventFlagsCreated</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id, const char *name)</td></tr>
+<tr class="memdesc:gaa1f48b9787e3a7d4f56449ed1dd12f26"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful event flags create (Op) <a href="group__rtx__evr__event__flasg.html#gaa1f48b9787e3a7d4f56449ed1dd12f26">More...</a><br/></td></tr>
+<tr class="separator:gaa1f48b9787e3a7d4f56449ed1dd12f26"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae9ebcbc09a1c15c719d95fe7b8c2ee18"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flasg.html#gae9ebcbc09a1c15c719d95fe7b8c2ee18">EvrRtxEventFlagsGetName</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id, const char *name)</td></tr>
+<tr class="memdesc:gae9ebcbc09a1c15c719d95fe7b8c2ee18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on event flags name retrieve (API) <a href="group__rtx__evr__event__flasg.html#gae9ebcbc09a1c15c719d95fe7b8c2ee18">More...</a><br/></td></tr>
+<tr class="separator:gae9ebcbc09a1c15c719d95fe7b8c2ee18"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5e5c9bd8a0522fc9301782edd6e5ec1f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__evr_8h.html#a5e5c9bd8a0522fc9301782edd6e5ec1f">EvrRtxEventFlagsSet</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id, uint32_t flags)</td></tr>
+<tr class="memdesc:a5e5c9bd8a0522fc9301782edd6e5ec1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on event flags set (API) <a href="#a5e5c9bd8a0522fc9301782edd6e5ec1f">More...</a><br/></td></tr>
+<tr class="separator:a5e5c9bd8a0522fc9301782edd6e5ec1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5b1b471923918ad294d16255d43ab306"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__evr_8h.html#a5b1b471923918ad294d16255d43ab306">EvrRtxEventFlagsSetDone</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id, uint32_t event_flags)</td></tr>
+<tr class="memdesc:a5b1b471923918ad294d16255d43ab306"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful event flags set (Op) <a href="#a5b1b471923918ad294d16255d43ab306">More...</a><br/></td></tr>
+<tr class="separator:a5b1b471923918ad294d16255d43ab306"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab31f9da565b0170d8e89edf0e848f28b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__evr_8h.html#ab31f9da565b0170d8e89edf0e848f28b">EvrRtxEventFlagsClear</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id, uint32_t flags)</td></tr>
+<tr class="memdesc:ab31f9da565b0170d8e89edf0e848f28b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on event flags clear (API) <a href="#ab31f9da565b0170d8e89edf0e848f28b">More...</a><br/></td></tr>
+<tr class="separator:ab31f9da565b0170d8e89edf0e848f28b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9e4c4e5d45bc721439c1919621a49d5a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__evr_8h.html#a9e4c4e5d45bc721439c1919621a49d5a">EvrRtxEventFlagsClearDone</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id, uint32_t event_flags)</td></tr>
+<tr class="memdesc:a9e4c4e5d45bc721439c1919621a49d5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful event flags clear (Op) <a href="#a9e4c4e5d45bc721439c1919621a49d5a">More...</a><br/></td></tr>
+<tr class="separator:a9e4c4e5d45bc721439c1919621a49d5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a113c32ff195c612ec2fb6a9dd5740184"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__evr_8h.html#a113c32ff195c612ec2fb6a9dd5740184">EvrRtxEventFlagsGet</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id, uint32_t event_flags)</td></tr>
+<tr class="memdesc:a113c32ff195c612ec2fb6a9dd5740184"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on event flags retrieve (API) <a href="#a113c32ff195c612ec2fb6a9dd5740184">More...</a><br/></td></tr>
+<tr class="separator:a113c32ff195c612ec2fb6a9dd5740184"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac8361874ffdd854e3778f21d070fed24"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__evr_8h.html#ac8361874ffdd854e3778f21d070fed24">EvrRtxEventFlagsWait</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id, uint32_t flags, uint32_t options, uint32_t timeout)</td></tr>
+<tr class="memdesc:ac8361874ffdd854e3778f21d070fed24"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on wait for event flags (API) <a href="#ac8361874ffdd854e3778f21d070fed24">More...</a><br/></td></tr>
+<tr class="separator:ac8361874ffdd854e3778f21d070fed24"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afd598e0b02a31083fb41626d68fa489e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__evr_8h.html#afd598e0b02a31083fb41626d68fa489e">EvrRtxEventFlagsWaitPending</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id, uint32_t flags, uint32_t options, uint32_t timeout)</td></tr>
+<tr class="memdesc:afd598e0b02a31083fb41626d68fa489e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on pending wait for event flags (Op) <a href="#afd598e0b02a31083fb41626d68fa489e">More...</a><br/></td></tr>
+<tr class="separator:afd598e0b02a31083fb41626d68fa489e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga877235cbe04188b831b70a3c2237c827"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flasg.html#ga877235cbe04188b831b70a3c2237c827">EvrRtxEventFlagsWaitTimeout</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id)</td></tr>
+<tr class="memdesc:ga877235cbe04188b831b70a3c2237c827"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on wait timeout for event flags (Op) <a href="group__rtx__evr__event__flasg.html#ga877235cbe04188b831b70a3c2237c827">More...</a><br/></td></tr>
+<tr class="separator:ga877235cbe04188b831b70a3c2237c827"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7b446f241c971db432ebac5d176bd9de"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__evr_8h.html#a7b446f241c971db432ebac5d176bd9de">EvrRtxEventFlagsWaitCompleted</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id, uint32_t flags, uint32_t options, uint32_t event_flags)</td></tr>
+<tr class="memdesc:a7b446f241c971db432ebac5d176bd9de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful wait for event flags (Op) <a href="#a7b446f241c971db432ebac5d176bd9de">More...</a><br/></td></tr>
+<tr class="separator:a7b446f241c971db432ebac5d176bd9de"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a66f32e4dddc68cdfd56c32b88b7f13ff"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__evr_8h.html#a66f32e4dddc68cdfd56c32b88b7f13ff">EvrRtxEventFlagsWaitNotCompleted</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id, uint32_t flags, uint32_t options)</td></tr>
+<tr class="memdesc:a66f32e4dddc68cdfd56c32b88b7f13ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on unsuccessful wait for event flags (Op) <a href="#a66f32e4dddc68cdfd56c32b88b7f13ff">More...</a><br/></td></tr>
+<tr class="separator:a66f32e4dddc68cdfd56c32b88b7f13ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga10e98e35999350e9e337c716ba4dc079"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flasg.html#ga10e98e35999350e9e337c716ba4dc079">EvrRtxEventFlagsDelete</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id)</td></tr>
+<tr class="memdesc:ga10e98e35999350e9e337c716ba4dc079"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on event flags delete (API) <a href="group__rtx__evr__event__flasg.html#ga10e98e35999350e9e337c716ba4dc079">More...</a><br/></td></tr>
+<tr class="separator:ga10e98e35999350e9e337c716ba4dc079"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2ef153a6ee7a8d72375f81128454ede9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__event__flasg.html#ga2ef153a6ee7a8d72375f81128454ede9">EvrRtxEventFlagsDestroyed</a> (<a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a> ef_id)</td></tr>
+<tr class="memdesc:ga2ef153a6ee7a8d72375f81128454ede9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful event flags delete (Op) <a href="group__rtx__evr__event__flasg.html#ga2ef153a6ee7a8d72375f81128454ede9">More...</a><br/></td></tr>
+<tr class="separator:ga2ef153a6ee7a8d72375f81128454ede9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga47388f06c025938facfddd95851d666f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__mutex.html#ga47388f06c025938facfddd95851d666f">EvrRtxMutexError</a> (<a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id, int32_t status)</td></tr>
+<tr class="memdesc:ga47388f06c025938facfddd95851d666f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on mutex error (Error) <a href="group__rtx__evr__mutex.html#ga47388f06c025938facfddd95851d666f">More...</a><br/></td></tr>
+<tr class="separator:ga47388f06c025938facfddd95851d666f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga51f59bf99b315f016ca752eddd1911d5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__mutex.html#ga51f59bf99b315f016ca752eddd1911d5">EvrRtxMutexNew</a> (const <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#structosMutexAttr__t">osMutexAttr_t</a> *attr)</td></tr>
+<tr class="memdesc:ga51f59bf99b315f016ca752eddd1911d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on mutex create and initialize (API) <a href="group__rtx__evr__mutex.html#ga51f59bf99b315f016ca752eddd1911d5">More...</a><br/></td></tr>
+<tr class="separator:ga51f59bf99b315f016ca752eddd1911d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga712b32609cfb3ceded746ee6a86d2442"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__mutex.html#ga712b32609cfb3ceded746ee6a86d2442">EvrRtxMutexCreated</a> (<a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id, const char *name)</td></tr>
+<tr class="memdesc:ga712b32609cfb3ceded746ee6a86d2442"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful mutex create (Op) <a href="group__rtx__evr__mutex.html#ga712b32609cfb3ceded746ee6a86d2442">More...</a><br/></td></tr>
+<tr class="separator:ga712b32609cfb3ceded746ee6a86d2442"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga457302507cedf0ea969cbb110af606b8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__mutex.html#ga457302507cedf0ea969cbb110af606b8">EvrRtxMutexGetName</a> (<a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id, const char *name)</td></tr>
+<tr class="memdesc:ga457302507cedf0ea969cbb110af606b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on mutex name retrieve (API) <a href="group__rtx__evr__mutex.html#ga457302507cedf0ea969cbb110af606b8">More...</a><br/></td></tr>
+<tr class="separator:ga457302507cedf0ea969cbb110af606b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga913c46223d91000fedab624d0f4e53f8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__mutex.html#ga913c46223d91000fedab624d0f4e53f8">EvrRtxMutexAcquire</a> (<a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id, uint32_t timeout)</td></tr>
+<tr class="memdesc:ga913c46223d91000fedab624d0f4e53f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on mutex acquire (API) <a href="group__rtx__evr__mutex.html#ga913c46223d91000fedab624d0f4e53f8">More...</a><br/></td></tr>
+<tr class="separator:ga913c46223d91000fedab624d0f4e53f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaddc9bb3c619b92a786ee5255ec65eaca"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__mutex.html#gaddc9bb3c619b92a786ee5255ec65eaca">EvrRtxMutexAcquirePending</a> (<a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id, uint32_t timeout)</td></tr>
+<tr class="memdesc:gaddc9bb3c619b92a786ee5255ec65eaca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on pending mutex acquire (Op) <a href="group__rtx__evr__mutex.html#gaddc9bb3c619b92a786ee5255ec65eaca">More...</a><br/></td></tr>
+<tr class="separator:gaddc9bb3c619b92a786ee5255ec65eaca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4c4780cf766e9d2c6e8c26f206fba607"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__mutex.html#ga4c4780cf766e9d2c6e8c26f206fba607">EvrRtxMutexAcquireTimeout</a> (<a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id)</td></tr>
+<tr class="memdesc:ga4c4780cf766e9d2c6e8c26f206fba607"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on mutex acquire timeout (Op) <a href="group__rtx__evr__mutex.html#ga4c4780cf766e9d2c6e8c26f206fba607">More...</a><br/></td></tr>
+<tr class="separator:ga4c4780cf766e9d2c6e8c26f206fba607"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga697ec95e014a30a3676690a8d217f546"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__mutex.html#ga697ec95e014a30a3676690a8d217f546">EvrRtxMutexAcquired</a> (<a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id, uint32_t lock)</td></tr>
+<tr class="memdesc:ga697ec95e014a30a3676690a8d217f546"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful mutex acquire (Op) <a href="group__rtx__evr__mutex.html#ga697ec95e014a30a3676690a8d217f546">More...</a><br/></td></tr>
+<tr class="separator:ga697ec95e014a30a3676690a8d217f546"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5d2b957c02fcdcc0617479b93a56f6af"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__mutex.html#ga5d2b957c02fcdcc0617479b93a56f6af">EvrRtxMutexNotAcquired</a> (<a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id)</td></tr>
+<tr class="memdesc:ga5d2b957c02fcdcc0617479b93a56f6af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on unsuccessful mutex acquire (Op) <a href="group__rtx__evr__mutex.html#ga5d2b957c02fcdcc0617479b93a56f6af">More...</a><br/></td></tr>
+<tr class="separator:ga5d2b957c02fcdcc0617479b93a56f6af"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3fe98bfc9cbea52f578aa5a202305442"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__mutex.html#ga3fe98bfc9cbea52f578aa5a202305442">EvrRtxMutexRelease</a> (<a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id)</td></tr>
+<tr class="memdesc:ga3fe98bfc9cbea52f578aa5a202305442"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on mutex release (API) <a href="group__rtx__evr__mutex.html#ga3fe98bfc9cbea52f578aa5a202305442">More...</a><br/></td></tr>
+<tr class="separator:ga3fe98bfc9cbea52f578aa5a202305442"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga561c8898b912ea8eace4e6ba606210e5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__mutex.html#ga561c8898b912ea8eace4e6ba606210e5">EvrRtxMutexReleased</a> (<a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id, uint32_t lock)</td></tr>
+<tr class="memdesc:ga561c8898b912ea8eace4e6ba606210e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful mutex release (Op) <a href="group__rtx__evr__mutex.html#ga561c8898b912ea8eace4e6ba606210e5">More...</a><br/></td></tr>
+<tr class="separator:ga561c8898b912ea8eace4e6ba606210e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga89284c1927aa646535ff804f1aeda720"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__mutex.html#ga89284c1927aa646535ff804f1aeda720">EvrRtxMutexGetOwner</a> (<a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id, <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> thread_id)</td></tr>
+<tr class="memdesc:ga89284c1927aa646535ff804f1aeda720"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on mutex owner retrieve (API) <a href="group__rtx__evr__mutex.html#ga89284c1927aa646535ff804f1aeda720">More...</a><br/></td></tr>
+<tr class="separator:ga89284c1927aa646535ff804f1aeda720"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaaadf1b9cf9a62f4e61742069b95daf68"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__mutex.html#gaaadf1b9cf9a62f4e61742069b95daf68">EvrRtxMutexDelete</a> (<a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id)</td></tr>
+<tr class="memdesc:gaaadf1b9cf9a62f4e61742069b95daf68"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on mutex delete (API) <a href="group__rtx__evr__mutex.html#gaaadf1b9cf9a62f4e61742069b95daf68">More...</a><br/></td></tr>
+<tr class="separator:gaaadf1b9cf9a62f4e61742069b95daf68"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa3feba455090d50295cbf4b1447f3f87"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__mutex.html#gaa3feba455090d50295cbf4b1447f3f87">EvrRtxMutexDestroyed</a> (<a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42">osMutexId_t</a> mutex_id)</td></tr>
+<tr class="memdesc:gaa3feba455090d50295cbf4b1447f3f87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful mutex delete (Op) <a href="group__rtx__evr__mutex.html#gaa3feba455090d50295cbf4b1447f3f87">More...</a><br/></td></tr>
+<tr class="separator:gaa3feba455090d50295cbf4b1447f3f87"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga96a0209384296a283c7b1d23a3395fa1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__semaphore.html#ga96a0209384296a283c7b1d23a3395fa1">EvrRtxSemaphoreError</a> (<a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> semaphore_id, int32_t status)</td></tr>
+<tr class="memdesc:ga96a0209384296a283c7b1d23a3395fa1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on semaphore error (Error) <a href="group__rtx__evr__semaphore.html#ga96a0209384296a283c7b1d23a3395fa1">More...</a><br/></td></tr>
+<tr class="separator:ga96a0209384296a283c7b1d23a3395fa1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5639f03e935ab79844777664a518c2ec"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__semaphore.html#ga5639f03e935ab79844777664a518c2ec">EvrRtxSemaphoreNew</a> (uint32_t max_count, uint32_t initial_count, const <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#structosSemaphoreAttr__t">osSemaphoreAttr_t</a> *attr)</td></tr>
+<tr class="memdesc:ga5639f03e935ab79844777664a518c2ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on semaphore create and initialize (API) <a href="group__rtx__evr__semaphore.html#ga5639f03e935ab79844777664a518c2ec">More...</a><br/></td></tr>
+<tr class="separator:ga5639f03e935ab79844777664a518c2ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga31f9d55abcc5f398ea3810177cbf2bf3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__semaphore.html#ga31f9d55abcc5f398ea3810177cbf2bf3">EvrRtxSemaphoreCreated</a> (<a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> semaphore_id, const char *name)</td></tr>
+<tr class="memdesc:ga31f9d55abcc5f398ea3810177cbf2bf3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful semaphore create (Op) <a href="group__rtx__evr__semaphore.html#ga31f9d55abcc5f398ea3810177cbf2bf3">More...</a><br/></td></tr>
+<tr class="separator:ga31f9d55abcc5f398ea3810177cbf2bf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga17d8aa861b6e669cc68c3c41e3e12332"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__semaphore.html#ga17d8aa861b6e669cc68c3c41e3e12332">EvrRtxSemaphoreGetName</a> (<a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> semaphore_id, const char *name)</td></tr>
+<tr class="memdesc:ga17d8aa861b6e669cc68c3c41e3e12332"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on semaphore name retrieve (API) <a href="group__rtx__evr__semaphore.html#ga17d8aa861b6e669cc68c3c41e3e12332">More...</a><br/></td></tr>
+<tr class="separator:ga17d8aa861b6e669cc68c3c41e3e12332"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gafd91c9bb268a48b394571a9fc1809019"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__semaphore.html#gafd91c9bb268a48b394571a9fc1809019">EvrRtxSemaphoreAcquire</a> (<a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> semaphore_id, uint32_t timeout)</td></tr>
+<tr class="memdesc:gafd91c9bb268a48b394571a9fc1809019"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on semaphore acquire (API) <a href="group__rtx__evr__semaphore.html#gafd91c9bb268a48b394571a9fc1809019">More...</a><br/></td></tr>
+<tr class="separator:gafd91c9bb268a48b394571a9fc1809019"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gabbaaf85deaf4645414987fc1c3289343"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__semaphore.html#gabbaaf85deaf4645414987fc1c3289343">EvrRtxSemaphoreAcquirePending</a> (<a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> semaphore_id, uint32_t timeout)</td></tr>
+<tr class="memdesc:gabbaaf85deaf4645414987fc1c3289343"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on pending semaphore acquire (Op) <a href="group__rtx__evr__semaphore.html#gabbaaf85deaf4645414987fc1c3289343">More...</a><br/></td></tr>
+<tr class="separator:gabbaaf85deaf4645414987fc1c3289343"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga852798d5e14cda14484564ac4d7f5a4b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__semaphore.html#ga852798d5e14cda14484564ac4d7f5a4b">EvrRtxSemaphoreAcquireTimeout</a> (<a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> semaphore_id)</td></tr>
+<tr class="memdesc:ga852798d5e14cda14484564ac4d7f5a4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on semaphore acquire timeout (Op) <a href="group__rtx__evr__semaphore.html#ga852798d5e14cda14484564ac4d7f5a4b">More...</a><br/></td></tr>
+<tr class="separator:ga852798d5e14cda14484564ac4d7f5a4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4d1f85595cc0802cf8cac89fd8f88b5d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__semaphore.html#ga4d1f85595cc0802cf8cac89fd8f88b5d">EvrRtxSemaphoreAcquired</a> (<a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> semaphore_id, uint32_t tokens)</td></tr>
+<tr class="memdesc:ga4d1f85595cc0802cf8cac89fd8f88b5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful semaphore acquire (Op) <a href="group__rtx__evr__semaphore.html#ga4d1f85595cc0802cf8cac89fd8f88b5d">More...</a><br/></td></tr>
+<tr class="separator:ga4d1f85595cc0802cf8cac89fd8f88b5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga53eb40f5251e9464b46cc153fe8b26d8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__semaphore.html#ga53eb40f5251e9464b46cc153fe8b26d8">EvrRtxSemaphoreNotAcquired</a> (<a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> semaphore_id)</td></tr>
+<tr class="memdesc:ga53eb40f5251e9464b46cc153fe8b26d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on unsuccessful semaphore acquire (Op) <a href="group__rtx__evr__semaphore.html#ga53eb40f5251e9464b46cc153fe8b26d8">More...</a><br/></td></tr>
+<tr class="separator:ga53eb40f5251e9464b46cc153fe8b26d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0a9f3c7dbf89d3f155a96524e7195630"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__semaphore.html#ga0a9f3c7dbf89d3f155a96524e7195630">EvrRtxSemaphoreRelease</a> (<a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> semaphore_id)</td></tr>
+<tr class="memdesc:ga0a9f3c7dbf89d3f155a96524e7195630"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on semaphore release (API) <a href="group__rtx__evr__semaphore.html#ga0a9f3c7dbf89d3f155a96524e7195630">More...</a><br/></td></tr>
+<tr class="separator:ga0a9f3c7dbf89d3f155a96524e7195630"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga814dc5c7d95e7d1bfb30ce0f472ae420"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__semaphore.html#ga814dc5c7d95e7d1bfb30ce0f472ae420">EvrRtxSemaphoreReleased</a> (<a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> semaphore_id, uint32_t tokens)</td></tr>
+<tr class="memdesc:ga814dc5c7d95e7d1bfb30ce0f472ae420"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful semaphore release (Op) <a href="group__rtx__evr__semaphore.html#ga814dc5c7d95e7d1bfb30ce0f472ae420">More...</a><br/></td></tr>
+<tr class="separator:ga814dc5c7d95e7d1bfb30ce0f472ae420"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga17f21ffa4ec39c50ce203e6985dd0deb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__semaphore.html#ga17f21ffa4ec39c50ce203e6985dd0deb">EvrRtxSemaphoreGetCount</a> (<a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> semaphore_id, uint32_t count)</td></tr>
+<tr class="memdesc:ga17f21ffa4ec39c50ce203e6985dd0deb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on semaphore token count retrieval (API) <a href="group__rtx__evr__semaphore.html#ga17f21ffa4ec39c50ce203e6985dd0deb">More...</a><br/></td></tr>
+<tr class="separator:ga17f21ffa4ec39c50ce203e6985dd0deb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaeb0605679ad9f686dd0f40610c8af772"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__semaphore.html#gaeb0605679ad9f686dd0f40610c8af772">EvrRtxSemaphoreDelete</a> (<a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> semaphore_id)</td></tr>
+<tr class="memdesc:gaeb0605679ad9f686dd0f40610c8af772"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on semaphore delete (API) <a href="group__rtx__evr__semaphore.html#gaeb0605679ad9f686dd0f40610c8af772">More...</a><br/></td></tr>
+<tr class="separator:gaeb0605679ad9f686dd0f40610c8af772"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaad8d8a2844e948b00f02e8620c431c9c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__semaphore.html#gaad8d8a2844e948b00f02e8620c431c9c">EvrRtxSemaphoreDestroyed</a> (<a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40">osSemaphoreId_t</a> semaphore_id)</td></tr>
+<tr class="memdesc:gaad8d8a2844e948b00f02e8620c431c9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful semaphore delete (Op) <a href="group__rtx__evr__semaphore.html#gaad8d8a2844e948b00f02e8620c431c9c">More...</a><br/></td></tr>
+<tr class="separator:gaad8d8a2844e948b00f02e8620c431c9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7e1a37b0c5dd0a97507c025ab1a62ec8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory__pool.html#ga7e1a37b0c5dd0a97507c025ab1a62ec8">EvrRtxMemoryPoolError</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id, int32_t status)</td></tr>
+<tr class="memdesc:ga7e1a37b0c5dd0a97507c025ab1a62ec8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on memory pool error (Error) <a href="group__rtx__evr__memory__pool.html#ga7e1a37b0c5dd0a97507c025ab1a62ec8">More...</a><br/></td></tr>
+<tr class="separator:ga7e1a37b0c5dd0a97507c025ab1a62ec8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf2fd4c91acf1379e93cd9886c515b9c5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory__pool.html#gaf2fd4c91acf1379e93cd9886c515b9c5">EvrRtxMemoryPoolNew</a> (uint32_t block_count, uint32_t block_size, const <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#structosMemoryPoolAttr__t">osMemoryPoolAttr_t</a> *attr)</td></tr>
+<tr class="memdesc:gaf2fd4c91acf1379e93cd9886c515b9c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on memory pool create and initialize (API) <a href="group__rtx__evr__memory__pool.html#gaf2fd4c91acf1379e93cd9886c515b9c5">More...</a><br/></td></tr>
+<tr class="separator:gaf2fd4c91acf1379e93cd9886c515b9c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gadad71c7b04493c03647ca0929ea087b1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory__pool.html#gadad71c7b04493c03647ca0929ea087b1">EvrRtxMemoryPoolCreated</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id, const char *name)</td></tr>
+<tr class="memdesc:gadad71c7b04493c03647ca0929ea087b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful memory pool create (Op) <a href="group__rtx__evr__memory__pool.html#gadad71c7b04493c03647ca0929ea087b1">More...</a><br/></td></tr>
+<tr class="separator:gadad71c7b04493c03647ca0929ea087b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaeface1ee4957cdb59292e13c38a672d7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory__pool.html#gaeface1ee4957cdb59292e13c38a672d7">EvrRtxMemoryPoolGetName</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id, const char *name)</td></tr>
+<tr class="memdesc:gaeface1ee4957cdb59292e13c38a672d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on memory pool name retrieve (API) <a href="group__rtx__evr__memory__pool.html#gaeface1ee4957cdb59292e13c38a672d7">More...</a><br/></td></tr>
+<tr class="separator:gaeface1ee4957cdb59292e13c38a672d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga425c8a0e13c6fb13262d99a4dcabd507"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory__pool.html#ga425c8a0e13c6fb13262d99a4dcabd507">EvrRtxMemoryPoolAlloc</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id, uint32_t timeout)</td></tr>
+<tr class="memdesc:ga425c8a0e13c6fb13262d99a4dcabd507"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on memory pool allocation (API) <a href="group__rtx__evr__memory__pool.html#ga425c8a0e13c6fb13262d99a4dcabd507">More...</a><br/></td></tr>
+<tr class="separator:ga425c8a0e13c6fb13262d99a4dcabd507"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2fbd33e3d84b4f37e9f9b80576b26907"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory__pool.html#ga2fbd33e3d84b4f37e9f9b80576b26907">EvrRtxMemoryPoolAllocPending</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id, uint32_t timeout)</td></tr>
+<tr class="memdesc:ga2fbd33e3d84b4f37e9f9b80576b26907"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on pending memory pool allocation (Op) <a href="group__rtx__evr__memory__pool.html#ga2fbd33e3d84b4f37e9f9b80576b26907">More...</a><br/></td></tr>
+<tr class="separator:ga2fbd33e3d84b4f37e9f9b80576b26907"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0e144530d45959126018ad74bae7a6ed"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory__pool.html#ga0e144530d45959126018ad74bae7a6ed">EvrRtxMemoryPoolAllocTimeout</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id)</td></tr>
+<tr class="memdesc:ga0e144530d45959126018ad74bae7a6ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on memory pool allocation timeout (Op) <a href="group__rtx__evr__memory__pool.html#ga0e144530d45959126018ad74bae7a6ed">More...</a><br/></td></tr>
+<tr class="separator:ga0e144530d45959126018ad74bae7a6ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad05246ee7e1f95e7f9496716515daeed"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory__pool.html#gad05246ee7e1f95e7f9496716515daeed">EvrRtxMemoryPoolAllocated</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id, void *block)</td></tr>
+<tr class="memdesc:gad05246ee7e1f95e7f9496716515daeed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful memory pool allocation (Op) <a href="group__rtx__evr__memory__pool.html#gad05246ee7e1f95e7f9496716515daeed">More...</a><br/></td></tr>
+<tr class="separator:gad05246ee7e1f95e7f9496716515daeed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf511fce5389dde6fd3277e3469c72fd9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory__pool.html#gaf511fce5389dde6fd3277e3469c72fd9">EvrRtxMemoryPoolAllocFailed</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id)</td></tr>
+<tr class="memdesc:gaf511fce5389dde6fd3277e3469c72fd9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on unsuccessful memory pool allocation (Op) <a href="group__rtx__evr__memory__pool.html#gaf511fce5389dde6fd3277e3469c72fd9">More...</a><br/></td></tr>
+<tr class="separator:gaf511fce5389dde6fd3277e3469c72fd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga46bc3ef3b1ca2e4cfb914f58d0efe92e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory__pool.html#ga46bc3ef3b1ca2e4cfb914f58d0efe92e">EvrRtxMemoryPoolFree</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id, void *block)</td></tr>
+<tr class="memdesc:ga46bc3ef3b1ca2e4cfb914f58d0efe92e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on memory pool free (API) <a href="group__rtx__evr__memory__pool.html#ga46bc3ef3b1ca2e4cfb914f58d0efe92e">More...</a><br/></td></tr>
+<tr class="separator:ga46bc3ef3b1ca2e4cfb914f58d0efe92e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3e8e700baea20b88c3d13678fe7a7fb4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory__pool.html#ga3e8e700baea20b88c3d13678fe7a7fb4">EvrRtxMemoryPoolDeallocated</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id, void *block)</td></tr>
+<tr class="memdesc:ga3e8e700baea20b88c3d13678fe7a7fb4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful memory pool free (Op) <a href="group__rtx__evr__memory__pool.html#ga3e8e700baea20b88c3d13678fe7a7fb4">More...</a><br/></td></tr>
+<tr class="separator:ga3e8e700baea20b88c3d13678fe7a7fb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad75c377c00ae23caf7b4c3b77a0b46d1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory__pool.html#gad75c377c00ae23caf7b4c3b77a0b46d1">EvrRtxMemoryPoolFreeFailed</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id, void *block)</td></tr>
+<tr class="memdesc:gad75c377c00ae23caf7b4c3b77a0b46d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on unsuccessful memory pool free (Op) <a href="group__rtx__evr__memory__pool.html#gad75c377c00ae23caf7b4c3b77a0b46d1">More...</a><br/></td></tr>
+<tr class="separator:gad75c377c00ae23caf7b4c3b77a0b46d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaed36f26a548d40e2a3d5b81c8695f287"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory__pool.html#gaed36f26a548d40e2a3d5b81c8695f287">EvrRtxMemoryPoolGetCapacity</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id, uint32_t capacity)</td></tr>
+<tr class="memdesc:gaed36f26a548d40e2a3d5b81c8695f287"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on memory pool capacity retrieve (API) <a href="group__rtx__evr__memory__pool.html#gaed36f26a548d40e2a3d5b81c8695f287">More...</a><br/></td></tr>
+<tr class="separator:gaed36f26a548d40e2a3d5b81c8695f287"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf79f0e1eb41d42566ba9023be7e442c5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory__pool.html#gaf79f0e1eb41d42566ba9023be7e442c5">EvrRtxMemoryPoolGetBlockSize</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id, uint32_t block_size)</td></tr>
+<tr class="memdesc:gaf79f0e1eb41d42566ba9023be7e442c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on memory pool block size retrieve (API) <a href="group__rtx__evr__memory__pool.html#gaf79f0e1eb41d42566ba9023be7e442c5">More...</a><br/></td></tr>
+<tr class="separator:gaf79f0e1eb41d42566ba9023be7e442c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga668bc3e627d9b74b6e8259a667e05846"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory__pool.html#ga668bc3e627d9b74b6e8259a667e05846">EvrRtxMemoryPoolGetCount</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id, uint32_t count)</td></tr>
+<tr class="memdesc:ga668bc3e627d9b74b6e8259a667e05846"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on used memory pool blocks retrieve (API) <a href="group__rtx__evr__memory__pool.html#ga668bc3e627d9b74b6e8259a667e05846">More...</a><br/></td></tr>
+<tr class="separator:ga668bc3e627d9b74b6e8259a667e05846"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4bee4e3e41bdef94046dc059f16ca7ce"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory__pool.html#ga4bee4e3e41bdef94046dc059f16ca7ce">EvrRtxMemoryPoolGetSpace</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id, uint32_t space)</td></tr>
+<tr class="memdesc:ga4bee4e3e41bdef94046dc059f16ca7ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on available memory pool blocks retrieve (API) <a href="group__rtx__evr__memory__pool.html#ga4bee4e3e41bdef94046dc059f16ca7ce">More...</a><br/></td></tr>
+<tr class="separator:ga4bee4e3e41bdef94046dc059f16ca7ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga64ae703ad556f25b105e3eae85b582b8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory__pool.html#ga64ae703ad556f25b105e3eae85b582b8">EvrRtxMemoryPoolDelete</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id)</td></tr>
+<tr class="memdesc:ga64ae703ad556f25b105e3eae85b582b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on memory pool delete (API) <a href="group__rtx__evr__memory__pool.html#ga64ae703ad556f25b105e3eae85b582b8">More...</a><br/></td></tr>
+<tr class="separator:ga64ae703ad556f25b105e3eae85b582b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga853e1867a4b65aff3f12f7be1aee5ce4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__memory__pool.html#ga853e1867a4b65aff3f12f7be1aee5ce4">EvrRtxMemoryPoolDestroyed</a> (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960">osMemoryPoolId_t</a> mp_id)</td></tr>
+<tr class="memdesc:ga853e1867a4b65aff3f12f7be1aee5ce4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful memory pool delete (Op) <a href="group__rtx__evr__memory__pool.html#ga853e1867a4b65aff3f12f7be1aee5ce4">More...</a><br/></td></tr>
+<tr class="separator:ga853e1867a4b65aff3f12f7be1aee5ce4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8ded1d43703e0885a81e65251c6df405"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#ga8ded1d43703e0885a81e65251c6df405">EvrRtxMessageQueueError</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id, int32_t status)</td></tr>
+<tr class="memdesc:ga8ded1d43703e0885a81e65251c6df405"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on message queue error (Error) <a href="group__rtx__evr__message__queue.html#ga8ded1d43703e0885a81e65251c6df405">More...</a><br/></td></tr>
+<tr class="separator:ga8ded1d43703e0885a81e65251c6df405"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa7b18f18f3f53d6afb39ac1abe257000"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#gaa7b18f18f3f53d6afb39ac1abe257000">EvrRtxMessageQueueNew</a> (uint32_t msg_count, uint32_t msg_size, const <a class="el" href="group__CMSIS__RTOS__Message.html#structosMessageQueueAttr__t">osMessageQueueAttr_t</a> *attr)</td></tr>
+<tr class="memdesc:gaa7b18f18f3f53d6afb39ac1abe257000"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on message queue create and initialization (API) <a href="group__rtx__evr__message__queue.html#gaa7b18f18f3f53d6afb39ac1abe257000">More...</a><br/></td></tr>
+<tr class="separator:gaa7b18f18f3f53d6afb39ac1abe257000"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga36d6982377c1f54a227ba6fbb9458b79"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#ga36d6982377c1f54a227ba6fbb9458b79">EvrRtxMessageQueueCreated</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id, const char *name)</td></tr>
+<tr class="memdesc:ga36d6982377c1f54a227ba6fbb9458b79"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful message queue create (Op) <a href="group__rtx__evr__message__queue.html#ga36d6982377c1f54a227ba6fbb9458b79">More...</a><br/></td></tr>
+<tr class="separator:ga36d6982377c1f54a227ba6fbb9458b79"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad0ef8ee59d2ec189351c5884f5f8e945"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#gad0ef8ee59d2ec189351c5884f5f8e945">EvrRtxMessageQueueGetName</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id, const char *name)</td></tr>
+<tr class="memdesc:gad0ef8ee59d2ec189351c5884f5f8e945"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on message queue name retrieve(API) <a href="group__rtx__evr__message__queue.html#gad0ef8ee59d2ec189351c5884f5f8e945">More...</a><br/></td></tr>
+<tr class="separator:gad0ef8ee59d2ec189351c5884f5f8e945"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga401536a603e5a805cc6089b4de11d3d3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#ga401536a603e5a805cc6089b4de11d3d3">EvrRtxMessageQueuePut</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id, const void *msg_ptr, uint8_t msg_prio, uint32_t timeout)</td></tr>
+<tr class="memdesc:ga401536a603e5a805cc6089b4de11d3d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on message put (API) <a href="group__rtx__evr__message__queue.html#ga401536a603e5a805cc6089b4de11d3d3">More...</a><br/></td></tr>
+<tr class="separator:ga401536a603e5a805cc6089b4de11d3d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4b1b6191c6ca87dff4714e25b5845828"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#ga4b1b6191c6ca87dff4714e25b5845828">EvrRtxMessageQueuePutPending</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id, const void *msg_ptr, uint32_t timeout)</td></tr>
+<tr class="memdesc:ga4b1b6191c6ca87dff4714e25b5845828"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on pending message put (Op) <a href="group__rtx__evr__message__queue.html#ga4b1b6191c6ca87dff4714e25b5845828">More...</a><br/></td></tr>
+<tr class="separator:ga4b1b6191c6ca87dff4714e25b5845828"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7394ca2d88255470f7ba0bb2bff12e99"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#ga7394ca2d88255470f7ba0bb2bff12e99">EvrRtxMessageQueuePutTimeout</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id)</td></tr>
+<tr class="memdesc:ga7394ca2d88255470f7ba0bb2bff12e99"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on message put timeout (Op) <a href="group__rtx__evr__message__queue.html#ga7394ca2d88255470f7ba0bb2bff12e99">More...</a><br/></td></tr>
+<tr class="separator:ga7394ca2d88255470f7ba0bb2bff12e99"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8440223b9d48145df5505489e7c6f7d9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#ga8440223b9d48145df5505489e7c6f7d9">EvrRtxMessageQueueInsertPending</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id, const void *msg_ptr)</td></tr>
+<tr class="memdesc:ga8440223b9d48145df5505489e7c6f7d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on pending message insert (Op) <a href="group__rtx__evr__message__queue.html#ga8440223b9d48145df5505489e7c6f7d9">More...</a><br/></td></tr>
+<tr class="separator:ga8440223b9d48145df5505489e7c6f7d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa30c5b375d4050ad7d99ba094821bf52"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#gaa30c5b375d4050ad7d99ba094821bf52">EvrRtxMessageQueueInserted</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id, const void *msg_ptr)</td></tr>
+<tr class="memdesc:gaa30c5b375d4050ad7d99ba094821bf52"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful message insert (Op) <a href="group__rtx__evr__message__queue.html#gaa30c5b375d4050ad7d99ba094821bf52">More...</a><br/></td></tr>
+<tr class="separator:gaa30c5b375d4050ad7d99ba094821bf52"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2922125d8ac63fd800dc3b7888fd3f3c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#ga2922125d8ac63fd800dc3b7888fd3f3c">EvrRtxMessageQueueNotInserted</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id, const void *msg_ptr)</td></tr>
+<tr class="memdesc:ga2922125d8ac63fd800dc3b7888fd3f3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on unsuccessful message insert (Op) <a href="group__rtx__evr__message__queue.html#ga2922125d8ac63fd800dc3b7888fd3f3c">More...</a><br/></td></tr>
+<tr class="separator:ga2922125d8ac63fd800dc3b7888fd3f3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0826c1d05d3a99afb8682f0ca3f7fd62"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#ga0826c1d05d3a99afb8682f0ca3f7fd62">EvrRtxMessageQueueGet</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id, void *msg_ptr, uint8_t *msg_prio, uint32_t timeout)</td></tr>
+<tr class="memdesc:ga0826c1d05d3a99afb8682f0ca3f7fd62"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on message get (API) <a href="group__rtx__evr__message__queue.html#ga0826c1d05d3a99afb8682f0ca3f7fd62">More...</a><br/></td></tr>
+<tr class="separator:ga0826c1d05d3a99afb8682f0ca3f7fd62"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga11e3df32a66d5240b277375cbb5d3c83"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#ga11e3df32a66d5240b277375cbb5d3c83">EvrRtxMessageQueueGetPending</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id, void *msg_ptr, uint32_t timeout)</td></tr>
+<tr class="memdesc:ga11e3df32a66d5240b277375cbb5d3c83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on pending message get (Op) <a href="group__rtx__evr__message__queue.html#ga11e3df32a66d5240b277375cbb5d3c83">More...</a><br/></td></tr>
+<tr class="separator:ga11e3df32a66d5240b277375cbb5d3c83"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5e699de7401c46fd0e8bc19e398dc5a8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#ga5e699de7401c46fd0e8bc19e398dc5a8">EvrRtxMessageQueueGetTimeout</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id)</td></tr>
+<tr class="memdesc:ga5e699de7401c46fd0e8bc19e398dc5a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on message get timeout (Op) <a href="group__rtx__evr__message__queue.html#ga5e699de7401c46fd0e8bc19e398dc5a8">More...</a><br/></td></tr>
+<tr class="separator:ga5e699de7401c46fd0e8bc19e398dc5a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab340b38df5d8bf2a1182fd18f2d3a6c4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#gab340b38df5d8bf2a1182fd18f2d3a6c4">EvrRtxMessageQueueRetrieved</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id, void *msg_ptr)</td></tr>
+<tr class="memdesc:gab340b38df5d8bf2a1182fd18f2d3a6c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful message get (Op) <a href="group__rtx__evr__message__queue.html#gab340b38df5d8bf2a1182fd18f2d3a6c4">More...</a><br/></td></tr>
+<tr class="separator:gab340b38df5d8bf2a1182fd18f2d3a6c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga22bfb7d1c2f6e3e9fea9d3267b2d6988"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#ga22bfb7d1c2f6e3e9fea9d3267b2d6988">EvrRtxMessageQueueNotRetrieved</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id, void *msg_ptr)</td></tr>
+<tr class="memdesc:ga22bfb7d1c2f6e3e9fea9d3267b2d6988"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on unsuccessful message get (Op) <a href="group__rtx__evr__message__queue.html#ga22bfb7d1c2f6e3e9fea9d3267b2d6988">More...</a><br/></td></tr>
+<tr class="separator:ga22bfb7d1c2f6e3e9fea9d3267b2d6988"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad423a0be13d65e98d9ae08de9c399615"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#gad423a0be13d65e98d9ae08de9c399615">EvrRtxMessageQueueGetCapacity</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id, uint32_t capacity)</td></tr>
+<tr class="memdesc:gad423a0be13d65e98d9ae08de9c399615"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on message queue capacity retrieve (API) <a href="group__rtx__evr__message__queue.html#gad423a0be13d65e98d9ae08de9c399615">More...</a><br/></td></tr>
+<tr class="separator:gad423a0be13d65e98d9ae08de9c399615"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3d6348bed3937de29765ed4d7d07fac8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#ga3d6348bed3937de29765ed4d7d07fac8">EvrRtxMessageQueueGetMsgSize</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id, uint32_t msg_size)</td></tr>
+<tr class="memdesc:ga3d6348bed3937de29765ed4d7d07fac8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on message queue message size retrieve (API) <a href="group__rtx__evr__message__queue.html#ga3d6348bed3937de29765ed4d7d07fac8">More...</a><br/></td></tr>
+<tr class="separator:ga3d6348bed3937de29765ed4d7d07fac8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga145f0c464382dc71ff3b1c624b8bd570"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#ga145f0c464382dc71ff3b1c624b8bd570">EvrRtxMessageQueueGetCount</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id, uint32_t count)</td></tr>
+<tr class="memdesc:ga145f0c464382dc71ff3b1c624b8bd570"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on message queue message count retrieve (API) <a href="group__rtx__evr__message__queue.html#ga145f0c464382dc71ff3b1c624b8bd570">More...</a><br/></td></tr>
+<tr class="separator:ga145f0c464382dc71ff3b1c624b8bd570"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6cfce7336f58505a2379a8a71f477d2f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#ga6cfce7336f58505a2379a8a71f477d2f">EvrRtxMessageQueueGetSpace</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id, uint32_t space)</td></tr>
+<tr class="memdesc:ga6cfce7336f58505a2379a8a71f477d2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on message queue message slots retrieve (API) <a href="group__rtx__evr__message__queue.html#ga6cfce7336f58505a2379a8a71f477d2f">More...</a><br/></td></tr>
+<tr class="separator:ga6cfce7336f58505a2379a8a71f477d2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga91b8c8630c7d89b6b6dbb74d4fc81ba4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#ga91b8c8630c7d89b6b6dbb74d4fc81ba4">EvrRtxMessageQueueReset</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id)</td></tr>
+<tr class="memdesc:ga91b8c8630c7d89b6b6dbb74d4fc81ba4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on message queue reset (API) <a href="group__rtx__evr__message__queue.html#ga91b8c8630c7d89b6b6dbb74d4fc81ba4">More...</a><br/></td></tr>
+<tr class="separator:ga91b8c8630c7d89b6b6dbb74d4fc81ba4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3947d4a7ac86ee7a50052c9eb4cd5432"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#ga3947d4a7ac86ee7a50052c9eb4cd5432">EvrRtxMessageQueueResetDone</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id)</td></tr>
+<tr class="memdesc:ga3947d4a7ac86ee7a50052c9eb4cd5432"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful message queue reset (Op) <a href="group__rtx__evr__message__queue.html#ga3947d4a7ac86ee7a50052c9eb4cd5432">More...</a><br/></td></tr>
+<tr class="separator:ga3947d4a7ac86ee7a50052c9eb4cd5432"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad11606ef82f5b82f291bf64adfc805e4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#gad11606ef82f5b82f291bf64adfc805e4">EvrRtxMessageQueueDelete</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id)</td></tr>
+<tr class="memdesc:gad11606ef82f5b82f291bf64adfc805e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on message queue delete (API) <a href="group__rtx__evr__message__queue.html#gad11606ef82f5b82f291bf64adfc805e4">More...</a><br/></td></tr>
+<tr class="separator:gad11606ef82f5b82f291bf64adfc805e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3bbf02128c31e5cc7ef4c78cdbec508c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx__evr__message__queue.html#ga3bbf02128c31e5cc7ef4c78cdbec508c">EvrRtxMessageQueueDestroyed</a> (<a class="el" href="cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317">osMessageQueueId_t</a> mq_id)</td></tr>
+<tr class="memdesc:ga3bbf02128c31e5cc7ef4c78cdbec508c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event on successful message queue delete (Op) <a href="group__rtx__evr__message__queue.html#ga3bbf02128c31e5cc7ef4c78cdbec508c">More...</a><br/></td></tr>
+<tr class="separator:ga3bbf02128c31e5cc7ef4c78cdbec508c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Macro Definition Documentation</h2>
+<a class="anchor" id="a168269d3a1264ac7a7427f8642e358a4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxErrorKernelNotReady&#160;&#160;&#160;(-7)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a8a916c6a8ad67a38c29ca2e2141d1540"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxErrorKernelNotRunning&#160;&#160;&#160;(-8)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a56335b5b0a3f932e06aa764d185b6a60"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxErrorInvalidControlBlock&#160;&#160;&#160;(-9)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a037115a16032074ae1a82d64c160338b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxErrorInvalidDataMemory&#160;&#160;&#160;(-10)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a5cabacbb758a1bc5012cae2292771726"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxErrorInvalidThreadStack&#160;&#160;&#160;(-11)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a45219e125941ecbe7eca030fd2f40d7a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxErrorInvalidPriority&#160;&#160;&#160;(-12)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a1955ed26bf52d4fd07a73961ee6a1478"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxErrorThreadNotJoinable&#160;&#160;&#160;(-13)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a2abf2bd19d5d80399c129e7b79e19e9a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxErrorMutexNotOwned&#160;&#160;&#160;(-14)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a4fc98ec7f644bc7156af58431043171a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxErrorMutexNotLocked&#160;&#160;&#160;(-15)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a949198d164108954151e89607a1504a7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxErrorMutexLockLimit&#160;&#160;&#160;(-16)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a4266d3dd5e7bbd2693dd53d00d80bc4c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxErrorSemaphoreCountLimit&#160;&#160;&#160;(-17)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a33f2affc96c91cf39a3986e4bd119c5c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxErrorTZ_InitContext_S&#160;&#160;&#160;(-18)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a787925e3c31997d22bb7ea985b69c3db"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxErrorTZ_AllocContext_S&#160;&#160;&#160;(-19)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a8b1b28f13acfecfec665a3759ce69991"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxErrorTZ_FreeContext_S&#160;&#160;&#160;(-20)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a3e9b3fdece321c3766bc6bc1a35e9cf6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxErrorTZ_LoadContext_S&#160;&#160;&#160;(-21)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ad600f514856926fc313a5f7dc0c3d422"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxErrorTZ_SaveContext_S&#160;&#160;&#160;(-22)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ac356c777af86c2d8d9250cbffc516e1d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadFlagsSet </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
+ <td class="paramname"><em>thread_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>flags</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>flags of the thread that shall be set. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="abd447773c02e235a8d0bb96dd9bb1c4f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadFlagsSetDone </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a>&#160;</td>
+ <td class="paramname"><em>thread_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>thread_flags</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_id</td><td>thread ID obtained by <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a> or <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_flags</td><td>thread flags after setting. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ac8ddc747c72f7fc5cfa58edcee56b82d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadFlagsClear </td>
+ <td>(</td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>flags</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>flags of the thread that shall be cleared. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="aad13b17507cc07a4a1e37a5653489943"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadFlagsClearDone </td>
+ <td>(</td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>thread_flags</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_flags</td><td>thread flags before clearing. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="aab1a30a0ac3dfa588ededbfad52bae30"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadFlagsGet </td>
+ <td>(</td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>thread_flags</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_flags</td><td>current thread flags. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="aad860c571b9b083ff2889fb76fb619f1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadFlagsWait </td>
+ <td>(</td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>flags</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>options</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>timeout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>flags to wait for. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">options</td><td>flags options (osFlagsXxxx). </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td><a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a> or 0 in case of no time-out. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ad09ec9317a4440e5228870b750e9860e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadFlagsWaitPending </td>
+ <td>(</td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>flags</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>options</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>timeout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>flags to wait for. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">options</td><td>flags options (osFlagsXxxx). </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td><a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a> or 0 in case of no time-out. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a01396074495b21270c75185f63c497d7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadFlagsWaitCompleted </td>
+ <td>(</td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>flags</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>options</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>thread_flags</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>flags to wait for. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">options</td><td>flags options (osFlagsXxxx). </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">thread_flags</td><td>thread flags before clearing. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="adf6b9f4882f62a65b4e06e1b3e5c9c5b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxThreadFlagsWaitNotCompleted </td>
+ <td>(</td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>flags</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>options</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>flags to wait for. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">options</td><td>flags options (osFlagsXxxx). </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a5e5c9bd8a0522fc9301782edd6e5ec1f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxEventFlagsSet </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
+ <td class="paramname"><em>ef_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>flags</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>flags that shall be set. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a5b1b471923918ad294d16255d43ab306"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxEventFlagsSetDone </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
+ <td class="paramname"><em>ef_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>event_flags</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">event_flags</td><td>event flags after setting. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ab31f9da565b0170d8e89edf0e848f28b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxEventFlagsClear </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
+ <td class="paramname"><em>ef_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>flags</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>flags that shall be cleared. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a9e4c4e5d45bc721439c1919621a49d5a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxEventFlagsClearDone </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
+ <td class="paramname"><em>ef_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>event_flags</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">event_flags</td><td>event flags before clearing. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a113c32ff195c612ec2fb6a9dd5740184"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxEventFlagsGet </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
+ <td class="paramname"><em>ef_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>event_flags</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">event_flags</td><td>current event flags. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ac8361874ffdd854e3778f21d070fed24"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxEventFlagsWait </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
+ <td class="paramname"><em>ef_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>flags</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>options</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>timeout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>flags to wait for. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">options</td><td>flags options (osFlagsXxxx). </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td><a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a> or 0 in case of no time-out. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="afd598e0b02a31083fb41626d68fa489e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxEventFlagsWaitPending </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
+ <td class="paramname"><em>ef_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>flags</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>options</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>timeout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>flags to wait for. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">options</td><td>flags options (osFlagsXxxx). </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td><a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a> or 0 in case of no time-out. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a7b446f241c971db432ebac5d176bd9de"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxEventFlagsWaitCompleted </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
+ <td class="paramname"><em>ef_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>flags</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>options</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>event_flags</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>flags to wait for. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">options</td><td>flags options (osFlagsXxxx). </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">event_flags</td><td>event flags before clearing or 0 if specified flags have not been set. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a66f32e4dddc68cdfd56c32b88b7f13ff"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EvrRtxEventFlagsWaitNotCompleted </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50">osEventFlagsId_t</a>&#160;</td>
+ <td class="paramname"><em>ef_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>flags</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>options</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">ef_id</td><td>event flags ID obtained by <a class="el" href="group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df">osEventFlagsNew</a>. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>flags to wait for. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">options</td><td>flags options (osFlagsXxxx). </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="dir_a43355fbfff7212ac2193223a73d577c.html">RTOS2</a></li><li class="navelem"><a class="el" href="dir_002cf2dd0f795cc97a8d08cc3fa6e516.html">RTX</a></li><li class="navelem"><a class="el" href="dir_061ad8d12aa7dc7d03c29112cd6e086d.html">Include</a></li><li class="navelem"><a class="el" href="rtx__evr_8h.html">rtx_evr.h</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/rtx__evr_8txt.html b/docs/RTOS2/html/rtx__evr_8txt.html
new file mode 100644
index 0000000..6d1c3c8
--- /dev/null
+++ b/docs/RTOS2/html/rtx__evr_8txt.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>rtx_evr.txt File Reference</title>
+<title>CMSIS-RTOS2: rtx_evr.txt File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('rtx__evr_8txt.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">rtx_evr.txt File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="rtx__evr_8txt.html">rtx_evr.txt</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/rtx__os_8h.html b/docs/RTOS2/html/rtx__os_8h.html
new file mode 100644
index 0000000..0ec2356
--- /dev/null
+++ b/docs/RTOS2/html/rtx__os_8h.html
@@ -0,0 +1,2561 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>rtx_os.h File Reference</title>
+<title>CMSIS-RTOS2: rtx_os.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('rtx__os_8h.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#define-members">Macros</a> &#124;
+<a href="#func-members">Functions</a> &#124;
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">rtx_os.h File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Structures</h2></td></tr>
+<tr class="memitem:structosRtxThread__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a></td></tr>
+<tr class="memdesc:structosRtxThread__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Thread Control Block. <a href="rtx__os_8h.html#structosRtxThread__t">More...</a><br/></td></tr>
+<tr class="separator:structosRtxThread__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:structosRtxTimerFinfo__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#structosRtxTimerFinfo__t">osRtxTimerFinfo_t</a></td></tr>
+<tr class="memdesc:structosRtxTimerFinfo__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Timer Function Information. <a href="rtx__os_8h.html#structosRtxTimerFinfo__t">More...</a><br/></td></tr>
+<tr class="separator:structosRtxTimerFinfo__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:structosRtxTimer__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#structosRtxTimer__t">osRtxTimer_t</a></td></tr>
+<tr class="memdesc:structosRtxTimer__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Timer Control Block. <a href="rtx__os_8h.html#structosRtxTimer__t">More...</a><br/></td></tr>
+<tr class="separator:structosRtxTimer__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:structosRtxEventFlags__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#structosRtxEventFlags__t">osRtxEventFlags_t</a></td></tr>
+<tr class="memdesc:structosRtxEventFlags__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event Flags Control Block. <a href="rtx__os_8h.html#structosRtxEventFlags__t">More...</a><br/></td></tr>
+<tr class="separator:structosRtxEventFlags__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:structosRtxMutex__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#structosRtxMutex__t">osRtxMutex_t</a></td></tr>
+<tr class="memdesc:structosRtxMutex__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mutex Control Block. <a href="rtx__os_8h.html#structosRtxMutex__t">More...</a><br/></td></tr>
+<tr class="separator:structosRtxMutex__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:structosRtxSemaphore__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#structosRtxSemaphore__t">osRtxSemaphore_t</a></td></tr>
+<tr class="memdesc:structosRtxSemaphore__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Semaphore Control Block. <a href="rtx__os_8h.html#structosRtxSemaphore__t">More...</a><br/></td></tr>
+<tr class="separator:structosRtxSemaphore__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:structosRtxMpInfo__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a></td></tr>
+<tr class="memdesc:structosRtxMpInfo__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory Pool Information. <a href="rtx__os_8h.html#structosRtxMpInfo__t">More...</a><br/></td></tr>
+<tr class="separator:structosRtxMpInfo__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:structosRtxMemoryPool__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#structosRtxMemoryPool__t">osRtxMemoryPool_t</a></td></tr>
+<tr class="memdesc:structosRtxMemoryPool__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory Pool Control Block. <a href="rtx__os_8h.html#structosRtxMemoryPool__t">More...</a><br/></td></tr>
+<tr class="separator:structosRtxMemoryPool__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:structosRtxMessage__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#structosRtxMessage__t">osRtxMessage_t</a></td></tr>
+<tr class="memdesc:structosRtxMessage__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Message Control Block. <a href="rtx__os_8h.html#structosRtxMessage__t">More...</a><br/></td></tr>
+<tr class="separator:structosRtxMessage__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:structosRtxMessageQueue__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#structosRtxMessageQueue__t">osRtxMessageQueue_t</a></td></tr>
+<tr class="memdesc:structosRtxMessageQueue__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Message Queue Control Block. <a href="rtx__os_8h.html#structosRtxMessageQueue__t">More...</a><br/></td></tr>
+<tr class="separator:structosRtxMessageQueue__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:structosRtxObject__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#structosRtxObject__t">osRtxObject_t</a></td></tr>
+<tr class="memdesc:structosRtxObject__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generic Object Control Block. <a href="rtx__os_8h.html#structosRtxObject__t">More...</a><br/></td></tr>
+<tr class="separator:structosRtxObject__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:structosRtxInfo__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#structosRtxInfo__t">osRtxInfo_t</a></td></tr>
+<tr class="memdesc:structosRtxInfo__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">OS Runtime Information structure. <a href="rtx__os_8h.html#structosRtxInfo__t">More...</a><br/></td></tr>
+<tr class="separator:structosRtxInfo__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:structosRtxObjectMemUsage__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#structosRtxObjectMemUsage__t">osRtxObjectMemUsage_t</a></td></tr>
+<tr class="memdesc:structosRtxObjectMemUsage__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">OS Runtime Object Memory Usage structure. <a href="rtx__os_8h.html#structosRtxObjectMemUsage__t">More...</a><br/></td></tr>
+<tr class="separator:structosRtxObjectMemUsage__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:structosRtxConfig__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#structosRtxConfig__t">osRtxConfig_t</a></td></tr>
+<tr class="memdesc:structosRtxConfig__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">OS Configuration structure. <a href="rtx__os_8h.html#structosRtxConfig__t">More...</a><br/></td></tr>
+<tr class="separator:structosRtxConfig__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:structosRtxInfo__t_8kernel"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#structosRtxInfo__t_8kernel">osRtxInfo_t.kernel</a></td></tr>
+<tr class="separator:structosRtxInfo__t_8kernel"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:structosRtxInfo__t_8thread"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#structosRtxInfo__t_8thread">osRtxInfo_t.thread</a></td></tr>
+<tr class="separator:structosRtxInfo__t_8thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:structosRtxInfo__t_8thread_8run"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#structosRtxInfo__t_8thread_8run">osRtxInfo_t.thread.run</a></td></tr>
+<tr class="memdesc:structosRtxInfo__t_8thread_8run"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt; Thread Info <a href="rtx__os_8h.html#structosRtxInfo__t_8thread_8run">More...</a><br/></td></tr>
+<tr class="separator:structosRtxInfo__t_8thread_8run"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:structosRtxInfo__t_8thread_8robin"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#structosRtxInfo__t_8thread_8robin">osRtxInfo_t.thread.robin</a></td></tr>
+<tr class="separator:structosRtxInfo__t_8thread_8robin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structosRtxInfo__t_8timer.html">osRtxInfo_t.timer</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:structosRtxInfo__t_8isr__queue"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#structosRtxInfo__t_8isr__queue">osRtxInfo_t.isr_queue</a></td></tr>
+<tr class="separator:structosRtxInfo__t_8isr__queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structosRtxInfo__t_8post__process.html">osRtxInfo_t.post_process</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:structosRtxInfo__t_8mem"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#structosRtxInfo__t_8mem">osRtxInfo_t.mem</a></td></tr>
+<tr class="separator:structosRtxInfo__t_8mem"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:structosRtxInfo__t_8mpi"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#structosRtxInfo__t_8mpi">osRtxInfo_t.mpi</a></td></tr>
+<tr class="separator:structosRtxInfo__t_8mpi"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:structosRtxConfig__t_8isr__queue"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#structosRtxConfig__t_8isr__queue">osRtxConfig_t.isr_queue</a></td></tr>
+<tr class="separator:structosRtxConfig__t_8isr__queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:structosRtxConfig__t_8mem"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#structosRtxConfig__t_8mem">osRtxConfig_t.mem</a></td></tr>
+<tr class="separator:structosRtxConfig__t_8mem"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:structosRtxConfig__t_8mpi"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#structosRtxConfig__t_8mpi">osRtxConfig_t.mpi</a></td></tr>
+<tr class="separator:structosRtxConfig__t_8mpi"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
+Macros</h2></td></tr>
+<tr class="memitem:aea20a2b373e98ae88a7cf7e4a56b118f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#aea20a2b373e98ae88a7cf7e4a56b118f">osRtxVersionAPI</a>&#160;&#160;&#160;20010003</td></tr>
+<tr class="memdesc:aea20a2b373e98ae88a7cf7e4a56b118f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Kernel Information. <a href="#aea20a2b373e98ae88a7cf7e4a56b118f">More...</a><br/></td></tr>
+<tr class="separator:aea20a2b373e98ae88a7cf7e4a56b118f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad854168120979e8c60630e0140e104e8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#ad854168120979e8c60630e0140e104e8">osRtxVersionKernel</a>&#160;&#160;&#160;50040000</td></tr>
+<tr class="memdesc:ad854168120979e8c60630e0140e104e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Kernel version (5.4.0) <a href="#ad854168120979e8c60630e0140e104e8">More...</a><br/></td></tr>
+<tr class="separator:ad854168120979e8c60630e0140e104e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a47e0637d30eed2357b238cbb19dbb058"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#a47e0637d30eed2357b238cbb19dbb058">osRtxKernelId</a>&#160;&#160;&#160;&quot;RTX V5.4.0&quot;</td></tr>
+<tr class="memdesc:a47e0637d30eed2357b238cbb19dbb058"><td class="mdescLeft">&#160;</td><td class="mdescRight">Kernel identification string. <a href="#a47e0637d30eed2357b238cbb19dbb058">More...</a><br/></td></tr>
+<tr class="separator:a47e0637d30eed2357b238cbb19dbb058"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad78a646169b7b4bfa2a278d08fe21fa5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#ad78a646169b7b4bfa2a278d08fe21fa5">osRtxIdInvalid</a>&#160;&#160;&#160;0x00U</td></tr>
+<tr class="memdesc:ad78a646169b7b4bfa2a278d08fe21fa5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Object Identifier definitions. <a href="#ad78a646169b7b4bfa2a278d08fe21fa5">More...</a><br/></td></tr>
+<tr class="separator:ad78a646169b7b4bfa2a278d08fe21fa5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad6f0f1f1b4e1b8c2615429d6a24ca8f5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#ad6f0f1f1b4e1b8c2615429d6a24ca8f5">osRtxIdThread</a>&#160;&#160;&#160;0x01U</td></tr>
+<tr class="separator:ad6f0f1f1b4e1b8c2615429d6a24ca8f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5e8dd6b61e9b09d20aeea8434861950e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#a5e8dd6b61e9b09d20aeea8434861950e">osRtxIdTimer</a>&#160;&#160;&#160;0x02U</td></tr>
+<tr class="separator:a5e8dd6b61e9b09d20aeea8434861950e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa9b41f7b0dc38018a7db915df5e716cc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#aa9b41f7b0dc38018a7db915df5e716cc">osRtxIdEventFlags</a>&#160;&#160;&#160;0x03U</td></tr>
+<tr class="separator:aa9b41f7b0dc38018a7db915df5e716cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a086574b10e90122f5228decea0a5d3dc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#a086574b10e90122f5228decea0a5d3dc">osRtxIdMutex</a>&#160;&#160;&#160;0x04U</td></tr>
+<tr class="separator:a086574b10e90122f5228decea0a5d3dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4778b8ce61af3d942501bb4ff28c18f1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#a4778b8ce61af3d942501bb4ff28c18f1">osRtxIdSemaphore</a>&#160;&#160;&#160;0x05U</td></tr>
+<tr class="separator:a4778b8ce61af3d942501bb4ff28c18f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3cddbd1d03aedae758445d17db319fec"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#a3cddbd1d03aedae758445d17db319fec">osRtxIdMemoryPool</a>&#160;&#160;&#160;0x06U</td></tr>
+<tr class="separator:a3cddbd1d03aedae758445d17db319fec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a84bb69c0a0d02b2adc4d499803ccb063"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#a84bb69c0a0d02b2adc4d499803ccb063">osRtxIdMessage</a>&#160;&#160;&#160;0x07U</td></tr>
+<tr class="separator:a84bb69c0a0d02b2adc4d499803ccb063"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a260226a1f72b4a333f01573430b60b17"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#a260226a1f72b4a333f01573430b60b17">osRtxIdMessageQueue</a>&#160;&#160;&#160;0x08U</td></tr>
+<tr class="separator:a260226a1f72b4a333f01573430b60b17"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a797c4d97bb5e216e6901c1e30e96cb34"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#a797c4d97bb5e216e6901c1e30e96cb34">osRtxFlagSystemObject</a>&#160;&#160;&#160;0x01U</td></tr>
+<tr class="memdesc:a797c4d97bb5e216e6901c1e30e96cb34"><td class="mdescLeft">&#160;</td><td class="mdescRight">Object Flags definitions. <a href="#a797c4d97bb5e216e6901c1e30e96cb34">More...</a><br/></td></tr>
+<tr class="separator:a797c4d97bb5e216e6901c1e30e96cb34"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ade9b85b84a6199a1cc3653058def19f3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#ade9b85b84a6199a1cc3653058def19f3">osRtxFlagSystemMemory</a>&#160;&#160;&#160;0x02U</td></tr>
+<tr class="separator:ade9b85b84a6199a1cc3653058def19f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7543c3b497052bdbfbfbc3debc5f0a6e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#a7543c3b497052bdbfbfbc3debc5f0a6e">osRtxKernelInactive</a>&#160;&#160;&#160;((uint8_t)<a class="el" href="cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a2ad3e5912db47b497529d036c89e7995">osKernelInactive</a>)</td></tr>
+<tr class="memdesc:a7543c3b497052bdbfbfbc3debc5f0a6e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Kernel State definitions. <a href="#a7543c3b497052bdbfbfbc3debc5f0a6e">More...</a><br/></td></tr>
+<tr class="separator:a7543c3b497052bdbfbfbc3debc5f0a6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab793b30296108737eb356871d266e2a2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#ab793b30296108737eb356871d266e2a2">osRtxKernelReady</a>&#160;&#160;&#160;((uint8_t)<a class="el" href="cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a0596c6e14113447604753656417c9a24">osKernelReady</a>)</td></tr>
+<tr class="separator:ab793b30296108737eb356871d266e2a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a337ee876c540b4f4e9d680497eed9fdc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#a337ee876c540b4f4e9d680497eed9fdc">osRtxKernelRunning</a>&#160;&#160;&#160;((uint8_t)<a class="el" href="cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a8e0b699fbe1c8bb66fefadd5911cb6ce">osKernelRunning</a>)</td></tr>
+<tr class="separator:a337ee876c540b4f4e9d680497eed9fdc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c20a179e70e74fa9fe9f9ba275cc73b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#a9c20a179e70e74fa9fe9f9ba275cc73b">osRtxKernelLocked</a>&#160;&#160;&#160;((uint8_t)<a class="el" href="cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a2fe382ad5ebab2257b35740414b28b01">osKernelLocked</a>)</td></tr>
+<tr class="separator:a9c20a179e70e74fa9fe9f9ba275cc73b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a751dd07663970abe0305de11d52812a7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#a751dd07663970abe0305de11d52812a7">osRtxKernelSuspended</a>&#160;&#160;&#160;((uint8_t)<a class="el" href="cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4ad364464ad84d63b1413a9ac8a962390c">osKernelSuspended</a>)</td></tr>
+<tr class="separator:a751dd07663970abe0305de11d52812a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad486f6d40fcd8e9569ab415373d912e4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#ad486f6d40fcd8e9569ab415373d912e4">osRtxThreadStateMask</a>&#160;&#160;&#160;0x0FU</td></tr>
+<tr class="memdesc:ad486f6d40fcd8e9569ab415373d912e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Thread State definitions (extending osThreadState) <a href="#ad486f6d40fcd8e9569ab415373d912e4">More...</a><br/></td></tr>
+<tr class="separator:ad486f6d40fcd8e9569ab415373d912e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2552be237293212f43fc08bf3ec02e67"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#a2552be237293212f43fc08bf3ec02e67">osRtxThreadInactive</a>&#160;&#160;&#160;((uint8_t)<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820dae9d77830b6866e287417b6e1d983e971">osThreadInactive</a>)</td></tr>
+<tr class="separator:a2552be237293212f43fc08bf3ec02e67"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7c1e9dfefafc53162f076b0430a0e595"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#a7c1e9dfefafc53162f076b0430a0e595">osRtxThreadReady</a>&#160;&#160;&#160;((uint8_t)<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820da59e286915944fe0e4d1ffdb1f2946f14">osThreadReady</a>)</td></tr>
+<tr class="separator:a7c1e9dfefafc53162f076b0430a0e595"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad9615557219eecdbca536d4280e72604"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#ad9615557219eecdbca536d4280e72604">osRtxThreadRunning</a>&#160;&#160;&#160;((uint8_t)<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820dac4fe336e0790188fcf7d667372eca19d">osThreadRunning</a>)</td></tr>
+<tr class="separator:ad9615557219eecdbca536d4280e72604"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a30e61895c9ec7941715dd4747b11d5b3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#a30e61895c9ec7941715dd4747b11d5b3">osRtxThreadBlocked</a>&#160;&#160;&#160;((uint8_t)<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820daf0e992e354fba8695957c530226a4968">osThreadBlocked</a>)</td></tr>
+<tr class="separator:a30e61895c9ec7941715dd4747b11d5b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3011758dc91d1dd134ec48b816b67d50"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#a3011758dc91d1dd134ec48b816b67d50">osRtxThreadTerminated</a>&#160;&#160;&#160;((uint8_t)<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820dad5b2726c2d0228f4f1a76cf6b630963c">osThreadTerminated</a>)</td></tr>
+<tr class="separator:a3011758dc91d1dd134ec48b816b67d50"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9fcd1ecba034b5fc15e991311736ec4e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#a9fcd1ecba034b5fc15e991311736ec4e">osRtxThreadWaitingDelay</a>&#160;&#160;&#160;((uint8_t)(<a class="el" href="rtx__os_8h.html#a30e61895c9ec7941715dd4747b11d5b3">osRtxThreadBlocked</a> | 0x10U))</td></tr>
+<tr class="separator:a9fcd1ecba034b5fc15e991311736ec4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a88ca40f569d87366a69451ed43759453"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#a88ca40f569d87366a69451ed43759453">osRtxThreadWaitingJoin</a>&#160;&#160;&#160;((uint8_t)(<a class="el" href="rtx__os_8h.html#a30e61895c9ec7941715dd4747b11d5b3">osRtxThreadBlocked</a> | 0x20U))</td></tr>
+<tr class="separator:a88ca40f569d87366a69451ed43759453"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a41174e493bdf7e3a1e35306703bcd63c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#a41174e493bdf7e3a1e35306703bcd63c">osRtxThreadWaitingThreadFlags</a>&#160;&#160;&#160;((uint8_t)(<a class="el" href="rtx__os_8h.html#a30e61895c9ec7941715dd4747b11d5b3">osRtxThreadBlocked</a> | 0x30U))</td></tr>
+<tr class="separator:a41174e493bdf7e3a1e35306703bcd63c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6c4c8b1563e28aa5b947346cb5db3c69"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#a6c4c8b1563e28aa5b947346cb5db3c69">osRtxThreadWaitingEventFlags</a>&#160;&#160;&#160;((uint8_t)(<a class="el" href="rtx__os_8h.html#a30e61895c9ec7941715dd4747b11d5b3">osRtxThreadBlocked</a> | 0x40U))</td></tr>
+<tr class="separator:a6c4c8b1563e28aa5b947346cb5db3c69"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae99ccb8b4d1a85c1abb6ab39933690a6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#ae99ccb8b4d1a85c1abb6ab39933690a6">osRtxThreadWaitingMutex</a>&#160;&#160;&#160;((uint8_t)(<a class="el" href="rtx__os_8h.html#a30e61895c9ec7941715dd4747b11d5b3">osRtxThreadBlocked</a> | 0x50U))</td></tr>
+<tr class="separator:ae99ccb8b4d1a85c1abb6ab39933690a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acbe0a0cd73d487b82501b584caf4a472"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#acbe0a0cd73d487b82501b584caf4a472">osRtxThreadWaitingSemaphore</a>&#160;&#160;&#160;((uint8_t)(<a class="el" href="rtx__os_8h.html#a30e61895c9ec7941715dd4747b11d5b3">osRtxThreadBlocked</a> | 0x60U))</td></tr>
+<tr class="separator:acbe0a0cd73d487b82501b584caf4a472"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa87cea70df1acf71f6358de9b65722a4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#aa87cea70df1acf71f6358de9b65722a4">osRtxThreadWaitingMemoryPool</a>&#160;&#160;&#160;((uint8_t)(<a class="el" href="rtx__os_8h.html#a30e61895c9ec7941715dd4747b11d5b3">osRtxThreadBlocked</a> | 0x70U))</td></tr>
+<tr class="separator:aa87cea70df1acf71f6358de9b65722a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a881830bb0c1488cd15bd1a412bc16800"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#a881830bb0c1488cd15bd1a412bc16800">osRtxThreadWaitingMessageGet</a>&#160;&#160;&#160;((uint8_t)(<a class="el" href="rtx__os_8h.html#a30e61895c9ec7941715dd4747b11d5b3">osRtxThreadBlocked</a> | 0x80U))</td></tr>
+<tr class="separator:a881830bb0c1488cd15bd1a412bc16800"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7502524f6911edc751111422eaf66a43"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#a7502524f6911edc751111422eaf66a43">osRtxThreadWaitingMessagePut</a>&#160;&#160;&#160;((uint8_t)(<a class="el" href="rtx__os_8h.html#a30e61895c9ec7941715dd4747b11d5b3">osRtxThreadBlocked</a> | 0x90U))</td></tr>
+<tr class="separator:a7502524f6911edc751111422eaf66a43"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a733199fdb7675dbf99d5e6d17c126a96"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#a733199fdb7675dbf99d5e6d17c126a96">osRtxThreadFlagDefStack</a>&#160;&#160;&#160;0x10U</td></tr>
+<tr class="memdesc:a733199fdb7675dbf99d5e6d17c126a96"><td class="mdescLeft">&#160;</td><td class="mdescRight">Thread Flags definitions. <a href="#a733199fdb7675dbf99d5e6d17c126a96">More...</a><br/></td></tr>
+<tr class="separator:a733199fdb7675dbf99d5e6d17c126a96"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aabdbbcf214681666d06629397463093f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#aabdbbcf214681666d06629397463093f">osRtxStackMagicWord</a>&#160;&#160;&#160;0xE25A2EA5U</td></tr>
+<tr class="memdesc:aabdbbcf214681666d06629397463093f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stack Marker definitions. <a href="#aabdbbcf214681666d06629397463093f">More...</a><br/></td></tr>
+<tr class="separator:aabdbbcf214681666d06629397463093f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7dbaedf90584739e6d938d69d2621855"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#a7dbaedf90584739e6d938d69d2621855">osRtxStackFillPattern</a>&#160;&#160;&#160;0xCCCCCCCCU</td></tr>
+<tr class="memdesc:a7dbaedf90584739e6d938d69d2621855"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stack Fill Pattern. <a href="#a7dbaedf90584739e6d938d69d2621855">More...</a><br/></td></tr>
+<tr class="separator:a7dbaedf90584739e6d938d69d2621855"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a66bea72c0cffd25c7cb32419283a7b92"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#a66bea72c0cffd25c7cb32419283a7b92">osRtxTimerInactive</a>&#160;&#160;&#160;0x00U</td></tr>
+<tr class="memdesc:a66bea72c0cffd25c7cb32419283a7b92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Timer State definitions. <a href="#a66bea72c0cffd25c7cb32419283a7b92">More...</a><br/></td></tr>
+<tr class="separator:a66bea72c0cffd25c7cb32419283a7b92"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab01076b285029ac6d22dbde69167c96e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#ab01076b285029ac6d22dbde69167c96e">osRtxTimerStopped</a>&#160;&#160;&#160;0x01U</td></tr>
+<tr class="memdesc:ab01076b285029ac6d22dbde69167c96e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Timer Stopped. <a href="#ab01076b285029ac6d22dbde69167c96e">More...</a><br/></td></tr>
+<tr class="separator:ab01076b285029ac6d22dbde69167c96e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aed55034470990d4593eb614e26c1eea7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#aed55034470990d4593eb614e26c1eea7">osRtxTimerRunning</a>&#160;&#160;&#160;0x02U</td></tr>
+<tr class="memdesc:aed55034470990d4593eb614e26c1eea7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Timer Running. <a href="#aed55034470990d4593eb614e26c1eea7">More...</a><br/></td></tr>
+<tr class="separator:aed55034470990d4593eb614e26c1eea7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:accc1542de31e0c7367d452e9de035bb4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#accc1542de31e0c7367d452e9de035bb4">osRtxTimerPeriodic</a>&#160;&#160;&#160;((uint8_t)<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915ab3463d921dc310938094745c230f2b35">osTimerPeriodic</a>)</td></tr>
+<tr class="memdesc:accc1542de31e0c7367d452e9de035bb4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Timer Type definitions. <a href="#accc1542de31e0c7367d452e9de035bb4">More...</a><br/></td></tr>
+<tr class="separator:accc1542de31e0c7367d452e9de035bb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a73248d08e2db1ef9941cf8fcf24ddba9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#a73248d08e2db1ef9941cf8fcf24ddba9">osRtxThreadFlagsLimit</a>&#160;&#160;&#160;31U</td></tr>
+<tr class="memdesc:a73248d08e2db1ef9941cf8fcf24ddba9"><td class="mdescLeft">&#160;</td><td class="mdescRight">number of Thread Flags available per thread <a href="#a73248d08e2db1ef9941cf8fcf24ddba9">More...</a><br/></td></tr>
+<tr class="separator:a73248d08e2db1ef9941cf8fcf24ddba9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a271653c08ecb64dbb2d0ce8a51ddb4c2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#a271653c08ecb64dbb2d0ce8a51ddb4c2">osRtxEventFlagsLimit</a>&#160;&#160;&#160;31U</td></tr>
+<tr class="memdesc:a271653c08ecb64dbb2d0ce8a51ddb4c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">number of Event Flags available per object <a href="#a271653c08ecb64dbb2d0ce8a51ddb4c2">More...</a><br/></td></tr>
+<tr class="separator:a271653c08ecb64dbb2d0ce8a51ddb4c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ade5d158c28233a45ad1fc9a1156373f6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#ade5d158c28233a45ad1fc9a1156373f6">osRtxMutexLockLimit</a>&#160;&#160;&#160;255U</td></tr>
+<tr class="memdesc:ade5d158c28233a45ad1fc9a1156373f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">maximum number of recursive mutex locks <a href="#ade5d158c28233a45ad1fc9a1156373f6">More...</a><br/></td></tr>
+<tr class="separator:ade5d158c28233a45ad1fc9a1156373f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a14c7bcf532389ed285827cf5497d09eb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#a14c7bcf532389ed285827cf5497d09eb">osRtxSemaphoreTokenLimit</a>&#160;&#160;&#160;65535U</td></tr>
+<tr class="memdesc:a14c7bcf532389ed285827cf5497d09eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">maximum number of tokens per semaphore <a href="#a14c7bcf532389ed285827cf5497d09eb">More...</a><br/></td></tr>
+<tr class="separator:a14c7bcf532389ed285827cf5497d09eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga30d19272204231956582ebfff69567f6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__defines.html#ga30d19272204231956582ebfff69567f6">osRtxThreadCbSize</a>&#160;&#160;&#160;sizeof(<a class="el" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a>)</td></tr>
+<tr class="memdesc:ga30d19272204231956582ebfff69567f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Thread Control Block size. <a href="group__rtx5__specific__defines.html#ga30d19272204231956582ebfff69567f6">More...</a><br/></td></tr>
+<tr class="separator:ga30d19272204231956582ebfff69567f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf8a145fdeb24fd912971f0671b1a3603"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__defines.html#gaf8a145fdeb24fd912971f0671b1a3603">osRtxTimerCbSize</a>&#160;&#160;&#160;sizeof(<a class="el" href="rtx__os_8h.html#structosRtxTimer__t">osRtxTimer_t</a>)</td></tr>
+<tr class="memdesc:gaf8a145fdeb24fd912971f0671b1a3603"><td class="mdescLeft">&#160;</td><td class="mdescRight">Timer Control Block size. <a href="group__rtx5__specific__defines.html#gaf8a145fdeb24fd912971f0671b1a3603">More...</a><br/></td></tr>
+<tr class="separator:gaf8a145fdeb24fd912971f0671b1a3603"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga68100c8c44931f03547973294c433075"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__defines.html#ga68100c8c44931f03547973294c433075">osRtxEventFlagsCbSize</a>&#160;&#160;&#160;sizeof(<a class="el" href="rtx__os_8h.html#structosRtxEventFlags__t">osRtxEventFlags_t</a>)</td></tr>
+<tr class="memdesc:ga68100c8c44931f03547973294c433075"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event Flags Control Block size. <a href="group__rtx5__specific__defines.html#ga68100c8c44931f03547973294c433075">More...</a><br/></td></tr>
+<tr class="separator:ga68100c8c44931f03547973294c433075"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga188bfaaf7477cf24cbc9f207feaeb53a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__defines.html#ga188bfaaf7477cf24cbc9f207feaeb53a">osRtxMutexCbSize</a>&#160;&#160;&#160;sizeof(<a class="el" href="rtx__os_8h.html#structosRtxMutex__t">osRtxMutex_t</a>)</td></tr>
+<tr class="memdesc:ga188bfaaf7477cf24cbc9f207feaeb53a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mutex Control Block size. <a href="group__rtx5__specific__defines.html#ga188bfaaf7477cf24cbc9f207feaeb53a">More...</a><br/></td></tr>
+<tr class="separator:ga188bfaaf7477cf24cbc9f207feaeb53a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0949b67063d0bd427fbee9c816b5d45a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__defines.html#ga0949b67063d0bd427fbee9c816b5d45a">osRtxSemaphoreCbSize</a>&#160;&#160;&#160;sizeof(<a class="el" href="rtx__os_8h.html#structosRtxSemaphore__t">osRtxSemaphore_t</a>)</td></tr>
+<tr class="memdesc:ga0949b67063d0bd427fbee9c816b5d45a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Semaphore Control Block size. <a href="group__rtx5__specific__defines.html#ga0949b67063d0bd427fbee9c816b5d45a">More...</a><br/></td></tr>
+<tr class="separator:ga0949b67063d0bd427fbee9c816b5d45a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab8e49e9e1eea5a015f2a3114cabceb48"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__defines.html#gab8e49e9e1eea5a015f2a3114cabceb48">osRtxMemoryPoolCbSize</a>&#160;&#160;&#160;sizeof(<a class="el" href="rtx__os_8h.html#structosRtxMemoryPool__t">osRtxMemoryPool_t</a>)</td></tr>
+<tr class="memdesc:gab8e49e9e1eea5a015f2a3114cabceb48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory Pool Control Block size. <a href="group__rtx5__specific__defines.html#gab8e49e9e1eea5a015f2a3114cabceb48">More...</a><br/></td></tr>
+<tr class="separator:gab8e49e9e1eea5a015f2a3114cabceb48"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa8d067c476faa6bfc8e5e21f3b3c844e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__defines.html#gaa8d067c476faa6bfc8e5e21f3b3c844e">osRtxMessageQueueCbSize</a>&#160;&#160;&#160;sizeof(<a class="el" href="rtx__os_8h.html#structosRtxMessageQueue__t">osRtxMessageQueue_t</a>)</td></tr>
+<tr class="memdesc:gaa8d067c476faa6bfc8e5e21f3b3c844e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Message Queue Control Block size. <a href="group__rtx5__specific__defines.html#gaa8d067c476faa6bfc8e5e21f3b3c844e">More...</a><br/></td></tr>
+<tr class="separator:gaa8d067c476faa6bfc8e5e21f3b3c844e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac6bea3541b458bbc79eafce42a2d87a2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__defines.html#gac6bea3541b458bbc79eafce42a2d87a2">osRtxMemoryPoolMemSize</a>(block_count, block_size)&#160;&#160;&#160;(4*(block_count)*(((block_size)+3)/4))</td></tr>
+<tr class="memdesc:gac6bea3541b458bbc79eafce42a2d87a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory Pool Memory size. <a href="group__rtx5__specific__defines.html#gac6bea3541b458bbc79eafce42a2d87a2">More...</a><br/></td></tr>
+<tr class="separator:gac6bea3541b458bbc79eafce42a2d87a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga47eb1e21f1bf9a42281c6c89c7473e99"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__defines.html#ga47eb1e21f1bf9a42281c6c89c7473e99">osRtxMessageQueueMemSize</a>(msg_count, msg_size)&#160;&#160;&#160;(4*(msg_count)*(3+(((msg_size)+3)/4)))</td></tr>
+<tr class="memdesc:ga47eb1e21f1bf9a42281c6c89c7473e99"><td class="mdescLeft">&#160;</td><td class="mdescRight">Message Queue Memory size. <a href="group__rtx5__specific__defines.html#ga47eb1e21f1bf9a42281c6c89c7473e99">More...</a><br/></td></tr>
+<tr class="separator:ga47eb1e21f1bf9a42281c6c89c7473e99"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga42206aa2524b8fab613d26bea0f73c44"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__defines.html#ga42206aa2524b8fab613d26bea0f73c44">osRtxErrorStackUnderflow</a>&#160;&#160;&#160;1U</td></tr>
+<tr class="memdesc:ga42206aa2524b8fab613d26bea0f73c44"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stack overflow, i.e. stack pointer below its lower memory limit for descending stacks. <a href="group__rtx5__specific__defines.html#ga42206aa2524b8fab613d26bea0f73c44">More...</a><br/></td></tr>
+<tr class="separator:ga42206aa2524b8fab613d26bea0f73c44"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7377235f9fa3cedee06f682cd93f3e88"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__defines.html#ga7377235f9fa3cedee06f682cd93f3e88">osRtxErrorISRQueueOverflow</a>&#160;&#160;&#160;2U</td></tr>
+<tr class="memdesc:ga7377235f9fa3cedee06f682cd93f3e88"><td class="mdescLeft">&#160;</td><td class="mdescRight">ISR Queue overflow detected when inserting object. <a href="group__rtx5__specific__defines.html#ga7377235f9fa3cedee06f682cd93f3e88">More...</a><br/></td></tr>
+<tr class="separator:ga7377235f9fa3cedee06f682cd93f3e88"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaad420018f26e751ec55d3922a283beb0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__defines.html#gaad420018f26e751ec55d3922a283beb0">osRtxErrorTimerQueueOverflow</a>&#160;&#160;&#160;3U</td></tr>
+<tr class="memdesc:gaad420018f26e751ec55d3922a283beb0"><td class="mdescLeft">&#160;</td><td class="mdescRight">User Timer Callback Queue overflow detected for timer. <a href="group__rtx5__specific__defines.html#gaad420018f26e751ec55d3922a283beb0">More...</a><br/></td></tr>
+<tr class="separator:gaad420018f26e751ec55d3922a283beb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga14a24724f6e87744ba84674ef76e4256"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__defines.html#ga14a24724f6e87744ba84674ef76e4256">osRtxErrorClibSpace</a>&#160;&#160;&#160;4U</td></tr>
+<tr class="memdesc:ga14a24724f6e87744ba84674ef76e4256"><td class="mdescLeft">&#160;</td><td class="mdescRight">Standard C/C++ library libspace not available. <a href="group__rtx5__specific__defines.html#ga14a24724f6e87744ba84674ef76e4256">More...</a><br/></td></tr>
+<tr class="separator:ga14a24724f6e87744ba84674ef76e4256"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac749c24b9cf6c49b392b015ed0517cfc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__defines.html#gac749c24b9cf6c49b392b015ed0517cfc">osRtxErrorClibMutex</a>&#160;&#160;&#160;5U</td></tr>
+<tr class="memdesc:gac749c24b9cf6c49b392b015ed0517cfc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Standard C/C++ library mutex initialization failed. <a href="group__rtx5__specific__defines.html#gac749c24b9cf6c49b392b015ed0517cfc">More...</a><br/></td></tr>
+<tr class="separator:gac749c24b9cf6c49b392b015ed0517cfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0eb4da5bed45820d732e23483b870152"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#a0eb4da5bed45820d732e23483b870152">osRtxConfigPrivilegedMode</a>&#160;&#160;&#160;(1UL&lt;&lt;0)</td></tr>
+<tr class="memdesc:a0eb4da5bed45820d732e23483b870152"><td class="mdescLeft">&#160;</td><td class="mdescRight">OS Trusted Firmware M Extension. <a href="#a0eb4da5bed45820d732e23483b870152">More...</a><br/></td></tr>
+<tr class="separator:a0eb4da5bed45820d732e23483b870152"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a77f3e906438a6693524cdc257cb0bf23"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#a77f3e906438a6693524cdc257cb0bf23">osRtxConfigStackCheck</a>&#160;&#160;&#160;(1UL&lt;&lt;1)</td></tr>
+<tr class="memdesc:a77f3e906438a6693524cdc257cb0bf23"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stack overrun checking. <a href="#a77f3e906438a6693524cdc257cb0bf23">More...</a><br/></td></tr>
+<tr class="separator:a77f3e906438a6693524cdc257cb0bf23"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a62205cc79ec5d95b45f5ebfdf126438c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#a62205cc79ec5d95b45f5ebfdf126438c">osRtxConfigStackWatermark</a>&#160;&#160;&#160;(1UL&lt;&lt;2)</td></tr>
+<tr class="memdesc:a62205cc79ec5d95b45f5ebfdf126438c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stack usage Watermark. <a href="#a62205cc79ec5d95b45f5ebfdf126438c">More...</a><br/></td></tr>
+<tr class="separator:a62205cc79ec5d95b45f5ebfdf126438c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:gaf1745a88f9cc60b609ab1c8076bd346d"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__functions.html#gaf1745a88f9cc60b609ab1c8076bd346d">osRtxErrorNotify</a> (uint32_t code, void *object_id)</td></tr>
+<tr class="memdesc:gaf1745a88f9cc60b609ab1c8076bd346d"><td class="mdescLeft">&#160;</td><td class="mdescRight">OS Error Callback function. <a href="group__rtx5__specific__functions.html#gaf1745a88f9cc60b609ab1c8076bd346d">More...</a><br/></td></tr>
+<tr class="separator:gaf1745a88f9cc60b609ab1c8076bd346d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga074068b8efa7074cee68a71481d0b072"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rtx5__specific__functions.html#ga074068b8efa7074cee68a71481d0b072">osRtxIdleThread</a> (void *argument)</td></tr>
+<tr class="memdesc:ga074068b8efa7074cee68a71481d0b072"><td class="mdescLeft">&#160;</td><td class="mdescRight">OS Idle Thread. <a href="group__rtx5__specific__functions.html#ga074068b8efa7074cee68a71481d0b072">More...</a><br/></td></tr>
+<tr class="separator:ga074068b8efa7074cee68a71481d0b072"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3e5ddb3df0d62f2dc357e64a3f04a6ce"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#a3e5ddb3df0d62f2dc357e64a3f04a6ce">SVC_Handler</a> (void)</td></tr>
+<tr class="memdesc:a3e5ddb3df0d62f2dc357e64a3f04a6ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">OS Exception handlers. <a href="#a3e5ddb3df0d62f2dc357e64a3f04a6ce">More...</a><br/></td></tr>
+<tr class="separator:a3e5ddb3df0d62f2dc357e64a3f04a6ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6303e1f258cbdc1f970ce579cc015623"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#a6303e1f258cbdc1f970ce579cc015623">PendSV_Handler</a> (void)</td></tr>
+<tr class="separator:a6303e1f258cbdc1f970ce579cc015623"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab5e09814056d617c521549e542639b7e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#ab5e09814056d617c521549e542639b7e">SysTick_Handler</a> (void)</td></tr>
+<tr class="separator:ab5e09814056d617c521549e542639b7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:ad2270125c4e4991c3231d752b6ee5f3f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="rtx__os_8h.html#structosRtxInfo__t">osRtxInfo_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#ad2270125c4e4991c3231d752b6ee5f3f">osRtxInfo</a></td></tr>
+<tr class="memdesc:ad2270125c4e4991c3231d752b6ee5f3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">OS Runtime Information. <a href="#ad2270125c4e4991c3231d752b6ee5f3f">More...</a><br/></td></tr>
+<tr class="separator:ad2270125c4e4991c3231d752b6ee5f3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a90374bf1d999b2e1594763ab6c97cd69"><td class="memItemLeft" align="right" valign="top"><a class="el" href="rtx__os_8h.html#structosRtxObjectMemUsage__t">osRtxObjectMemUsage_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#a90374bf1d999b2e1594763ab6c97cd69">osRtxThreadMemUsage</a></td></tr>
+<tr class="memdesc:a90374bf1d999b2e1594763ab6c97cd69"><td class="mdescLeft">&#160;</td><td class="mdescRight">OS Runtime Object Memory Usage variables. <a href="#a90374bf1d999b2e1594763ab6c97cd69">More...</a><br/></td></tr>
+<tr class="separator:a90374bf1d999b2e1594763ab6c97cd69"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa3e7cf488411dbdc814420b81f36b935"><td class="memItemLeft" align="right" valign="top"><a class="el" href="rtx__os_8h.html#structosRtxObjectMemUsage__t">osRtxObjectMemUsage_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#aa3e7cf488411dbdc814420b81f36b935">osRtxTimerMemUsage</a></td></tr>
+<tr class="separator:aa3e7cf488411dbdc814420b81f36b935"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0c81327f94697890809ce4a594bb9d5c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="rtx__os_8h.html#structosRtxObjectMemUsage__t">osRtxObjectMemUsage_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#a0c81327f94697890809ce4a594bb9d5c">osRtxEventFlagsMemUsage</a></td></tr>
+<tr class="separator:a0c81327f94697890809ce4a594bb9d5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a683927dcd67dcb912884d16efa81a58d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="rtx__os_8h.html#structosRtxObjectMemUsage__t">osRtxObjectMemUsage_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#a683927dcd67dcb912884d16efa81a58d">osRtxMutexMemUsage</a></td></tr>
+<tr class="separator:a683927dcd67dcb912884d16efa81a58d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aec50b39ce30d9c87916d077f6f764387"><td class="memItemLeft" align="right" valign="top"><a class="el" href="rtx__os_8h.html#structosRtxObjectMemUsage__t">osRtxObjectMemUsage_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#aec50b39ce30d9c87916d077f6f764387">osRtxSemaphoreMemUsage</a></td></tr>
+<tr class="separator:aec50b39ce30d9c87916d077f6f764387"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae5dea30a13d7a2316699a7f201504bc7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="rtx__os_8h.html#structosRtxObjectMemUsage__t">osRtxObjectMemUsage_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#ae5dea30a13d7a2316699a7f201504bc7">osRtxMemoryPoolMemUsage</a></td></tr>
+<tr class="separator:ae5dea30a13d7a2316699a7f201504bc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3da38b316a84990128e8d9f34e3e6d3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="rtx__os_8h.html#structosRtxObjectMemUsage__t">osRtxObjectMemUsage_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#af3da38b316a84990128e8d9f34e3e6d3">osRtxMessageQueueMemUsage</a></td></tr>
+<tr class="separator:af3da38b316a84990128e8d9f34e3e6d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a489fda965fa634809f401ae6458a6f45"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="rtx__os_8h.html#structosRtxConfig__t">osRtxConfig_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtx__os_8h.html#a489fda965fa634809f401ae6458a6f45">osRtxConfig</a></td></tr>
+<tr class="memdesc:a489fda965fa634809f401ae6458a6f45"><td class="mdescLeft">&#160;</td><td class="mdescRight">OS Configuration. <a href="#a489fda965fa634809f401ae6458a6f45">More...</a><br/></td></tr>
+<tr class="separator:a489fda965fa634809f401ae6458a6f45"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/><h2 class="groupheader">Data Structure Documentation</h2>
+<a name="structosRtxThread__t" id="structosRtxThread__t"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osRtxThread_t</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"></div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a1e6927fa1486224044e568f9c370519b"></a>uint8_t</td>
+<td class="fieldname">
+id</td>
+<td class="fielddoc">
+Object Identifier. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a0b57aa10271a66f3dc936bba1d2f3830"></a>uint8_t</td>
+<td class="fieldname">
+state</td>
+<td class="fielddoc">
+Object State. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="aa2585d779da0ab21273a8d92de9a0ebe"></a>uint8_t</td>
+<td class="fieldname">
+flags</td>
+<td class="fielddoc">
+Object Flags. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a28478ea2856f6286899bc90b2c6a1ec4"></a>uint8_t</td>
+<td class="fieldname">
+attr</td>
+<td class="fielddoc">
+Object Attributes. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a8f8f80d37794cde9472343e4487ba3eb"></a>const char *</td>
+<td class="fieldname">
+name</td>
+<td class="fielddoc">
+Object Name. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a421971e8ae94fe0bd86b85a90445e71e"></a>struct osRtxThread_s *</td>
+<td class="fieldname">
+thread_next</td>
+<td class="fielddoc">
+Link pointer to next Thread in Object list. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="aa230a0d899f6c0750e6d454af3ef9b05"></a>struct osRtxThread_s *</td>
+<td class="fieldname">
+thread_prev</td>
+<td class="fielddoc">
+Link pointer to previous Thread in Object list. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a21a74cedec66715cd5d7422797035868"></a>struct osRtxThread_s *</td>
+<td class="fieldname">
+delay_next</td>
+<td class="fielddoc">
+Link pointer to next Thread in Delay list. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="adcfea33cc536708db8a3419ba0295551"></a>struct osRtxThread_s *</td>
+<td class="fieldname">
+delay_prev</td>
+<td class="fielddoc">
+Link pointer to previous Thread in Delay list. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a83ec0540c50d4e79bed99f1b384bd2b9"></a>struct osRtxThread_s *</td>
+<td class="fieldname">
+thread_join</td>
+<td class="fielddoc">
+Thread waiting to Join. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a458421a43d4f6dc515faf427bf579d00"></a>uint32_t</td>
+<td class="fieldname">
+delay</td>
+<td class="fielddoc">
+Delay Time. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a81659cc4c01e54e2424022728d9effc7"></a>int8_t</td>
+<td class="fieldname">
+priority</td>
+<td class="fielddoc">
+Thread Priority. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ac67f8858081fb7a6e5a4ee8d2de3b348"></a>int8_t</td>
+<td class="fieldname">
+priority_base</td>
+<td class="fielddoc">
+Base Priority. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a1071334ebd46d95b9ab1dcad788b2adc"></a>uint8_t</td>
+<td class="fieldname">
+stack_frame</td>
+<td class="fielddoc">
+Stack Frame (EXC_RETURN[7..0]) </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a87c898585d0aeffdcf67c9e1b3befefe"></a>uint8_t</td>
+<td class="fieldname">
+flags_options</td>
+<td class="fielddoc">
+Thread/Event Flags Options. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a3c7b4f24d9527394f4b5a1135d117691"></a>uint32_t</td>
+<td class="fieldname">
+wait_flags</td>
+<td class="fielddoc">
+Waiting Thread/Event Flags. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ae757685e50b875e953f4aff67ac24b1b"></a>uint32_t</td>
+<td class="fieldname">
+thread_flags</td>
+<td class="fielddoc">
+Thread Flags. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a70b3153655adaf42687fe250983f6c95"></a>struct osRtxMutex_s *</td>
+<td class="fieldname">
+mutex_list</td>
+<td class="fielddoc">
+Link pointer to list of owned Mutexes. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a447dbb69b4c036e118b3b1b8bd22fe60"></a>void *</td>
+<td class="fieldname">
+stack_mem</td>
+<td class="fielddoc">
+Stack Memory. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ad63716408aae5b50857ca8ce74e3a3ff"></a>uint32_t</td>
+<td class="fieldname">
+stack_size</td>
+<td class="fielddoc">
+Stack Size. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a382a07e24a852d580d7548b8d517384c"></a>uint32_t</td>
+<td class="fieldname">
+sp</td>
+<td class="fielddoc">
+Current Stack Pointer. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="adf2ebf46aa7018845582f1c70de83598"></a>uint32_t</td>
+<td class="fieldname">
+thread_addr</td>
+<td class="fielddoc">
+Thread entry address. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="adaa6c424a231e5f6c788532675f33e16"></a>uint32_t</td>
+<td class="fieldname">
+tz_memory</td>
+<td class="fielddoc">
+TrustZone Memory Identifier. </td></tr>
+</table>
+
+</div>
+</div>
+<a name="structosRtxTimerFinfo__t" id="structosRtxTimerFinfo__t"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osRtxTimerFinfo_t</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"></div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="aaf8577e5ddcbff356a1d27310baa8a1f"></a><a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gaacf768c1ec64b020598afb985d7b30be">osTimerFunc_t</a></td>
+<td class="fieldname">
+func</td>
+<td class="fielddoc">
+Function Pointer. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a9ce2ec4812a92cb6ab39f6e81e9173a9"></a>void *</td>
+<td class="fieldname">
+arg</td>
+<td class="fielddoc">
+Function Argument. </td></tr>
+</table>
+
+</div>
+</div>
+<a name="structosRtxTimer__t" id="structosRtxTimer__t"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osRtxTimer_t</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"></div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a1e6927fa1486224044e568f9c370519b"></a>uint8_t</td>
+<td class="fieldname">
+id</td>
+<td class="fielddoc">
+Object Identifier. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a0b57aa10271a66f3dc936bba1d2f3830"></a>uint8_t</td>
+<td class="fieldname">
+state</td>
+<td class="fielddoc">
+Object State. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="aa2585d779da0ab21273a8d92de9a0ebe"></a>uint8_t</td>
+<td class="fieldname">
+flags</td>
+<td class="fielddoc">
+Object Flags. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a1d127017fb298b889f4ba24752d08b8e"></a>uint8_t</td>
+<td class="fieldname">
+type</td>
+<td class="fielddoc">
+Timer Type (Periodic/One-shot) </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a8f8f80d37794cde9472343e4487ba3eb"></a>const char *</td>
+<td class="fieldname">
+name</td>
+<td class="fielddoc">
+Object Name. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ac8953ebf7df8aaf724cb12876ac8fb1a"></a>struct osRtxTimer_s *</td>
+<td class="fieldname">
+prev</td>
+<td class="fielddoc">
+Pointer to previous active Timer. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a8b9ac161a613448926b2c2b2c8dbe259"></a>struct osRtxTimer_s *</td>
+<td class="fieldname">
+next</td>
+<td class="fielddoc">
+Pointer to next active Timer. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a260e06ce96c2e4deebccaedeb059dc0b"></a>uint32_t</td>
+<td class="fieldname">
+tick</td>
+<td class="fielddoc">
+Timer current Tick. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="aee4a6239f04d660fc90663dd6b39ca95"></a>uint32_t</td>
+<td class="fieldname">
+load</td>
+<td class="fielddoc">
+Timer Load value. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ab415a6615c5ddf5365ed86e58a1e1809"></a><a class="el" href="rtx__os_8h.html#structosRtxTimerFinfo__t">osRtxTimerFinfo_t</a></td>
+<td class="fieldname">
+finfo</td>
+<td class="fielddoc">
+Timer Function Info. </td></tr>
+</table>
+
+</div>
+</div>
+<a name="structosRtxEventFlags__t" id="structosRtxEventFlags__t"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osRtxEventFlags_t</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"></div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a1e6927fa1486224044e568f9c370519b"></a>uint8_t</td>
+<td class="fieldname">
+id</td>
+<td class="fielddoc">
+Object Identifier. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a0acbb12a103775ddce0fb5d0efa3540f"></a>uint8_t</td>
+<td class="fieldname">
+reserved_state</td>
+<td class="fielddoc">
+Object State (not used) </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="aa2585d779da0ab21273a8d92de9a0ebe"></a>uint8_t</td>
+<td class="fieldname">
+flags</td>
+<td class="fielddoc">
+Object Flags. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="acb7bc06bed6f6408d719334fc41698c7"></a>uint8_t</td>
+<td class="fieldname">
+reserved</td>
+<td class="fielddoc">
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a8f8f80d37794cde9472343e4487ba3eb"></a>const char *</td>
+<td class="fieldname">
+name</td>
+<td class="fielddoc">
+Object Name. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a8afd5feb676df99867375957b0587451"></a><a class="el" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a> *</td>
+<td class="fieldname">
+thread_list</td>
+<td class="fielddoc">
+Waiting Threads List. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a7044be0679894b5daf72f19f9dd06e03"></a>uint32_t</td>
+<td class="fieldname">
+event_flags</td>
+<td class="fielddoc">
+Event Flags. </td></tr>
+</table>
+
+</div>
+</div>
+<a name="structosRtxMutex__t" id="structosRtxMutex__t"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osRtxMutex_t</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"></div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a1e6927fa1486224044e568f9c370519b"></a>uint8_t</td>
+<td class="fieldname">
+id</td>
+<td class="fielddoc">
+Object Identifier. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a0acbb12a103775ddce0fb5d0efa3540f"></a>uint8_t</td>
+<td class="fieldname">
+reserved_state</td>
+<td class="fielddoc">
+Object State (not used) </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="aa2585d779da0ab21273a8d92de9a0ebe"></a>uint8_t</td>
+<td class="fieldname">
+flags</td>
+<td class="fielddoc">
+Object Flags. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a28478ea2856f6286899bc90b2c6a1ec4"></a>uint8_t</td>
+<td class="fieldname">
+attr</td>
+<td class="fielddoc">
+Object Attributes. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a8f8f80d37794cde9472343e4487ba3eb"></a>const char *</td>
+<td class="fieldname">
+name</td>
+<td class="fielddoc">
+Object Name. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a8afd5feb676df99867375957b0587451"></a><a class="el" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a> *</td>
+<td class="fieldname">
+thread_list</td>
+<td class="fielddoc">
+Waiting Threads List. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a987889d464cb2925029e135b76aa0dc9"></a><a class="el" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a> *</td>
+<td class="fieldname">
+owner_thread</td>
+<td class="fielddoc">
+Owner Thread. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a50b315b9b80bafdba54a7a731be1cc30"></a>struct osRtxMutex_s *</td>
+<td class="fieldname">
+owner_prev</td>
+<td class="fielddoc">
+Pointer to previous owned Mutex. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a54be7ae32f627ee70e1af8c54203ee5a"></a>struct osRtxMutex_s *</td>
+<td class="fieldname">
+owner_next</td>
+<td class="fielddoc">
+Pointer to next owned Mutex. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a92435efb84d6814afd444fd462802e9c"></a>uint8_t</td>
+<td class="fieldname">
+lock</td>
+<td class="fielddoc">
+Lock counter. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a735ef00341a84c02ba561c66de3d20af"></a>uint8_t</td>
+<td class="fieldname">
+padding[3]</td>
+<td class="fielddoc">
+</td></tr>
+</table>
+
+</div>
+</div>
+<a name="structosRtxSemaphore__t" id="structosRtxSemaphore__t"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osRtxSemaphore_t</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"></div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a1e6927fa1486224044e568f9c370519b"></a>uint8_t</td>
+<td class="fieldname">
+id</td>
+<td class="fielddoc">
+Object Identifier. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a0acbb12a103775ddce0fb5d0efa3540f"></a>uint8_t</td>
+<td class="fieldname">
+reserved_state</td>
+<td class="fielddoc">
+Object State (not used) </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="aa2585d779da0ab21273a8d92de9a0ebe"></a>uint8_t</td>
+<td class="fieldname">
+flags</td>
+<td class="fielddoc">
+Object Flags. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="acb7bc06bed6f6408d719334fc41698c7"></a>uint8_t</td>
+<td class="fieldname">
+reserved</td>
+<td class="fielddoc">
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a8f8f80d37794cde9472343e4487ba3eb"></a>const char *</td>
+<td class="fieldname">
+name</td>
+<td class="fielddoc">
+Object Name. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a8afd5feb676df99867375957b0587451"></a><a class="el" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a> *</td>
+<td class="fieldname">
+thread_list</td>
+<td class="fielddoc">
+Waiting Threads List. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a4e2e4e1126848f81d9e943147e07f0e0"></a>uint16_t</td>
+<td class="fieldname">
+tokens</td>
+<td class="fielddoc">
+Current number of tokens. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="aa793f0e9a46e8b59b6d351535ee18a7d"></a>uint16_t</td>
+<td class="fieldname">
+max_tokens</td>
+<td class="fielddoc">
+Maximum number of tokens. </td></tr>
+</table>
+
+</div>
+</div>
+<a name="structosRtxMpInfo__t" id="structosRtxMpInfo__t"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osRtxMpInfo_t</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"></div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="addc777bf5285ab03de6787385e6ea053"></a>uint32_t</td>
+<td class="fieldname">
+max_blocks</td>
+<td class="fielddoc">
+Maximum number of Blocks. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a444139ba664bc8c262139a9addddb48c"></a>uint32_t</td>
+<td class="fieldname">
+used_blocks</td>
+<td class="fielddoc">
+Number of used Blocks. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a9e3fb1e50a1c71b2337df296222d9553"></a>uint32_t</td>
+<td class="fieldname">
+block_size</td>
+<td class="fielddoc">
+Block Size. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a4a598d941460a6d8ebfbd9c622e2876a"></a>void *</td>
+<td class="fieldname">
+block_base</td>
+<td class="fielddoc">
+Block Memory Base Address. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="aba0fcdc6eda7e9f65c1d1904b2fff919"></a>void *</td>
+<td class="fieldname">
+block_lim</td>
+<td class="fielddoc">
+Block Memory Limit Address. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="aa111194ee30ea4e76b9dfcac8a03a8d9"></a>void *</td>
+<td class="fieldname">
+block_free</td>
+<td class="fielddoc">
+First free Block Address. </td></tr>
+</table>
+
+</div>
+</div>
+<a name="structosRtxMemoryPool__t" id="structosRtxMemoryPool__t"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osRtxMemoryPool_t</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"></div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a1e6927fa1486224044e568f9c370519b"></a>uint8_t</td>
+<td class="fieldname">
+id</td>
+<td class="fielddoc">
+Object Identifier. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a0acbb12a103775ddce0fb5d0efa3540f"></a>uint8_t</td>
+<td class="fieldname">
+reserved_state</td>
+<td class="fielddoc">
+Object State (not used) </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="aa2585d779da0ab21273a8d92de9a0ebe"></a>uint8_t</td>
+<td class="fieldname">
+flags</td>
+<td class="fielddoc">
+Object Flags. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="acb7bc06bed6f6408d719334fc41698c7"></a>uint8_t</td>
+<td class="fieldname">
+reserved</td>
+<td class="fielddoc">
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a8f8f80d37794cde9472343e4487ba3eb"></a>const char *</td>
+<td class="fieldname">
+name</td>
+<td class="fielddoc">
+Object Name. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a8afd5feb676df99867375957b0587451"></a><a class="el" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a> *</td>
+<td class="fieldname">
+thread_list</td>
+<td class="fielddoc">
+Waiting Threads List. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ac1cf67a8631962a42fa2da46f20a1a39"></a><a class="el" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a></td>
+<td class="fieldname">
+mp_info</td>
+<td class="fielddoc">
+Memory Pool Info. </td></tr>
+</table>
+
+</div>
+</div>
+<a name="structosRtxMessage__t" id="structosRtxMessage__t"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osRtxMessage_t</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"></div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a1e6927fa1486224044e568f9c370519b"></a>uint8_t</td>
+<td class="fieldname">
+id</td>
+<td class="fielddoc">
+Object Identifier. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a0acbb12a103775ddce0fb5d0efa3540f"></a>uint8_t</td>
+<td class="fieldname">
+reserved_state</td>
+<td class="fielddoc">
+Object State (not used) </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="aa2585d779da0ab21273a8d92de9a0ebe"></a>uint8_t</td>
+<td class="fieldname">
+flags</td>
+<td class="fielddoc">
+Object Flags. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a0ad043071ccc7a261d79a759dc9c6f0c"></a>uint8_t</td>
+<td class="fieldname">
+priority</td>
+<td class="fielddoc">
+Message Priority. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ad2b4e6d37acc8020701610f54c0c8910"></a>struct osRtxMessage_s *</td>
+<td class="fieldname">
+prev</td>
+<td class="fielddoc">
+Pointer to previous Message. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a89570e219f9fb794b8353207a7592f95"></a>struct osRtxMessage_s *</td>
+<td class="fieldname">
+next</td>
+<td class="fielddoc">
+Pointer to next Message. </td></tr>
+</table>
+
+</div>
+</div>
+<a name="structosRtxMessageQueue__t" id="structosRtxMessageQueue__t"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osRtxMessageQueue_t</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"></div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a1e6927fa1486224044e568f9c370519b"></a>uint8_t</td>
+<td class="fieldname">
+id</td>
+<td class="fielddoc">
+Object Identifier. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a0acbb12a103775ddce0fb5d0efa3540f"></a>uint8_t</td>
+<td class="fieldname">
+reserved_state</td>
+<td class="fielddoc">
+Object State (not used) </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="aa2585d779da0ab21273a8d92de9a0ebe"></a>uint8_t</td>
+<td class="fieldname">
+flags</td>
+<td class="fielddoc">
+Object Flags. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="acb7bc06bed6f6408d719334fc41698c7"></a>uint8_t</td>
+<td class="fieldname">
+reserved</td>
+<td class="fielddoc">
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a8f8f80d37794cde9472343e4487ba3eb"></a>const char *</td>
+<td class="fieldname">
+name</td>
+<td class="fielddoc">
+Object Name. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a8afd5feb676df99867375957b0587451"></a><a class="el" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a> *</td>
+<td class="fieldname">
+thread_list</td>
+<td class="fielddoc">
+Waiting Threads List. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ac1cf67a8631962a42fa2da46f20a1a39"></a><a class="el" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a></td>
+<td class="fieldname">
+mp_info</td>
+<td class="fielddoc">
+Memory Pool Info. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a58873af81b75772a41aa5c1ff788a0c2"></a>uint32_t</td>
+<td class="fieldname">
+msg_size</td>
+<td class="fielddoc">
+Message Size. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a6a019648a53352a413ea79b958a362cd"></a>uint32_t</td>
+<td class="fieldname">
+msg_count</td>
+<td class="fielddoc">
+Number of queued Messages. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a13c143cc2f25a550fc3eb7ae68b0c56d"></a><a class="el" href="rtx__os_8h.html#structosRtxMessage__t">osRtxMessage_t</a> *</td>
+<td class="fieldname">
+msg_first</td>
+<td class="fielddoc">
+Pointer to first Message. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ab386d4a98974f52ca151426c4dde0da4"></a><a class="el" href="rtx__os_8h.html#structosRtxMessage__t">osRtxMessage_t</a> *</td>
+<td class="fieldname">
+msg_last</td>
+<td class="fielddoc">
+Pointer to last Message. </td></tr>
+</table>
+
+</div>
+</div>
+<a name="structosRtxObject__t" id="structosRtxObject__t"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osRtxObject_t</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"></div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a1e6927fa1486224044e568f9c370519b"></a>uint8_t</td>
+<td class="fieldname">
+id</td>
+<td class="fielddoc">
+Object Identifier. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a0b57aa10271a66f3dc936bba1d2f3830"></a>uint8_t</td>
+<td class="fieldname">
+state</td>
+<td class="fielddoc">
+Object State. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="aa2585d779da0ab21273a8d92de9a0ebe"></a>uint8_t</td>
+<td class="fieldname">
+flags</td>
+<td class="fielddoc">
+Object Flags. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="acb7bc06bed6f6408d719334fc41698c7"></a>uint8_t</td>
+<td class="fieldname">
+reserved</td>
+<td class="fielddoc">
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a8f8f80d37794cde9472343e4487ba3eb"></a>const char *</td>
+<td class="fieldname">
+name</td>
+<td class="fielddoc">
+Object Name. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a8afd5feb676df99867375957b0587451"></a><a class="el" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a> *</td>
+<td class="fieldname">
+thread_list</td>
+<td class="fielddoc">
+Threads List. </td></tr>
+</table>
+
+</div>
+</div>
+<a name="structosRtxInfo__t" id="structosRtxInfo__t"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osRtxInfo_t</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"></div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a7b7d02cdf33432995469f29878f7dcda"></a>const char *</td>
+<td class="fieldname">
+os_id</td>
+<td class="fielddoc">
+OS Identification. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="acd99bb05ca015e7d74448acb1deba7ca"></a>uint32_t</td>
+<td class="fieldname">
+version</td>
+<td class="fielddoc">
+OS Version. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a72d4e2550fcee67cc139fca04505a903"></a>struct <a class="el" href="rtx__os_8h.html#structosRtxInfo__t_8kernel">osRtxInfo_t</a></td>
+<td class="fieldname">
+kernel</td>
+<td class="fielddoc">
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ad88a39594ffe6ab1016cf59517219e21"></a>int32_t</td>
+<td class="fieldname">
+tick_irqn</td>
+<td class="fielddoc">
+Tick Timer IRQ Number. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a540b2b79850c654b3f5756c488314b8d"></a>struct <a class="el" href="rtx__os_8h.html#structosRtxInfo__t_8thread">osRtxInfo_t</a></td>
+<td class="fieldname">
+thread</td>
+<td class="fielddoc">
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ad2649f7342615613f26a8603203bba7b"></a>struct <a class="el" href="structosRtxInfo__t_8timer.html">osRtxInfo_t</a></td>
+<td class="fieldname">
+timer</td>
+<td class="fielddoc">
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a534f37c2b021c8242492bedfe48b0338"></a>struct <a class="el" href="rtx__os_8h.html#structosRtxInfo__t_8isr__queue">osRtxInfo_t</a></td>
+<td class="fieldname">
+isr_queue</td>
+<td class="fielddoc">
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ae64a3e930a8e3d1fb28038db9bc514d9"></a>struct <a class="el" href="structosRtxInfo__t_8post__process.html">osRtxInfo_t</a></td>
+<td class="fieldname">
+post_process</td>
+<td class="fielddoc">
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a42d7108f7184dcb944cdf73f649ad2dd"></a>struct <a class="el" href="rtx__os_8h.html#structosRtxInfo__t_8mem">osRtxInfo_t</a></td>
+<td class="fieldname">
+mem</td>
+<td class="fielddoc">
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a13aeb46a18b12ae911abead8e497ffd3"></a>struct <a class="el" href="rtx__os_8h.html#structosRtxInfo__t_8mpi">osRtxInfo_t</a></td>
+<td class="fieldname">
+mpi</td>
+<td class="fielddoc">
+</td></tr>
+</table>
+
+</div>
+</div>
+<a name="structosRtxObjectMemUsage__t" id="structosRtxObjectMemUsage__t"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osRtxObjectMemUsage_t</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"></div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a6bc379cb485caaa1bd9b63abbc79a4ec"></a>uint32_t</td>
+<td class="fieldname">
+cnt_alloc</td>
+<td class="fielddoc">
+Counter for alloc. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a5916fa670084fea56a52ba450565da4b"></a>uint32_t</td>
+<td class="fieldname">
+cnt_free</td>
+<td class="fielddoc">
+Counter for free. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a81baadf3fdf0eeff338f997ca3fe5009"></a>uint32_t</td>
+<td class="fieldname">
+max_used</td>
+<td class="fielddoc">
+Maximum used. </td></tr>
+</table>
+
+</div>
+</div>
+<a name="structosRtxConfig__t" id="structosRtxConfig__t"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osRtxConfig_t</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"></div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a773b39d480759f67926cb18ae2219281"></a>uint32_t</td>
+<td class="fieldname">
+flags</td>
+<td class="fielddoc">
+OS Configuration Flags. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a5973e7102782a9936a5e0d1417863675"></a>uint32_t</td>
+<td class="fieldname">
+tick_freq</td>
+<td class="fielddoc">
+Kernel Tick Frequency. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a6b4c66676a5bc985c28b71ac4ac79159"></a>uint32_t</td>
+<td class="fieldname">
+robin_timeout</td>
+<td class="fielddoc">
+Round Robin Timeout Tick. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a0354dd9f726694843f2a01df98c5641c"></a>struct <a class="el" href="rtx__os_8h.html#structosRtxConfig__t_8isr__queue">osRtxConfig_t</a></td>
+<td class="fieldname">
+isr_queue</td>
+<td class="fielddoc">
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="aa30bb7d2484db1812c1aaf77a23cd11e"></a>struct <a class="el" href="rtx__os_8h.html#structosRtxConfig__t_8mem">osRtxConfig_t</a></td>
+<td class="fieldname">
+mem</td>
+<td class="fielddoc">
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ac013bca5f28bebf36a3372da78107e97"></a>struct <a class="el" href="rtx__os_8h.html#structosRtxConfig__t_8mpi">osRtxConfig_t</a></td>
+<td class="fieldname">
+mpi</td>
+<td class="fielddoc">
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a6aa2c0bcb2024f1e4c38f9e8f6769c09"></a>uint32_t</td>
+<td class="fieldname">
+thread_stack_size</td>
+<td class="fielddoc">
+Default Thread Stack Size. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a694e5f79185db270e087e94719177ca0"></a>const <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t">osThreadAttr_t</a> *</td>
+<td class="fieldname">
+idle_thread_attr</td>
+<td class="fielddoc">
+Idle Thread Attributes. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a310b3e01cc8e274529353210db5a78c3"></a>const <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t">osThreadAttr_t</a> *</td>
+<td class="fieldname">
+timer_thread_attr</td>
+<td class="fielddoc">
+Timer Thread Attributes. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a3e07bcf21ce5250f3dc0f1ec4ebc938d"></a>const <a class="el" href="group__CMSIS__RTOS__Message.html#structosMessageQueueAttr__t">osMessageQueueAttr_t</a> *</td>
+<td class="fieldname">
+timer_mq_attr</td>
+<td class="fielddoc">
+Timer Message Queue Attributes. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a3d6d4ee231cd6db41ee358a5676b1a9d"></a>uint32_t</td>
+<td class="fieldname">
+timer_mq_mcnt</td>
+<td class="fielddoc">
+Timer Message Queue maximum Messages. </td></tr>
+</table>
+
+</div>
+</div>
+<a name="structosRtxInfo__t_8kernel" id="structosRtxInfo__t_8kernel"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osRtxInfo_t.kernel</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"></div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a9ed39e2ea931586b6a985a6942ef573e"></a>uint8_t</td>
+<td class="fieldname">
+state</td>
+<td class="fielddoc">
+&lt; Kernel Info <p>State </p>
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a61326117ed4a9ddf3f754e71e119e5b3"></a>volatile uint8_t</td>
+<td class="fieldname">
+blocked</td>
+<td class="fielddoc">
+Blocked. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="adbd8f5195a8c472906488694e50bc57d"></a>uint8_t</td>
+<td class="fieldname">
+pendSV</td>
+<td class="fielddoc">
+Pending SV. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a7f005c3fa691e77c52d3297cc2699072"></a>uint8_t</td>
+<td class="fieldname">
+reserved</td>
+<td class="fielddoc">
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ae5e5c0754f1e26bf915455e21cf2eba5"></a>uint32_t</td>
+<td class="fieldname">
+tick</td>
+<td class="fielddoc">
+Tick counter. </td></tr>
+</table>
+
+</div>
+</div>
+<a name="structosRtxInfo__t_8thread" id="structosRtxInfo__t_8thread"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osRtxInfo_t.thread</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"></div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="aa53108f7543b75adbb34afc035d4cdf6"></a><a class="el" href="rtx__os_8h.html#structosRtxInfo__t_8thread_8run">thread</a></td>
+<td class="fieldname">
+run</td>
+<td class="fielddoc">
+&lt; Thread Info </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ab2fdab230a2c39f3595a947861863cb7"></a><a class="el" href="rtx__os_8h.html#structosRtxObject__t">osRtxObject_t</a></td>
+<td class="fieldname">
+ready</td>
+<td class="fielddoc">
+Ready List Object. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="aec2f993aec2c27fc750119ab17b16cdb"></a><a class="el" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a> *</td>
+<td class="fieldname">
+idle</td>
+<td class="fielddoc">
+Idle Thread. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a11175ec6a8801a32e287f84e82908bfb"></a><a class="el" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a> *</td>
+<td class="fieldname">
+delay_list</td>
+<td class="fielddoc">
+Delay List. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ad9cc02dbd824d3b15349daa809bcfee9"></a><a class="el" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a> *</td>
+<td class="fieldname">
+wait_list</td>
+<td class="fielddoc">
+Wait List (no Timeout) </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a1effca68f27e85391274c5e2987d693c"></a><a class="el" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a> *</td>
+<td class="fieldname">
+terminate_list</td>
+<td class="fielddoc">
+Terminate Thread List. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a8ee60a2e00c90d7e00d5069188dc115b"></a><a class="el" href="rtx__os_8h.html#structosRtxInfo__t_8thread_8robin">thread</a></td>
+<td class="fieldname">
+robin</td>
+<td class="fielddoc">
+</td></tr>
+</table>
+
+</div>
+</div>
+<a name="structosRtxInfo__t_8thread_8run" id="structosRtxInfo__t_8thread_8run"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osRtxInfo_t.thread.run</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"></div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a09c2a312ca0311b5e24340fe8f827077"></a><a class="el" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a> *</td>
+<td class="fieldname">
+curr</td>
+<td class="fielddoc">
+&lt; Thread Run Info <p>Current running Thread </p>
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ad0cab90d8d20d57e2f2b9be52f7dd25d"></a><a class="el" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a> *</td>
+<td class="fieldname">
+next</td>
+<td class="fielddoc">
+Next Thread to Run. </td></tr>
+</table>
+
+</div>
+</div>
+<a name="structosRtxInfo__t_8thread_8robin" id="structosRtxInfo__t_8thread_8robin"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osRtxInfo_t.thread.robin</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"></div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="adc127f5d2483352fd20eaddb38feb6d2"></a><a class="el" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a> *</td>
+<td class="fieldname">
+thread</td>
+<td class="fielddoc">
+&lt; Thread Round Robin Info <p>Round Robin Thread </p>
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ae5e5c0754f1e26bf915455e21cf2eba5"></a>uint32_t</td>
+<td class="fieldname">
+tick</td>
+<td class="fielddoc">
+Round Robin Time Tick. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a90272dda245ae1fb3cf197e91a8689dc"></a>uint32_t</td>
+<td class="fieldname">
+timeout</td>
+<td class="fielddoc">
+Round Robin Timeout. </td></tr>
+</table>
+
+</div>
+</div>
+<a name="structosRtxInfo__t_8isr__queue" id="structosRtxInfo__t_8isr__queue"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osRtxInfo_t.isr_queue</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"></div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a2ffe4e77325d9a7152f7086ea7aa5114"></a>uint16_t</td>
+<td class="fieldname">
+max</td>
+<td class="fielddoc">
+&lt; ISR Post Processing Queue <p>Maximum Items </p>
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a2817f701d5e1a1181e657251363295fd"></a>uint16_t</td>
+<td class="fieldname">
+cnt</td>
+<td class="fielddoc">
+Item Count. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a13b5bfe96f3e2fe411c9f66f4a582adf"></a>uint16_t</td>
+<td class="fieldname">
+in</td>
+<td class="fielddoc">
+Incoming Item Index. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ac68271a63ddbc431c307beb7d2918275"></a>uint16_t</td>
+<td class="fieldname">
+out</td>
+<td class="fielddoc">
+Outgoing Item Index. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a8d777f385d3dfec8815d20f7496026dc"></a>void **</td>
+<td class="fieldname">
+data</td>
+<td class="fielddoc">
+Queue Data. </td></tr>
+</table>
+
+</div>
+</div>
+<a name="structosRtxInfo__t_8mem" id="structosRtxInfo__t_8mem"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osRtxInfo_t.mem</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"></div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="afac2a47adace059aff113283a03f6760"></a>void *</td>
+<td class="fieldname">
+stack</td>
+<td class="fielddoc">
+&lt; Memory Pools (Variable Block Size) <p>Stack Memory </p>
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a121e21e21369e7ccff1b47800c32797e"></a>void *</td>
+<td class="fieldname">
+mp_data</td>
+<td class="fielddoc">
+Memory Pool Data Memory. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a0046cd4086246454426394e75d5ae872"></a>void *</td>
+<td class="fieldname">
+mq_data</td>
+<td class="fielddoc">
+Message Queue Data Memory. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a9efab2399c7c560b34de477b9aa0a465"></a>void *</td>
+<td class="fieldname">
+common</td>
+<td class="fielddoc">
+Common Memory. </td></tr>
+</table>
+
+</div>
+</div>
+<a name="structosRtxInfo__t_8mpi" id="structosRtxInfo__t_8mpi"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osRtxInfo_t.mpi</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"></div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="afac2a47adace059aff113283a03f6760"></a><a class="el" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *</td>
+<td class="fieldname">
+stack</td>
+<td class="fielddoc">
+&lt; Memory Pools (Fixed Block Size) <p>Stack for Threads </p>
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="adc127f5d2483352fd20eaddb38feb6d2"></a><a class="el" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *</td>
+<td class="fieldname">
+thread</td>
+<td class="fielddoc">
+Thread Control Blocks. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a2c127bf32ccb4edf2bf22fea5a00e494"></a><a class="el" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *</td>
+<td class="fieldname">
+timer</td>
+<td class="fielddoc">
+Timer Control Blocks. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="af1b7cb88db5bf93bba7cbcaa503cbd6c"></a><a class="el" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *</td>
+<td class="fieldname">
+event_flags</td>
+<td class="fielddoc">
+Event Flags Control Blocks. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a25a01bb859125507013a2fe9737d3c32"></a><a class="el" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *</td>
+<td class="fieldname">
+mutex</td>
+<td class="fielddoc">
+Mutex Control Blocks. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ace1bc7755b9332cfacdf8ee58ef2e3c1"></a><a class="el" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *</td>
+<td class="fieldname">
+semaphore</td>
+<td class="fielddoc">
+Semaphore Control Blocks. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a675214f6d8913a15569ca32f3a505e46"></a><a class="el" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *</td>
+<td class="fieldname">
+memory_pool</td>
+<td class="fielddoc">
+Memory Pool Control Blocks. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ac8a94d8dcb13e89d5886dabf7cd9945a"></a><a class="el" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *</td>
+<td class="fieldname">
+message_queue</td>
+<td class="fielddoc">
+Message Queue Control Blocks. </td></tr>
+</table>
+
+</div>
+</div>
+<a name="structosRtxConfig__t_8isr__queue" id="structosRtxConfig__t_8isr__queue"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osRtxConfig_t.isr_queue</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"></div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a8d777f385d3dfec8815d20f7496026dc"></a>void **</td>
+<td class="fieldname">
+data</td>
+<td class="fielddoc">
+&lt; ISR Post Processing Queue <p>Queue Data </p>
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a2ffe4e77325d9a7152f7086ea7aa5114"></a>uint16_t</td>
+<td class="fieldname">
+max</td>
+<td class="fielddoc">
+Maximum Items. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ab70cdb878a204fecf91c7dd1af312421"></a>uint16_t</td>
+<td class="fieldname">
+padding</td>
+<td class="fielddoc">
+</td></tr>
+</table>
+
+</div>
+</div>
+<a name="structosRtxConfig__t_8mem" id="structosRtxConfig__t_8mem"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osRtxConfig_t.mem</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"></div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ae20e71788b6e24c734e1a4fbfb1bc55c"></a>void *</td>
+<td class="fieldname">
+stack_addr</td>
+<td class="fielddoc">
+&lt; Memory Pools (Variable Block Size) <p>Stack Memory Address </p>
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a0a8aa7db62759b8d67cca3ca2af45aa0"></a>uint32_t</td>
+<td class="fieldname">
+stack_size</td>
+<td class="fielddoc">
+Stack Memory Size. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="af77cba93c22c4dac7ea999b28b6b686d"></a>void *</td>
+<td class="fieldname">
+mp_data_addr</td>
+<td class="fielddoc">
+Memory Pool Memory Address. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ad5ee660a662e3d7897a97f62ce6ecdc1"></a>uint32_t</td>
+<td class="fieldname">
+mp_data_size</td>
+<td class="fielddoc">
+Memory Pool Memory Size. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a68d0eb20a4cb1daaec11ac0ef1dd9399"></a>void *</td>
+<td class="fieldname">
+mq_data_addr</td>
+<td class="fielddoc">
+Message Queue Data Memory Address. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="aab3d7e5f552f1830b1613e1498cef7cb"></a>uint32_t</td>
+<td class="fieldname">
+mq_data_size</td>
+<td class="fielddoc">
+Message Queue Data Memory Size. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a2d0644ba3070f630371f24c452e2a26f"></a>void *</td>
+<td class="fieldname">
+common_addr</td>
+<td class="fielddoc">
+Common Memory Address. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="adb7453887f86cc0d98e37becf4c83682"></a>uint32_t</td>
+<td class="fieldname">
+common_size</td>
+<td class="fielddoc">
+Common Memory Size. </td></tr>
+</table>
+
+</div>
+</div>
+<a name="structosRtxConfig__t_8mpi" id="structosRtxConfig__t_8mpi"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct osRtxConfig_t.mpi</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<div class="textblock"></div><table class="fieldtable">
+<tr><th colspan="3">Data Fields</th></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="afac2a47adace059aff113283a03f6760"></a><a class="el" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *</td>
+<td class="fieldname">
+stack</td>
+<td class="fielddoc">
+&lt; Memory Pools (Fixed Block Size) <p>Stack for Threads </p>
+</td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="adc127f5d2483352fd20eaddb38feb6d2"></a><a class="el" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *</td>
+<td class="fieldname">
+thread</td>
+<td class="fielddoc">
+Thread Control Blocks. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a2c127bf32ccb4edf2bf22fea5a00e494"></a><a class="el" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *</td>
+<td class="fieldname">
+timer</td>
+<td class="fielddoc">
+Timer Control Blocks. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="af1b7cb88db5bf93bba7cbcaa503cbd6c"></a><a class="el" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *</td>
+<td class="fieldname">
+event_flags</td>
+<td class="fielddoc">
+Event Flags Control Blocks. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a25a01bb859125507013a2fe9737d3c32"></a><a class="el" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *</td>
+<td class="fieldname">
+mutex</td>
+<td class="fielddoc">
+Mutex Control Blocks. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ace1bc7755b9332cfacdf8ee58ef2e3c1"></a><a class="el" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *</td>
+<td class="fieldname">
+semaphore</td>
+<td class="fielddoc">
+Semaphore Control Blocks. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="a675214f6d8913a15569ca32f3a505e46"></a><a class="el" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *</td>
+<td class="fieldname">
+memory_pool</td>
+<td class="fielddoc">
+Memory Pool Control Blocks. </td></tr>
+<tr><td class="fieldtype">
+<a class="anchor" id="ac8a94d8dcb13e89d5886dabf7cd9945a"></a><a class="el" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *</td>
+<td class="fieldname">
+message_queue</td>
+<td class="fielddoc">
+Message Queue Control Blocks. </td></tr>
+</table>
+
+</div>
+</div>
+<h2 class="groupheader">Macro Definition Documentation</h2>
+<a class="anchor" id="aea20a2b373e98ae88a7cf7e4a56b118f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxVersionAPI&#160;&#160;&#160;20010003</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>API version (2.1.3) </p>
+
+</div>
+</div>
+<a class="anchor" id="ad854168120979e8c60630e0140e104e8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxVersionKernel&#160;&#160;&#160;50040000</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a47e0637d30eed2357b238cbb19dbb058"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxKernelId&#160;&#160;&#160;&quot;RTX V5.4.0&quot;</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ad78a646169b7b4bfa2a278d08fe21fa5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxIdInvalid&#160;&#160;&#160;0x00U</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ad6f0f1f1b4e1b8c2615429d6a24ca8f5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxIdThread&#160;&#160;&#160;0x01U</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a5e8dd6b61e9b09d20aeea8434861950e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxIdTimer&#160;&#160;&#160;0x02U</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aa9b41f7b0dc38018a7db915df5e716cc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxIdEventFlags&#160;&#160;&#160;0x03U</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a086574b10e90122f5228decea0a5d3dc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxIdMutex&#160;&#160;&#160;0x04U</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a4778b8ce61af3d942501bb4ff28c18f1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxIdSemaphore&#160;&#160;&#160;0x05U</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a3cddbd1d03aedae758445d17db319fec"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxIdMemoryPool&#160;&#160;&#160;0x06U</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a84bb69c0a0d02b2adc4d499803ccb063"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxIdMessage&#160;&#160;&#160;0x07U</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a260226a1f72b4a333f01573430b60b17"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxIdMessageQueue&#160;&#160;&#160;0x08U</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a797c4d97bb5e216e6901c1e30e96cb34"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxFlagSystemObject&#160;&#160;&#160;0x01U</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ade9b85b84a6199a1cc3653058def19f3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxFlagSystemMemory&#160;&#160;&#160;0x02U</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a7543c3b497052bdbfbfbc3debc5f0a6e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxKernelInactive&#160;&#160;&#160;((uint8_t)<a class="el" href="cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a2ad3e5912db47b497529d036c89e7995">osKernelInactive</a>)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ab793b30296108737eb356871d266e2a2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxKernelReady&#160;&#160;&#160;((uint8_t)<a class="el" href="cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a0596c6e14113447604753656417c9a24">osKernelReady</a>)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a337ee876c540b4f4e9d680497eed9fdc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxKernelRunning&#160;&#160;&#160;((uint8_t)<a class="el" href="cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a8e0b699fbe1c8bb66fefadd5911cb6ce">osKernelRunning</a>)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a9c20a179e70e74fa9fe9f9ba275cc73b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxKernelLocked&#160;&#160;&#160;((uint8_t)<a class="el" href="cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a2fe382ad5ebab2257b35740414b28b01">osKernelLocked</a>)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a751dd07663970abe0305de11d52812a7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxKernelSuspended&#160;&#160;&#160;((uint8_t)<a class="el" href="cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4ad364464ad84d63b1413a9ac8a962390c">osKernelSuspended</a>)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ad486f6d40fcd8e9569ab415373d912e4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxThreadStateMask&#160;&#160;&#160;0x0FU</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a2552be237293212f43fc08bf3ec02e67"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxThreadInactive&#160;&#160;&#160;((uint8_t)<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820dae9d77830b6866e287417b6e1d983e971">osThreadInactive</a>)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a7c1e9dfefafc53162f076b0430a0e595"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxThreadReady&#160;&#160;&#160;((uint8_t)<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820da59e286915944fe0e4d1ffdb1f2946f14">osThreadReady</a>)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ad9615557219eecdbca536d4280e72604"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxThreadRunning&#160;&#160;&#160;((uint8_t)<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820dac4fe336e0790188fcf7d667372eca19d">osThreadRunning</a>)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a30e61895c9ec7941715dd4747b11d5b3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxThreadBlocked&#160;&#160;&#160;((uint8_t)<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820daf0e992e354fba8695957c530226a4968">osThreadBlocked</a>)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a3011758dc91d1dd134ec48b816b67d50"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxThreadTerminated&#160;&#160;&#160;((uint8_t)<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820dad5b2726c2d0228f4f1a76cf6b630963c">osThreadTerminated</a>)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a9fcd1ecba034b5fc15e991311736ec4e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxThreadWaitingDelay&#160;&#160;&#160;((uint8_t)(<a class="el" href="rtx__os_8h.html#a30e61895c9ec7941715dd4747b11d5b3">osRtxThreadBlocked</a> | 0x10U))</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a88ca40f569d87366a69451ed43759453"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxThreadWaitingJoin&#160;&#160;&#160;((uint8_t)(<a class="el" href="rtx__os_8h.html#a30e61895c9ec7941715dd4747b11d5b3">osRtxThreadBlocked</a> | 0x20U))</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a41174e493bdf7e3a1e35306703bcd63c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxThreadWaitingThreadFlags&#160;&#160;&#160;((uint8_t)(<a class="el" href="rtx__os_8h.html#a30e61895c9ec7941715dd4747b11d5b3">osRtxThreadBlocked</a> | 0x30U))</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a6c4c8b1563e28aa5b947346cb5db3c69"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxThreadWaitingEventFlags&#160;&#160;&#160;((uint8_t)(<a class="el" href="rtx__os_8h.html#a30e61895c9ec7941715dd4747b11d5b3">osRtxThreadBlocked</a> | 0x40U))</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ae99ccb8b4d1a85c1abb6ab39933690a6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxThreadWaitingMutex&#160;&#160;&#160;((uint8_t)(<a class="el" href="rtx__os_8h.html#a30e61895c9ec7941715dd4747b11d5b3">osRtxThreadBlocked</a> | 0x50U))</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="acbe0a0cd73d487b82501b584caf4a472"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxThreadWaitingSemaphore&#160;&#160;&#160;((uint8_t)(<a class="el" href="rtx__os_8h.html#a30e61895c9ec7941715dd4747b11d5b3">osRtxThreadBlocked</a> | 0x60U))</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aa87cea70df1acf71f6358de9b65722a4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxThreadWaitingMemoryPool&#160;&#160;&#160;((uint8_t)(<a class="el" href="rtx__os_8h.html#a30e61895c9ec7941715dd4747b11d5b3">osRtxThreadBlocked</a> | 0x70U))</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a881830bb0c1488cd15bd1a412bc16800"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxThreadWaitingMessageGet&#160;&#160;&#160;((uint8_t)(<a class="el" href="rtx__os_8h.html#a30e61895c9ec7941715dd4747b11d5b3">osRtxThreadBlocked</a> | 0x80U))</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a7502524f6911edc751111422eaf66a43"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxThreadWaitingMessagePut&#160;&#160;&#160;((uint8_t)(<a class="el" href="rtx__os_8h.html#a30e61895c9ec7941715dd4747b11d5b3">osRtxThreadBlocked</a> | 0x90U))</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a733199fdb7675dbf99d5e6d17c126a96"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxThreadFlagDefStack&#160;&#160;&#160;0x10U</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Default Stack flag </p>
+
+</div>
+</div>
+<a class="anchor" id="aabdbbcf214681666d06629397463093f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxStackMagicWord&#160;&#160;&#160;0xE25A2EA5U</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Stack Magic Word (Stack Base) </p>
+
+</div>
+</div>
+<a class="anchor" id="a7dbaedf90584739e6d938d69d2621855"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxStackFillPattern&#160;&#160;&#160;0xCCCCCCCCU</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a66bea72c0cffd25c7cb32419283a7b92"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxTimerInactive&#160;&#160;&#160;0x00U</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Timer Inactive </p>
+
+</div>
+</div>
+<a class="anchor" id="ab01076b285029ac6d22dbde69167c96e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxTimerStopped&#160;&#160;&#160;0x01U</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aed55034470990d4593eb614e26c1eea7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxTimerRunning&#160;&#160;&#160;0x02U</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="accc1542de31e0c7367d452e9de035bb4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxTimerPeriodic&#160;&#160;&#160;((uint8_t)<a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915ab3463d921dc310938094745c230f2b35">osTimerPeriodic</a>)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a73248d08e2db1ef9941cf8fcf24ddba9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxThreadFlagsLimit&#160;&#160;&#160;31U</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a271653c08ecb64dbb2d0ce8a51ddb4c2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxEventFlagsLimit&#160;&#160;&#160;31U</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ade5d158c28233a45ad1fc9a1156373f6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxMutexLockLimit&#160;&#160;&#160;255U</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a14c7bcf532389ed285827cf5497d09eb"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxSemaphoreTokenLimit&#160;&#160;&#160;65535U</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a0eb4da5bed45820d732e23483b870152"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxConfigPrivilegedMode&#160;&#160;&#160;(1UL&lt;&lt;0)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>OS Configuration flags Threads in Privileged mode </p>
+
+</div>
+</div>
+<a class="anchor" id="a77f3e906438a6693524cdc257cb0bf23"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxConfigStackCheck&#160;&#160;&#160;(1UL&lt;&lt;1)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a62205cc79ec5d95b45f5ebfdf126438c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define osRtxConfigStackWatermark&#160;&#160;&#160;(1UL&lt;&lt;2)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a3e5ddb3df0d62f2dc357e64a3f04a6ce"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void SVC_Handler </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a6303e1f258cbdc1f970ce579cc015623"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void PendSV_Handler </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ab5e09814056d617c521549e542639b7e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void SysTick_Handler </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="ad2270125c4e4991c3231d752b6ee5f3f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="rtx__os_8h.html#structosRtxInfo__t">osRtxInfo_t</a> osRtxInfo</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a90374bf1d999b2e1594763ab6c97cd69"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="rtx__os_8h.html#structosRtxObjectMemUsage__t">osRtxObjectMemUsage_t</a> osRtxThreadMemUsage</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aa3e7cf488411dbdc814420b81f36b935"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="rtx__os_8h.html#structosRtxObjectMemUsage__t">osRtxObjectMemUsage_t</a> osRtxTimerMemUsage</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a0c81327f94697890809ce4a594bb9d5c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="rtx__os_8h.html#structosRtxObjectMemUsage__t">osRtxObjectMemUsage_t</a> osRtxEventFlagsMemUsage</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a683927dcd67dcb912884d16efa81a58d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="rtx__os_8h.html#structosRtxObjectMemUsage__t">osRtxObjectMemUsage_t</a> osRtxMutexMemUsage</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aec50b39ce30d9c87916d077f6f764387"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="rtx__os_8h.html#structosRtxObjectMemUsage__t">osRtxObjectMemUsage_t</a> osRtxSemaphoreMemUsage</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ae5dea30a13d7a2316699a7f201504bc7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="rtx__os_8h.html#structosRtxObjectMemUsage__t">osRtxObjectMemUsage_t</a> osRtxMemoryPoolMemUsage</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="af3da38b316a84990128e8d9f34e3e6d3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="rtx__os_8h.html#structosRtxObjectMemUsage__t">osRtxObjectMemUsage_t</a> osRtxMessageQueueMemUsage</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a489fda965fa634809f401ae6458a6f45"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="rtx__os_8h.html#structosRtxConfig__t">osRtxConfig_t</a> osRtxConfig</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="dir_a43355fbfff7212ac2193223a73d577c.html">RTOS2</a></li><li class="navelem"><a class="el" href="dir_002cf2dd0f795cc97a8d08cc3fa6e516.html">RTX</a></li><li class="navelem"><a class="el" href="dir_061ad8d12aa7dc7d03c29112cd6e086d.html">Include</a></li><li class="navelem"><a class="el" href="rtx__os_8h.html">rtx_os.h</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/rtx__os_8h_structosRtxConfig__t.js b/docs/RTOS2/html/rtx__os_8h_structosRtxConfig__t.js
new file mode 100644
index 0000000..1264ec6
--- /dev/null
+++ b/docs/RTOS2/html/rtx__os_8h_structosRtxConfig__t.js
@@ -0,0 +1,14 @@
+var rtx__os_8h_structosRtxConfig__t =
+[
+ [ "flags", "rtx__os_8h.html#a773b39d480759f67926cb18ae2219281", null ],
+ [ "tick_freq", "rtx__os_8h.html#a5973e7102782a9936a5e0d1417863675", null ],
+ [ "robin_timeout", "rtx__os_8h.html#a6b4c66676a5bc985c28b71ac4ac79159", null ],
+ [ "isr_queue", "rtx__os_8h.html#a0354dd9f726694843f2a01df98c5641c", null ],
+ [ "mem", "rtx__os_8h.html#aa30bb7d2484db1812c1aaf77a23cd11e", null ],
+ [ "mpi", "rtx__os_8h.html#ac013bca5f28bebf36a3372da78107e97", null ],
+ [ "thread_stack_size", "rtx__os_8h.html#a6aa2c0bcb2024f1e4c38f9e8f6769c09", null ],
+ [ "idle_thread_attr", "rtx__os_8h.html#a694e5f79185db270e087e94719177ca0", null ],
+ [ "timer_thread_attr", "rtx__os_8h.html#a310b3e01cc8e274529353210db5a78c3", null ],
+ [ "timer_mq_attr", "rtx__os_8h.html#a3e07bcf21ce5250f3dc0f1ec4ebc938d", null ],
+ [ "timer_mq_mcnt", "rtx__os_8h.html#a3d6d4ee231cd6db41ee358a5676b1a9d", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/rtx__os_8h_structosRtxConfig__t_8isr__queue.js b/docs/RTOS2/html/rtx__os_8h_structosRtxConfig__t_8isr__queue.js
new file mode 100644
index 0000000..6245bcb
--- /dev/null
+++ b/docs/RTOS2/html/rtx__os_8h_structosRtxConfig__t_8isr__queue.js
@@ -0,0 +1,6 @@
+var rtx__os_8h_structosRtxConfig__t_8isr__queue =
+[
+ [ "data", "rtx__os_8h.html#a8d777f385d3dfec8815d20f7496026dc", null ],
+ [ "max", "rtx__os_8h.html#a2ffe4e77325d9a7152f7086ea7aa5114", null ],
+ [ "padding", "rtx__os_8h.html#ab70cdb878a204fecf91c7dd1af312421", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/rtx__os_8h_structosRtxConfig__t_8mem.js b/docs/RTOS2/html/rtx__os_8h_structosRtxConfig__t_8mem.js
new file mode 100644
index 0000000..8ebce3f
--- /dev/null
+++ b/docs/RTOS2/html/rtx__os_8h_structosRtxConfig__t_8mem.js
@@ -0,0 +1,11 @@
+var rtx__os_8h_structosRtxConfig__t_8mem =
+[
+ [ "stack_addr", "rtx__os_8h.html#ae20e71788b6e24c734e1a4fbfb1bc55c", null ],
+ [ "stack_size", "rtx__os_8h.html#a0a8aa7db62759b8d67cca3ca2af45aa0", null ],
+ [ "mp_data_addr", "rtx__os_8h.html#af77cba93c22c4dac7ea999b28b6b686d", null ],
+ [ "mp_data_size", "rtx__os_8h.html#ad5ee660a662e3d7897a97f62ce6ecdc1", null ],
+ [ "mq_data_addr", "rtx__os_8h.html#a68d0eb20a4cb1daaec11ac0ef1dd9399", null ],
+ [ "mq_data_size", "rtx__os_8h.html#aab3d7e5f552f1830b1613e1498cef7cb", null ],
+ [ "common_addr", "rtx__os_8h.html#a2d0644ba3070f630371f24c452e2a26f", null ],
+ [ "common_size", "rtx__os_8h.html#adb7453887f86cc0d98e37becf4c83682", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/rtx__os_8h_structosRtxConfig__t_8mpi.js b/docs/RTOS2/html/rtx__os_8h_structosRtxConfig__t_8mpi.js
new file mode 100644
index 0000000..fa0cf44
--- /dev/null
+++ b/docs/RTOS2/html/rtx__os_8h_structosRtxConfig__t_8mpi.js
@@ -0,0 +1,11 @@
+var rtx__os_8h_structosRtxConfig__t_8mpi =
+[
+ [ "stack", "rtx__os_8h.html#afac2a47adace059aff113283a03f6760", null ],
+ [ "thread", "rtx__os_8h.html#adc127f5d2483352fd20eaddb38feb6d2", null ],
+ [ "timer", "rtx__os_8h.html#a2c127bf32ccb4edf2bf22fea5a00e494", null ],
+ [ "event_flags", "rtx__os_8h.html#af1b7cb88db5bf93bba7cbcaa503cbd6c", null ],
+ [ "mutex", "rtx__os_8h.html#a25a01bb859125507013a2fe9737d3c32", null ],
+ [ "semaphore", "rtx__os_8h.html#ace1bc7755b9332cfacdf8ee58ef2e3c1", null ],
+ [ "memory_pool", "rtx__os_8h.html#a675214f6d8913a15569ca32f3a505e46", null ],
+ [ "message_queue", "rtx__os_8h.html#ac8a94d8dcb13e89d5886dabf7cd9945a", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/rtx__os_8h_structosRtxEventFlags__t.js b/docs/RTOS2/html/rtx__os_8h_structosRtxEventFlags__t.js
new file mode 100644
index 0000000..aff4d71
--- /dev/null
+++ b/docs/RTOS2/html/rtx__os_8h_structosRtxEventFlags__t.js
@@ -0,0 +1,10 @@
+var rtx__os_8h_structosRtxEventFlags__t =
+[
+ [ "id", "rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b", null ],
+ [ "reserved_state", "rtx__os_8h.html#a0acbb12a103775ddce0fb5d0efa3540f", null ],
+ [ "flags", "rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe", null ],
+ [ "reserved", "rtx__os_8h.html#acb7bc06bed6f6408d719334fc41698c7", null ],
+ [ "name", "rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb", null ],
+ [ "thread_list", "rtx__os_8h.html#a8afd5feb676df99867375957b0587451", null ],
+ [ "event_flags", "rtx__os_8h.html#a7044be0679894b5daf72f19f9dd06e03", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/rtx__os_8h_structosRtxInfo__t.js b/docs/RTOS2/html/rtx__os_8h_structosRtxInfo__t.js
new file mode 100644
index 0000000..b4c8119
--- /dev/null
+++ b/docs/RTOS2/html/rtx__os_8h_structosRtxInfo__t.js
@@ -0,0 +1,13 @@
+var rtx__os_8h_structosRtxInfo__t =
+[
+ [ "os_id", "rtx__os_8h.html#a7b7d02cdf33432995469f29878f7dcda", null ],
+ [ "version", "rtx__os_8h.html#acd99bb05ca015e7d74448acb1deba7ca", null ],
+ [ "kernel", "rtx__os_8h.html#a72d4e2550fcee67cc139fca04505a903", null ],
+ [ "tick_irqn", "rtx__os_8h.html#ad88a39594ffe6ab1016cf59517219e21", null ],
+ [ "thread", "rtx__os_8h.html#a540b2b79850c654b3f5756c488314b8d", null ],
+ [ "timer", "rtx__os_8h.html#ad2649f7342615613f26a8603203bba7b", null ],
+ [ "isr_queue", "rtx__os_8h.html#a534f37c2b021c8242492bedfe48b0338", null ],
+ [ "post_process", "rtx__os_8h.html#ae64a3e930a8e3d1fb28038db9bc514d9", null ],
+ [ "mem", "rtx__os_8h.html#a42d7108f7184dcb944cdf73f649ad2dd", null ],
+ [ "mpi", "rtx__os_8h.html#a13aeb46a18b12ae911abead8e497ffd3", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/rtx__os_8h_structosRtxInfo__t_8isr__queue.js b/docs/RTOS2/html/rtx__os_8h_structosRtxInfo__t_8isr__queue.js
new file mode 100644
index 0000000..fc98efa
--- /dev/null
+++ b/docs/RTOS2/html/rtx__os_8h_structosRtxInfo__t_8isr__queue.js
@@ -0,0 +1,8 @@
+var rtx__os_8h_structosRtxInfo__t_8isr__queue =
+[
+ [ "max", "rtx__os_8h.html#a2ffe4e77325d9a7152f7086ea7aa5114", null ],
+ [ "cnt", "rtx__os_8h.html#a2817f701d5e1a1181e657251363295fd", null ],
+ [ "in", "rtx__os_8h.html#a13b5bfe96f3e2fe411c9f66f4a582adf", null ],
+ [ "out", "rtx__os_8h.html#ac68271a63ddbc431c307beb7d2918275", null ],
+ [ "data", "rtx__os_8h.html#a8d777f385d3dfec8815d20f7496026dc", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/rtx__os_8h_structosRtxInfo__t_8kernel.js b/docs/RTOS2/html/rtx__os_8h_structosRtxInfo__t_8kernel.js
new file mode 100644
index 0000000..168f846
--- /dev/null
+++ b/docs/RTOS2/html/rtx__os_8h_structosRtxInfo__t_8kernel.js
@@ -0,0 +1,8 @@
+var rtx__os_8h_structosRtxInfo__t_8kernel =
+[
+ [ "state", "rtx__os_8h.html#a9ed39e2ea931586b6a985a6942ef573e", null ],
+ [ "blocked", "rtx__os_8h.html#a61326117ed4a9ddf3f754e71e119e5b3", null ],
+ [ "pendSV", "rtx__os_8h.html#adbd8f5195a8c472906488694e50bc57d", null ],
+ [ "reserved", "rtx__os_8h.html#a7f005c3fa691e77c52d3297cc2699072", null ],
+ [ "tick", "rtx__os_8h.html#ae5e5c0754f1e26bf915455e21cf2eba5", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/rtx__os_8h_structosRtxInfo__t_8mem.js b/docs/RTOS2/html/rtx__os_8h_structosRtxInfo__t_8mem.js
new file mode 100644
index 0000000..eb6f9d4
--- /dev/null
+++ b/docs/RTOS2/html/rtx__os_8h_structosRtxInfo__t_8mem.js
@@ -0,0 +1,7 @@
+var rtx__os_8h_structosRtxInfo__t_8mem =
+[
+ [ "stack", "rtx__os_8h.html#afac2a47adace059aff113283a03f6760", null ],
+ [ "mp_data", "rtx__os_8h.html#a121e21e21369e7ccff1b47800c32797e", null ],
+ [ "mq_data", "rtx__os_8h.html#a0046cd4086246454426394e75d5ae872", null ],
+ [ "common", "rtx__os_8h.html#a9efab2399c7c560b34de477b9aa0a465", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/rtx__os_8h_structosRtxInfo__t_8mpi.js b/docs/RTOS2/html/rtx__os_8h_structosRtxInfo__t_8mpi.js
new file mode 100644
index 0000000..ffacd7e
--- /dev/null
+++ b/docs/RTOS2/html/rtx__os_8h_structosRtxInfo__t_8mpi.js
@@ -0,0 +1,11 @@
+var rtx__os_8h_structosRtxInfo__t_8mpi =
+[
+ [ "stack", "rtx__os_8h.html#afac2a47adace059aff113283a03f6760", null ],
+ [ "thread", "rtx__os_8h.html#adc127f5d2483352fd20eaddb38feb6d2", null ],
+ [ "timer", "rtx__os_8h.html#a2c127bf32ccb4edf2bf22fea5a00e494", null ],
+ [ "event_flags", "rtx__os_8h.html#af1b7cb88db5bf93bba7cbcaa503cbd6c", null ],
+ [ "mutex", "rtx__os_8h.html#a25a01bb859125507013a2fe9737d3c32", null ],
+ [ "semaphore", "rtx__os_8h.html#ace1bc7755b9332cfacdf8ee58ef2e3c1", null ],
+ [ "memory_pool", "rtx__os_8h.html#a675214f6d8913a15569ca32f3a505e46", null ],
+ [ "message_queue", "rtx__os_8h.html#ac8a94d8dcb13e89d5886dabf7cd9945a", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/rtx__os_8h_structosRtxInfo__t_8thread.js b/docs/RTOS2/html/rtx__os_8h_structosRtxInfo__t_8thread.js
new file mode 100644
index 0000000..117c99a
--- /dev/null
+++ b/docs/RTOS2/html/rtx__os_8h_structosRtxInfo__t_8thread.js
@@ -0,0 +1,10 @@
+var rtx__os_8h_structosRtxInfo__t_8thread =
+[
+ [ "run", "rtx__os_8h.html#aa53108f7543b75adbb34afc035d4cdf6", null ],
+ [ "ready", "rtx__os_8h.html#ab2fdab230a2c39f3595a947861863cb7", null ],
+ [ "idle", "rtx__os_8h.html#aec2f993aec2c27fc750119ab17b16cdb", null ],
+ [ "delay_list", "rtx__os_8h.html#a11175ec6a8801a32e287f84e82908bfb", null ],
+ [ "wait_list", "rtx__os_8h.html#ad9cc02dbd824d3b15349daa809bcfee9", null ],
+ [ "terminate_list", "rtx__os_8h.html#a1effca68f27e85391274c5e2987d693c", null ],
+ [ "robin", "rtx__os_8h.html#a8ee60a2e00c90d7e00d5069188dc115b", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/rtx__os_8h_structosRtxInfo__t_8thread_8robin.js b/docs/RTOS2/html/rtx__os_8h_structosRtxInfo__t_8thread_8robin.js
new file mode 100644
index 0000000..417403c
--- /dev/null
+++ b/docs/RTOS2/html/rtx__os_8h_structosRtxInfo__t_8thread_8robin.js
@@ -0,0 +1,6 @@
+var rtx__os_8h_structosRtxInfo__t_8thread_8robin =
+[
+ [ "thread", "rtx__os_8h.html#adc127f5d2483352fd20eaddb38feb6d2", null ],
+ [ "tick", "rtx__os_8h.html#ae5e5c0754f1e26bf915455e21cf2eba5", null ],
+ [ "timeout", "rtx__os_8h.html#a90272dda245ae1fb3cf197e91a8689dc", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/rtx__os_8h_structosRtxInfo__t_8thread_8run.js b/docs/RTOS2/html/rtx__os_8h_structosRtxInfo__t_8thread_8run.js
new file mode 100644
index 0000000..a4785ba
--- /dev/null
+++ b/docs/RTOS2/html/rtx__os_8h_structosRtxInfo__t_8thread_8run.js
@@ -0,0 +1,5 @@
+var rtx__os_8h_structosRtxInfo__t_8thread_8run =
+[
+ [ "curr", "rtx__os_8h.html#a09c2a312ca0311b5e24340fe8f827077", null ],
+ [ "next", "rtx__os_8h.html#ad0cab90d8d20d57e2f2b9be52f7dd25d", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/rtx__os_8h_structosRtxInfo__t_8timer.js b/docs/RTOS2/html/rtx__os_8h_structosRtxInfo__t_8timer.js
new file mode 100644
index 0000000..226e12c
--- /dev/null
+++ b/docs/RTOS2/html/rtx__os_8h_structosRtxInfo__t_8timer.js
@@ -0,0 +1,6 @@
+var rtx__os_8h_structosRtxInfo__t_8timer =
+[
+ [ "list", "rtx__os_8h.html#a10ae9fc7d453b0dd525d0edf2ede7961", null ],
+ [ "thread", "rtx__os_8h.html#adc127f5d2483352fd20eaddb38feb6d2", null ],
+ [ "mq", "rtx__os_8h.html#a1d8a4975693ef1eb9ca54878098d608f", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/rtx__os_8h_structosRtxMemoryPool__t.js b/docs/RTOS2/html/rtx__os_8h_structosRtxMemoryPool__t.js
new file mode 100644
index 0000000..d188709
--- /dev/null
+++ b/docs/RTOS2/html/rtx__os_8h_structosRtxMemoryPool__t.js
@@ -0,0 +1,10 @@
+var rtx__os_8h_structosRtxMemoryPool__t =
+[
+ [ "id", "rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b", null ],
+ [ "reserved_state", "rtx__os_8h.html#a0acbb12a103775ddce0fb5d0efa3540f", null ],
+ [ "flags", "rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe", null ],
+ [ "reserved", "rtx__os_8h.html#acb7bc06bed6f6408d719334fc41698c7", null ],
+ [ "name", "rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb", null ],
+ [ "thread_list", "rtx__os_8h.html#a8afd5feb676df99867375957b0587451", null ],
+ [ "mp_info", "rtx__os_8h.html#ac1cf67a8631962a42fa2da46f20a1a39", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/rtx__os_8h_structosRtxMessageQueue__t.js b/docs/RTOS2/html/rtx__os_8h_structosRtxMessageQueue__t.js
new file mode 100644
index 0000000..98c95c1
--- /dev/null
+++ b/docs/RTOS2/html/rtx__os_8h_structosRtxMessageQueue__t.js
@@ -0,0 +1,14 @@
+var rtx__os_8h_structosRtxMessageQueue__t =
+[
+ [ "id", "rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b", null ],
+ [ "reserved_state", "rtx__os_8h.html#a0acbb12a103775ddce0fb5d0efa3540f", null ],
+ [ "flags", "rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe", null ],
+ [ "reserved", "rtx__os_8h.html#acb7bc06bed6f6408d719334fc41698c7", null ],
+ [ "name", "rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb", null ],
+ [ "thread_list", "rtx__os_8h.html#a8afd5feb676df99867375957b0587451", null ],
+ [ "mp_info", "rtx__os_8h.html#ac1cf67a8631962a42fa2da46f20a1a39", null ],
+ [ "msg_size", "rtx__os_8h.html#a58873af81b75772a41aa5c1ff788a0c2", null ],
+ [ "msg_count", "rtx__os_8h.html#a6a019648a53352a413ea79b958a362cd", null ],
+ [ "msg_first", "rtx__os_8h.html#a13c143cc2f25a550fc3eb7ae68b0c56d", null ],
+ [ "msg_last", "rtx__os_8h.html#ab386d4a98974f52ca151426c4dde0da4", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/rtx__os_8h_structosRtxMessage__t.js b/docs/RTOS2/html/rtx__os_8h_structosRtxMessage__t.js
new file mode 100644
index 0000000..0c9724f
--- /dev/null
+++ b/docs/RTOS2/html/rtx__os_8h_structosRtxMessage__t.js
@@ -0,0 +1,9 @@
+var rtx__os_8h_structosRtxMessage__t =
+[
+ [ "id", "rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b", null ],
+ [ "reserved_state", "rtx__os_8h.html#a0acbb12a103775ddce0fb5d0efa3540f", null ],
+ [ "flags", "rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe", null ],
+ [ "priority", "rtx__os_8h.html#a0ad043071ccc7a261d79a759dc9c6f0c", null ],
+ [ "prev", "rtx__os_8h.html#ad2b4e6d37acc8020701610f54c0c8910", null ],
+ [ "next", "rtx__os_8h.html#a89570e219f9fb794b8353207a7592f95", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/rtx__os_8h_structosRtxMpInfo__t.js b/docs/RTOS2/html/rtx__os_8h_structosRtxMpInfo__t.js
new file mode 100644
index 0000000..79fb57c
--- /dev/null
+++ b/docs/RTOS2/html/rtx__os_8h_structosRtxMpInfo__t.js
@@ -0,0 +1,9 @@
+var rtx__os_8h_structosRtxMpInfo__t =
+[
+ [ "max_blocks", "rtx__os_8h.html#addc777bf5285ab03de6787385e6ea053", null ],
+ [ "used_blocks", "rtx__os_8h.html#a444139ba664bc8c262139a9addddb48c", null ],
+ [ "block_size", "rtx__os_8h.html#a9e3fb1e50a1c71b2337df296222d9553", null ],
+ [ "block_base", "rtx__os_8h.html#a4a598d941460a6d8ebfbd9c622e2876a", null ],
+ [ "block_lim", "rtx__os_8h.html#aba0fcdc6eda7e9f65c1d1904b2fff919", null ],
+ [ "block_free", "rtx__os_8h.html#aa111194ee30ea4e76b9dfcac8a03a8d9", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/rtx__os_8h_structosRtxMutex__t.js b/docs/RTOS2/html/rtx__os_8h_structosRtxMutex__t.js
new file mode 100644
index 0000000..066cc61
--- /dev/null
+++ b/docs/RTOS2/html/rtx__os_8h_structosRtxMutex__t.js
@@ -0,0 +1,14 @@
+var rtx__os_8h_structosRtxMutex__t =
+[
+ [ "id", "rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b", null ],
+ [ "reserved_state", "rtx__os_8h.html#a0acbb12a103775ddce0fb5d0efa3540f", null ],
+ [ "flags", "rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe", null ],
+ [ "attr", "rtx__os_8h.html#a28478ea2856f6286899bc90b2c6a1ec4", null ],
+ [ "name", "rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb", null ],
+ [ "thread_list", "rtx__os_8h.html#a8afd5feb676df99867375957b0587451", null ],
+ [ "owner_thread", "rtx__os_8h.html#a987889d464cb2925029e135b76aa0dc9", null ],
+ [ "owner_prev", "rtx__os_8h.html#a50b315b9b80bafdba54a7a731be1cc30", null ],
+ [ "owner_next", "rtx__os_8h.html#a54be7ae32f627ee70e1af8c54203ee5a", null ],
+ [ "lock", "rtx__os_8h.html#a92435efb84d6814afd444fd462802e9c", null ],
+ [ "padding", "rtx__os_8h.html#a735ef00341a84c02ba561c66de3d20af", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/rtx__os_8h_structosRtxObjectMemUsage__t.js b/docs/RTOS2/html/rtx__os_8h_structosRtxObjectMemUsage__t.js
new file mode 100644
index 0000000..0724a94
--- /dev/null
+++ b/docs/RTOS2/html/rtx__os_8h_structosRtxObjectMemUsage__t.js
@@ -0,0 +1,6 @@
+var rtx__os_8h_structosRtxObjectMemUsage__t =
+[
+ [ "cnt_alloc", "rtx__os_8h.html#a6bc379cb485caaa1bd9b63abbc79a4ec", null ],
+ [ "cnt_free", "rtx__os_8h.html#a5916fa670084fea56a52ba450565da4b", null ],
+ [ "max_used", "rtx__os_8h.html#a81baadf3fdf0eeff338f997ca3fe5009", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/rtx__os_8h_structosRtxObject__t.js b/docs/RTOS2/html/rtx__os_8h_structosRtxObject__t.js
new file mode 100644
index 0000000..c2ca9c1
--- /dev/null
+++ b/docs/RTOS2/html/rtx__os_8h_structosRtxObject__t.js
@@ -0,0 +1,9 @@
+var rtx__os_8h_structosRtxObject__t =
+[
+ [ "id", "rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b", null ],
+ [ "state", "rtx__os_8h.html#a0b57aa10271a66f3dc936bba1d2f3830", null ],
+ [ "flags", "rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe", null ],
+ [ "reserved", "rtx__os_8h.html#acb7bc06bed6f6408d719334fc41698c7", null ],
+ [ "name", "rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb", null ],
+ [ "thread_list", "rtx__os_8h.html#a8afd5feb676df99867375957b0587451", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/rtx__os_8h_structosRtxSemaphore__t.js b/docs/RTOS2/html/rtx__os_8h_structosRtxSemaphore__t.js
new file mode 100644
index 0000000..77fe71b
--- /dev/null
+++ b/docs/RTOS2/html/rtx__os_8h_structosRtxSemaphore__t.js
@@ -0,0 +1,11 @@
+var rtx__os_8h_structosRtxSemaphore__t =
+[
+ [ "id", "rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b", null ],
+ [ "reserved_state", "rtx__os_8h.html#a0acbb12a103775ddce0fb5d0efa3540f", null ],
+ [ "flags", "rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe", null ],
+ [ "reserved", "rtx__os_8h.html#acb7bc06bed6f6408d719334fc41698c7", null ],
+ [ "name", "rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb", null ],
+ [ "thread_list", "rtx__os_8h.html#a8afd5feb676df99867375957b0587451", null ],
+ [ "tokens", "rtx__os_8h.html#a4e2e4e1126848f81d9e943147e07f0e0", null ],
+ [ "max_tokens", "rtx__os_8h.html#aa793f0e9a46e8b59b6d351535ee18a7d", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/rtx__os_8h_structosRtxThread__t.js b/docs/RTOS2/html/rtx__os_8h_structosRtxThread__t.js
new file mode 100644
index 0000000..865de51
--- /dev/null
+++ b/docs/RTOS2/html/rtx__os_8h_structosRtxThread__t.js
@@ -0,0 +1,26 @@
+var rtx__os_8h_structosRtxThread__t =
+[
+ [ "id", "rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b", null ],
+ [ "state", "rtx__os_8h.html#a0b57aa10271a66f3dc936bba1d2f3830", null ],
+ [ "flags", "rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe", null ],
+ [ "attr", "rtx__os_8h.html#a28478ea2856f6286899bc90b2c6a1ec4", null ],
+ [ "name", "rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb", null ],
+ [ "thread_next", "rtx__os_8h.html#a421971e8ae94fe0bd86b85a90445e71e", null ],
+ [ "thread_prev", "rtx__os_8h.html#aa230a0d899f6c0750e6d454af3ef9b05", null ],
+ [ "delay_next", "rtx__os_8h.html#a21a74cedec66715cd5d7422797035868", null ],
+ [ "delay_prev", "rtx__os_8h.html#adcfea33cc536708db8a3419ba0295551", null ],
+ [ "thread_join", "rtx__os_8h.html#a83ec0540c50d4e79bed99f1b384bd2b9", null ],
+ [ "delay", "rtx__os_8h.html#a458421a43d4f6dc515faf427bf579d00", null ],
+ [ "priority", "rtx__os_8h.html#a81659cc4c01e54e2424022728d9effc7", null ],
+ [ "priority_base", "rtx__os_8h.html#ac67f8858081fb7a6e5a4ee8d2de3b348", null ],
+ [ "stack_frame", "rtx__os_8h.html#a1071334ebd46d95b9ab1dcad788b2adc", null ],
+ [ "flags_options", "rtx__os_8h.html#a87c898585d0aeffdcf67c9e1b3befefe", null ],
+ [ "wait_flags", "rtx__os_8h.html#a3c7b4f24d9527394f4b5a1135d117691", null ],
+ [ "thread_flags", "rtx__os_8h.html#ae757685e50b875e953f4aff67ac24b1b", null ],
+ [ "mutex_list", "rtx__os_8h.html#a70b3153655adaf42687fe250983f6c95", null ],
+ [ "stack_mem", "rtx__os_8h.html#a447dbb69b4c036e118b3b1b8bd22fe60", null ],
+ [ "stack_size", "rtx__os_8h.html#ad63716408aae5b50857ca8ce74e3a3ff", null ],
+ [ "sp", "rtx__os_8h.html#a382a07e24a852d580d7548b8d517384c", null ],
+ [ "thread_addr", "rtx__os_8h.html#adf2ebf46aa7018845582f1c70de83598", null ],
+ [ "tz_memory", "rtx__os_8h.html#adaa6c424a231e5f6c788532675f33e16", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/rtx__os_8h_structosRtxTimerFinfo__t.js b/docs/RTOS2/html/rtx__os_8h_structosRtxTimerFinfo__t.js
new file mode 100644
index 0000000..7783af3
--- /dev/null
+++ b/docs/RTOS2/html/rtx__os_8h_structosRtxTimerFinfo__t.js
@@ -0,0 +1,5 @@
+var rtx__os_8h_structosRtxTimerFinfo__t =
+[
+ [ "func", "rtx__os_8h.html#aaf8577e5ddcbff356a1d27310baa8a1f", null ],
+ [ "arg", "rtx__os_8h.html#a9ce2ec4812a92cb6ab39f6e81e9173a9", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/rtx__os_8h_structosRtxTimer__t.js b/docs/RTOS2/html/rtx__os_8h_structosRtxTimer__t.js
new file mode 100644
index 0000000..a79ad3d
--- /dev/null
+++ b/docs/RTOS2/html/rtx__os_8h_structosRtxTimer__t.js
@@ -0,0 +1,13 @@
+var rtx__os_8h_structosRtxTimer__t =
+[
+ [ "id", "rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b", null ],
+ [ "state", "rtx__os_8h.html#a0b57aa10271a66f3dc936bba1d2f3830", null ],
+ [ "flags", "rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe", null ],
+ [ "type", "rtx__os_8h.html#a1d127017fb298b889f4ba24752d08b8e", null ],
+ [ "name", "rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb", null ],
+ [ "prev", "rtx__os_8h.html#ac8953ebf7df8aaf724cb12876ac8fb1a", null ],
+ [ "next", "rtx__os_8h.html#a8b9ac161a613448926b2c2b2c8dbe259", null ],
+ [ "tick", "rtx__os_8h.html#a260e06ce96c2e4deebccaedeb059dc0b", null ],
+ [ "load", "rtx__os_8h.html#aee4a6239f04d660fc90663dd6b39ca95", null ],
+ [ "finfo", "rtx__os_8h.html#ab415a6615c5ddf5365ed86e58a1e1809", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/rtx__os_8txt.html b/docs/RTOS2/html/rtx__os_8txt.html
new file mode 100644
index 0000000..a912eb9
--- /dev/null
+++ b/docs/RTOS2/html/rtx__os_8txt.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>rtx_os.txt File Reference</title>
+<title>CMSIS-RTOS2: rtx_os.txt File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('rtx__os_8txt.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">rtx_os.txt File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="rtx__os_8txt.html">rtx_os.txt</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/scheduling.png b/docs/RTOS2/html/scheduling.png
new file mode 100644
index 0000000..f6fe4ec
--- /dev/null
+++ b/docs/RTOS2/html/scheduling.png
Binary files differ
diff --git a/docs/RTOS2/html/search.css b/docs/RTOS2/html/search.css
new file mode 100644
index 0000000..1746d13
--- /dev/null
+++ b/docs/RTOS2/html/search.css
@@ -0,0 +1,240 @@
+/*---------------- Search Box */
+
+#FSearchBox {
+ float: left;
+}
+
+#searchli {
+ float: right;
+ display: block;
+ width: 170px;
+ height: 24px;
+}
+
+#MSearchBox {
+ white-space : nowrap;
+ position: absolute;
+ float: none;
+ display: inline;
+ margin-top: 3px;
+ right: 0px;
+ width: 170px;
+ z-index: 102;
+}
+
+#MSearchBox .left
+{
+ display:block;
+ position:absolute;
+ left:10px;
+ width:20px;
+ height:19px;
+ background:url('search_l.png') no-repeat;
+ background-position:right;
+}
+
+#MSearchSelect {
+ display:block;
+ position:absolute;
+ width:20px;
+ height:19px;
+}
+
+.left #MSearchSelect {
+ left:4px;
+}
+
+.right #MSearchSelect {
+ right:5px;
+}
+
+#MSearchField {
+ display:block;
+ position:absolute;
+ height:19px;
+ background:url('search_m.png') repeat-x;
+ border:none;
+ width:116px;
+ margin-left:20px;
+ padding-left:4px;
+ color: #909090;
+ outline: none;
+ font: 9pt Arial, Verdana, sans-serif;
+}
+
+#FSearchBox #MSearchField {
+ margin-left:15px;
+}
+
+#MSearchBox .right {
+ display:block;
+ position:absolute;
+ right:10px;
+ top:0px;
+ width:20px;
+ height:19px;
+ background:url('search_r.png') no-repeat;
+ background-position:left;
+}
+
+#MSearchClose {
+ display: none;
+ position: absolute;
+ top: 4px;
+ background : none;
+ border: none;
+ margin: 0px 4px 0px 0px;
+ padding: 0px 0px;
+ outline: none;
+}
+
+.left #MSearchClose {
+ left: 6px;
+}
+
+.right #MSearchClose {
+ right: 2px;
+}
+
+.MSearchBoxActive #MSearchField {
+ color: #000000;
+}
+
+/*---------------- Search filter selection */
+
+#MSearchSelectWindow {
+ display: none;
+ position: absolute;
+ left: 0; top: 0;
+ border: 1px solid #90A5CE;
+ background-color: #F9FAFC;
+ z-index: 1;
+ padding-top: 4px;
+ padding-bottom: 4px;
+ -moz-border-radius: 4px;
+ -webkit-border-top-left-radius: 4px;
+ -webkit-border-top-right-radius: 4px;
+ -webkit-border-bottom-left-radius: 4px;
+ -webkit-border-bottom-right-radius: 4px;
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+}
+
+.SelectItem {
+ font: 8pt Arial, Verdana, sans-serif;
+ padding-left: 2px;
+ padding-right: 12px;
+ border: 0px;
+}
+
+span.SelectionMark {
+ margin-right: 4px;
+ font-family: monospace;
+ outline-style: none;
+ text-decoration: none;
+}
+
+a.SelectItem {
+ display: block;
+ outline-style: none;
+ color: #000000;
+ text-decoration: none;
+ padding-left: 6px;
+ padding-right: 12px;
+}
+
+a.SelectItem:focus,
+a.SelectItem:active {
+ color: #000000;
+ outline-style: none;
+ text-decoration: none;
+}
+
+a.SelectItem:hover {
+ color: #FFFFFF;
+ background-color: #3D578C;
+ outline-style: none;
+ text-decoration: none;
+ cursor: pointer;
+ display: block;
+}
+
+/*---------------- Search results window */
+
+iframe#MSearchResults {
+ width: 60ex;
+ height: 15em;
+}
+
+#MSearchResultsWindow {
+ display: none;
+ position: absolute;
+ left: 0; top: 0;
+ border: 1px solid #000;
+ background-color: #EEF1F7;
+}
+
+/* ----------------------------------- */
+
+
+#SRIndex {
+ clear:both;
+ padding-bottom: 15px;
+}
+
+.SREntry {
+ font-size: 10pt;
+ padding-left: 1ex;
+}
+
+.SRPage .SREntry {
+ font-size: 8pt;
+ padding: 1px 5px;
+}
+
+body.SRPage {
+ margin: 5px 2px;
+}
+
+.SRChildren {
+ padding-left: 3ex; padding-bottom: .5em
+}
+
+.SRPage .SRChildren {
+ display: none;
+}
+
+.SRSymbol {
+ font-weight: bold;
+ color: #425E97;
+ font-family: Arial, Verdana, sans-serif;
+ text-decoration: none;
+ outline: none;
+}
+
+a.SRScope {
+ display: block;
+ color: #425E97;
+ font-family: Arial, Verdana, sans-serif;
+ text-decoration: none;
+ outline: none;
+}
+
+a.SRSymbol:focus, a.SRSymbol:active,
+a.SRScope:focus, a.SRScope:active {
+ text-decoration: underline;
+}
+
+.SRPage .SRStatus {
+ padding: 2px 5px;
+ font-size: 8pt;
+ font-style: italic;
+}
+
+.SRResult {
+ display: none;
+}
+
+DIV.searchresults {
+ margin-left: 10px;
+ margin-right: 10px;
+}
diff --git a/docs/RTOS2/html/search/all_0.html b/docs/RTOS2/html/search/all_0.html
new file mode 100644
index 0000000..17b6da8
--- /dev/null
+++ b/docs/RTOS2/html/search/all_0.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/all_0.js b/docs/RTOS2/html/search/all_0.js
new file mode 100644
index 0000000..4e3f0ab
--- /dev/null
+++ b/docs/RTOS2/html/search/all_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['_5f_5fno_5freturn',['__NO_RETURN',['../cmsis__os2_8h.html#a153a4a31b276a9758959580538720a51',1,'cmsis_os2.h']]]
+];
diff --git a/docs/RTOS2/html/search/all_1.html b/docs/RTOS2/html/search/all_1.html
new file mode 100644
index 0000000..e290644
--- /dev/null
+++ b/docs/RTOS2/html/search/all_1.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/all_1.js b/docs/RTOS2/html/search/all_1.js
new file mode 100644
index 0000000..b596e5b
--- /dev/null
+++ b/docs/RTOS2/html/search/all_1.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+ ['api',['api',['../group__CMSIS__RTOS__KernelCtrl.html#a76a1ef1a4d3d9bd3e70783051f22a6d3',1,'osVersion_t']]],
+ ['arg',['arg',['../rtx__os_8h.html#a9ce2ec4812a92cb6ab39f6e81e9173a9',1,'osRtxTimerFinfo_t']]],
+ ['attr',['attr',['../rtx__os_8h.html#a28478ea2856f6286899bc90b2c6a1ec4',1,'osRtxThread_t::attr()'],['../rtx__os_8h.html#a28478ea2856f6286899bc90b2c6a1ec4',1,'osRtxMutex_t::attr()']]],
+ ['attr_5fbits',['attr_bits',['../group__CMSIS__RTOS__ThreadMgmt.html#a6e93b49cb79c12f768d72580c7731f30',1,'osThreadAttr_t::attr_bits()'],['../group__CMSIS__RTOS__TimerMgmt.html#a6e93b49cb79c12f768d72580c7731f30',1,'osTimerAttr_t::attr_bits()'],['../group__CMSIS__RTOS__EventFlags.html#a6e93b49cb79c12f768d72580c7731f30',1,'osEventFlagsAttr_t::attr_bits()'],['../group__CMSIS__RTOS__MutexMgmt.html#a6e93b49cb79c12f768d72580c7731f30',1,'osMutexAttr_t::attr_bits()'],['../group__CMSIS__RTOS__SemaphoreMgmt.html#a6e93b49cb79c12f768d72580c7731f30',1,'osSemaphoreAttr_t::attr_bits()'],['../group__CMSIS__RTOS__PoolMgmt.html#a6e93b49cb79c12f768d72580c7731f30',1,'osMemoryPoolAttr_t::attr_bits()'],['../group__CMSIS__RTOS__Message.html#a6e93b49cb79c12f768d72580c7731f30',1,'osMessageQueueAttr_t::attr_bits()']]]
+];
diff --git a/docs/RTOS2/html/search/all_10.html b/docs/RTOS2/html/search/all_10.html
new file mode 100644
index 0000000..c55c836
--- /dev/null
+++ b/docs/RTOS2/html/search/all_10.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_10.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/all_10.js b/docs/RTOS2/html/search/all_10.js
new file mode 100644
index 0000000..35b2f26
--- /dev/null
+++ b/docs/RTOS2/html/search/all_10.js
@@ -0,0 +1,15 @@
+var searchData=
+[
+ ['rtx_20migration_20guide',['RTX Migration Guide',['../os2MigrationGuide.html',1,'os2Migration']]],
+ ['reserved',['reserved',['../group__CMSIS__RTOS__ThreadMgmt.html#a66f538babc389986738ec70104e0562b',1,'osThreadAttr_t::reserved()'],['../rtx__os_8h.html#acb7bc06bed6f6408d719334fc41698c7',1,'osRtxEventFlags_t::reserved()'],['../rtx__os_8h.html#acb7bc06bed6f6408d719334fc41698c7',1,'osRtxSemaphore_t::reserved()'],['../rtx__os_8h.html#acb7bc06bed6f6408d719334fc41698c7',1,'osRtxMemoryPool_t::reserved()'],['../rtx__os_8h.html#acb7bc06bed6f6408d719334fc41698c7',1,'osRtxMessageQueue_t::reserved()'],['../rtx__os_8h.html#acb7bc06bed6f6408d719334fc41698c7',1,'osRtxObject_t::reserved()']]],
+ ['reserved_5fstate',['reserved_state',['../rtx__os_8h.html#a0acbb12a103775ddce0fb5d0efa3540f',1,'osRtxEventFlags_t::reserved_state()'],['../rtx__os_8h.html#a0acbb12a103775ddce0fb5d0efa3540f',1,'osRtxMutex_t::reserved_state()'],['../rtx__os_8h.html#a0acbb12a103775ddce0fb5d0efa3540f',1,'osRtxSemaphore_t::reserved_state()'],['../rtx__os_8h.html#a0acbb12a103775ddce0fb5d0efa3540f',1,'osRtxMemoryPool_t::reserved_state()'],['../rtx__os_8h.html#a0acbb12a103775ddce0fb5d0efa3540f',1,'osRtxMessage_t::reserved_state()'],['../rtx__os_8h.html#a0acbb12a103775ddce0fb5d0efa3540f',1,'osRtxMessageQueue_t::reserved_state()']]],
+ ['robin_5ftimeout',['robin_timeout',['../rtx__os_8h.html#a6b4c66676a5bc985c28b71ac4ac79159',1,'osRtxConfig_t']]],
+ ['revision_20history',['Revision History',['../rtos_revisionHistory.html',1,'index']]],
+ ['rtos_20validation',['RTOS Validation',['../rtosValidation.html',1,'index']]],
+ ['rtx_20v5_20implementation',['RTX v5 Implementation',['../rtx5_impl.html',1,'index']]],
+ ['rtx_20v5_20specific_20api',['RTX v5 Specific API',['../group__rtx5__specific.html',1,'']]],
+ ['rtx_5fevr_2eh',['rtx_evr.h',['../rtx__evr_8h.html',1,'']]],
+ ['rtx_5fevr_2etxt',['rtx_evr.txt',['../rtx__evr_8txt.html',1,'']]],
+ ['rtx_5fos_2eh',['rtx_os.h',['../rtx__os_8h.html',1,'']]],
+ ['rtx_5fos_2etxt',['rtx_os.txt',['../rtx__os_8txt.html',1,'']]]
+];
diff --git a/docs/RTOS2/html/search/all_11.html b/docs/RTOS2/html/search/all_11.html
new file mode 100644
index 0000000..6f3943a
--- /dev/null
+++ b/docs/RTOS2/html/search/all_11.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_11.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/all_11.js b/docs/RTOS2/html/search/all_11.js
new file mode 100644
index 0000000..82b4018
--- /dev/null
+++ b/docs/RTOS2/html/search/all_11.js
@@ -0,0 +1,13 @@
+var searchData=
+[
+ ['semaphores',['Semaphores',['../group__CMSIS__RTOS__SemaphoreMgmt.html',1,'']]],
+ ['supported_20toolchains',['Supported Toolchains',['../pToolchains.html',1,'technicalData5']]],
+ ['semaphore_20functions',['Semaphore Functions',['../group__rtx__evr__semaphore.html',1,'']]],
+ ['sp',['sp',['../rtx__os_8h.html#a382a07e24a852d580d7548b8d517384c',1,'osRtxThread_t']]],
+ ['stack_5fframe',['stack_frame',['../rtx__os_8h.html#a1071334ebd46d95b9ab1dcad788b2adc',1,'osRtxThread_t']]],
+ ['stack_5fmem',['stack_mem',['../group__CMSIS__RTOS__ThreadMgmt.html#ad7c9b42355a4c8b9467130ab3fb19e43',1,'osThreadAttr_t::stack_mem()'],['../rtx__os_8h.html#a447dbb69b4c036e118b3b1b8bd22fe60',1,'osRtxThread_t::stack_mem()']]],
+ ['stack_5fsize',['stack_size',['../group__CMSIS__RTOS__ThreadMgmt.html#aacbc9a219f2d6870e9ce89bb93f975c9',1,'osThreadAttr_t::stack_size()'],['../rtx__os_8h.html#ad63716408aae5b50857ca8ce74e3a3ff',1,'osRtxThread_t::stack_size()']]],
+ ['state',['state',['../rtx__os_8h.html#a0b57aa10271a66f3dc936bba1d2f3830',1,'osRtxThread_t::state()'],['../rtx__os_8h.html#a0b57aa10271a66f3dc936bba1d2f3830',1,'osRtxTimer_t::state()'],['../rtx__os_8h.html#a0b57aa10271a66f3dc936bba1d2f3830',1,'osRtxObject_t::state()']]],
+ ['svc_5fhandler',['SVC_Handler',['../rtx__os_8h.html#a3e5ddb3df0d62f2dc357e64a3f04a6ce',1,'rtx_os.h']]],
+ ['systick_5fhandler',['SysTick_Handler',['../rtx__os_8h.html#ab5e09814056d617c521549e542639b7e',1,'rtx_os.h']]]
+];
diff --git a/docs/RTOS2/html/search/all_12.html b/docs/RTOS2/html/search/all_12.html
new file mode 100644
index 0000000..3c7c89e
--- /dev/null
+++ b/docs/RTOS2/html/search/all_12.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_12.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/all_12.js b/docs/RTOS2/html/search/all_12.js
new file mode 100644
index 0000000..d4d22a6
--- /dev/null
+++ b/docs/RTOS2/html/search/all_12.js
@@ -0,0 +1,30 @@
+var searchData=
+[
+ ['thread_20flags',['Thread Flags',['../group__CMSIS__RTOS__ThreadFlagsMgmt.html',1,'']]],
+ ['thread_20management',['Thread Management',['../group__CMSIS__RTOS__ThreadMgmt.html',1,'']]],
+ ['timer_20management',['Timer Management',['../group__CMSIS__RTOS__TimerMgmt.html',1,'']]],
+ ['thread_20functions',['Thread Functions',['../group__rtx__evr__thread.html',1,'']]],
+ ['timer_20functions',['Timer Functions',['../group__rtx__evr__timer.html',1,'']]],
+ ['technical_20data',['Technical Data',['../technicalData5.html',1,'rtx5_impl']]],
+ ['theory_20of_20operation',['Theory of Operation',['../theory_of_operation.html',1,'rtx5_impl']]],
+ ['thread',['thread',['../rtx__os_8h.html#a540b2b79850c654b3f5756c488314b8d',1,'osRtxInfo_t']]],
+ ['thread_5faddr',['thread_addr',['../rtx__os_8h.html#adf2ebf46aa7018845582f1c70de83598',1,'osRtxThread_t']]],
+ ['thread_5fflags',['thread_flags',['../rtx__os_8h.html#ae757685e50b875e953f4aff67ac24b1b',1,'osRtxThread_t']]],
+ ['thread_5fjoin',['thread_join',['../rtx__os_8h.html#a83ec0540c50d4e79bed99f1b384bd2b9',1,'osRtxThread_t']]],
+ ['thread_5flist',['thread_list',['../rtx__os_8h.html#a8afd5feb676df99867375957b0587451',1,'osRtxEventFlags_t::thread_list()'],['../rtx__os_8h.html#a8afd5feb676df99867375957b0587451',1,'osRtxMutex_t::thread_list()'],['../rtx__os_8h.html#a8afd5feb676df99867375957b0587451',1,'osRtxSemaphore_t::thread_list()'],['../rtx__os_8h.html#a8afd5feb676df99867375957b0587451',1,'osRtxMemoryPool_t::thread_list()'],['../rtx__os_8h.html#a8afd5feb676df99867375957b0587451',1,'osRtxMessageQueue_t::thread_list()'],['../rtx__os_8h.html#a8afd5feb676df99867375957b0587451',1,'osRtxObject_t::thread_list()']]],
+ ['thread_5fnext',['thread_next',['../rtx__os_8h.html#a421971e8ae94fe0bd86b85a90445e71e',1,'osRtxThread_t']]],
+ ['thread_5fprev',['thread_prev',['../rtx__os_8h.html#aa230a0d899f6c0750e6d454af3ef9b05',1,'osRtxThread_t']]],
+ ['thread_5fstack_5fsize',['thread_stack_size',['../rtx__os_8h.html#a6aa2c0bcb2024f1e4c38f9e8f6769c09',1,'osRtxConfig_t']]],
+ ['tick',['tick',['../rtx__os_8h.html#a260e06ce96c2e4deebccaedeb059dc0b',1,'osRtxTimer_t']]],
+ ['tick_5ffreq',['tick_freq',['../rtx__os_8h.html#a5973e7102782a9936a5e0d1417863675',1,'osRtxConfig_t']]],
+ ['tick_5firqn',['tick_irqn',['../rtx__os_8h.html#ad88a39594ffe6ab1016cf59517219e21',1,'osRtxInfo_t']]],
+ ['timer',['timer',['../rtx__os_8h.html#ad2649f7342615613f26a8603203bba7b',1,'osRtxInfo_t']]],
+ ['timer_5fmq_5fattr',['timer_mq_attr',['../rtx__os_8h.html#a3e07bcf21ce5250f3dc0f1ec4ebc938d',1,'osRtxConfig_t']]],
+ ['timer_5fmq_5fmcnt',['timer_mq_mcnt',['../rtx__os_8h.html#a3d6d4ee231cd6db41ee358a5676b1a9d',1,'osRtxConfig_t']]],
+ ['timer_5fthread_5fattr',['timer_thread_attr',['../rtx__os_8h.html#a310b3e01cc8e274529353210db5a78c3',1,'osRtxConfig_t']]],
+ ['tokens',['tokens',['../rtx__os_8h.html#a4e2e4e1126848f81d9e943147e07f0e0',1,'osRtxSemaphore_t']]],
+ ['type',['type',['../rtx__os_8h.html#a1d127017fb298b889f4ba24752d08b8e',1,'osRtxTimer_t']]],
+ ['tz_5fmemory',['tz_memory',['../rtx__os_8h.html#adaa6c424a231e5f6c788532675f33e16',1,'osRtxThread_t']]],
+ ['tz_5fmodule',['tz_module',['../group__CMSIS__RTOS__ThreadMgmt.html#a697f2aad6119d655d212ea10245ae394',1,'osThreadAttr_t']]],
+ ['tz_5fmoduleid_5ft',['TZ_MODULEID_T',['../cmsis__os2_8h.html#a78775dae56f0c9698cdab6e1ca74503f',1,'TZ_MODULEID_T():&#160;cmsis_os2.h'],['../cmsis__os2_8h.html#ad5ef21485fe5f60263bc0b48006202cb',1,'TZ_ModuleId_t():&#160;cmsis_os2.h']]]
+];
diff --git a/docs/RTOS2/html/search/all_13.html b/docs/RTOS2/html/search/all_13.html
new file mode 100644
index 0000000..0bd629b
--- /dev/null
+++ b/docs/RTOS2/html/search/all_13.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_13.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/all_13.js b/docs/RTOS2/html/search/all_13.js
new file mode 100644
index 0000000..921e760
--- /dev/null
+++ b/docs/RTOS2/html/search/all_13.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['used_5fblocks',['used_blocks',['../rtx__os_8h.html#a444139ba664bc8c262139a9addddb48c',1,'osRtxMpInfo_t']]]
+];
diff --git a/docs/RTOS2/html/search/all_14.html b/docs/RTOS2/html/search/all_14.html
new file mode 100644
index 0000000..2ad638b
--- /dev/null
+++ b/docs/RTOS2/html/search/all_14.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_14.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/all_14.js b/docs/RTOS2/html/search/all_14.js
new file mode 100644
index 0000000..75625e1
--- /dev/null
+++ b/docs/RTOS2/html/search/all_14.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['validation_2etxt',['validation.txt',['../validation_8txt.html',1,'']]],
+ ['version',['version',['../rtx__os_8h.html#acd99bb05ca015e7d74448acb1deba7ca',1,'osRtxInfo_t']]]
+];
diff --git a/docs/RTOS2/html/search/all_15.html b/docs/RTOS2/html/search/all_15.html
new file mode 100644
index 0000000..d3b5274
--- /dev/null
+++ b/docs/RTOS2/html/search/all_15.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_15.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/all_15.js b/docs/RTOS2/html/search/all_15.js
new file mode 100644
index 0000000..e1698ec
--- /dev/null
+++ b/docs/RTOS2/html/search/all_15.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['wait_5fflags',['wait_flags',['../rtx__os_8h.html#a3c7b4f24d9527394f4b5a1135d117691',1,'osRtxThread_t']]]
+];
diff --git a/docs/RTOS2/html/search/all_2.html b/docs/RTOS2/html/search/all_2.html
new file mode 100644
index 0000000..95ded12
--- /dev/null
+++ b/docs/RTOS2/html/search/all_2.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/all_2.js b/docs/RTOS2/html/search/all_2.js
new file mode 100644
index 0000000..b685507
--- /dev/null
+++ b/docs/RTOS2/html/search/all_2.js
@@ -0,0 +1,8 @@
+var searchData=
+[
+ ['block_5fbase',['block_base',['../rtx__os_8h.html#a4a598d941460a6d8ebfbd9c622e2876a',1,'osRtxMpInfo_t']]],
+ ['block_5ffree',['block_free',['../rtx__os_8h.html#aa111194ee30ea4e76b9dfcac8a03a8d9',1,'osRtxMpInfo_t']]],
+ ['block_5flim',['block_lim',['../rtx__os_8h.html#aba0fcdc6eda7e9f65c1d1904b2fff919',1,'osRtxMpInfo_t']]],
+ ['block_5fsize',['block_size',['../rtx__os_8h.html#a9e3fb1e50a1c71b2337df296222d9553',1,'osRtxMpInfo_t']]],
+ ['building_20the_20rtx5_20library',['Building the RTX5 Library',['../creating_RTX5_LIB.html',1,'rtx5_impl']]]
+];
diff --git a/docs/RTOS2/html/search/all_3.html b/docs/RTOS2/html/search/all_3.html
new file mode 100644
index 0000000..4d312d0
--- /dev/null
+++ b/docs/RTOS2/html/search/all_3.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_3.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/all_3.js b/docs/RTOS2/html/search/all_3.js
new file mode 100644
index 0000000..55e5a7a
--- /dev/null
+++ b/docs/RTOS2/html/search/all_3.js
@@ -0,0 +1,30 @@
+var searchData=
+[
+ ['cb_5fmem',['cb_mem',['../group__CMSIS__RTOS__ThreadMgmt.html#a1e100dc33d403841ed3c344e3397868e',1,'osThreadAttr_t::cb_mem()'],['../group__CMSIS__RTOS__TimerMgmt.html#a1e100dc33d403841ed3c344e3397868e',1,'osTimerAttr_t::cb_mem()'],['../group__CMSIS__RTOS__EventFlags.html#a1e100dc33d403841ed3c344e3397868e',1,'osEventFlagsAttr_t::cb_mem()'],['../group__CMSIS__RTOS__MutexMgmt.html#a1e100dc33d403841ed3c344e3397868e',1,'osMutexAttr_t::cb_mem()'],['../group__CMSIS__RTOS__SemaphoreMgmt.html#a1e100dc33d403841ed3c344e3397868e',1,'osSemaphoreAttr_t::cb_mem()'],['../group__CMSIS__RTOS__PoolMgmt.html#a1e100dc33d403841ed3c344e3397868e',1,'osMemoryPoolAttr_t::cb_mem()'],['../group__CMSIS__RTOS__Message.html#a1e100dc33d403841ed3c344e3397868e',1,'osMessageQueueAttr_t::cb_mem()']]],
+ ['cb_5fsize',['cb_size',['../group__CMSIS__RTOS__ThreadMgmt.html#aa55a4335d12dc2785dc00fdc292d1159',1,'osThreadAttr_t::cb_size()'],['../group__CMSIS__RTOS__TimerMgmt.html#aa55a4335d12dc2785dc00fdc292d1159',1,'osTimerAttr_t::cb_size()'],['../group__CMSIS__RTOS__EventFlags.html#aa55a4335d12dc2785dc00fdc292d1159',1,'osEventFlagsAttr_t::cb_size()'],['../group__CMSIS__RTOS__MutexMgmt.html#aa55a4335d12dc2785dc00fdc292d1159',1,'osMutexAttr_t::cb_size()'],['../group__CMSIS__RTOS__SemaphoreMgmt.html#aa55a4335d12dc2785dc00fdc292d1159',1,'osSemaphoreAttr_t::cb_size()'],['../group__CMSIS__RTOS__PoolMgmt.html#aa55a4335d12dc2785dc00fdc292d1159',1,'osMemoryPoolAttr_t::cb_size()'],['../group__CMSIS__RTOS__Message.html#aa55a4335d12dc2785dc00fdc292d1159',1,'osMessageQueueAttr_t::cb_size()']]],
+ ['cmsis_5fos2_2eh',['cmsis_os2.h',['../cmsis__os2_8h.html',1,'']]],
+ ['cmsis_5fos2_2etxt',['cmsis_os2.txt',['../cmsis__os2_8txt.html',1,'']]],
+ ['cmsis_5fos2_5fevent_2etxt',['cmsis_os2_Event.txt',['../cmsis__os2__Event_8txt.html',1,'']]],
+ ['cmsis_5fos2_5fkernel_2etxt',['cmsis_os2_Kernel.txt',['../cmsis__os2__Kernel_8txt.html',1,'']]],
+ ['cmsis_5fos2_5fmempool_2etxt',['cmsis_os2_MemPool.txt',['../cmsis__os2__MemPool_8txt.html',1,'']]],
+ ['cmsis_5fos2_5fmessage_2etxt',['cmsis_os2_Message.txt',['../cmsis__os2__Message_8txt.html',1,'']]],
+ ['cmsis_5fos2_5fmigration_2etxt',['cmsis_os2_Migration.txt',['../cmsis__os2__Migration_8txt.html',1,'']]],
+ ['cmsis_5fos2_5fmigrationguide_2etxt',['cmsis_os2_MigrationGuide.txt',['../cmsis__os2__MigrationGuide_8txt.html',1,'']]],
+ ['cmsis_5fos2_5fmutex_2etxt',['cmsis_os2_Mutex.txt',['../cmsis__os2__Mutex_8txt.html',1,'']]],
+ ['cmsis_5fos2_5fsema_2etxt',['cmsis_os2_Sema.txt',['../cmsis__os2__Sema_8txt.html',1,'']]],
+ ['cmsis_5fos2_5fstatus_2etxt',['cmsis_os2_Status.txt',['../cmsis__os2__Status_8txt.html',1,'']]],
+ ['cmsis_5fos2_5fthread_2etxt',['cmsis_os2_Thread.txt',['../cmsis__os2__Thread_8txt.html',1,'']]],
+ ['cmsis_5fos2_5fthreadflags_2etxt',['cmsis_os2_ThreadFlags.txt',['../cmsis__os2__ThreadFlags_8txt.html',1,'']]],
+ ['cmsis_5fos2_5ftick_2etxt',['cmsis_os2_tick.txt',['../cmsis__os2__tick_8txt.html',1,'']]],
+ ['cmsis_5fos2_5ftimer_2etxt',['cmsis_os2_Timer.txt',['../cmsis__os2__Timer_8txt.html',1,'']]],
+ ['cmsis_5fos2_5fwait_2etxt',['cmsis_os2_Wait.txt',['../cmsis__os2__Wait_8txt.html',1,'']]],
+ ['cmsis_2drtos_20api_20v2',['CMSIS-RTOS API v2',['../group__CMSIS__RTOS.html',1,'']]],
+ ['cnt_5falloc',['cnt_alloc',['../rtx__os_8h.html#a6bc379cb485caaa1bd9b63abbc79a4ec',1,'osRtxObjectMemUsage_t']]],
+ ['cnt_5ffree',['cnt_free',['../rtx__os_8h.html#a5916fa670084fea56a52ba450565da4b',1,'osRtxObjectMemUsage_t']]],
+ ['coding_20rules',['Coding Rules',['../CodingRules.html',1,'']]],
+ ['configure_20rtx_20v5',['Configure RTX v5',['../config_rtx5.html',1,'rtx5_impl']]],
+ ['create_20an_20rtx5_20project',['Create an RTX5 Project',['../cre_rtx_proj.html',1,'rtx5_impl']]],
+ ['control_20block_20sizes',['Control Block Sizes',['../pControlBlockSizes.html',1,'technicalData5']]],
+ ['cmsis_2drtos_20c_20api_20v2',['CMSIS-RTOS C API v2',['../rtos_api2.html',1,'functionOverview']]],
+ ['cmsis_2drtos_20c_2b_2b_20api',['CMSIS-RTOS C++ API',['../rtos_apicpp.html',1,'functionOverview']]]
+];
diff --git a/docs/RTOS2/html/search/all_4.html b/docs/RTOS2/html/search/all_4.html
new file mode 100644
index 0000000..d72a910
--- /dev/null
+++ b/docs/RTOS2/html/search/all_4.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_4.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/all_4.js b/docs/RTOS2/html/search/all_4.js
new file mode 100644
index 0000000..1510cb7
--- /dev/null
+++ b/docs/RTOS2/html/search/all_4.js
@@ -0,0 +1,9 @@
+var searchData=
+[
+ ['definitions',['Definitions',['../group__CMSIS__RTOS__Definitions.html',1,'']]],
+ ['delay',['delay',['../rtx__os_8h.html#a458421a43d4f6dc515faf427bf579d00',1,'osRtxThread_t']]],
+ ['delay_5fnext',['delay_next',['../rtx__os_8h.html#a21a74cedec66715cd5d7422797035868',1,'osRtxThread_t']]],
+ ['delay_5fprev',['delay_prev',['../rtx__os_8h.html#adcfea33cc536708db8a3419ba0295551',1,'osRtxThread_t']]],
+ ['detailed_20api_20function_20differences',['Detailed API Function Differences',['../os2MigrationFunctions.html',1,'os2Migration']]],
+ ['directory_20structure_20and_20file_20overview',['Directory Structure and File Overview',['../pDirectory_Files.html',1,'technicalData5']]]
+];
diff --git a/docs/RTOS2/html/search/all_5.html b/docs/RTOS2/html/search/all_5.html
new file mode 100644
index 0000000..99ef726
--- /dev/null
+++ b/docs/RTOS2/html/search/all_5.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_5.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/all_5.js b/docs/RTOS2/html/search/all_5.js
new file mode 100644
index 0000000..f5d2dd5
--- /dev/null
+++ b/docs/RTOS2/html/search/all_5.js
@@ -0,0 +1,174 @@
+var searchData=
+[
+ ['event_20flags',['Event Flags',['../group__CMSIS__RTOS__EventFlags.html',1,'']]],
+ ['event_5fflags',['event_flags',['../rtx__os_8h.html#a7044be0679894b5daf72f19f9dd06e03',1,'osRtxEventFlags_t']]],
+ ['evrrtxeventflagsclear',['EvrRtxEventFlagsClear',['../rtx__evr_8h.html#ab31f9da565b0170d8e89edf0e848f28b',1,'rtx_evr.h']]],
+ ['evrrtxeventflagscleardone',['EvrRtxEventFlagsClearDone',['../rtx__evr_8h.html#a9e4c4e5d45bc721439c1919621a49d5a',1,'rtx_evr.h']]],
+ ['evrrtxeventflagscreated',['EvrRtxEventFlagsCreated',['../group__rtx__evr__event__flasg.html#gaa1f48b9787e3a7d4f56449ed1dd12f26',1,'rtx_evr.h']]],
+ ['evrrtxeventflagsdelete',['EvrRtxEventFlagsDelete',['../group__rtx__evr__event__flasg.html#ga10e98e35999350e9e337c716ba4dc079',1,'rtx_evr.h']]],
+ ['evrrtxeventflagsdestroyed',['EvrRtxEventFlagsDestroyed',['../group__rtx__evr__event__flasg.html#ga2ef153a6ee7a8d72375f81128454ede9',1,'rtx_evr.h']]],
+ ['evrrtxeventflagserror',['EvrRtxEventFlagsError',['../group__rtx__evr__event__flasg.html#gaa281b7380c0fa725faa722badbeb2e5f',1,'rtx_evr.h']]],
+ ['evrrtxeventflagsget',['EvrRtxEventFlagsGet',['../rtx__evr_8h.html#a113c32ff195c612ec2fb6a9dd5740184',1,'rtx_evr.h']]],
+ ['evrrtxeventflagsgetname',['EvrRtxEventFlagsGetName',['../group__rtx__evr__event__flasg.html#gae9ebcbc09a1c15c719d95fe7b8c2ee18',1,'rtx_evr.h']]],
+ ['evrrtxeventflagsnew',['EvrRtxEventFlagsNew',['../group__rtx__evr__event__flasg.html#gae798cdc4cb10ada732e592318037cba7',1,'rtx_evr.h']]],
+ ['evrrtxeventflagsset',['EvrRtxEventFlagsSet',['../rtx__evr_8h.html#a5e5c9bd8a0522fc9301782edd6e5ec1f',1,'rtx_evr.h']]],
+ ['evrrtxeventflagssetdone',['EvrRtxEventFlagsSetDone',['../rtx__evr_8h.html#a5b1b471923918ad294d16255d43ab306',1,'rtx_evr.h']]],
+ ['evrrtxeventflagswait',['EvrRtxEventFlagsWait',['../rtx__evr_8h.html#ac8361874ffdd854e3778f21d070fed24',1,'rtx_evr.h']]],
+ ['evrrtxeventflagswaitcompleted',['EvrRtxEventFlagsWaitCompleted',['../rtx__evr_8h.html#a7b446f241c971db432ebac5d176bd9de',1,'rtx_evr.h']]],
+ ['evrrtxeventflagswaitnotcompleted',['EvrRtxEventFlagsWaitNotCompleted',['../rtx__evr_8h.html#a66f32e4dddc68cdfd56c32b88b7f13ff',1,'rtx_evr.h']]],
+ ['evrrtxeventflagswaitpending',['EvrRtxEventFlagsWaitPending',['../rtx__evr_8h.html#afd598e0b02a31083fb41626d68fa489e',1,'rtx_evr.h']]],
+ ['evrrtxeventflagswaittimeout',['EvrRtxEventFlagsWaitTimeout',['../group__rtx__evr__event__flasg.html#ga877235cbe04188b831b70a3c2237c827',1,'rtx_evr.h']]],
+ ['evrrtxkernelerror',['EvrRtxKernelError',['../group__rtx__evr__kernel.html#ga2a38154886e6293e127bafcfb6f7d609',1,'rtx_evr.h']]],
+ ['evrrtxkernelgetinfo',['EvrRtxKernelGetInfo',['../group__rtx__evr__kernel.html#ga4c2a175b79d39d70a4a5112e270d03f2',1,'rtx_evr.h']]],
+ ['evrrtxkernelgetstate',['EvrRtxKernelGetState',['../group__rtx__evr__kernel.html#gad6407e9ff0910629b041866bd801075a',1,'rtx_evr.h']]],
+ ['evrrtxkernelgetsystimercount',['EvrRtxKernelGetSysTimerCount',['../group__rtx__evr__kernel.html#gafb6530be8201b119015a3f45d66c2f09',1,'rtx_evr.h']]],
+ ['evrrtxkernelgetsystimerfreq',['EvrRtxKernelGetSysTimerFreq',['../group__rtx__evr__kernel.html#gaf2bdfcb7b099295c7b0123abe88e10a3',1,'rtx_evr.h']]],
+ ['evrrtxkernelgettickcount',['EvrRtxKernelGetTickCount',['../group__rtx__evr__kernel.html#ga64431a63437506a6f7fe22637d4891c5',1,'rtx_evr.h']]],
+ ['evrrtxkernelgettickfreq',['EvrRtxKernelGetTickFreq',['../group__rtx__evr__kernel.html#ga7404f3a22af84ad4091c24811fc1bf87',1,'rtx_evr.h']]],
+ ['evrrtxkernelinforetrieved',['EvrRtxKernelInfoRetrieved',['../group__rtx__evr__kernel.html#gaf09b8cd94ad2384e3ab518f0df94a651',1,'rtx_evr.h']]],
+ ['evrrtxkernelinitialize',['EvrRtxKernelInitialize',['../group__rtx__evr__kernel.html#ga7e84d337b452f647c3a3d6937abd6292',1,'rtx_evr.h']]],
+ ['evrrtxkernelinitialized',['EvrRtxKernelInitialized',['../group__rtx__evr__kernel.html#ga5db8d306617656bfec12638e17584d66',1,'rtx_evr.h']]],
+ ['evrrtxkernellock',['EvrRtxKernelLock',['../group__rtx__evr__kernel.html#ga1d0340812c29274c6150fa72288e0612',1,'rtx_evr.h']]],
+ ['evrrtxkernellocked',['EvrRtxKernelLocked',['../group__rtx__evr__kernel.html#gac18ea91ffcae01e893304609a3c6cdc3',1,'rtx_evr.h']]],
+ ['evrrtxkernellockrestored',['EvrRtxKernelLockRestored',['../group__rtx__evr__kernel.html#gaf7be1022a33c13fb44f4059f5636b75a',1,'rtx_evr.h']]],
+ ['evrrtxkernelrestorelock',['EvrRtxKernelRestoreLock',['../group__rtx__evr__kernel.html#ga812fdd14d6c40072cc40aec742d4869e',1,'rtx_evr.h']]],
+ ['evrrtxkernelresume',['EvrRtxKernelResume',['../group__rtx__evr__kernel.html#ga9a8cac0fed8d3cf06f7301c944ad26d1',1,'rtx_evr.h']]],
+ ['evrrtxkernelresumed',['EvrRtxKernelResumed',['../group__rtx__evr__kernel.html#ga26e0a22f49576824d853fb434cf6b079',1,'rtx_evr.h']]],
+ ['evrrtxkernelstart',['EvrRtxKernelStart',['../group__rtx__evr__kernel.html#ga75937a761dd488600d2525a532808d2b',1,'rtx_evr.h']]],
+ ['evrrtxkernelstarted',['EvrRtxKernelStarted',['../group__rtx__evr__kernel.html#ga28043ffc76fec09e6c8763a9a71b7f2a',1,'rtx_evr.h']]],
+ ['evrrtxkernelsuspend',['EvrRtxKernelSuspend',['../group__rtx__evr__kernel.html#gac3abd78a9d3f3a6adc698e2929e1c32c',1,'rtx_evr.h']]],
+ ['evrrtxkernelsuspended',['EvrRtxKernelSuspended',['../group__rtx__evr__kernel.html#gabdaa26d7774111af4913b5d6669d0f85',1,'rtx_evr.h']]],
+ ['evrrtxkernelunlock',['EvrRtxKernelUnlock',['../group__rtx__evr__kernel.html#gabe14acf14ed2611a3ba1f3b280fbfd8c',1,'rtx_evr.h']]],
+ ['evrrtxkernelunlocked',['EvrRtxKernelUnlocked',['../group__rtx__evr__kernel.html#ga5cc909465e8df09c9231782e0c45e374',1,'rtx_evr.h']]],
+ ['evrrtxmemoryalloc',['EvrRtxMemoryAlloc',['../group__rtx__evr__memory.html#gae1818917a5e085f92a03039ffaf2bad4',1,'rtx_evr.h']]],
+ ['evrrtxmemoryblockalloc',['EvrRtxMemoryBlockAlloc',['../group__rtx__evr__memory.html#ga71c0df6f932436b54d7d641a440586db',1,'rtx_evr.h']]],
+ ['evrrtxmemoryblockfree',['EvrRtxMemoryBlockFree',['../group__rtx__evr__memory.html#ga69c2139620def7c5e59f6b1249857949',1,'rtx_evr.h']]],
+ ['evrrtxmemoryblockinit',['EvrRtxMemoryBlockInit',['../group__rtx__evr__memory.html#gac71421bbf537f2f8c9255f9f51cf7d54',1,'rtx_evr.h']]],
+ ['evrrtxmemoryfree',['EvrRtxMemoryFree',['../group__rtx__evr__memory.html#ga9227b18f5ea44d7caa8fadd4d539af9c',1,'rtx_evr.h']]],
+ ['evrrtxmemoryinit',['EvrRtxMemoryInit',['../group__rtx__evr__memory.html#ga15078f1251744140d90761e05c0fe1f2',1,'rtx_evr.h']]],
+ ['evrrtxmemorypoolalloc',['EvrRtxMemoryPoolAlloc',['../group__rtx__evr__memory__pool.html#ga425c8a0e13c6fb13262d99a4dcabd507',1,'rtx_evr.h']]],
+ ['evrrtxmemorypoolallocated',['EvrRtxMemoryPoolAllocated',['../group__rtx__evr__memory__pool.html#gad05246ee7e1f95e7f9496716515daeed',1,'rtx_evr.h']]],
+ ['evrrtxmemorypoolallocfailed',['EvrRtxMemoryPoolAllocFailed',['../group__rtx__evr__memory__pool.html#gaf511fce5389dde6fd3277e3469c72fd9',1,'rtx_evr.h']]],
+ ['evrrtxmemorypoolallocpending',['EvrRtxMemoryPoolAllocPending',['../group__rtx__evr__memory__pool.html#ga2fbd33e3d84b4f37e9f9b80576b26907',1,'rtx_evr.h']]],
+ ['evrrtxmemorypoolalloctimeout',['EvrRtxMemoryPoolAllocTimeout',['../group__rtx__evr__memory__pool.html#ga0e144530d45959126018ad74bae7a6ed',1,'rtx_evr.h']]],
+ ['evrrtxmemorypoolcreated',['EvrRtxMemoryPoolCreated',['../group__rtx__evr__memory__pool.html#gadad71c7b04493c03647ca0929ea087b1',1,'rtx_evr.h']]],
+ ['evrrtxmemorypooldeallocated',['EvrRtxMemoryPoolDeallocated',['../group__rtx__evr__memory__pool.html#ga3e8e700baea20b88c3d13678fe7a7fb4',1,'rtx_evr.h']]],
+ ['evrrtxmemorypooldelete',['EvrRtxMemoryPoolDelete',['../group__rtx__evr__memory__pool.html#ga64ae703ad556f25b105e3eae85b582b8',1,'rtx_evr.h']]],
+ ['evrrtxmemorypooldestroyed',['EvrRtxMemoryPoolDestroyed',['../group__rtx__evr__memory__pool.html#ga853e1867a4b65aff3f12f7be1aee5ce4',1,'rtx_evr.h']]],
+ ['evrrtxmemorypoolerror',['EvrRtxMemoryPoolError',['../group__rtx__evr__memory__pool.html#ga7e1a37b0c5dd0a97507c025ab1a62ec8',1,'rtx_evr.h']]],
+ ['evrrtxmemorypoolfree',['EvrRtxMemoryPoolFree',['../group__rtx__evr__memory__pool.html#ga46bc3ef3b1ca2e4cfb914f58d0efe92e',1,'rtx_evr.h']]],
+ ['evrrtxmemorypoolfreefailed',['EvrRtxMemoryPoolFreeFailed',['../group__rtx__evr__memory__pool.html#gad75c377c00ae23caf7b4c3b77a0b46d1',1,'rtx_evr.h']]],
+ ['evrrtxmemorypoolgetblocksize',['EvrRtxMemoryPoolGetBlockSize',['../group__rtx__evr__memory__pool.html#gaf79f0e1eb41d42566ba9023be7e442c5',1,'rtx_evr.h']]],
+ ['evrrtxmemorypoolgetcapacity',['EvrRtxMemoryPoolGetCapacity',['../group__rtx__evr__memory__pool.html#gaed36f26a548d40e2a3d5b81c8695f287',1,'rtx_evr.h']]],
+ ['evrrtxmemorypoolgetcount',['EvrRtxMemoryPoolGetCount',['../group__rtx__evr__memory__pool.html#ga668bc3e627d9b74b6e8259a667e05846',1,'rtx_evr.h']]],
+ ['evrrtxmemorypoolgetname',['EvrRtxMemoryPoolGetName',['../group__rtx__evr__memory__pool.html#gaeface1ee4957cdb59292e13c38a672d7',1,'rtx_evr.h']]],
+ ['evrrtxmemorypoolgetspace',['EvrRtxMemoryPoolGetSpace',['../group__rtx__evr__memory__pool.html#ga4bee4e3e41bdef94046dc059f16ca7ce',1,'rtx_evr.h']]],
+ ['evrrtxmemorypoolnew',['EvrRtxMemoryPoolNew',['../group__rtx__evr__memory__pool.html#gaf2fd4c91acf1379e93cd9886c515b9c5',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeuecreated',['EvrRtxMessageQueueCreated',['../group__rtx__evr__message__queue.html#ga36d6982377c1f54a227ba6fbb9458b79',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeuedelete',['EvrRtxMessageQueueDelete',['../group__rtx__evr__message__queue.html#gad11606ef82f5b82f291bf64adfc805e4',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeuedestroyed',['EvrRtxMessageQueueDestroyed',['../group__rtx__evr__message__queue.html#ga3bbf02128c31e5cc7ef4c78cdbec508c',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeueerror',['EvrRtxMessageQueueError',['../group__rtx__evr__message__queue.html#ga8ded1d43703e0885a81e65251c6df405',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeueget',['EvrRtxMessageQueueGet',['../group__rtx__evr__message__queue.html#ga0826c1d05d3a99afb8682f0ca3f7fd62',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeuegetcapacity',['EvrRtxMessageQueueGetCapacity',['../group__rtx__evr__message__queue.html#gad423a0be13d65e98d9ae08de9c399615',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeuegetcount',['EvrRtxMessageQueueGetCount',['../group__rtx__evr__message__queue.html#ga145f0c464382dc71ff3b1c624b8bd570',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeuegetmsgsize',['EvrRtxMessageQueueGetMsgSize',['../group__rtx__evr__message__queue.html#ga3d6348bed3937de29765ed4d7d07fac8',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeuegetname',['EvrRtxMessageQueueGetName',['../group__rtx__evr__message__queue.html#gad0ef8ee59d2ec189351c5884f5f8e945',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeuegetpending',['EvrRtxMessageQueueGetPending',['../group__rtx__evr__message__queue.html#ga11e3df32a66d5240b277375cbb5d3c83',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeuegetspace',['EvrRtxMessageQueueGetSpace',['../group__rtx__evr__message__queue.html#ga6cfce7336f58505a2379a8a71f477d2f',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeuegettimeout',['EvrRtxMessageQueueGetTimeout',['../group__rtx__evr__message__queue.html#ga5e699de7401c46fd0e8bc19e398dc5a8',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeueinserted',['EvrRtxMessageQueueInserted',['../group__rtx__evr__message__queue.html#gaa30c5b375d4050ad7d99ba094821bf52',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeueinsertpending',['EvrRtxMessageQueueInsertPending',['../group__rtx__evr__message__queue.html#ga8440223b9d48145df5505489e7c6f7d9',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeuenew',['EvrRtxMessageQueueNew',['../group__rtx__evr__message__queue.html#gaa7b18f18f3f53d6afb39ac1abe257000',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeuenotinserted',['EvrRtxMessageQueueNotInserted',['../group__rtx__evr__message__queue.html#ga2922125d8ac63fd800dc3b7888fd3f3c',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeuenotretrieved',['EvrRtxMessageQueueNotRetrieved',['../group__rtx__evr__message__queue.html#ga22bfb7d1c2f6e3e9fea9d3267b2d6988',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeueput',['EvrRtxMessageQueuePut',['../group__rtx__evr__message__queue.html#ga401536a603e5a805cc6089b4de11d3d3',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeueputpending',['EvrRtxMessageQueuePutPending',['../group__rtx__evr__message__queue.html#ga4b1b6191c6ca87dff4714e25b5845828',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeueputtimeout',['EvrRtxMessageQueuePutTimeout',['../group__rtx__evr__message__queue.html#ga7394ca2d88255470f7ba0bb2bff12e99',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeuereset',['EvrRtxMessageQueueReset',['../group__rtx__evr__message__queue.html#ga91b8c8630c7d89b6b6dbb74d4fc81ba4',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeueresetdone',['EvrRtxMessageQueueResetDone',['../group__rtx__evr__message__queue.html#ga3947d4a7ac86ee7a50052c9eb4cd5432',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeueretrieved',['EvrRtxMessageQueueRetrieved',['../group__rtx__evr__message__queue.html#gab340b38df5d8bf2a1182fd18f2d3a6c4',1,'rtx_evr.h']]],
+ ['evrrtxmutexacquire',['EvrRtxMutexAcquire',['../group__rtx__evr__mutex.html#ga913c46223d91000fedab624d0f4e53f8',1,'rtx_evr.h']]],
+ ['evrrtxmutexacquired',['EvrRtxMutexAcquired',['../group__rtx__evr__mutex.html#ga697ec95e014a30a3676690a8d217f546',1,'rtx_evr.h']]],
+ ['evrrtxmutexacquirepending',['EvrRtxMutexAcquirePending',['../group__rtx__evr__mutex.html#gaddc9bb3c619b92a786ee5255ec65eaca',1,'rtx_evr.h']]],
+ ['evrrtxmutexacquiretimeout',['EvrRtxMutexAcquireTimeout',['../group__rtx__evr__mutex.html#ga4c4780cf766e9d2c6e8c26f206fba607',1,'rtx_evr.h']]],
+ ['evrrtxmutexcreated',['EvrRtxMutexCreated',['../group__rtx__evr__mutex.html#ga712b32609cfb3ceded746ee6a86d2442',1,'rtx_evr.h']]],
+ ['evrrtxmutexdelete',['EvrRtxMutexDelete',['../group__rtx__evr__mutex.html#gaaadf1b9cf9a62f4e61742069b95daf68',1,'rtx_evr.h']]],
+ ['evrrtxmutexdestroyed',['EvrRtxMutexDestroyed',['../group__rtx__evr__mutex.html#gaa3feba455090d50295cbf4b1447f3f87',1,'rtx_evr.h']]],
+ ['evrrtxmutexerror',['EvrRtxMutexError',['../group__rtx__evr__mutex.html#ga47388f06c025938facfddd95851d666f',1,'rtx_evr.h']]],
+ ['evrrtxmutexgetname',['EvrRtxMutexGetName',['../group__rtx__evr__mutex.html#ga457302507cedf0ea969cbb110af606b8',1,'rtx_evr.h']]],
+ ['evrrtxmutexgetowner',['EvrRtxMutexGetOwner',['../group__rtx__evr__mutex.html#ga89284c1927aa646535ff804f1aeda720',1,'rtx_evr.h']]],
+ ['evrrtxmutexnew',['EvrRtxMutexNew',['../group__rtx__evr__mutex.html#ga51f59bf99b315f016ca752eddd1911d5',1,'rtx_evr.h']]],
+ ['evrrtxmutexnotacquired',['EvrRtxMutexNotAcquired',['../group__rtx__evr__mutex.html#ga5d2b957c02fcdcc0617479b93a56f6af',1,'rtx_evr.h']]],
+ ['evrrtxmutexrelease',['EvrRtxMutexRelease',['../group__rtx__evr__mutex.html#ga3fe98bfc9cbea52f578aa5a202305442',1,'rtx_evr.h']]],
+ ['evrrtxmutexreleased',['EvrRtxMutexReleased',['../group__rtx__evr__mutex.html#ga561c8898b912ea8eace4e6ba606210e5',1,'rtx_evr.h']]],
+ ['evrrtxsemaphoreacquire',['EvrRtxSemaphoreAcquire',['../group__rtx__evr__semaphore.html#gafd91c9bb268a48b394571a9fc1809019',1,'rtx_evr.h']]],
+ ['evrrtxsemaphoreacquired',['EvrRtxSemaphoreAcquired',['../group__rtx__evr__semaphore.html#ga4d1f85595cc0802cf8cac89fd8f88b5d',1,'rtx_evr.h']]],
+ ['evrrtxsemaphoreacquirepending',['EvrRtxSemaphoreAcquirePending',['../group__rtx__evr__semaphore.html#gabbaaf85deaf4645414987fc1c3289343',1,'rtx_evr.h']]],
+ ['evrrtxsemaphoreacquiretimeout',['EvrRtxSemaphoreAcquireTimeout',['../group__rtx__evr__semaphore.html#ga852798d5e14cda14484564ac4d7f5a4b',1,'rtx_evr.h']]],
+ ['evrrtxsemaphorecreated',['EvrRtxSemaphoreCreated',['../group__rtx__evr__semaphore.html#ga31f9d55abcc5f398ea3810177cbf2bf3',1,'rtx_evr.h']]],
+ ['evrrtxsemaphoredelete',['EvrRtxSemaphoreDelete',['../group__rtx__evr__semaphore.html#gaeb0605679ad9f686dd0f40610c8af772',1,'rtx_evr.h']]],
+ ['evrrtxsemaphoredestroyed',['EvrRtxSemaphoreDestroyed',['../group__rtx__evr__semaphore.html#gaad8d8a2844e948b00f02e8620c431c9c',1,'rtx_evr.h']]],
+ ['evrrtxsemaphoreerror',['EvrRtxSemaphoreError',['../group__rtx__evr__semaphore.html#ga96a0209384296a283c7b1d23a3395fa1',1,'rtx_evr.h']]],
+ ['evrrtxsemaphoregetcount',['EvrRtxSemaphoreGetCount',['../group__rtx__evr__semaphore.html#ga17f21ffa4ec39c50ce203e6985dd0deb',1,'rtx_evr.h']]],
+ ['evrrtxsemaphoregetname',['EvrRtxSemaphoreGetName',['../group__rtx__evr__semaphore.html#ga17d8aa861b6e669cc68c3c41e3e12332',1,'rtx_evr.h']]],
+ ['evrrtxsemaphorenew',['EvrRtxSemaphoreNew',['../group__rtx__evr__semaphore.html#ga5639f03e935ab79844777664a518c2ec',1,'rtx_evr.h']]],
+ ['evrrtxsemaphorenotacquired',['EvrRtxSemaphoreNotAcquired',['../group__rtx__evr__semaphore.html#ga53eb40f5251e9464b46cc153fe8b26d8',1,'rtx_evr.h']]],
+ ['evrrtxsemaphorerelease',['EvrRtxSemaphoreRelease',['../group__rtx__evr__semaphore.html#ga0a9f3c7dbf89d3f155a96524e7195630',1,'rtx_evr.h']]],
+ ['evrrtxsemaphorereleased',['EvrRtxSemaphoreReleased',['../group__rtx__evr__semaphore.html#ga814dc5c7d95e7d1bfb30ce0f472ae420',1,'rtx_evr.h']]],
+ ['evrrtxthreadblocked',['EvrRtxThreadBlocked',['../group__rtx__evr__thread.html#gab9efd66ed2edb439c5081806c9b63cf9',1,'rtx_evr.h']]],
+ ['evrrtxthreadcreated',['EvrRtxThreadCreated',['../group__rtx__evr__thread.html#ga5bfa3bc241aea59ebe9bc1edcf6b78d8',1,'rtx_evr.h']]],
+ ['evrrtxthreaddelay',['EvrRtxThreadDelay',['../group__rtx__evr__thread.html#gadd45d32305aa45668a36f2c9f0f4c758',1,'rtx_evr.h']]],
+ ['evrrtxthreaddelaycompleted',['EvrRtxThreadDelayCompleted',['../group__rtx__evr__thread.html#gab46562848142ce5ea806d629fd000168',1,'rtx_evr.h']]],
+ ['evrrtxthreaddelayuntil',['EvrRtxThreadDelayUntil',['../group__rtx__evr__thread.html#gaf59defd6c171d2c3d3508e7136278db2',1,'rtx_evr.h']]],
+ ['evrrtxthreaddestroyed',['EvrRtxThreadDestroyed',['../group__rtx__evr__thread.html#gaa5aa707fc2d6b44bfcb86bce2e2e90f3',1,'rtx_evr.h']]],
+ ['evrrtxthreaddetach',['EvrRtxThreadDetach',['../group__rtx__evr__thread.html#ga02088c2d38cbc31a46675334f63f37f5',1,'rtx_evr.h']]],
+ ['evrrtxthreaddetached',['EvrRtxThreadDetached',['../group__rtx__evr__thread.html#gac60670562ed1efbfbc61036d881c8af9',1,'rtx_evr.h']]],
+ ['evrrtxthreadenumerate',['EvrRtxThreadEnumerate',['../group__rtx__evr__thread.html#ga1999d77992b03347abdca7ec17f91cca',1,'rtx_evr.h']]],
+ ['evrrtxthreaderror',['EvrRtxThreadError',['../group__rtx__evr__thread.html#ga4a2879b06201a29d8c223253d41cca43',1,'rtx_evr.h']]],
+ ['evrrtxthreadexit',['EvrRtxThreadExit',['../group__rtx__evr__thread.html#gaa557f9732a8a2120f08cfb2694aa26fb',1,'rtx_evr.h']]],
+ ['evrrtxthreadflagsclear',['EvrRtxThreadFlagsClear',['../rtx__evr_8h.html#ac8ddc747c72f7fc5cfa58edcee56b82d',1,'rtx_evr.h']]],
+ ['evrrtxthreadflagscleardone',['EvrRtxThreadFlagsClearDone',['../rtx__evr_8h.html#aad13b17507cc07a4a1e37a5653489943',1,'rtx_evr.h']]],
+ ['evrrtxthreadflagsget',['EvrRtxThreadFlagsGet',['../rtx__evr_8h.html#aab1a30a0ac3dfa588ededbfad52bae30',1,'rtx_evr.h']]],
+ ['evrrtxthreadflagsset',['EvrRtxThreadFlagsSet',['../rtx__evr_8h.html#ac356c777af86c2d8d9250cbffc516e1d',1,'rtx_evr.h']]],
+ ['evrrtxthreadflagssetdone',['EvrRtxThreadFlagsSetDone',['../rtx__evr_8h.html#abd447773c02e235a8d0bb96dd9bb1c4f',1,'rtx_evr.h']]],
+ ['evrrtxthreadflagswait',['EvrRtxThreadFlagsWait',['../rtx__evr_8h.html#aad860c571b9b083ff2889fb76fb619f1',1,'rtx_evr.h']]],
+ ['evrrtxthreadflagswaitcompleted',['EvrRtxThreadFlagsWaitCompleted',['../rtx__evr_8h.html#a01396074495b21270c75185f63c497d7',1,'rtx_evr.h']]],
+ ['evrrtxthreadflagswaitnotcompleted',['EvrRtxThreadFlagsWaitNotCompleted',['../rtx__evr_8h.html#adf6b9f4882f62a65b4e06e1b3e5c9c5b',1,'rtx_evr.h']]],
+ ['evrrtxthreadflagswaitpending',['EvrRtxThreadFlagsWaitPending',['../rtx__evr_8h.html#ad09ec9317a4440e5228870b750e9860e',1,'rtx_evr.h']]],
+ ['evrrtxthreadflagswaittimeout',['EvrRtxThreadFlagsWaitTimeout',['../group__rtx__evr__thread.html#gadbbee398f4fab418c9b8115fc7392ff8',1,'rtx_evr.h']]],
+ ['evrrtxthreadgetcount',['EvrRtxThreadGetCount',['../group__rtx__evr__thread.html#ga6d5932965736e0f2f35fe2d87bd622e7',1,'rtx_evr.h']]],
+ ['evrrtxthreadgetid',['EvrRtxThreadGetId',['../group__rtx__evr__thread.html#ga40c0d21a5c0d128f09966aeeca37ecba',1,'rtx_evr.h']]],
+ ['evrrtxthreadgetname',['EvrRtxThreadGetName',['../group__rtx__evr__thread.html#ga4f849a33d2c95754b11a499d77503b5c',1,'rtx_evr.h']]],
+ ['evrrtxthreadgetpriority',['EvrRtxThreadGetPriority',['../group__rtx__evr__thread.html#gada73306deca99987b104aa9840fdd4e2',1,'rtx_evr.h']]],
+ ['evrrtxthreadgetstacksize',['EvrRtxThreadGetStackSize',['../group__rtx__evr__thread.html#ga1200f51e9152810e76386e241904427c',1,'rtx_evr.h']]],
+ ['evrrtxthreadgetstackspace',['EvrRtxThreadGetStackSpace',['../group__rtx__evr__thread.html#ga4fd48ef48eefb01a6252cfc02ea169ab',1,'rtx_evr.h']]],
+ ['evrrtxthreadgetstate',['EvrRtxThreadGetState',['../group__rtx__evr__thread.html#ga1c3120fb155ca19ea5c9089a446ef19d',1,'rtx_evr.h']]],
+ ['evrrtxthreadjoin',['EvrRtxThreadJoin',['../group__rtx__evr__thread.html#ga392bb7a8dcd6d126a5e424ab01aa8a80',1,'rtx_evr.h']]],
+ ['evrrtxthreadjoined',['EvrRtxThreadJoined',['../group__rtx__evr__thread.html#ga86ac910ac88d8fe54206a12d7ed69a27',1,'rtx_evr.h']]],
+ ['evrrtxthreadjoinpending',['EvrRtxThreadJoinPending',['../group__rtx__evr__thread.html#ga47b64cfdc5c5410dde2c5d9145c7d79b',1,'rtx_evr.h']]],
+ ['evrrtxthreadnew',['EvrRtxThreadNew',['../group__rtx__evr__thread.html#ga396ce41f68401a885f0ae46a54e8dd1f',1,'rtx_evr.h']]],
+ ['evrrtxthreadpreempted',['EvrRtxThreadPreempted',['../group__rtx__evr__thread.html#gabe470d5bb1373c59c51470fd20b55bcb',1,'rtx_evr.h']]],
+ ['evrrtxthreadresume',['EvrRtxThreadResume',['../group__rtx__evr__thread.html#gaf41ff549329cf2feb4a1efe49c518e30',1,'rtx_evr.h']]],
+ ['evrrtxthreadresumed',['EvrRtxThreadResumed',['../group__rtx__evr__thread.html#ga8b25f2548a9f3c069431131169d170ac',1,'rtx_evr.h']]],
+ ['evrrtxthreadsetpriority',['EvrRtxThreadSetPriority',['../group__rtx__evr__thread.html#gabf4a015bd3fb2a33c0d105a871aaba72',1,'rtx_evr.h']]],
+ ['evrrtxthreadsuspend',['EvrRtxThreadSuspend',['../group__rtx__evr__thread.html#gaa268fe19f933b8d2a830063560694561',1,'rtx_evr.h']]],
+ ['evrrtxthreadsuspended',['EvrRtxThreadSuspended',['../group__rtx__evr__thread.html#gab0d959bc625cb3e7ddd6bf7c302f631e',1,'rtx_evr.h']]],
+ ['evrrtxthreadswitched',['EvrRtxThreadSwitched',['../group__rtx__evr__thread.html#gae3bc50d5f154463c7f6647544bb5ecab',1,'rtx_evr.h']]],
+ ['evrrtxthreadterminate',['EvrRtxThreadTerminate',['../group__rtx__evr__thread.html#ga6abe7d167bd5bb91c3d6bf6d2bb417aa',1,'rtx_evr.h']]],
+ ['evrrtxthreadunblocked',['EvrRtxThreadUnblocked',['../group__rtx__evr__thread.html#ga3faae4d941ddecfe773ef9f3efe8b901',1,'rtx_evr.h']]],
+ ['evrrtxthreadyield',['EvrRtxThreadYield',['../group__rtx__evr__thread.html#gafed41f1b6bcdde658ca306f8a6d7ac7e',1,'rtx_evr.h']]],
+ ['evrrtxtimercallback',['EvrRtxTimerCallback',['../group__rtx__evr__timer.html#gacd46f9d31d256c27c72e47d5be5e9d09',1,'rtx_evr.h']]],
+ ['evrrtxtimercreated',['EvrRtxTimerCreated',['../group__rtx__evr__timer.html#ga71dd40a818f1098052915bbfb6c17e88',1,'rtx_evr.h']]],
+ ['evrrtxtimerdelete',['EvrRtxTimerDelete',['../group__rtx__evr__timer.html#gaea5811cc74861117eccbcbb997d36133',1,'rtx_evr.h']]],
+ ['evrrtxtimerdestroyed',['EvrRtxTimerDestroyed',['../group__rtx__evr__timer.html#ga474f3bd3ed38945b087f37fd709560b7',1,'rtx_evr.h']]],
+ ['evrrtxtimererror',['EvrRtxTimerError',['../group__rtx__evr__timer.html#gaf1b516bf697288e67fe797662b1873b0',1,'rtx_evr.h']]],
+ ['evrrtxtimergetname',['EvrRtxTimerGetName',['../group__rtx__evr__timer.html#ga601e3617903900524062c4f9069d052f',1,'rtx_evr.h']]],
+ ['evrrtxtimerisrunning',['EvrRtxTimerIsRunning',['../group__rtx__evr__timer.html#ga6fa5a23f241d765ae22ff1862c6f3b3f',1,'rtx_evr.h']]],
+ ['evrrtxtimernew',['EvrRtxTimerNew',['../group__rtx__evr__timer.html#ga6387808c22d6e186057ed744618d2487',1,'rtx_evr.h']]],
+ ['evrrtxtimerstart',['EvrRtxTimerStart',['../group__rtx__evr__timer.html#ga453d82bfa65dfbbaffbd5b4ff4f050b2',1,'rtx_evr.h']]],
+ ['evrrtxtimerstarted',['EvrRtxTimerStarted',['../group__rtx__evr__timer.html#gab0dbdf460fc26b25f3987c44fb0ebdeb',1,'rtx_evr.h']]],
+ ['evrrtxtimerstop',['EvrRtxTimerStop',['../group__rtx__evr__timer.html#ga27cf05adc61d30a0e68f380c96ea5f93',1,'rtx_evr.h']]],
+ ['evrrtxtimerstopped',['EvrRtxTimerStopped',['../group__rtx__evr__timer.html#gaccd59c7ae2351e0a1bf96cdb749c049f',1,'rtx_evr.h']]],
+ ['event_20functions',['Event functions',['../group__rtx__evr.html',1,'']]],
+ ['event_20flags_20functions',['Event Flags Functions',['../group__rtx__evr__event__flasg.html',1,'']]]
+];
diff --git a/docs/RTOS2/html/search/all_6.html b/docs/RTOS2/html/search/all_6.html
new file mode 100644
index 0000000..6133ab3
--- /dev/null
+++ b/docs/RTOS2/html/search/all_6.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_6.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/all_6.js b/docs/RTOS2/html/search/all_6.js
new file mode 100644
index 0000000..452ae44
--- /dev/null
+++ b/docs/RTOS2/html/search/all_6.js
@@ -0,0 +1,10 @@
+var searchData=
+[
+ ['finfo',['finfo',['../rtx__os_8h.html#ab415a6615c5ddf5365ed86e58a1e1809',1,'osRtxTimer_t']]],
+ ['flags',['flags',['../rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe',1,'osRtxThread_t::flags()'],['../rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe',1,'osRtxTimer_t::flags()'],['../rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe',1,'osRtxEventFlags_t::flags()'],['../rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe',1,'osRtxMutex_t::flags()'],['../rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe',1,'osRtxSemaphore_t::flags()'],['../rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe',1,'osRtxMemoryPool_t::flags()'],['../rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe',1,'osRtxMessage_t::flags()'],['../rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe',1,'osRtxMessageQueue_t::flags()'],['../rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe',1,'osRtxObject_t::flags()'],['../rtx__os_8h.html#a773b39d480759f67926cb18ae2219281',1,'osRtxConfig_t::flags()']]],
+ ['flags_20functions_20error_20codes',['Flags Functions Error Codes',['../group__flags__error__codes.html',1,'']]],
+ ['flags_5foptions',['flags_options',['../rtx__os_8h.html#a87c898585d0aeffdcf67c9e1b3befefe',1,'osRtxThread_t']]],
+ ['func',['func',['../rtx__os_8h.html#aaf8577e5ddcbff356a1d27310baa8a1f',1,'osRtxTimerFinfo_t']]],
+ ['function_20overview',['Function Overview',['../functionOverview.html',1,'index']]],
+ ['functions',['Functions',['../group__rtx5__specific__functions.html',1,'']]]
+];
diff --git a/docs/RTOS2/html/search/all_7.html b/docs/RTOS2/html/search/all_7.html
new file mode 100644
index 0000000..5748125
--- /dev/null
+++ b/docs/RTOS2/html/search/all_7.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_7.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/all_7.js b/docs/RTOS2/html/search/all_7.js
new file mode 100644
index 0000000..2556a86
--- /dev/null
+++ b/docs/RTOS2/html/search/all_7.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['generic_20wait_20functions',['Generic Wait Functions',['../group__CMSIS__RTOS__Wait.html',1,'']]],
+ ['generic_20rtos_20interface',['Generic RTOS Interface',['../genRTOS2IF.html',1,'index']]]
+];
diff --git a/docs/RTOS2/html/search/all_8.html b/docs/RTOS2/html/search/all_8.html
new file mode 100644
index 0000000..0179bdd
--- /dev/null
+++ b/docs/RTOS2/html/search/all_8.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_8.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/all_8.js b/docs/RTOS2/html/search/all_8.js
new file mode 100644
index 0000000..3d78d75
--- /dev/null
+++ b/docs/RTOS2/html/search/all_8.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['history_2etxt',['history.txt',['../history_8txt.html',1,'']]],
+ ['hardware_20requirements',['Hardware Requirements',['../pHardwareRequirements.html',1,'technicalData5']]]
+];
diff --git a/docs/RTOS2/html/search/all_9.html b/docs/RTOS2/html/search/all_9.html
new file mode 100644
index 0000000..cd46d44
--- /dev/null
+++ b/docs/RTOS2/html/search/all_9.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_9.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/all_9.js b/docs/RTOS2/html/search/all_9.js
new file mode 100644
index 0000000..9d22c06
--- /dev/null
+++ b/docs/RTOS2/html/search/all_9.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+ ['id',['id',['../rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b',1,'osRtxThread_t::id()'],['../rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b',1,'osRtxTimer_t::id()'],['../rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b',1,'osRtxEventFlags_t::id()'],['../rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b',1,'osRtxMutex_t::id()'],['../rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b',1,'osRtxSemaphore_t::id()'],['../rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b',1,'osRtxMemoryPool_t::id()'],['../rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b',1,'osRtxMessage_t::id()'],['../rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b',1,'osRtxMessageQueue_t::id()'],['../rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b',1,'osRtxObject_t::id()']]],
+ ['idle_5fthread_5fattr',['idle_thread_attr',['../rtx__os_8h.html#a694e5f79185db270e087e94719177ca0',1,'osRtxConfig_t']]],
+ ['irqhandler_5ft',['IRQHANDLER_T',['../os__tick_8h.html#aed032df21f11e8715f5c4deeeb56cc36',1,'IRQHANDLER_T():&#160;os_tick.h'],['../os__tick_8h.html#afbfa2180a9b6208f34891d539e9e2d52',1,'IRQHandler_t():&#160;os_tick.h']]],
+ ['isr_5fqueue',['isr_queue',['../rtx__os_8h.html#a534f37c2b021c8242492bedfe48b0338',1,'osRtxInfo_t::isr_queue()'],['../rtx__os_8h.html#a0354dd9f726694843f2a01df98c5641c',1,'osRtxConfig_t::isr_queue()']]]
+];
diff --git a/docs/RTOS2/html/search/all_a.html b/docs/RTOS2/html/search/all_a.html
new file mode 100644
index 0000000..eab6553
--- /dev/null
+++ b/docs/RTOS2/html/search/all_a.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_a.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/all_a.js b/docs/RTOS2/html/search/all_a.js
new file mode 100644
index 0000000..d5d4087
--- /dev/null
+++ b/docs/RTOS2/html/search/all_a.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['kernel_20information_20and_20control',['Kernel Information and Control',['../group__CMSIS__RTOS__KernelCtrl.html',1,'']]],
+ ['kernel',['kernel',['../group__CMSIS__RTOS__KernelCtrl.html#ad8075d3f42141346ae2c56389358f9e7',1,'osVersion_t::kernel()'],['../rtx__os_8h.html#a72d4e2550fcee67cc139fca04505a903',1,'osRtxInfo_t::kernel()']]],
+ ['kernel_20functions',['Kernel Functions',['../group__rtx__evr__kernel.html',1,'']]]
+];
diff --git a/docs/RTOS2/html/search/all_b.html b/docs/RTOS2/html/search/all_b.html
new file mode 100644
index 0000000..a2c161e
--- /dev/null
+++ b/docs/RTOS2/html/search/all_b.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_b.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/all_b.js b/docs/RTOS2/html/search/all_b.js
new file mode 100644
index 0000000..90ce3a0
--- /dev/null
+++ b/docs/RTOS2/html/search/all_b.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['load',['load',['../rtx__os_8h.html#aee4a6239f04d660fc90663dd6b39ca95',1,'osRtxTimer_t']]],
+ ['lock',['lock',['../rtx__os_8h.html#a92435efb84d6814afd444fd462802e9c',1,'osRtxMutex_t']]]
+];
diff --git a/docs/RTOS2/html/search/all_c.html b/docs/RTOS2/html/search/all_c.html
new file mode 100644
index 0000000..bdd3ee2
--- /dev/null
+++ b/docs/RTOS2/html/search/all_c.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_c.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/all_c.js b/docs/RTOS2/html/search/all_c.js
new file mode 100644
index 0000000..ef5160e
--- /dev/null
+++ b/docs/RTOS2/html/search/all_c.js
@@ -0,0 +1,30 @@
+var searchData=
+[
+ ['memory_20management',['Memory Management',['../group__CMSIS__RTOS__MemoryMgmt.html',1,'']]],
+ ['message_20queue',['Message Queue',['../group__CMSIS__RTOS__Message.html',1,'']]],
+ ['mutex_20management',['Mutex Management',['../group__CMSIS__RTOS__MutexMgmt.html',1,'']]],
+ ['memory_20pool',['Memory Pool',['../group__CMSIS__RTOS__PoolMgmt.html',1,'']]],
+ ['mainpage_2etxt',['mainpage.txt',['../mainpage_8txt.html',1,'']]],
+ ['max_5fblocks',['max_blocks',['../rtx__os_8h.html#addc777bf5285ab03de6787385e6ea053',1,'osRtxMpInfo_t']]],
+ ['max_5ftokens',['max_tokens',['../rtx__os_8h.html#aa793f0e9a46e8b59b6d351535ee18a7d',1,'osRtxSemaphore_t']]],
+ ['max_5fused',['max_used',['../rtx__os_8h.html#a81baadf3fdf0eeff338f997ca3fe5009',1,'osRtxObjectMemUsage_t']]],
+ ['mem',['mem',['../rtx__os_8h.html#a42d7108f7184dcb944cdf73f649ad2dd',1,'osRtxInfo_t::mem()'],['../rtx__os_8h.html#aa30bb7d2484db1812c1aaf77a23cd11e',1,'osRtxConfig_t::mem()']]],
+ ['misra_20c_3a2012_20compliance',['MISRA C:2012 Compliance',['../misraCompliance5.html',1,'rtx5_impl']]],
+ ['mp_5finfo',['mp_info',['../rtx__os_8h.html#ac1cf67a8631962a42fa2da46f20a1a39',1,'osRtxMemoryPool_t::mp_info()'],['../rtx__os_8h.html#ac1cf67a8631962a42fa2da46f20a1a39',1,'osRtxMessageQueue_t::mp_info()']]],
+ ['mp_5fmem',['mp_mem',['../group__CMSIS__RTOS__PoolMgmt.html#a5799465cca9c71c5587ceb0986f5b06a',1,'osMemoryPoolAttr_t']]],
+ ['mp_5fsize',['mp_size',['../group__CMSIS__RTOS__PoolMgmt.html#a66c26015c0ac8e88a4ad907c120aee4f',1,'osMemoryPoolAttr_t']]],
+ ['mpi',['mpi',['../rtx__os_8h.html#a13aeb46a18b12ae911abead8e497ffd3',1,'osRtxInfo_t::mpi()'],['../rtx__os_8h.html#ac013bca5f28bebf36a3372da78107e97',1,'osRtxConfig_t::mpi()']]],
+ ['mq_5fmem',['mq_mem',['../group__CMSIS__RTOS__Message.html#a4e208dc0fb049b42c4b90cbd2791c5ad',1,'osMessageQueueAttr_t']]],
+ ['mq_5fsize',['mq_size',['../group__CMSIS__RTOS__Message.html#ac1cc09f875e20c926920b57bb83c70ee',1,'osMessageQueueAttr_t']]],
+ ['msg_5fcount',['msg_count',['../rtx__os_8h.html#a6a019648a53352a413ea79b958a362cd',1,'osRtxMessageQueue_t']]],
+ ['msg_5ffirst',['msg_first',['../rtx__os_8h.html#a13c143cc2f25a550fc3eb7ae68b0c56d',1,'osRtxMessageQueue_t']]],
+ ['msg_5flast',['msg_last',['../rtx__os_8h.html#ab386d4a98974f52ca151426c4dde0da4',1,'osRtxMessageQueue_t']]],
+ ['msg_5fsize',['msg_size',['../rtx__os_8h.html#a58873af81b75772a41aa5c1ff788a0c2',1,'osRtxMessageQueue_t']]],
+ ['mutex_5flist',['mutex_list',['../rtx__os_8h.html#a70b3153655adaf42687fe250983f6c95',1,'osRtxThread_t']]],
+ ['migration_20from_20api_20v1_20to_20api_20v2',['Migration from API v1 to API v2',['../os2Migration.html',1,'index']]],
+ ['macros',['Macros',['../group__rtx5__specific__defines.html',1,'']]],
+ ['memory_20functions',['Memory Functions',['../group__rtx__evr__memory.html',1,'']]],
+ ['memory_20pool_20functions',['Memory Pool Functions',['../group__rtx__evr__memory__pool.html',1,'']]],
+ ['message_20queue_20functions',['Message Queue Functions',['../group__rtx__evr__message__queue.html',1,'']]],
+ ['mutex_20functions',['Mutex Functions',['../group__rtx__evr__mutex.html',1,'']]]
+];
diff --git a/docs/RTOS2/html/search/all_d.html b/docs/RTOS2/html/search/all_d.html
new file mode 100644
index 0000000..d510933
--- /dev/null
+++ b/docs/RTOS2/html/search/all_d.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_d.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/all_d.js b/docs/RTOS2/html/search/all_d.js
new file mode 100644
index 0000000..44cd77b
--- /dev/null
+++ b/docs/RTOS2/html/search/all_d.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['name',['name',['../group__CMSIS__RTOS__ThreadMgmt.html#ab74e6bf80237ddc4109968cedc58c151',1,'osThreadAttr_t::name()'],['../group__CMSIS__RTOS__TimerMgmt.html#ab74e6bf80237ddc4109968cedc58c151',1,'osTimerAttr_t::name()'],['../group__CMSIS__RTOS__EventFlags.html#ab74e6bf80237ddc4109968cedc58c151',1,'osEventFlagsAttr_t::name()'],['../group__CMSIS__RTOS__MutexMgmt.html#ab74e6bf80237ddc4109968cedc58c151',1,'osMutexAttr_t::name()'],['../group__CMSIS__RTOS__SemaphoreMgmt.html#ab74e6bf80237ddc4109968cedc58c151',1,'osSemaphoreAttr_t::name()'],['../group__CMSIS__RTOS__PoolMgmt.html#ab74e6bf80237ddc4109968cedc58c151',1,'osMemoryPoolAttr_t::name()'],['../group__CMSIS__RTOS__Message.html#ab74e6bf80237ddc4109968cedc58c151',1,'osMessageQueueAttr_t::name()'],['../rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb',1,'osRtxThread_t::name()'],['../rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb',1,'osRtxTimer_t::name()'],['../rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb',1,'osRtxEventFlags_t::name()'],['../rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb',1,'osRtxMutex_t::name()'],['../rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb',1,'osRtxSemaphore_t::name()'],['../rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb',1,'osRtxMemoryPool_t::name()'],['../rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb',1,'osRtxMessageQueue_t::name()'],['../rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb',1,'osRtxObject_t::name()']]],
+ ['next',['next',['../rtx__os_8h.html#a8b9ac161a613448926b2c2b2c8dbe259',1,'osRtxTimer_t::next()'],['../rtx__os_8h.html#a89570e219f9fb794b8353207a7592f95',1,'osRtxMessage_t::next()']]]
+];
diff --git a/docs/RTOS2/html/search/all_e.html b/docs/RTOS2/html/search/all_e.html
new file mode 100644
index 0000000..3cda017
--- /dev/null
+++ b/docs/RTOS2/html/search/all_e.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_e.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/all_e.js b/docs/RTOS2/html/search/all_e.js
new file mode 100644
index 0000000..7f8b4dd
--- /dev/null
+++ b/docs/RTOS2/html/search/all_e.js
@@ -0,0 +1,328 @@
+var searchData=
+[
+ ['os_20tick_20api',['OS Tick API',['../group__CMSIS__RTOS__TickAPI.html',1,'']]],
+ ['os_5fid',['os_id',['../rtx__os_8h.html#a7b7d02cdf33432995469f29878f7dcda',1,'osRtxInfo_t']]],
+ ['os_5ftick_2eh',['os_tick.h',['../os__tick_8h.html',1,'']]],
+ ['os_5ftick_5facknowledgeirq',['OS_Tick_AcknowledgeIRQ',['../group__CMSIS__RTOS__TickAPI.html#ga57065ec4b281504ad4de13a419870b4f',1,'os_tick.h']]],
+ ['os_5ftick_5fdisable',['OS_Tick_Disable',['../group__CMSIS__RTOS__TickAPI.html#ga5e325c304fef5003b1dc31906f6a3056',1,'os_tick.h']]],
+ ['os_5ftick_5fenable',['OS_Tick_Enable',['../group__CMSIS__RTOS__TickAPI.html#ga3e47971bf3a02599d9ecb32208adafec',1,'os_tick.h']]],
+ ['os_5ftick_5fgetclock',['OS_Tick_GetClock',['../group__CMSIS__RTOS__TickAPI.html#ga936217ea28236fb57648973e0d8f627a',1,'os_tick.h']]],
+ ['os_5ftick_5fgetcount',['OS_Tick_GetCount',['../group__CMSIS__RTOS__TickAPI.html#gaa64a145a554f1e5077848938d7f39c92',1,'os_tick.h']]],
+ ['os_5ftick_5fgetinterval',['OS_Tick_GetInterval',['../group__CMSIS__RTOS__TickAPI.html#ga123151dc19d5a94a68f12cdbf61a9bb5',1,'os_tick.h']]],
+ ['os_5ftick_5fgetirqn',['OS_Tick_GetIRQn',['../group__CMSIS__RTOS__TickAPI.html#gaa8b4eca23e3ffe2df403291958cdc905',1,'os_tick.h']]],
+ ['os_5ftick_5fgetoverflow',['OS_Tick_GetOverflow',['../group__CMSIS__RTOS__TickAPI.html#ga1f9a593126b7f0b66fc526c2cebd6192',1,'os_tick.h']]],
+ ['os_5ftick_5fsetup',['OS_Tick_Setup',['../group__CMSIS__RTOS__TickAPI.html#ga5eeffb4d9dc6c6802fee8898096d9a59',1,'os_tick.h']]],
+ ['osdelay',['osDelay',['../group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e',1,'cmsis_os2.h']]],
+ ['osdelayuntil',['osDelayUntil',['../group__CMSIS__RTOS__Wait.html#ga3c807924c2d6d43bc2ffb49da3f7f3a1',1,'cmsis_os2.h']]],
+ ['oserror',['osError',['../cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813eabb7b2d2c4efa66df42f1c10635467b09',1,'cmsis_os2.h']]],
+ ['oserrorisr',['osErrorISR',['../cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea21635bdc492d3094fe83027fa4a30e2f',1,'cmsis_os2.h']]],
+ ['oserrornomemory',['osErrorNoMemory',['../cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813eaf1fac0240218e51eb30a13da2f8aae81',1,'cmsis_os2.h']]],
+ ['oserrorparameter',['osErrorParameter',['../cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813eac24adca6a5d072c9f01c32178ba0d109',1,'cmsis_os2.h']]],
+ ['oserrorresource',['osErrorResource',['../cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea8fc5801e8b0482bdf22ad63a77f0155d',1,'cmsis_os2.h']]],
+ ['oserrortimeout',['osErrorTimeout',['../cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea913eb5df15ad85f8557eb3a456b56879',1,'cmsis_os2.h']]],
+ ['oseventflagsattr_5ft',['osEventFlagsAttr_t',['../group__CMSIS__RTOS__EventFlags.html#structosEventFlagsAttr__t',1,'']]],
+ ['oseventflagsclear',['osEventFlagsClear',['../group__CMSIS__RTOS__EventFlags.html#ga93bf258ca0007c6641fbe8e4f2b8a1e5',1,'cmsis_os2.h']]],
+ ['oseventflagsdelete',['osEventFlagsDelete',['../group__CMSIS__RTOS__EventFlags.html#ga7c4acf2fb0d506ec82905dee53fb5435',1,'cmsis_os2.h']]],
+ ['oseventflagsget',['osEventFlagsGet',['../group__CMSIS__RTOS__EventFlags.html#ga8bda3185f46bfd278cea8a6cf357677d',1,'cmsis_os2.h']]],
+ ['oseventflagsgetname',['osEventFlagsGetName',['../group__CMSIS__RTOS__EventFlags.html#ga59f4ddf0ee8c395b1672bb978d1cfc88',1,'cmsis_os2.h']]],
+ ['oseventflagsid_5ft',['osEventFlagsId_t',['../group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50',1,'cmsis_os2.h']]],
+ ['oseventflagsnew',['osEventFlagsNew',['../group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df',1,'cmsis_os2.h']]],
+ ['oseventflagsset',['osEventFlagsSet',['../group__CMSIS__RTOS__EventFlags.html#ga33b71d14cecf90b4e72639dd19f23a5e',1,'cmsis_os2.h']]],
+ ['oseventflagswait',['osEventFlagsWait',['../group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e',1,'cmsis_os2.h']]],
+ ['osflagserror',['osFlagsError',['../cmsis__os2_8h.html#a01c1359c3a5640bff6e08f09bf94ce3a',1,'cmsis_os2.h']]],
+ ['osflagserrorisr',['osFlagsErrorISR',['../group__flags__error__codes.html#gaea3abd186643f539877e894b62b63448',1,'cmsis_os2.h']]],
+ ['osflagserrorparameter',['osFlagsErrorParameter',['../group__flags__error__codes.html#gaa8a95ef938f8f5a9fcb815ec53184f77',1,'cmsis_os2.h']]],
+ ['osflagserrorresource',['osFlagsErrorResource',['../group__flags__error__codes.html#ga4db38b50da1889bcaaa7f747e844f904',1,'cmsis_os2.h']]],
+ ['osflagserrortimeout',['osFlagsErrorTimeout',['../group__flags__error__codes.html#ga2e951c3f1c3b7bff4eca3d7836cd19ca',1,'cmsis_os2.h']]],
+ ['osflagserrorunknown',['osFlagsErrorUnknown',['../group__flags__error__codes.html#ga3b1d9fbb83d64eedb62f831c9be647c3',1,'cmsis_os2.h']]],
+ ['osflagsnoclear',['osFlagsNoClear',['../group__CMSIS__RTOS__Definitions.html#gaade844a42237d8c37569d4d9b16b9f1c',1,'cmsis_os2.h']]],
+ ['osflagswaitall',['osFlagsWaitAll',['../group__CMSIS__RTOS__Definitions.html#ga8b6f562736fbfb5428940e0c017dec24',1,'cmsis_os2.h']]],
+ ['osflagswaitany',['osFlagsWaitAny',['../group__CMSIS__RTOS__Definitions.html#ga18e63587b8450d5b8798b6f6ec04e012',1,'cmsis_os2.h']]],
+ ['oskernelerror',['osKernelError',['../cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a0545c92c18ce8e6b24e82a0d694a0b4a',1,'cmsis_os2.h']]],
+ ['oskernelgetinfo',['osKernelGetInfo',['../group__CMSIS__RTOS__KernelCtrl.html#ga6f7764e7250c5c5364c00c45a5d1d199',1,'cmsis_os2.h']]],
+ ['oskernelgetstate',['osKernelGetState',['../group__CMSIS__RTOS__KernelCtrl.html#ga48b69b81012fce051f639be288b243ba',1,'cmsis_os2.h']]],
+ ['oskernelgetsystimercount',['osKernelGetSysTimerCount',['../group__CMSIS__RTOS__KernelCtrl.html#gae0fcaff6cecfb4013bb556c87afcd7d2',1,'cmsis_os2.h']]],
+ ['oskernelgetsystimerfreq',['osKernelGetSysTimerFreq',['../group__CMSIS__RTOS__KernelCtrl.html#ga4d69215a93220f72be3684cad582f16a',1,'cmsis_os2.h']]],
+ ['oskernelgettickcount',['osKernelGetTickCount',['../group__CMSIS__RTOS__KernelCtrl.html#ga84bcdbf2fb76b10c8df4e439f0c7e11b',1,'cmsis_os2.h']]],
+ ['oskernelgettickfreq',['osKernelGetTickFreq',['../group__CMSIS__RTOS__KernelCtrl.html#ga7a8d7bd927eaaa58999f91d7d6310cee',1,'cmsis_os2.h']]],
+ ['oskernelinactive',['osKernelInactive',['../cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a2ad3e5912db47b497529d036c89e7995',1,'cmsis_os2.h']]],
+ ['oskernelinitialize',['osKernelInitialize',['../group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659',1,'cmsis_os2.h']]],
+ ['oskernellock',['osKernelLock',['../group__CMSIS__RTOS__KernelCtrl.html#ga948609ee930d9b38336b9e1c2a4dfe12',1,'cmsis_os2.h']]],
+ ['oskernellocked',['osKernelLocked',['../cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a2fe382ad5ebab2257b35740414b28b01',1,'cmsis_os2.h']]],
+ ['oskernelready',['osKernelReady',['../cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a0596c6e14113447604753656417c9a24',1,'cmsis_os2.h']]],
+ ['oskernelreserved',['osKernelReserved',['../cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4ab0a47576defa29396a649d9173d4bc4b',1,'cmsis_os2.h']]],
+ ['oskernelrestorelock',['osKernelRestoreLock',['../group__CMSIS__RTOS__KernelCtrl.html#gae7d0a71b9586cbbb49fcbdf6a04f0289',1,'cmsis_os2.h']]],
+ ['oskernelresume',['osKernelResume',['../group__CMSIS__RTOS__KernelCtrl.html#ga8c4b4d7ed34cab73c001665d9176aced',1,'cmsis_os2.h']]],
+ ['oskernelrunning',['osKernelRunning',['../cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a8e0b699fbe1c8bb66fefadd5911cb6ce',1,'cmsis_os2.h']]],
+ ['oskernelstart',['osKernelStart',['../group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221',1,'cmsis_os2.h']]],
+ ['oskernelstate_5ft',['osKernelState_t',['../group__CMSIS__RTOS__KernelCtrl.html#ga08326469274b668140ca934b168a5ad4',1,'cmsis_os2.h']]],
+ ['oskernelsuspend',['osKernelSuspend',['../group__CMSIS__RTOS__KernelCtrl.html#gae26683e1606ec633354a2876c68f0c1f',1,'cmsis_os2.h']]],
+ ['oskernelsuspended',['osKernelSuspended',['../cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4ad364464ad84d63b1413a9ac8a962390c',1,'cmsis_os2.h']]],
+ ['oskernelunlock',['osKernelUnlock',['../group__CMSIS__RTOS__KernelCtrl.html#gaf401728b4657456198c33fe75f8d6720',1,'cmsis_os2.h']]],
+ ['osmemorypoolalloc',['osMemoryPoolAlloc',['../group__CMSIS__RTOS__PoolMgmt.html#ga8ead54e99ccb8f112356c88f99d38fbe',1,'cmsis_os2.h']]],
+ ['osmemorypoolattr_5ft',['osMemoryPoolAttr_t',['../group__CMSIS__RTOS__PoolMgmt.html#structosMemoryPoolAttr__t',1,'']]],
+ ['osmemorypooldelete',['osMemoryPoolDelete',['../group__CMSIS__RTOS__PoolMgmt.html#ga8c39e7e5cd2b9eda907466808e59d62e',1,'cmsis_os2.h']]],
+ ['osmemorypoolfree',['osMemoryPoolFree',['../group__CMSIS__RTOS__PoolMgmt.html#gabb4f4560daa6d1f8c8789082ee186d16',1,'cmsis_os2.h']]],
+ ['osmemorypoolgetblocksize',['osMemoryPoolGetBlockSize',['../group__CMSIS__RTOS__PoolMgmt.html#gab2bf059b7fa7679c3cccdaeec60b6c0e',1,'cmsis_os2.h']]],
+ ['osmemorypoolgetcapacity',['osMemoryPoolGetCapacity',['../group__CMSIS__RTOS__PoolMgmt.html#gad696e94bfbe28f0b6613f9303fdf6a37',1,'cmsis_os2.h']]],
+ ['osmemorypoolgetcount',['osMemoryPoolGetCount',['../group__CMSIS__RTOS__PoolMgmt.html#ga958a9449bff8c95ce213de98eef5739d',1,'cmsis_os2.h']]],
+ ['osmemorypoolgetname',['osMemoryPoolGetName',['../group__CMSIS__RTOS__PoolMgmt.html#gab414a1e138205a55820acfa277c8f386',1,'cmsis_os2.h']]],
+ ['osmemorypoolgetspace',['osMemoryPoolGetSpace',['../group__CMSIS__RTOS__PoolMgmt.html#ga0394cffa9479a7994e3b03c79c1cb909',1,'cmsis_os2.h']]],
+ ['osmemorypoolid_5ft',['osMemoryPoolId_t',['../group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960',1,'cmsis_os2.h']]],
+ ['osmemorypoolnew',['osMemoryPoolNew',['../group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc',1,'cmsis_os2.h']]],
+ ['osmessagequeueattr_5ft',['osMessageQueueAttr_t',['../group__CMSIS__RTOS__Message.html#structosMessageQueueAttr__t',1,'']]],
+ ['osmessagequeuedelete',['osMessageQueueDelete',['../group__CMSIS__RTOS__Message.html#gaba987f665444e0d83fa6a3a68bc72abe',1,'cmsis_os2.h']]],
+ ['osmessagequeueget',['osMessageQueueGet',['../group__CMSIS__RTOS__Message.html#gad90d4959466a7a65105061da8256ab9e',1,'cmsis_os2.h']]],
+ ['osmessagequeuegetcapacity',['osMessageQueueGetCapacity',['../group__CMSIS__RTOS__Message.html#gac24f87d4f395e9e9c900c320e45ade8a',1,'cmsis_os2.h']]],
+ ['osmessagequeuegetcount',['osMessageQueueGetCount',['../group__CMSIS__RTOS__Message.html#ga6a32ac394fcff568b251c160cc3014b2',1,'cmsis_os2.h']]],
+ ['osmessagequeuegetmsgsize',['osMessageQueueGetMsgSize',['../group__CMSIS__RTOS__Message.html#ga96d3d84069b20359de48109e28a1a89e',1,'cmsis_os2.h']]],
+ ['osmessagequeuegetname',['osMessageQueueGetName',['../group__CMSIS__RTOS__Message.html#gae7cf7bf2b97a5ae481fb60fcce99247a',1,'cmsis_os2.h']]],
+ ['osmessagequeuegetspace',['osMessageQueueGetSpace',['../group__CMSIS__RTOS__Message.html#gaddf0904427436dd3880d46263c2dc9fa',1,'cmsis_os2.h']]],
+ ['osmessagequeueid_5ft',['osMessageQueueId_t',['../cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317',1,'cmsis_os2.h']]],
+ ['osmessagequeuenew',['osMessageQueueNew',['../group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed',1,'cmsis_os2.h']]],
+ ['osmessagequeueput',['osMessageQueuePut',['../group__CMSIS__RTOS__Message.html#gaa515fc8b956f721a8f72b2c505813bfc',1,'cmsis_os2.h']]],
+ ['osmessagequeuereset',['osMessageQueueReset',['../group__CMSIS__RTOS__Message.html#gac6dce7f9ad132d266292c2e979d861b4',1,'cmsis_os2.h']]],
+ ['osmutexacquire',['osMutexAcquire',['../group__CMSIS__RTOS__MutexMgmt.html#gabc54686ea0fc281823b1763422d2a924',1,'cmsis_os2.h']]],
+ ['osmutexattr_5ft',['osMutexAttr_t',['../group__CMSIS__RTOS__MutexMgmt.html#structosMutexAttr__t',1,'']]],
+ ['osmutexdelete',['osMutexDelete',['../group__CMSIS__RTOS__MutexMgmt.html#gabee73ad227ba4587d3db12ef9bd582bc',1,'cmsis_os2.h']]],
+ ['osmutexgetname',['osMutexGetName',['../group__CMSIS__RTOS__MutexMgmt.html#ga00b5e58cd247a412d1afd18732d8b752',1,'cmsis_os2.h']]],
+ ['osmutexgetowner',['osMutexGetOwner',['../group__CMSIS__RTOS__MutexMgmt.html#ga7f9a7666df0978738cd570cb700b83fb',1,'cmsis_os2.h']]],
+ ['osmutexid_5ft',['osMutexId_t',['../group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42',1,'cmsis_os2.h']]],
+ ['osmutexnew',['osMutexNew',['../group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8',1,'cmsis_os2.h']]],
+ ['osmutexprioinherit',['osMutexPrioInherit',['../group__CMSIS__RTOS__MutexMgmt.html#ga40fba270cb31a977b3bd551d41eb9599',1,'cmsis_os2.h']]],
+ ['osmutexrecursive',['osMutexRecursive',['../group__CMSIS__RTOS__MutexMgmt.html#ga65c2482cc64a35d03871f3180f305926',1,'cmsis_os2.h']]],
+ ['osmutexrelease',['osMutexRelease',['../group__CMSIS__RTOS__MutexMgmt.html#gaea629705703580ff58776bf73c8db915',1,'cmsis_os2.h']]],
+ ['osmutexrobust',['osMutexRobust',['../group__CMSIS__RTOS__MutexMgmt.html#gaf0e1dee376798b4d516d164981526780',1,'cmsis_os2.h']]],
+ ['osok',['osOK',['../cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f',1,'cmsis_os2.h']]],
+ ['ospriority_5ft',['osPriority_t',['../group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ec',1,'cmsis_os2.h']]],
+ ['ospriorityabovenormal',['osPriorityAboveNormal',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca17b36cd9cd38652c2bc6d4803990674b',1,'cmsis_os2.h']]],
+ ['ospriorityabovenormal1',['osPriorityAboveNormal1',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecabfeafc713edfc7b9130aa5c762d68998',1,'cmsis_os2.h']]],
+ ['ospriorityabovenormal2',['osPriorityAboveNormal2',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca901acf86070e06f5990b611734ee2562',1,'cmsis_os2.h']]],
+ ['ospriorityabovenormal3',['osPriorityAboveNormal3',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecad566b876b64e6efdc3eba0fc04e54013',1,'cmsis_os2.h']]],
+ ['ospriorityabovenormal4',['osPriorityAboveNormal4',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca6ccac37d7dae4586a2031966d36a63ec',1,'cmsis_os2.h']]],
+ ['ospriorityabovenormal5',['osPriorityAboveNormal5',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecae36e8b38ee046a3104bcccabb10cf78c',1,'cmsis_os2.h']]],
+ ['ospriorityabovenormal6',['osPriorityAboveNormal6',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca61e6ce27e1e0f34f2540b413b8a8b207',1,'cmsis_os2.h']]],
+ ['ospriorityabovenormal7',['osPriorityAboveNormal7',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecadbbb0fed3ada6b9b50d4a628abc2a67d',1,'cmsis_os2.h']]],
+ ['osprioritybelownormal',['osPriorityBelowNormal',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca193b650117c209b4a203954542bcc3e6',1,'cmsis_os2.h']]],
+ ['osprioritybelownormal1',['osPriorityBelowNormal1',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca9138da7187690b15f52d8e5729c18da5',1,'cmsis_os2.h']]],
+ ['osprioritybelownormal2',['osPriorityBelowNormal2',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca4f081d6735bf2f513338b07eddf13ae3',1,'cmsis_os2.h']]],
+ ['osprioritybelownormal3',['osPriorityBelowNormal3',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca19c013690d0d6bf3ac90707942be3fdf',1,'cmsis_os2.h']]],
+ ['osprioritybelownormal4',['osPriorityBelowNormal4',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca36931ad6cee5e4700e2c8622bdd2cd24',1,'cmsis_os2.h']]],
+ ['osprioritybelownormal5',['osPriorityBelowNormal5',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca0bcd9ad1e7a02e3bf03be7dcc8ece38e',1,'cmsis_os2.h']]],
+ ['osprioritybelownormal6',['osPriorityBelowNormal6',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecabd3cc7df5b92b752ddf1e7843a786c05',1,'cmsis_os2.h']]],
+ ['osprioritybelownormal7',['osPriorityBelowNormal7',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecab18e3bda7b5e418e309a62d6267ea14b',1,'cmsis_os2.h']]],
+ ['ospriorityerror',['osPriorityError',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecae35f5e2f9c64ad346822521b643bdea4',1,'cmsis_os2.h']]],
+ ['ospriorityhigh',['osPriorityHigh',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca914433934143a9ba767e59577c56e6c2',1,'cmsis_os2.h']]],
+ ['ospriorityhigh1',['osPriorityHigh1',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca17b7a7e6febf12444a84e90edfce36cb',1,'cmsis_os2.h']]],
+ ['ospriorityhigh2',['osPriorityHigh2',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca40a120cf8bbc42e575455c027f3d9b03',1,'cmsis_os2.h']]],
+ ['ospriorityhigh3',['osPriorityHigh3',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca0b15518b0b5321a29efa0b42b2f8c759',1,'cmsis_os2.h']]],
+ ['ospriorityhigh4',['osPriorityHigh4',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecafe5a4f393fab04551ac7d93e80cdf0fb',1,'cmsis_os2.h']]],
+ ['ospriorityhigh5',['osPriorityHigh5',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca5960841bfbdd959b163429e8502ea4e9',1,'cmsis_os2.h']]],
+ ['ospriorityhigh6',['osPriorityHigh6',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca5714dda6effc1a3f8ec155d97e3e69bc',1,'cmsis_os2.h']]],
+ ['ospriorityhigh7',['osPriorityHigh7',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca63ad0cc52a701ef3d9df52b59b995652',1,'cmsis_os2.h']]],
+ ['ospriorityidle',['osPriorityIdle',['../group__CMSIS__RTOS__ThreadMgmt.html#ggad4e3e0971b41f2d17584a8c6837342ecacd5864eac01a6916a7c866bb51a6aac1',1,'cmsis_os2.h']]],
+ ['ospriorityisr',['osPriorityISR',['../group__CMSIS__RTOS__ThreadMgmt.html#ggad4e3e0971b41f2d17584a8c6837342eca4b4fa46c3ebaf4259662a0a0a3173b7f',1,'cmsis_os2.h']]],
+ ['osprioritylow',['osPriorityLow',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca61cb822239ac8f66dfbdc7291598a3d4',1,'cmsis_os2.h']]],
+ ['osprioritylow1',['osPriorityLow1',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecaba2b6919f0b630c8c1b2c940e3bfadbe',1,'cmsis_os2.h']]],
+ ['osprioritylow2',['osPriorityLow2',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca78ad5d00aa07a2b4bf30a639544f5507',1,'cmsis_os2.h']]],
+ ['osprioritylow3',['osPriorityLow3',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca28ccb07942c16f5f5efefb6cf68a7f50',1,'cmsis_os2.h']]],
+ ['osprioritylow4',['osPriorityLow4',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca5a4a4f26d5b220a968e221e854f69a81',1,'cmsis_os2.h']]],
+ ['osprioritylow5',['osPriorityLow5',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecad69b8c14809bc5bdce4887f5a57d9353',1,'cmsis_os2.h']]],
+ ['osprioritylow6',['osPriorityLow6',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecac0f188468664d06d4cd9e6e1ed351393',1,'cmsis_os2.h']]],
+ ['osprioritylow7',['osPriorityLow7',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca5b151ebba7fdeb1baaa9b7b420890b7a',1,'cmsis_os2.h']]],
+ ['osprioritynone',['osPriorityNone',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca6c437c7185161a3bd1e7e4669dfa17a3',1,'cmsis_os2.h']]],
+ ['osprioritynormal',['osPriorityNormal',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca45a2895ad30c79fb97de18cac7cc19f1',1,'cmsis_os2.h']]],
+ ['osprioritynormal1',['osPriorityNormal1',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca3e70c19e03d5a54e66bd071f0776782c',1,'cmsis_os2.h']]],
+ ['osprioritynormal2',['osPriorityNormal2',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca19e96f2b025b6462a43b1965043c8205',1,'cmsis_os2.h']]],
+ ['osprioritynormal3',['osPriorityNormal3',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca402bd7ab26fb57c8cee8cf94168f4c91',1,'cmsis_os2.h']]],
+ ['osprioritynormal4',['osPriorityNormal4',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca93ef07d3a107aeee6508bfd29ba3485d',1,'cmsis_os2.h']]],
+ ['osprioritynormal5',['osPriorityNormal5',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca68f3f6fdaa639de300277802aa13a0ab',1,'cmsis_os2.h']]],
+ ['osprioritynormal6',['osPriorityNormal6',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca8221eb0d059726a6309f1f2d0cdb6204',1,'cmsis_os2.h']]],
+ ['osprioritynormal7',['osPriorityNormal7',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca049abd04f8951415407ec9d92bd9b80b',1,'cmsis_os2.h']]],
+ ['ospriorityrealtime',['osPriorityRealtime',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca1485dec3702434a1ec3cb74c7a17a4af',1,'cmsis_os2.h']]],
+ ['ospriorityrealtime1',['osPriorityRealtime1',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecaf685a06b30f0635476e21347a986305b',1,'cmsis_os2.h']]],
+ ['ospriorityrealtime2',['osPriorityRealtime2',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecab832bd9de84e5eec2ecad69d085dadff',1,'cmsis_os2.h']]],
+ ['ospriorityrealtime3',['osPriorityRealtime3',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca3f2261e5e733e92844ae8c630f2f9eaa',1,'cmsis_os2.h']]],
+ ['ospriorityrealtime4',['osPriorityRealtime4',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecaf614e3dc966d559cd9d9d2a0f78ebe70',1,'cmsis_os2.h']]],
+ ['ospriorityrealtime5',['osPriorityRealtime5',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecaff84f31ceff203c711fb9476443507df',1,'cmsis_os2.h']]],
+ ['ospriorityrealtime6',['osPriorityRealtime6',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca80ae9d0dd256312c0c8f44af48316194',1,'cmsis_os2.h']]],
+ ['ospriorityrealtime7',['osPriorityRealtime7',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecaa76da6825c4bd31c4958200bc289103b',1,'cmsis_os2.h']]],
+ ['ospriorityreserved',['osPriorityReserved',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecac86c171f8d466cced0cb1b03bb03343b',1,'cmsis_os2.h']]],
+ ['osrtxconfig',['osRtxConfig',['../rtx__os_8h.html#a489fda965fa634809f401ae6458a6f45',1,'rtx_os.h']]],
+ ['osrtxconfig_5ft',['osRtxConfig_t',['../rtx__os_8h.html#structosRtxConfig__t',1,'']]],
+ ['osrtxconfig_5ft_2eisr_5fqueue',['osRtxConfig_t.isr_queue',['../rtx__os_8h.html#structosRtxConfig__t_8isr__queue',1,'']]],
+ ['osrtxconfig_5ft_2emem',['osRtxConfig_t.mem',['../rtx__os_8h.html#structosRtxConfig__t_8mem',1,'']]],
+ ['osrtxconfig_5ft_2empi',['osRtxConfig_t.mpi',['../rtx__os_8h.html#structosRtxConfig__t_8mpi',1,'']]],
+ ['osrtxconfigprivilegedmode',['osRtxConfigPrivilegedMode',['../rtx__os_8h.html#a0eb4da5bed45820d732e23483b870152',1,'rtx_os.h']]],
+ ['osrtxconfigstackcheck',['osRtxConfigStackCheck',['../rtx__os_8h.html#a77f3e906438a6693524cdc257cb0bf23',1,'rtx_os.h']]],
+ ['osrtxconfigstackwatermark',['osRtxConfigStackWatermark',['../rtx__os_8h.html#a62205cc79ec5d95b45f5ebfdf126438c',1,'rtx_os.h']]],
+ ['osrtxerrorclibmutex',['osRtxErrorClibMutex',['../group__rtx5__specific__defines.html#gac749c24b9cf6c49b392b015ed0517cfc',1,'rtx_os.h']]],
+ ['osrtxerrorclibspace',['osRtxErrorClibSpace',['../group__rtx5__specific__defines.html#ga14a24724f6e87744ba84674ef76e4256',1,'rtx_os.h']]],
+ ['osrtxerrorinvalidcontrolblock',['osRtxErrorInvalidControlBlock',['../rtx__evr_8h.html#a56335b5b0a3f932e06aa764d185b6a60',1,'rtx_evr.h']]],
+ ['osrtxerrorinvaliddatamemory',['osRtxErrorInvalidDataMemory',['../rtx__evr_8h.html#a037115a16032074ae1a82d64c160338b',1,'rtx_evr.h']]],
+ ['osrtxerrorinvalidpriority',['osRtxErrorInvalidPriority',['../rtx__evr_8h.html#a45219e125941ecbe7eca030fd2f40d7a',1,'rtx_evr.h']]],
+ ['osrtxerrorinvalidthreadstack',['osRtxErrorInvalidThreadStack',['../rtx__evr_8h.html#a5cabacbb758a1bc5012cae2292771726',1,'rtx_evr.h']]],
+ ['osrtxerrorisrqueueoverflow',['osRtxErrorISRQueueOverflow',['../group__rtx5__specific__defines.html#ga7377235f9fa3cedee06f682cd93f3e88',1,'rtx_os.h']]],
+ ['osrtxerrorkernelnotready',['osRtxErrorKernelNotReady',['../rtx__evr_8h.html#a168269d3a1264ac7a7427f8642e358a4',1,'rtx_evr.h']]],
+ ['osrtxerrorkernelnotrunning',['osRtxErrorKernelNotRunning',['../rtx__evr_8h.html#a8a916c6a8ad67a38c29ca2e2141d1540',1,'rtx_evr.h']]],
+ ['osrtxerrormutexlocklimit',['osRtxErrorMutexLockLimit',['../rtx__evr_8h.html#a949198d164108954151e89607a1504a7',1,'rtx_evr.h']]],
+ ['osrtxerrormutexnotlocked',['osRtxErrorMutexNotLocked',['../rtx__evr_8h.html#a4fc98ec7f644bc7156af58431043171a',1,'rtx_evr.h']]],
+ ['osrtxerrormutexnotowned',['osRtxErrorMutexNotOwned',['../rtx__evr_8h.html#a2abf2bd19d5d80399c129e7b79e19e9a',1,'rtx_evr.h']]],
+ ['osrtxerrornotify',['osRtxErrorNotify',['../group__rtx5__specific__functions.html#gaf1745a88f9cc60b609ab1c8076bd346d',1,'rtx_os.h']]],
+ ['osrtxerrorsemaphorecountlimit',['osRtxErrorSemaphoreCountLimit',['../rtx__evr_8h.html#a4266d3dd5e7bbd2693dd53d00d80bc4c',1,'rtx_evr.h']]],
+ ['osrtxerrorstackunderflow',['osRtxErrorStackUnderflow',['../group__rtx5__specific__defines.html#ga42206aa2524b8fab613d26bea0f73c44',1,'rtx_os.h']]],
+ ['osrtxerrorthreadnotjoinable',['osRtxErrorThreadNotJoinable',['../rtx__evr_8h.html#a1955ed26bf52d4fd07a73961ee6a1478',1,'rtx_evr.h']]],
+ ['osrtxerrortimerqueueoverflow',['osRtxErrorTimerQueueOverflow',['../group__rtx5__specific__defines.html#gaad420018f26e751ec55d3922a283beb0',1,'rtx_os.h']]],
+ ['osrtxerrortz_5falloccontext_5fs',['osRtxErrorTZ_AllocContext_S',['../rtx__evr_8h.html#a787925e3c31997d22bb7ea985b69c3db',1,'rtx_evr.h']]],
+ ['osrtxerrortz_5ffreecontext_5fs',['osRtxErrorTZ_FreeContext_S',['../rtx__evr_8h.html#a8b1b28f13acfecfec665a3759ce69991',1,'rtx_evr.h']]],
+ ['osrtxerrortz_5finitcontext_5fs',['osRtxErrorTZ_InitContext_S',['../rtx__evr_8h.html#a33f2affc96c91cf39a3986e4bd119c5c',1,'rtx_evr.h']]],
+ ['osrtxerrortz_5floadcontext_5fs',['osRtxErrorTZ_LoadContext_S',['../rtx__evr_8h.html#a3e9b3fdece321c3766bc6bc1a35e9cf6',1,'rtx_evr.h']]],
+ ['osrtxerrortz_5fsavecontext_5fs',['osRtxErrorTZ_SaveContext_S',['../rtx__evr_8h.html#ad600f514856926fc313a5f7dc0c3d422',1,'rtx_evr.h']]],
+ ['osrtxeventflags_5ft',['osRtxEventFlags_t',['../rtx__os_8h.html#structosRtxEventFlags__t',1,'']]],
+ ['osrtxeventflagscbsize',['osRtxEventFlagsCbSize',['../group__rtx5__specific__defines.html#ga68100c8c44931f03547973294c433075',1,'rtx_os.h']]],
+ ['osrtxeventflagslimit',['osRtxEventFlagsLimit',['../rtx__os_8h.html#a271653c08ecb64dbb2d0ce8a51ddb4c2',1,'rtx_os.h']]],
+ ['osrtxeventflagsmemusage',['osRtxEventFlagsMemUsage',['../rtx__os_8h.html#a0c81327f94697890809ce4a594bb9d5c',1,'rtx_os.h']]],
+ ['osrtxflagsystemmemory',['osRtxFlagSystemMemory',['../rtx__os_8h.html#ade9b85b84a6199a1cc3653058def19f3',1,'rtx_os.h']]],
+ ['osrtxflagsystemobject',['osRtxFlagSystemObject',['../rtx__os_8h.html#a797c4d97bb5e216e6901c1e30e96cb34',1,'rtx_os.h']]],
+ ['osrtxideventflags',['osRtxIdEventFlags',['../rtx__os_8h.html#aa9b41f7b0dc38018a7db915df5e716cc',1,'rtx_os.h']]],
+ ['osrtxidinvalid',['osRtxIdInvalid',['../rtx__os_8h.html#ad78a646169b7b4bfa2a278d08fe21fa5',1,'rtx_os.h']]],
+ ['osrtxidlethread',['osRtxIdleThread',['../group__rtx5__specific__functions.html#ga074068b8efa7074cee68a71481d0b072',1,'rtx_os.h']]],
+ ['osrtxidmemorypool',['osRtxIdMemoryPool',['../rtx__os_8h.html#a3cddbd1d03aedae758445d17db319fec',1,'rtx_os.h']]],
+ ['osrtxidmessage',['osRtxIdMessage',['../rtx__os_8h.html#a84bb69c0a0d02b2adc4d499803ccb063',1,'rtx_os.h']]],
+ ['osrtxidmessagequeue',['osRtxIdMessageQueue',['../rtx__os_8h.html#a260226a1f72b4a333f01573430b60b17',1,'rtx_os.h']]],
+ ['osrtxidmutex',['osRtxIdMutex',['../rtx__os_8h.html#a086574b10e90122f5228decea0a5d3dc',1,'rtx_os.h']]],
+ ['osrtxidsemaphore',['osRtxIdSemaphore',['../rtx__os_8h.html#a4778b8ce61af3d942501bb4ff28c18f1',1,'rtx_os.h']]],
+ ['osrtxidthread',['osRtxIdThread',['../rtx__os_8h.html#ad6f0f1f1b4e1b8c2615429d6a24ca8f5',1,'rtx_os.h']]],
+ ['osrtxidtimer',['osRtxIdTimer',['../rtx__os_8h.html#a5e8dd6b61e9b09d20aeea8434861950e',1,'rtx_os.h']]],
+ ['osrtxinfo',['osRtxInfo',['../rtx__os_8h.html#ad2270125c4e4991c3231d752b6ee5f3f',1,'rtx_os.h']]],
+ ['osrtxinfo_5ft',['osRtxInfo_t',['../rtx__os_8h.html#structosRtxInfo__t',1,'']]],
+ ['osrtxinfo_5ft_2eisr_5fqueue',['osRtxInfo_t.isr_queue',['../rtx__os_8h.html#structosRtxInfo__t_8isr__queue',1,'']]],
+ ['osrtxinfo_5ft_2ekernel',['osRtxInfo_t.kernel',['../rtx__os_8h.html#structosRtxInfo__t_8kernel',1,'']]],
+ ['osrtxinfo_5ft_2emem',['osRtxInfo_t.mem',['../rtx__os_8h.html#structosRtxInfo__t_8mem',1,'']]],
+ ['osrtxinfo_5ft_2empi',['osRtxInfo_t.mpi',['../rtx__os_8h.html#structosRtxInfo__t_8mpi',1,'']]],
+ ['osrtxinfo_5ft_2epost_5fprocess',['osRtxInfo_t.post_process',['../structosRtxInfo__t_8post__process.html',1,'']]],
+ ['osrtxinfo_5ft_2ethread',['osRtxInfo_t.thread',['../rtx__os_8h.html#structosRtxInfo__t_8thread',1,'']]],
+ ['osrtxinfo_5ft_2ethread_2erobin',['osRtxInfo_t.thread.robin',['../rtx__os_8h.html#structosRtxInfo__t_8thread_8robin',1,'']]],
+ ['osrtxinfo_5ft_2ethread_2erun',['osRtxInfo_t.thread.run',['../rtx__os_8h.html#structosRtxInfo__t_8thread_8run',1,'']]],
+ ['osrtxinfo_5ft_2etimer',['osRtxInfo_t.timer',['../structosRtxInfo__t_8timer.html',1,'']]],
+ ['osrtxkernelid',['osRtxKernelId',['../rtx__os_8h.html#a47e0637d30eed2357b238cbb19dbb058',1,'rtx_os.h']]],
+ ['osrtxkernelinactive',['osRtxKernelInactive',['../rtx__os_8h.html#a7543c3b497052bdbfbfbc3debc5f0a6e',1,'rtx_os.h']]],
+ ['osrtxkernellocked',['osRtxKernelLocked',['../rtx__os_8h.html#a9c20a179e70e74fa9fe9f9ba275cc73b',1,'rtx_os.h']]],
+ ['osrtxkernelready',['osRtxKernelReady',['../rtx__os_8h.html#ab793b30296108737eb356871d266e2a2',1,'rtx_os.h']]],
+ ['osrtxkernelrunning',['osRtxKernelRunning',['../rtx__os_8h.html#a337ee876c540b4f4e9d680497eed9fdc',1,'rtx_os.h']]],
+ ['osrtxkernelsuspended',['osRtxKernelSuspended',['../rtx__os_8h.html#a751dd07663970abe0305de11d52812a7',1,'rtx_os.h']]],
+ ['osrtxmemorypool_5ft',['osRtxMemoryPool_t',['../rtx__os_8h.html#structosRtxMemoryPool__t',1,'']]],
+ ['osrtxmemorypoolcbsize',['osRtxMemoryPoolCbSize',['../group__rtx5__specific__defines.html#gab8e49e9e1eea5a015f2a3114cabceb48',1,'rtx_os.h']]],
+ ['osrtxmemorypoolmemsize',['osRtxMemoryPoolMemSize',['../group__rtx5__specific__defines.html#gac6bea3541b458bbc79eafce42a2d87a2',1,'rtx_os.h']]],
+ ['osrtxmemorypoolmemusage',['osRtxMemoryPoolMemUsage',['../rtx__os_8h.html#ae5dea30a13d7a2316699a7f201504bc7',1,'rtx_os.h']]],
+ ['osrtxmessage_5ft',['osRtxMessage_t',['../rtx__os_8h.html#structosRtxMessage__t',1,'']]],
+ ['osrtxmessagequeue_5ft',['osRtxMessageQueue_t',['../rtx__os_8h.html#structosRtxMessageQueue__t',1,'']]],
+ ['osrtxmessagequeuecbsize',['osRtxMessageQueueCbSize',['../group__rtx5__specific__defines.html#gaa8d067c476faa6bfc8e5e21f3b3c844e',1,'rtx_os.h']]],
+ ['osrtxmessagequeuememsize',['osRtxMessageQueueMemSize',['../group__rtx5__specific__defines.html#ga47eb1e21f1bf9a42281c6c89c7473e99',1,'rtx_os.h']]],
+ ['osrtxmessagequeuememusage',['osRtxMessageQueueMemUsage',['../rtx__os_8h.html#af3da38b316a84990128e8d9f34e3e6d3',1,'rtx_os.h']]],
+ ['osrtxmpinfo_5ft',['osRtxMpInfo_t',['../rtx__os_8h.html#structosRtxMpInfo__t',1,'']]],
+ ['osrtxmutex_5ft',['osRtxMutex_t',['../rtx__os_8h.html#structosRtxMutex__t',1,'']]],
+ ['osrtxmutexcbsize',['osRtxMutexCbSize',['../group__rtx5__specific__defines.html#ga188bfaaf7477cf24cbc9f207feaeb53a',1,'rtx_os.h']]],
+ ['osrtxmutexlocklimit',['osRtxMutexLockLimit',['../rtx__os_8h.html#ade5d158c28233a45ad1fc9a1156373f6',1,'rtx_os.h']]],
+ ['osrtxmutexmemusage',['osRtxMutexMemUsage',['../rtx__os_8h.html#a683927dcd67dcb912884d16efa81a58d',1,'rtx_os.h']]],
+ ['osrtxobject_5ft',['osRtxObject_t',['../rtx__os_8h.html#structosRtxObject__t',1,'']]],
+ ['osrtxobjectmemusage_5ft',['osRtxObjectMemUsage_t',['../rtx__os_8h.html#structosRtxObjectMemUsage__t',1,'']]],
+ ['osrtxsemaphore_5ft',['osRtxSemaphore_t',['../rtx__os_8h.html#structosRtxSemaphore__t',1,'']]],
+ ['osrtxsemaphorecbsize',['osRtxSemaphoreCbSize',['../group__rtx5__specific__defines.html#ga0949b67063d0bd427fbee9c816b5d45a',1,'rtx_os.h']]],
+ ['osrtxsemaphorememusage',['osRtxSemaphoreMemUsage',['../rtx__os_8h.html#aec50b39ce30d9c87916d077f6f764387',1,'rtx_os.h']]],
+ ['osrtxsemaphoretokenlimit',['osRtxSemaphoreTokenLimit',['../rtx__os_8h.html#a14c7bcf532389ed285827cf5497d09eb',1,'rtx_os.h']]],
+ ['osrtxstackfillpattern',['osRtxStackFillPattern',['../rtx__os_8h.html#a7dbaedf90584739e6d938d69d2621855',1,'rtx_os.h']]],
+ ['osrtxstackmagicword',['osRtxStackMagicWord',['../rtx__os_8h.html#aabdbbcf214681666d06629397463093f',1,'rtx_os.h']]],
+ ['osrtxthread_5ft',['osRtxThread_t',['../rtx__os_8h.html#structosRtxThread__t',1,'']]],
+ ['osrtxthreadblocked',['osRtxThreadBlocked',['../rtx__os_8h.html#a30e61895c9ec7941715dd4747b11d5b3',1,'rtx_os.h']]],
+ ['osrtxthreadcbsize',['osRtxThreadCbSize',['../group__rtx5__specific__defines.html#ga30d19272204231956582ebfff69567f6',1,'rtx_os.h']]],
+ ['osrtxthreadflagdefstack',['osRtxThreadFlagDefStack',['../rtx__os_8h.html#a733199fdb7675dbf99d5e6d17c126a96',1,'rtx_os.h']]],
+ ['osrtxthreadflagslimit',['osRtxThreadFlagsLimit',['../rtx__os_8h.html#a73248d08e2db1ef9941cf8fcf24ddba9',1,'rtx_os.h']]],
+ ['osrtxthreadinactive',['osRtxThreadInactive',['../rtx__os_8h.html#a2552be237293212f43fc08bf3ec02e67',1,'rtx_os.h']]],
+ ['osrtxthreadmemusage',['osRtxThreadMemUsage',['../rtx__os_8h.html#a90374bf1d999b2e1594763ab6c97cd69',1,'rtx_os.h']]],
+ ['osrtxthreadready',['osRtxThreadReady',['../rtx__os_8h.html#a7c1e9dfefafc53162f076b0430a0e595',1,'rtx_os.h']]],
+ ['osrtxthreadrunning',['osRtxThreadRunning',['../rtx__os_8h.html#ad9615557219eecdbca536d4280e72604',1,'rtx_os.h']]],
+ ['osrtxthreadstatemask',['osRtxThreadStateMask',['../rtx__os_8h.html#ad486f6d40fcd8e9569ab415373d912e4',1,'rtx_os.h']]],
+ ['osrtxthreadterminated',['osRtxThreadTerminated',['../rtx__os_8h.html#a3011758dc91d1dd134ec48b816b67d50',1,'rtx_os.h']]],
+ ['osrtxthreadwaitingdelay',['osRtxThreadWaitingDelay',['../rtx__os_8h.html#a9fcd1ecba034b5fc15e991311736ec4e',1,'rtx_os.h']]],
+ ['osrtxthreadwaitingeventflags',['osRtxThreadWaitingEventFlags',['../rtx__os_8h.html#a6c4c8b1563e28aa5b947346cb5db3c69',1,'rtx_os.h']]],
+ ['osrtxthreadwaitingjoin',['osRtxThreadWaitingJoin',['../rtx__os_8h.html#a88ca40f569d87366a69451ed43759453',1,'rtx_os.h']]],
+ ['osrtxthreadwaitingmemorypool',['osRtxThreadWaitingMemoryPool',['../rtx__os_8h.html#aa87cea70df1acf71f6358de9b65722a4',1,'rtx_os.h']]],
+ ['osrtxthreadwaitingmessageget',['osRtxThreadWaitingMessageGet',['../rtx__os_8h.html#a881830bb0c1488cd15bd1a412bc16800',1,'rtx_os.h']]],
+ ['osrtxthreadwaitingmessageput',['osRtxThreadWaitingMessagePut',['../rtx__os_8h.html#a7502524f6911edc751111422eaf66a43',1,'rtx_os.h']]],
+ ['osrtxthreadwaitingmutex',['osRtxThreadWaitingMutex',['../rtx__os_8h.html#ae99ccb8b4d1a85c1abb6ab39933690a6',1,'rtx_os.h']]],
+ ['osrtxthreadwaitingsemaphore',['osRtxThreadWaitingSemaphore',['../rtx__os_8h.html#acbe0a0cd73d487b82501b584caf4a472',1,'rtx_os.h']]],
+ ['osrtxthreadwaitingthreadflags',['osRtxThreadWaitingThreadFlags',['../rtx__os_8h.html#a41174e493bdf7e3a1e35306703bcd63c',1,'rtx_os.h']]],
+ ['osrtxtimer_5ft',['osRtxTimer_t',['../rtx__os_8h.html#structosRtxTimer__t',1,'']]],
+ ['osrtxtimercbsize',['osRtxTimerCbSize',['../group__rtx5__specific__defines.html#gaf8a145fdeb24fd912971f0671b1a3603',1,'rtx_os.h']]],
+ ['osrtxtimerfinfo_5ft',['osRtxTimerFinfo_t',['../rtx__os_8h.html#structosRtxTimerFinfo__t',1,'']]],
+ ['osrtxtimerinactive',['osRtxTimerInactive',['../rtx__os_8h.html#a66bea72c0cffd25c7cb32419283a7b92',1,'rtx_os.h']]],
+ ['osrtxtimermemusage',['osRtxTimerMemUsage',['../rtx__os_8h.html#aa3e7cf488411dbdc814420b81f36b935',1,'rtx_os.h']]],
+ ['osrtxtimerperiodic',['osRtxTimerPeriodic',['../rtx__os_8h.html#accc1542de31e0c7367d452e9de035bb4',1,'rtx_os.h']]],
+ ['osrtxtimerrunning',['osRtxTimerRunning',['../rtx__os_8h.html#aed55034470990d4593eb614e26c1eea7',1,'rtx_os.h']]],
+ ['osrtxtimerstopped',['osRtxTimerStopped',['../rtx__os_8h.html#ab01076b285029ac6d22dbde69167c96e',1,'rtx_os.h']]],
+ ['osrtxversionapi',['osRtxVersionAPI',['../rtx__os_8h.html#aea20a2b373e98ae88a7cf7e4a56b118f',1,'rtx_os.h']]],
+ ['osrtxversionkernel',['osRtxVersionKernel',['../rtx__os_8h.html#ad854168120979e8c60630e0140e104e8',1,'rtx_os.h']]],
+ ['ossemaphoreacquire',['osSemaphoreAcquire',['../group__CMSIS__RTOS__SemaphoreMgmt.html#ga7e94c8b242a0c81f2cc79ec22895c87b',1,'cmsis_os2.h']]],
+ ['ossemaphoreattr_5ft',['osSemaphoreAttr_t',['../group__CMSIS__RTOS__SemaphoreMgmt.html#structosSemaphoreAttr__t',1,'']]],
+ ['ossemaphoredelete',['osSemaphoreDelete',['../group__CMSIS__RTOS__SemaphoreMgmt.html#ga81258ce9c67fa89f07cc49d2e136cd88',1,'cmsis_os2.h']]],
+ ['ossemaphoregetcount',['osSemaphoreGetCount',['../group__CMSIS__RTOS__SemaphoreMgmt.html#ga7559d4dff3cda9992fc5ab5de3e74c70',1,'cmsis_os2.h']]],
+ ['ossemaphoregetname',['osSemaphoreGetName',['../group__CMSIS__RTOS__SemaphoreMgmt.html#ga9586952051f00285f1482dbe6695bbc4',1,'cmsis_os2.h']]],
+ ['ossemaphoreid_5ft',['osSemaphoreId_t',['../group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40',1,'cmsis_os2.h']]],
+ ['ossemaphorenew',['osSemaphoreNew',['../group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a',1,'cmsis_os2.h']]],
+ ['ossemaphorerelease',['osSemaphoreRelease',['../group__CMSIS__RTOS__SemaphoreMgmt.html#ga0abcee1b5449d7a6928fb9248c690bb6',1,'cmsis_os2.h']]],
+ ['osstatus_5ft',['osStatus_t',['../group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e',1,'cmsis_os2.h']]],
+ ['osstatusreserved',['osStatusReserved',['../cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea66cc9ce9106b508df0e4a733a55a439d',1,'cmsis_os2.h']]],
+ ['osthreadattr_5ft',['osThreadAttr_t',['../group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t',1,'']]],
+ ['osthreadblocked',['osThreadBlocked',['../group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820daf0e992e354fba8695957c530226a4968',1,'cmsis_os2.h']]],
+ ['osthreaddetach',['osThreadDetach',['../group__CMSIS__RTOS__ThreadMgmt.html#gaaad14cd9547341ea8109dc4e8540f1dc',1,'cmsis_os2.h']]],
+ ['osthreaddetached',['osThreadDetached',['../group__CMSIS__RTOS__ThreadMgmt.html#gaa9336c1073858d6b118e2e011636246f',1,'cmsis_os2.h']]],
+ ['osthreadenumerate',['osThreadEnumerate',['../group__CMSIS__RTOS__ThreadMgmt.html#ga5606604d56e21ece1a654664be877439',1,'cmsis_os2.h']]],
+ ['osthreaderror',['osThreadError',['../group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820da339313e26613bc12f66a852e2ff8745e',1,'cmsis_os2.h']]],
+ ['osthreadexit',['osThreadExit',['../group__CMSIS__RTOS__ThreadMgmt.html#gaddaa452dd7610e4096647a566d3556fc',1,'cmsis_os2.h']]],
+ ['osthreadflagsclear',['osThreadFlagsClear',['../group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga656abc1c862c5b9a2b13584c42cc0bfa',1,'cmsis_os2.h']]],
+ ['osthreadflagsget',['osThreadFlagsGet',['../group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga85c8d2c89466e25abbcb545d9ddd71ba',1,'cmsis_os2.h']]],
+ ['osthreadflagsset',['osThreadFlagsSet',['../group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga6f89ef9caded1d9963c7b12b0f6412c9',1,'cmsis_os2.h']]],
+ ['osthreadflagswait',['osThreadFlagsWait',['../group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b',1,'cmsis_os2.h']]],
+ ['osthreadfunc_5ft',['osThreadFunc_t',['../group__CMSIS__RTOS__ThreadMgmt.html#gadd51f99a6eb50b94eee75f27cae815eb',1,'cmsis_os2.h']]],
+ ['osthreadgetcount',['osThreadGetCount',['../group__CMSIS__RTOS__ThreadMgmt.html#ga495b3f812224e7301f23a691793765db',1,'cmsis_os2.h']]],
+ ['osthreadgetid',['osThreadGetId',['../group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da',1,'cmsis_os2.h']]],
+ ['osthreadgetname',['osThreadGetName',['../group__CMSIS__RTOS__ThreadMgmt.html#gac3230f3a55a297514b013ebf38f27e0a',1,'cmsis_os2.h']]],
+ ['osthreadgetpriority',['osThreadGetPriority',['../group__CMSIS__RTOS__ThreadMgmt.html#ga0aeaf349604f456e68e78f9d3b42e44b',1,'cmsis_os2.h']]],
+ ['osthreadgetstacksize',['osThreadGetStackSize',['../group__CMSIS__RTOS__ThreadMgmt.html#gab9f8bd715d671c6ee27644867bc1bf65',1,'cmsis_os2.h']]],
+ ['osthreadgetstackspace',['osThreadGetStackSpace',['../group__CMSIS__RTOS__ThreadMgmt.html#ga9c83bd5dd8de329701775d6ef7012720',1,'cmsis_os2.h']]],
+ ['osthreadgetstate',['osThreadGetState',['../group__CMSIS__RTOS__ThreadMgmt.html#gacc0a98b42f0a5928e12dc91dc76866b9',1,'cmsis_os2.h']]],
+ ['osthreadid_5ft',['osThreadId_t',['../group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7',1,'cmsis_os2.h']]],
+ ['osthreadinactive',['osThreadInactive',['../group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820dae9d77830b6866e287417b6e1d983e971',1,'cmsis_os2.h']]],
+ ['osthreadjoin',['osThreadJoin',['../group__CMSIS__RTOS__ThreadMgmt.html#ga3fca90fb0679afeb968aa8c3d5874487',1,'cmsis_os2.h']]],
+ ['osthreadjoinable',['osThreadJoinable',['../group__CMSIS__RTOS__ThreadMgmt.html#ga249499c519f3f8eef5673009ab6cfcbe',1,'cmsis_os2.h']]],
+ ['osthreadnew',['osThreadNew',['../group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f',1,'cmsis_os2.h']]],
+ ['osthreadready',['osThreadReady',['../group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820da59e286915944fe0e4d1ffdb1f2946f14',1,'cmsis_os2.h']]],
+ ['osthreadreserved',['osThreadReserved',['../cmsis__os2_8h.html#gad3dc89e942e38d9f3af858a0269a820da8872f7e352370eb11ee772c7dcca6e6c',1,'cmsis_os2.h']]],
+ ['osthreadresume',['osThreadResume',['../group__CMSIS__RTOS__ThreadMgmt.html#ga3dbad90eff394b02de76a452c84c5d80',1,'cmsis_os2.h']]],
+ ['osthreadrunning',['osThreadRunning',['../group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820dac4fe336e0790188fcf7d667372eca19d',1,'cmsis_os2.h']]],
+ ['osthreadsetpriority',['osThreadSetPriority',['../group__CMSIS__RTOS__ThreadMgmt.html#ga861a420fb2d643115b06622903fb3bfb',1,'cmsis_os2.h']]],
+ ['osthreadstate_5ft',['osThreadState_t',['../group__CMSIS__RTOS__ThreadMgmt.html#gad3dc89e942e38d9f3af858a0269a820d',1,'cmsis_os2.h']]],
+ ['osthreadsuspend',['osThreadSuspend',['../group__CMSIS__RTOS__ThreadMgmt.html#gaa9de419d0152bf77e9bbcd1f369fb990',1,'cmsis_os2.h']]],
+ ['osthreadterminate',['osThreadTerminate',['../group__CMSIS__RTOS__ThreadMgmt.html#ga2f8ba6dba6e9c065a6e236ffd410d74a',1,'cmsis_os2.h']]],
+ ['osthreadterminated',['osThreadTerminated',['../group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820dad5b2726c2d0228f4f1a76cf6b630963c',1,'cmsis_os2.h']]],
+ ['osthreadyield',['osThreadYield',['../group__CMSIS__RTOS__ThreadMgmt.html#gad01c7ec26535b1de6b018bb9466720e2',1,'cmsis_os2.h']]],
+ ['ostimerattr_5ft',['osTimerAttr_t',['../group__CMSIS__RTOS__TimerMgmt.html#structosTimerAttr__t',1,'']]],
+ ['ostimerdelete',['osTimerDelete',['../group__CMSIS__RTOS__TimerMgmt.html#gad0001dd74721ab461789324806db2453',1,'cmsis_os2.h']]],
+ ['ostimerfunc_5ft',['osTimerFunc_t',['../group__CMSIS__RTOS__TimerMgmt.html#gaacf768c1ec64b020598afb985d7b30be',1,'cmsis_os2.h']]],
+ ['ostimergetname',['osTimerGetName',['../group__CMSIS__RTOS__TimerMgmt.html#ga4f82a98eee4d9ea79507e44340d3d319',1,'cmsis_os2.h']]],
+ ['ostimerid_5ft',['osTimerId_t',['../group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34',1,'cmsis_os2.h']]],
+ ['ostimerisrunning',['osTimerIsRunning',['../group__CMSIS__RTOS__TimerMgmt.html#ga69d3589f54194022c30dd01e45ec6741',1,'cmsis_os2.h']]],
+ ['ostimernew',['osTimerNew',['../group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec',1,'cmsis_os2.h']]],
+ ['ostimeronce',['osTimerOnce',['../group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915a2e0e1f31c742c84b497c4d7143357bdb',1,'cmsis_os2.h']]],
+ ['ostimerperiodic',['osTimerPeriodic',['../group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915ab3463d921dc310938094745c230f2b35',1,'cmsis_os2.h']]],
+ ['ostimerstart',['osTimerStart',['../group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d',1,'cmsis_os2.h']]],
+ ['ostimerstop',['osTimerStop',['../group__CMSIS__RTOS__TimerMgmt.html#gabd7a89356da7717293eb0bc5d87b8ac9',1,'cmsis_os2.h']]],
+ ['ostimertype_5ft',['osTimerType_t',['../group__CMSIS__RTOS__TimerMgmt.html#ga7dc24a4c2b90334427081c3da7a71915',1,'cmsis_os2.h']]],
+ ['osversion_5ft',['osVersion_t',['../group__CMSIS__RTOS__KernelCtrl.html#structosVersion__t',1,'']]],
+ ['oswaitforever',['osWaitForever',['../group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb',1,'cmsis_os2.h']]],
+ ['owner_5fnext',['owner_next',['../rtx__os_8h.html#a54be7ae32f627ee70e1af8c54203ee5a',1,'osRtxMutex_t']]],
+ ['owner_5fprev',['owner_prev',['../rtx__os_8h.html#a50b315b9b80bafdba54a7a731be1cc30',1,'osRtxMutex_t']]],
+ ['owner_5fthread',['owner_thread',['../rtx__os_8h.html#a987889d464cb2925029e135b76aa0dc9',1,'osRtxMutex_t']]],
+ ['os_20tick_20api',['OS Tick API',['../rtos_os_tick_api.html',1,'functionOverview']]]
+];
diff --git a/docs/RTOS2/html/search/all_f.html b/docs/RTOS2/html/search/all_f.html
new file mode 100644
index 0000000..7419b02
--- /dev/null
+++ b/docs/RTOS2/html/search/all_f.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_f.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/all_f.js b/docs/RTOS2/html/search/all_f.js
new file mode 100644
index 0000000..0a01a9c
--- /dev/null
+++ b/docs/RTOS2/html/search/all_f.js
@@ -0,0 +1,9 @@
+var searchData=
+[
+ ['padding',['padding',['../rtx__os_8h.html#a735ef00341a84c02ba561c66de3d20af',1,'osRtxMutex_t']]],
+ ['pendsv_5fhandler',['PendSV_Handler',['../rtx__os_8h.html#a6303e1f258cbdc1f970ce579cc015623',1,'rtx_os.h']]],
+ ['post_5fprocess',['post_process',['../rtx__os_8h.html#ae64a3e930a8e3d1fb28038db9bc514d9',1,'osRtxInfo_t']]],
+ ['prev',['prev',['../rtx__os_8h.html#ac8953ebf7df8aaf724cb12876ac8fb1a',1,'osRtxTimer_t::prev()'],['../rtx__os_8h.html#ad2b4e6d37acc8020701610f54c0c8910',1,'osRtxMessage_t::prev()']]],
+ ['priority',['priority',['../group__CMSIS__RTOS__ThreadMgmt.html#a6a5183df4c54c3e28dc8dc704f2487d5',1,'osThreadAttr_t::priority()'],['../rtx__os_8h.html#a81659cc4c01e54e2424022728d9effc7',1,'osRtxThread_t::priority()'],['../rtx__os_8h.html#a0ad043071ccc7a261d79a759dc9c6f0c',1,'osRtxMessage_t::priority()']]],
+ ['priority_5fbase',['priority_base',['../rtx__os_8h.html#ac67f8858081fb7a6e5a4ee8d2de3b348',1,'osRtxThread_t']]]
+];
diff --git a/docs/RTOS2/html/search/classes_0.html b/docs/RTOS2/html/search/classes_0.html
new file mode 100644
index 0000000..fabdc03
--- /dev/null
+++ b/docs/RTOS2/html/search/classes_0.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/classes_0.js b/docs/RTOS2/html/search/classes_0.js
new file mode 100644
index 0000000..c71ea15
--- /dev/null
+++ b/docs/RTOS2/html/search/classes_0.js
@@ -0,0 +1,37 @@
+var searchData=
+[
+ ['oseventflagsattr_5ft',['osEventFlagsAttr_t',['../group__CMSIS__RTOS__EventFlags.html#structosEventFlagsAttr__t',1,'']]],
+ ['osmemorypoolattr_5ft',['osMemoryPoolAttr_t',['../group__CMSIS__RTOS__PoolMgmt.html#structosMemoryPoolAttr__t',1,'']]],
+ ['osmessagequeueattr_5ft',['osMessageQueueAttr_t',['../group__CMSIS__RTOS__Message.html#structosMessageQueueAttr__t',1,'']]],
+ ['osmutexattr_5ft',['osMutexAttr_t',['../group__CMSIS__RTOS__MutexMgmt.html#structosMutexAttr__t',1,'']]],
+ ['osrtxconfig_5ft',['osRtxConfig_t',['../rtx__os_8h.html#structosRtxConfig__t',1,'']]],
+ ['osrtxconfig_5ft_2eisr_5fqueue',['osRtxConfig_t.isr_queue',['../rtx__os_8h.html#structosRtxConfig__t_8isr__queue',1,'']]],
+ ['osrtxconfig_5ft_2emem',['osRtxConfig_t.mem',['../rtx__os_8h.html#structosRtxConfig__t_8mem',1,'']]],
+ ['osrtxconfig_5ft_2empi',['osRtxConfig_t.mpi',['../rtx__os_8h.html#structosRtxConfig__t_8mpi',1,'']]],
+ ['osrtxeventflags_5ft',['osRtxEventFlags_t',['../rtx__os_8h.html#structosRtxEventFlags__t',1,'']]],
+ ['osrtxinfo_5ft',['osRtxInfo_t',['../rtx__os_8h.html#structosRtxInfo__t',1,'']]],
+ ['osrtxinfo_5ft_2eisr_5fqueue',['osRtxInfo_t.isr_queue',['../rtx__os_8h.html#structosRtxInfo__t_8isr__queue',1,'']]],
+ ['osrtxinfo_5ft_2ekernel',['osRtxInfo_t.kernel',['../rtx__os_8h.html#structosRtxInfo__t_8kernel',1,'']]],
+ ['osrtxinfo_5ft_2emem',['osRtxInfo_t.mem',['../rtx__os_8h.html#structosRtxInfo__t_8mem',1,'']]],
+ ['osrtxinfo_5ft_2empi',['osRtxInfo_t.mpi',['../rtx__os_8h.html#structosRtxInfo__t_8mpi',1,'']]],
+ ['osrtxinfo_5ft_2epost_5fprocess',['osRtxInfo_t.post_process',['../structosRtxInfo__t_8post__process.html',1,'']]],
+ ['osrtxinfo_5ft_2ethread',['osRtxInfo_t.thread',['../rtx__os_8h.html#structosRtxInfo__t_8thread',1,'']]],
+ ['osrtxinfo_5ft_2ethread_2erobin',['osRtxInfo_t.thread.robin',['../rtx__os_8h.html#structosRtxInfo__t_8thread_8robin',1,'']]],
+ ['osrtxinfo_5ft_2ethread_2erun',['osRtxInfo_t.thread.run',['../rtx__os_8h.html#structosRtxInfo__t_8thread_8run',1,'']]],
+ ['osrtxinfo_5ft_2etimer',['osRtxInfo_t.timer',['../structosRtxInfo__t_8timer.html',1,'']]],
+ ['osrtxmemorypool_5ft',['osRtxMemoryPool_t',['../rtx__os_8h.html#structosRtxMemoryPool__t',1,'']]],
+ ['osrtxmessage_5ft',['osRtxMessage_t',['../rtx__os_8h.html#structosRtxMessage__t',1,'']]],
+ ['osrtxmessagequeue_5ft',['osRtxMessageQueue_t',['../rtx__os_8h.html#structosRtxMessageQueue__t',1,'']]],
+ ['osrtxmpinfo_5ft',['osRtxMpInfo_t',['../rtx__os_8h.html#structosRtxMpInfo__t',1,'']]],
+ ['osrtxmutex_5ft',['osRtxMutex_t',['../rtx__os_8h.html#structosRtxMutex__t',1,'']]],
+ ['osrtxobject_5ft',['osRtxObject_t',['../rtx__os_8h.html#structosRtxObject__t',1,'']]],
+ ['osrtxobjectmemusage_5ft',['osRtxObjectMemUsage_t',['../rtx__os_8h.html#structosRtxObjectMemUsage__t',1,'']]],
+ ['osrtxsemaphore_5ft',['osRtxSemaphore_t',['../rtx__os_8h.html#structosRtxSemaphore__t',1,'']]],
+ ['osrtxthread_5ft',['osRtxThread_t',['../rtx__os_8h.html#structosRtxThread__t',1,'']]],
+ ['osrtxtimer_5ft',['osRtxTimer_t',['../rtx__os_8h.html#structosRtxTimer__t',1,'']]],
+ ['osrtxtimerfinfo_5ft',['osRtxTimerFinfo_t',['../rtx__os_8h.html#structosRtxTimerFinfo__t',1,'']]],
+ ['ossemaphoreattr_5ft',['osSemaphoreAttr_t',['../group__CMSIS__RTOS__SemaphoreMgmt.html#structosSemaphoreAttr__t',1,'']]],
+ ['osthreadattr_5ft',['osThreadAttr_t',['../group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t',1,'']]],
+ ['ostimerattr_5ft',['osTimerAttr_t',['../group__CMSIS__RTOS__TimerMgmt.html#structosTimerAttr__t',1,'']]],
+ ['osversion_5ft',['osVersion_t',['../group__CMSIS__RTOS__KernelCtrl.html#structosVersion__t',1,'']]]
+];
diff --git a/docs/RTOS2/html/search/close.png b/docs/RTOS2/html/search/close.png
new file mode 100644
index 0000000..9342d3d
--- /dev/null
+++ b/docs/RTOS2/html/search/close.png
Binary files differ
diff --git a/docs/RTOS2/html/search/defines_0.html b/docs/RTOS2/html/search/defines_0.html
new file mode 100644
index 0000000..c2f0b46
--- /dev/null
+++ b/docs/RTOS2/html/search/defines_0.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="defines_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/defines_0.js b/docs/RTOS2/html/search/defines_0.js
new file mode 100644
index 0000000..4e3f0ab
--- /dev/null
+++ b/docs/RTOS2/html/search/defines_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['_5f_5fno_5freturn',['__NO_RETURN',['../cmsis__os2_8h.html#a153a4a31b276a9758959580538720a51',1,'cmsis_os2.h']]]
+];
diff --git a/docs/RTOS2/html/search/defines_1.html b/docs/RTOS2/html/search/defines_1.html
new file mode 100644
index 0000000..9e1d9fa
--- /dev/null
+++ b/docs/RTOS2/html/search/defines_1.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="defines_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/defines_1.js b/docs/RTOS2/html/search/defines_1.js
new file mode 100644
index 0000000..da5c350
--- /dev/null
+++ b/docs/RTOS2/html/search/defines_1.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['irqhandler_5ft',['IRQHANDLER_T',['../os__tick_8h.html#aed032df21f11e8715f5c4deeeb56cc36',1,'os_tick.h']]]
+];
diff --git a/docs/RTOS2/html/search/defines_2.html b/docs/RTOS2/html/search/defines_2.html
new file mode 100644
index 0000000..6ef4b98
--- /dev/null
+++ b/docs/RTOS2/html/search/defines_2.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="defines_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/defines_2.js b/docs/RTOS2/html/search/defines_2.js
new file mode 100644
index 0000000..64a7533
--- /dev/null
+++ b/docs/RTOS2/html/search/defines_2.js
@@ -0,0 +1,68 @@
+var searchData=
+[
+ ['osflagserror',['osFlagsError',['../cmsis__os2_8h.html#a01c1359c3a5640bff6e08f09bf94ce3a',1,'cmsis_os2.h']]],
+ ['osrtxconfigprivilegedmode',['osRtxConfigPrivilegedMode',['../rtx__os_8h.html#a0eb4da5bed45820d732e23483b870152',1,'rtx_os.h']]],
+ ['osrtxconfigstackcheck',['osRtxConfigStackCheck',['../rtx__os_8h.html#a77f3e906438a6693524cdc257cb0bf23',1,'rtx_os.h']]],
+ ['osrtxconfigstackwatermark',['osRtxConfigStackWatermark',['../rtx__os_8h.html#a62205cc79ec5d95b45f5ebfdf126438c',1,'rtx_os.h']]],
+ ['osrtxerrorinvalidcontrolblock',['osRtxErrorInvalidControlBlock',['../rtx__evr_8h.html#a56335b5b0a3f932e06aa764d185b6a60',1,'rtx_evr.h']]],
+ ['osrtxerrorinvaliddatamemory',['osRtxErrorInvalidDataMemory',['../rtx__evr_8h.html#a037115a16032074ae1a82d64c160338b',1,'rtx_evr.h']]],
+ ['osrtxerrorinvalidpriority',['osRtxErrorInvalidPriority',['../rtx__evr_8h.html#a45219e125941ecbe7eca030fd2f40d7a',1,'rtx_evr.h']]],
+ ['osrtxerrorinvalidthreadstack',['osRtxErrorInvalidThreadStack',['../rtx__evr_8h.html#a5cabacbb758a1bc5012cae2292771726',1,'rtx_evr.h']]],
+ ['osrtxerrorkernelnotready',['osRtxErrorKernelNotReady',['../rtx__evr_8h.html#a168269d3a1264ac7a7427f8642e358a4',1,'rtx_evr.h']]],
+ ['osrtxerrorkernelnotrunning',['osRtxErrorKernelNotRunning',['../rtx__evr_8h.html#a8a916c6a8ad67a38c29ca2e2141d1540',1,'rtx_evr.h']]],
+ ['osrtxerrormutexlocklimit',['osRtxErrorMutexLockLimit',['../rtx__evr_8h.html#a949198d164108954151e89607a1504a7',1,'rtx_evr.h']]],
+ ['osrtxerrormutexnotlocked',['osRtxErrorMutexNotLocked',['../rtx__evr_8h.html#a4fc98ec7f644bc7156af58431043171a',1,'rtx_evr.h']]],
+ ['osrtxerrormutexnotowned',['osRtxErrorMutexNotOwned',['../rtx__evr_8h.html#a2abf2bd19d5d80399c129e7b79e19e9a',1,'rtx_evr.h']]],
+ ['osrtxerrorsemaphorecountlimit',['osRtxErrorSemaphoreCountLimit',['../rtx__evr_8h.html#a4266d3dd5e7bbd2693dd53d00d80bc4c',1,'rtx_evr.h']]],
+ ['osrtxerrorthreadnotjoinable',['osRtxErrorThreadNotJoinable',['../rtx__evr_8h.html#a1955ed26bf52d4fd07a73961ee6a1478',1,'rtx_evr.h']]],
+ ['osrtxerrortz_5falloccontext_5fs',['osRtxErrorTZ_AllocContext_S',['../rtx__evr_8h.html#a787925e3c31997d22bb7ea985b69c3db',1,'rtx_evr.h']]],
+ ['osrtxerrortz_5ffreecontext_5fs',['osRtxErrorTZ_FreeContext_S',['../rtx__evr_8h.html#a8b1b28f13acfecfec665a3759ce69991',1,'rtx_evr.h']]],
+ ['osrtxerrortz_5finitcontext_5fs',['osRtxErrorTZ_InitContext_S',['../rtx__evr_8h.html#a33f2affc96c91cf39a3986e4bd119c5c',1,'rtx_evr.h']]],
+ ['osrtxerrortz_5floadcontext_5fs',['osRtxErrorTZ_LoadContext_S',['../rtx__evr_8h.html#a3e9b3fdece321c3766bc6bc1a35e9cf6',1,'rtx_evr.h']]],
+ ['osrtxerrortz_5fsavecontext_5fs',['osRtxErrorTZ_SaveContext_S',['../rtx__evr_8h.html#ad600f514856926fc313a5f7dc0c3d422',1,'rtx_evr.h']]],
+ ['osrtxeventflagslimit',['osRtxEventFlagsLimit',['../rtx__os_8h.html#a271653c08ecb64dbb2d0ce8a51ddb4c2',1,'rtx_os.h']]],
+ ['osrtxflagsystemmemory',['osRtxFlagSystemMemory',['../rtx__os_8h.html#ade9b85b84a6199a1cc3653058def19f3',1,'rtx_os.h']]],
+ ['osrtxflagsystemobject',['osRtxFlagSystemObject',['../rtx__os_8h.html#a797c4d97bb5e216e6901c1e30e96cb34',1,'rtx_os.h']]],
+ ['osrtxideventflags',['osRtxIdEventFlags',['../rtx__os_8h.html#aa9b41f7b0dc38018a7db915df5e716cc',1,'rtx_os.h']]],
+ ['osrtxidinvalid',['osRtxIdInvalid',['../rtx__os_8h.html#ad78a646169b7b4bfa2a278d08fe21fa5',1,'rtx_os.h']]],
+ ['osrtxidmemorypool',['osRtxIdMemoryPool',['../rtx__os_8h.html#a3cddbd1d03aedae758445d17db319fec',1,'rtx_os.h']]],
+ ['osrtxidmessage',['osRtxIdMessage',['../rtx__os_8h.html#a84bb69c0a0d02b2adc4d499803ccb063',1,'rtx_os.h']]],
+ ['osrtxidmessagequeue',['osRtxIdMessageQueue',['../rtx__os_8h.html#a260226a1f72b4a333f01573430b60b17',1,'rtx_os.h']]],
+ ['osrtxidmutex',['osRtxIdMutex',['../rtx__os_8h.html#a086574b10e90122f5228decea0a5d3dc',1,'rtx_os.h']]],
+ ['osrtxidsemaphore',['osRtxIdSemaphore',['../rtx__os_8h.html#a4778b8ce61af3d942501bb4ff28c18f1',1,'rtx_os.h']]],
+ ['osrtxidthread',['osRtxIdThread',['../rtx__os_8h.html#ad6f0f1f1b4e1b8c2615429d6a24ca8f5',1,'rtx_os.h']]],
+ ['osrtxidtimer',['osRtxIdTimer',['../rtx__os_8h.html#a5e8dd6b61e9b09d20aeea8434861950e',1,'rtx_os.h']]],
+ ['osrtxkernelid',['osRtxKernelId',['../rtx__os_8h.html#a47e0637d30eed2357b238cbb19dbb058',1,'rtx_os.h']]],
+ ['osrtxkernelinactive',['osRtxKernelInactive',['../rtx__os_8h.html#a7543c3b497052bdbfbfbc3debc5f0a6e',1,'rtx_os.h']]],
+ ['osrtxkernellocked',['osRtxKernelLocked',['../rtx__os_8h.html#a9c20a179e70e74fa9fe9f9ba275cc73b',1,'rtx_os.h']]],
+ ['osrtxkernelready',['osRtxKernelReady',['../rtx__os_8h.html#ab793b30296108737eb356871d266e2a2',1,'rtx_os.h']]],
+ ['osrtxkernelrunning',['osRtxKernelRunning',['../rtx__os_8h.html#a337ee876c540b4f4e9d680497eed9fdc',1,'rtx_os.h']]],
+ ['osrtxkernelsuspended',['osRtxKernelSuspended',['../rtx__os_8h.html#a751dd07663970abe0305de11d52812a7',1,'rtx_os.h']]],
+ ['osrtxmutexlocklimit',['osRtxMutexLockLimit',['../rtx__os_8h.html#ade5d158c28233a45ad1fc9a1156373f6',1,'rtx_os.h']]],
+ ['osrtxsemaphoretokenlimit',['osRtxSemaphoreTokenLimit',['../rtx__os_8h.html#a14c7bcf532389ed285827cf5497d09eb',1,'rtx_os.h']]],
+ ['osrtxstackfillpattern',['osRtxStackFillPattern',['../rtx__os_8h.html#a7dbaedf90584739e6d938d69d2621855',1,'rtx_os.h']]],
+ ['osrtxstackmagicword',['osRtxStackMagicWord',['../rtx__os_8h.html#aabdbbcf214681666d06629397463093f',1,'rtx_os.h']]],
+ ['osrtxthreadblocked',['osRtxThreadBlocked',['../rtx__os_8h.html#a30e61895c9ec7941715dd4747b11d5b3',1,'rtx_os.h']]],
+ ['osrtxthreadflagdefstack',['osRtxThreadFlagDefStack',['../rtx__os_8h.html#a733199fdb7675dbf99d5e6d17c126a96',1,'rtx_os.h']]],
+ ['osrtxthreadflagslimit',['osRtxThreadFlagsLimit',['../rtx__os_8h.html#a73248d08e2db1ef9941cf8fcf24ddba9',1,'rtx_os.h']]],
+ ['osrtxthreadinactive',['osRtxThreadInactive',['../rtx__os_8h.html#a2552be237293212f43fc08bf3ec02e67',1,'rtx_os.h']]],
+ ['osrtxthreadready',['osRtxThreadReady',['../rtx__os_8h.html#a7c1e9dfefafc53162f076b0430a0e595',1,'rtx_os.h']]],
+ ['osrtxthreadrunning',['osRtxThreadRunning',['../rtx__os_8h.html#ad9615557219eecdbca536d4280e72604',1,'rtx_os.h']]],
+ ['osrtxthreadstatemask',['osRtxThreadStateMask',['../rtx__os_8h.html#ad486f6d40fcd8e9569ab415373d912e4',1,'rtx_os.h']]],
+ ['osrtxthreadterminated',['osRtxThreadTerminated',['../rtx__os_8h.html#a3011758dc91d1dd134ec48b816b67d50',1,'rtx_os.h']]],
+ ['osrtxthreadwaitingdelay',['osRtxThreadWaitingDelay',['../rtx__os_8h.html#a9fcd1ecba034b5fc15e991311736ec4e',1,'rtx_os.h']]],
+ ['osrtxthreadwaitingeventflags',['osRtxThreadWaitingEventFlags',['../rtx__os_8h.html#a6c4c8b1563e28aa5b947346cb5db3c69',1,'rtx_os.h']]],
+ ['osrtxthreadwaitingjoin',['osRtxThreadWaitingJoin',['../rtx__os_8h.html#a88ca40f569d87366a69451ed43759453',1,'rtx_os.h']]],
+ ['osrtxthreadwaitingmemorypool',['osRtxThreadWaitingMemoryPool',['../rtx__os_8h.html#aa87cea70df1acf71f6358de9b65722a4',1,'rtx_os.h']]],
+ ['osrtxthreadwaitingmessageget',['osRtxThreadWaitingMessageGet',['../rtx__os_8h.html#a881830bb0c1488cd15bd1a412bc16800',1,'rtx_os.h']]],
+ ['osrtxthreadwaitingmessageput',['osRtxThreadWaitingMessagePut',['../rtx__os_8h.html#a7502524f6911edc751111422eaf66a43',1,'rtx_os.h']]],
+ ['osrtxthreadwaitingmutex',['osRtxThreadWaitingMutex',['../rtx__os_8h.html#ae99ccb8b4d1a85c1abb6ab39933690a6',1,'rtx_os.h']]],
+ ['osrtxthreadwaitingsemaphore',['osRtxThreadWaitingSemaphore',['../rtx__os_8h.html#acbe0a0cd73d487b82501b584caf4a472',1,'rtx_os.h']]],
+ ['osrtxthreadwaitingthreadflags',['osRtxThreadWaitingThreadFlags',['../rtx__os_8h.html#a41174e493bdf7e3a1e35306703bcd63c',1,'rtx_os.h']]],
+ ['osrtxtimerinactive',['osRtxTimerInactive',['../rtx__os_8h.html#a66bea72c0cffd25c7cb32419283a7b92',1,'rtx_os.h']]],
+ ['osrtxtimerperiodic',['osRtxTimerPeriodic',['../rtx__os_8h.html#accc1542de31e0c7367d452e9de035bb4',1,'rtx_os.h']]],
+ ['osrtxtimerrunning',['osRtxTimerRunning',['../rtx__os_8h.html#aed55034470990d4593eb614e26c1eea7',1,'rtx_os.h']]],
+ ['osrtxtimerstopped',['osRtxTimerStopped',['../rtx__os_8h.html#ab01076b285029ac6d22dbde69167c96e',1,'rtx_os.h']]],
+ ['osrtxversionapi',['osRtxVersionAPI',['../rtx__os_8h.html#aea20a2b373e98ae88a7cf7e4a56b118f',1,'rtx_os.h']]],
+ ['osrtxversionkernel',['osRtxVersionKernel',['../rtx__os_8h.html#ad854168120979e8c60630e0140e104e8',1,'rtx_os.h']]]
+];
diff --git a/docs/RTOS2/html/search/defines_3.html b/docs/RTOS2/html/search/defines_3.html
new file mode 100644
index 0000000..e575d66
--- /dev/null
+++ b/docs/RTOS2/html/search/defines_3.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="defines_3.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/defines_3.js b/docs/RTOS2/html/search/defines_3.js
new file mode 100644
index 0000000..d8b9ad2
--- /dev/null
+++ b/docs/RTOS2/html/search/defines_3.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['tz_5fmoduleid_5ft',['TZ_MODULEID_T',['../cmsis__os2_8h.html#a78775dae56f0c9698cdab6e1ca74503f',1,'cmsis_os2.h']]]
+];
diff --git a/docs/RTOS2/html/search/enums_0.html b/docs/RTOS2/html/search/enums_0.html
new file mode 100644
index 0000000..b4cbe1e
--- /dev/null
+++ b/docs/RTOS2/html/search/enums_0.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="enums_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/enums_0.js b/docs/RTOS2/html/search/enums_0.js
new file mode 100644
index 0000000..3a66721
--- /dev/null
+++ b/docs/RTOS2/html/search/enums_0.js
@@ -0,0 +1,8 @@
+var searchData=
+[
+ ['oskernelstate_5ft',['osKernelState_t',['../group__CMSIS__RTOS__KernelCtrl.html#ga08326469274b668140ca934b168a5ad4',1,'cmsis_os2.h']]],
+ ['ospriority_5ft',['osPriority_t',['../group__CMSIS__RTOS__ThreadMgmt.html#gad4e3e0971b41f2d17584a8c6837342ec',1,'cmsis_os2.h']]],
+ ['osstatus_5ft',['osStatus_t',['../group__CMSIS__RTOS__Definitions.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813e',1,'cmsis_os2.h']]],
+ ['osthreadstate_5ft',['osThreadState_t',['../group__CMSIS__RTOS__ThreadMgmt.html#gad3dc89e942e38d9f3af858a0269a820d',1,'cmsis_os2.h']]],
+ ['ostimertype_5ft',['osTimerType_t',['../group__CMSIS__RTOS__TimerMgmt.html#ga7dc24a4c2b90334427081c3da7a71915',1,'cmsis_os2.h']]]
+];
diff --git a/docs/RTOS2/html/search/enumvalues_0.html b/docs/RTOS2/html/search/enumvalues_0.html
new file mode 100644
index 0000000..3e00fcf
--- /dev/null
+++ b/docs/RTOS2/html/search/enumvalues_0.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="enumvalues_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/enumvalues_0.js b/docs/RTOS2/html/search/enumvalues_0.js
new file mode 100644
index 0000000..ce7f998
--- /dev/null
+++ b/docs/RTOS2/html/search/enumvalues_0.js
@@ -0,0 +1,80 @@
+var searchData=
+[
+ ['oserror',['osError',['../cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813eabb7b2d2c4efa66df42f1c10635467b09',1,'cmsis_os2.h']]],
+ ['oserrorisr',['osErrorISR',['../cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea21635bdc492d3094fe83027fa4a30e2f',1,'cmsis_os2.h']]],
+ ['oserrornomemory',['osErrorNoMemory',['../cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813eaf1fac0240218e51eb30a13da2f8aae81',1,'cmsis_os2.h']]],
+ ['oserrorparameter',['osErrorParameter',['../cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813eac24adca6a5d072c9f01c32178ba0d109',1,'cmsis_os2.h']]],
+ ['oserrorresource',['osErrorResource',['../cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea8fc5801e8b0482bdf22ad63a77f0155d',1,'cmsis_os2.h']]],
+ ['oserrortimeout',['osErrorTimeout',['../cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea913eb5df15ad85f8557eb3a456b56879',1,'cmsis_os2.h']]],
+ ['oskernelerror',['osKernelError',['../cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a0545c92c18ce8e6b24e82a0d694a0b4a',1,'cmsis_os2.h']]],
+ ['oskernelinactive',['osKernelInactive',['../cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a2ad3e5912db47b497529d036c89e7995',1,'cmsis_os2.h']]],
+ ['oskernellocked',['osKernelLocked',['../cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a2fe382ad5ebab2257b35740414b28b01',1,'cmsis_os2.h']]],
+ ['oskernelready',['osKernelReady',['../cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a0596c6e14113447604753656417c9a24',1,'cmsis_os2.h']]],
+ ['oskernelreserved',['osKernelReserved',['../cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4ab0a47576defa29396a649d9173d4bc4b',1,'cmsis_os2.h']]],
+ ['oskernelrunning',['osKernelRunning',['../cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4a8e0b699fbe1c8bb66fefadd5911cb6ce',1,'cmsis_os2.h']]],
+ ['oskernelsuspended',['osKernelSuspended',['../cmsis__os2_8h.html#ga08326469274b668140ca934b168a5ad4ad364464ad84d63b1413a9ac8a962390c',1,'cmsis_os2.h']]],
+ ['osok',['osOK',['../cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea9e1c9e2550bb4de8969a935acffc968f',1,'cmsis_os2.h']]],
+ ['ospriorityabovenormal',['osPriorityAboveNormal',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca17b36cd9cd38652c2bc6d4803990674b',1,'cmsis_os2.h']]],
+ ['ospriorityabovenormal1',['osPriorityAboveNormal1',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecabfeafc713edfc7b9130aa5c762d68998',1,'cmsis_os2.h']]],
+ ['ospriorityabovenormal2',['osPriorityAboveNormal2',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca901acf86070e06f5990b611734ee2562',1,'cmsis_os2.h']]],
+ ['ospriorityabovenormal3',['osPriorityAboveNormal3',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecad566b876b64e6efdc3eba0fc04e54013',1,'cmsis_os2.h']]],
+ ['ospriorityabovenormal4',['osPriorityAboveNormal4',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca6ccac37d7dae4586a2031966d36a63ec',1,'cmsis_os2.h']]],
+ ['ospriorityabovenormal5',['osPriorityAboveNormal5',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecae36e8b38ee046a3104bcccabb10cf78c',1,'cmsis_os2.h']]],
+ ['ospriorityabovenormal6',['osPriorityAboveNormal6',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca61e6ce27e1e0f34f2540b413b8a8b207',1,'cmsis_os2.h']]],
+ ['ospriorityabovenormal7',['osPriorityAboveNormal7',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecadbbb0fed3ada6b9b50d4a628abc2a67d',1,'cmsis_os2.h']]],
+ ['osprioritybelownormal',['osPriorityBelowNormal',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca193b650117c209b4a203954542bcc3e6',1,'cmsis_os2.h']]],
+ ['osprioritybelownormal1',['osPriorityBelowNormal1',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca9138da7187690b15f52d8e5729c18da5',1,'cmsis_os2.h']]],
+ ['osprioritybelownormal2',['osPriorityBelowNormal2',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca4f081d6735bf2f513338b07eddf13ae3',1,'cmsis_os2.h']]],
+ ['osprioritybelownormal3',['osPriorityBelowNormal3',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca19c013690d0d6bf3ac90707942be3fdf',1,'cmsis_os2.h']]],
+ ['osprioritybelownormal4',['osPriorityBelowNormal4',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca36931ad6cee5e4700e2c8622bdd2cd24',1,'cmsis_os2.h']]],
+ ['osprioritybelownormal5',['osPriorityBelowNormal5',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca0bcd9ad1e7a02e3bf03be7dcc8ece38e',1,'cmsis_os2.h']]],
+ ['osprioritybelownormal6',['osPriorityBelowNormal6',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecabd3cc7df5b92b752ddf1e7843a786c05',1,'cmsis_os2.h']]],
+ ['osprioritybelownormal7',['osPriorityBelowNormal7',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecab18e3bda7b5e418e309a62d6267ea14b',1,'cmsis_os2.h']]],
+ ['ospriorityerror',['osPriorityError',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecae35f5e2f9c64ad346822521b643bdea4',1,'cmsis_os2.h']]],
+ ['ospriorityhigh',['osPriorityHigh',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca914433934143a9ba767e59577c56e6c2',1,'cmsis_os2.h']]],
+ ['ospriorityhigh1',['osPriorityHigh1',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca17b7a7e6febf12444a84e90edfce36cb',1,'cmsis_os2.h']]],
+ ['ospriorityhigh2',['osPriorityHigh2',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca40a120cf8bbc42e575455c027f3d9b03',1,'cmsis_os2.h']]],
+ ['ospriorityhigh3',['osPriorityHigh3',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca0b15518b0b5321a29efa0b42b2f8c759',1,'cmsis_os2.h']]],
+ ['ospriorityhigh4',['osPriorityHigh4',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecafe5a4f393fab04551ac7d93e80cdf0fb',1,'cmsis_os2.h']]],
+ ['ospriorityhigh5',['osPriorityHigh5',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca5960841bfbdd959b163429e8502ea4e9',1,'cmsis_os2.h']]],
+ ['ospriorityhigh6',['osPriorityHigh6',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca5714dda6effc1a3f8ec155d97e3e69bc',1,'cmsis_os2.h']]],
+ ['ospriorityhigh7',['osPriorityHigh7',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca63ad0cc52a701ef3d9df52b59b995652',1,'cmsis_os2.h']]],
+ ['ospriorityidle',['osPriorityIdle',['../group__CMSIS__RTOS__ThreadMgmt.html#ggad4e3e0971b41f2d17584a8c6837342ecacd5864eac01a6916a7c866bb51a6aac1',1,'cmsis_os2.h']]],
+ ['ospriorityisr',['osPriorityISR',['../group__CMSIS__RTOS__ThreadMgmt.html#ggad4e3e0971b41f2d17584a8c6837342eca4b4fa46c3ebaf4259662a0a0a3173b7f',1,'cmsis_os2.h']]],
+ ['osprioritylow',['osPriorityLow',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca61cb822239ac8f66dfbdc7291598a3d4',1,'cmsis_os2.h']]],
+ ['osprioritylow1',['osPriorityLow1',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecaba2b6919f0b630c8c1b2c940e3bfadbe',1,'cmsis_os2.h']]],
+ ['osprioritylow2',['osPriorityLow2',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca78ad5d00aa07a2b4bf30a639544f5507',1,'cmsis_os2.h']]],
+ ['osprioritylow3',['osPriorityLow3',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca28ccb07942c16f5f5efefb6cf68a7f50',1,'cmsis_os2.h']]],
+ ['osprioritylow4',['osPriorityLow4',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca5a4a4f26d5b220a968e221e854f69a81',1,'cmsis_os2.h']]],
+ ['osprioritylow5',['osPriorityLow5',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecad69b8c14809bc5bdce4887f5a57d9353',1,'cmsis_os2.h']]],
+ ['osprioritylow6',['osPriorityLow6',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecac0f188468664d06d4cd9e6e1ed351393',1,'cmsis_os2.h']]],
+ ['osprioritylow7',['osPriorityLow7',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca5b151ebba7fdeb1baaa9b7b420890b7a',1,'cmsis_os2.h']]],
+ ['osprioritynone',['osPriorityNone',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca6c437c7185161a3bd1e7e4669dfa17a3',1,'cmsis_os2.h']]],
+ ['osprioritynormal',['osPriorityNormal',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca45a2895ad30c79fb97de18cac7cc19f1',1,'cmsis_os2.h']]],
+ ['osprioritynormal1',['osPriorityNormal1',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca3e70c19e03d5a54e66bd071f0776782c',1,'cmsis_os2.h']]],
+ ['osprioritynormal2',['osPriorityNormal2',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca19e96f2b025b6462a43b1965043c8205',1,'cmsis_os2.h']]],
+ ['osprioritynormal3',['osPriorityNormal3',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca402bd7ab26fb57c8cee8cf94168f4c91',1,'cmsis_os2.h']]],
+ ['osprioritynormal4',['osPriorityNormal4',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca93ef07d3a107aeee6508bfd29ba3485d',1,'cmsis_os2.h']]],
+ ['osprioritynormal5',['osPriorityNormal5',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca68f3f6fdaa639de300277802aa13a0ab',1,'cmsis_os2.h']]],
+ ['osprioritynormal6',['osPriorityNormal6',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca8221eb0d059726a6309f1f2d0cdb6204',1,'cmsis_os2.h']]],
+ ['osprioritynormal7',['osPriorityNormal7',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca049abd04f8951415407ec9d92bd9b80b',1,'cmsis_os2.h']]],
+ ['ospriorityrealtime',['osPriorityRealtime',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca1485dec3702434a1ec3cb74c7a17a4af',1,'cmsis_os2.h']]],
+ ['ospriorityrealtime1',['osPriorityRealtime1',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecaf685a06b30f0635476e21347a986305b',1,'cmsis_os2.h']]],
+ ['ospriorityrealtime2',['osPriorityRealtime2',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecab832bd9de84e5eec2ecad69d085dadff',1,'cmsis_os2.h']]],
+ ['ospriorityrealtime3',['osPriorityRealtime3',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca3f2261e5e733e92844ae8c630f2f9eaa',1,'cmsis_os2.h']]],
+ ['ospriorityrealtime4',['osPriorityRealtime4',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecaf614e3dc966d559cd9d9d2a0f78ebe70',1,'cmsis_os2.h']]],
+ ['ospriorityrealtime5',['osPriorityRealtime5',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecaff84f31ceff203c711fb9476443507df',1,'cmsis_os2.h']]],
+ ['ospriorityrealtime6',['osPriorityRealtime6',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca80ae9d0dd256312c0c8f44af48316194',1,'cmsis_os2.h']]],
+ ['ospriorityrealtime7',['osPriorityRealtime7',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecaa76da6825c4bd31c4958200bc289103b',1,'cmsis_os2.h']]],
+ ['ospriorityreserved',['osPriorityReserved',['../cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342ecac86c171f8d466cced0cb1b03bb03343b',1,'cmsis_os2.h']]],
+ ['osstatusreserved',['osStatusReserved',['../cmsis__os2_8h.html#ga6c0dbe6069e4e7f47bb4cd32ae2b813ea66cc9ce9106b508df0e4a733a55a439d',1,'cmsis_os2.h']]],
+ ['osthreadblocked',['osThreadBlocked',['../group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820daf0e992e354fba8695957c530226a4968',1,'cmsis_os2.h']]],
+ ['osthreaderror',['osThreadError',['../group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820da339313e26613bc12f66a852e2ff8745e',1,'cmsis_os2.h']]],
+ ['osthreadinactive',['osThreadInactive',['../group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820dae9d77830b6866e287417b6e1d983e971',1,'cmsis_os2.h']]],
+ ['osthreadready',['osThreadReady',['../group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820da59e286915944fe0e4d1ffdb1f2946f14',1,'cmsis_os2.h']]],
+ ['osthreadreserved',['osThreadReserved',['../cmsis__os2_8h.html#gad3dc89e942e38d9f3af858a0269a820da8872f7e352370eb11ee772c7dcca6e6c',1,'cmsis_os2.h']]],
+ ['osthreadrunning',['osThreadRunning',['../group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820dac4fe336e0790188fcf7d667372eca19d',1,'cmsis_os2.h']]],
+ ['osthreadterminated',['osThreadTerminated',['../group__CMSIS__RTOS__ThreadMgmt.html#ggad3dc89e942e38d9f3af858a0269a820dad5b2726c2d0228f4f1a76cf6b630963c',1,'cmsis_os2.h']]],
+ ['ostimeronce',['osTimerOnce',['../group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915a2e0e1f31c742c84b497c4d7143357bdb',1,'cmsis_os2.h']]],
+ ['ostimerperiodic',['osTimerPeriodic',['../group__CMSIS__RTOS__TimerMgmt.html#gga7dc24a4c2b90334427081c3da7a71915ab3463d921dc310938094745c230f2b35',1,'cmsis_os2.h']]]
+];
diff --git a/docs/RTOS2/html/search/files_0.html b/docs/RTOS2/html/search/files_0.html
new file mode 100644
index 0000000..c7aa36c
--- /dev/null
+++ b/docs/RTOS2/html/search/files_0.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/files_0.js b/docs/RTOS2/html/search/files_0.js
new file mode 100644
index 0000000..dbeea2f
--- /dev/null
+++ b/docs/RTOS2/html/search/files_0.js
@@ -0,0 +1,19 @@
+var searchData=
+[
+ ['cmsis_5fos2_2eh',['cmsis_os2.h',['../cmsis__os2_8h.html',1,'']]],
+ ['cmsis_5fos2_2etxt',['cmsis_os2.txt',['../cmsis__os2_8txt.html',1,'']]],
+ ['cmsis_5fos2_5fevent_2etxt',['cmsis_os2_Event.txt',['../cmsis__os2__Event_8txt.html',1,'']]],
+ ['cmsis_5fos2_5fkernel_2etxt',['cmsis_os2_Kernel.txt',['../cmsis__os2__Kernel_8txt.html',1,'']]],
+ ['cmsis_5fos2_5fmempool_2etxt',['cmsis_os2_MemPool.txt',['../cmsis__os2__MemPool_8txt.html',1,'']]],
+ ['cmsis_5fos2_5fmessage_2etxt',['cmsis_os2_Message.txt',['../cmsis__os2__Message_8txt.html',1,'']]],
+ ['cmsis_5fos2_5fmigration_2etxt',['cmsis_os2_Migration.txt',['../cmsis__os2__Migration_8txt.html',1,'']]],
+ ['cmsis_5fos2_5fmigrationguide_2etxt',['cmsis_os2_MigrationGuide.txt',['../cmsis__os2__MigrationGuide_8txt.html',1,'']]],
+ ['cmsis_5fos2_5fmutex_2etxt',['cmsis_os2_Mutex.txt',['../cmsis__os2__Mutex_8txt.html',1,'']]],
+ ['cmsis_5fos2_5fsema_2etxt',['cmsis_os2_Sema.txt',['../cmsis__os2__Sema_8txt.html',1,'']]],
+ ['cmsis_5fos2_5fstatus_2etxt',['cmsis_os2_Status.txt',['../cmsis__os2__Status_8txt.html',1,'']]],
+ ['cmsis_5fos2_5fthread_2etxt',['cmsis_os2_Thread.txt',['../cmsis__os2__Thread_8txt.html',1,'']]],
+ ['cmsis_5fos2_5fthreadflags_2etxt',['cmsis_os2_ThreadFlags.txt',['../cmsis__os2__ThreadFlags_8txt.html',1,'']]],
+ ['cmsis_5fos2_5ftick_2etxt',['cmsis_os2_tick.txt',['../cmsis__os2__tick_8txt.html',1,'']]],
+ ['cmsis_5fos2_5ftimer_2etxt',['cmsis_os2_Timer.txt',['../cmsis__os2__Timer_8txt.html',1,'']]],
+ ['cmsis_5fos2_5fwait_2etxt',['cmsis_os2_Wait.txt',['../cmsis__os2__Wait_8txt.html',1,'']]]
+];
diff --git a/docs/RTOS2/html/search/files_1.html b/docs/RTOS2/html/search/files_1.html
new file mode 100644
index 0000000..eca1c80
--- /dev/null
+++ b/docs/RTOS2/html/search/files_1.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/files_1.js b/docs/RTOS2/html/search/files_1.js
new file mode 100644
index 0000000..1cdddb0
--- /dev/null
+++ b/docs/RTOS2/html/search/files_1.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['history_2etxt',['history.txt',['../history_8txt.html',1,'']]]
+];
diff --git a/docs/RTOS2/html/search/files_2.html b/docs/RTOS2/html/search/files_2.html
new file mode 100644
index 0000000..04a8a46
--- /dev/null
+++ b/docs/RTOS2/html/search/files_2.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/files_2.js b/docs/RTOS2/html/search/files_2.js
new file mode 100644
index 0000000..eafaebe
--- /dev/null
+++ b/docs/RTOS2/html/search/files_2.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['mainpage_2etxt',['mainpage.txt',['../mainpage_8txt.html',1,'']]]
+];
diff --git a/docs/RTOS2/html/search/files_3.html b/docs/RTOS2/html/search/files_3.html
new file mode 100644
index 0000000..0dc9a56
--- /dev/null
+++ b/docs/RTOS2/html/search/files_3.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_3.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/files_3.js b/docs/RTOS2/html/search/files_3.js
new file mode 100644
index 0000000..e4e052d
--- /dev/null
+++ b/docs/RTOS2/html/search/files_3.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['os_5ftick_2eh',['os_tick.h',['../os__tick_8h.html',1,'']]]
+];
diff --git a/docs/RTOS2/html/search/files_4.html b/docs/RTOS2/html/search/files_4.html
new file mode 100644
index 0000000..891b5da
--- /dev/null
+++ b/docs/RTOS2/html/search/files_4.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_4.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/files_4.js b/docs/RTOS2/html/search/files_4.js
new file mode 100644
index 0000000..37e723a
--- /dev/null
+++ b/docs/RTOS2/html/search/files_4.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+ ['rtx_5fevr_2eh',['rtx_evr.h',['../rtx__evr_8h.html',1,'']]],
+ ['rtx_5fevr_2etxt',['rtx_evr.txt',['../rtx__evr_8txt.html',1,'']]],
+ ['rtx_5fos_2eh',['rtx_os.h',['../rtx__os_8h.html',1,'']]],
+ ['rtx_5fos_2etxt',['rtx_os.txt',['../rtx__os_8txt.html',1,'']]]
+];
diff --git a/docs/RTOS2/html/search/files_5.html b/docs/RTOS2/html/search/files_5.html
new file mode 100644
index 0000000..1741195
--- /dev/null
+++ b/docs/RTOS2/html/search/files_5.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_5.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/files_5.js b/docs/RTOS2/html/search/files_5.js
new file mode 100644
index 0000000..887b955
--- /dev/null
+++ b/docs/RTOS2/html/search/files_5.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['validation_2etxt',['validation.txt',['../validation_8txt.html',1,'']]]
+];
diff --git a/docs/RTOS2/html/search/functions_0.html b/docs/RTOS2/html/search/functions_0.html
new file mode 100644
index 0000000..16a5a52
--- /dev/null
+++ b/docs/RTOS2/html/search/functions_0.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/functions_0.js b/docs/RTOS2/html/search/functions_0.js
new file mode 100644
index 0000000..8de95b2
--- /dev/null
+++ b/docs/RTOS2/html/search/functions_0.js
@@ -0,0 +1,170 @@
+var searchData=
+[
+ ['evrrtxeventflagsclear',['EvrRtxEventFlagsClear',['../rtx__evr_8h.html#ab31f9da565b0170d8e89edf0e848f28b',1,'rtx_evr.h']]],
+ ['evrrtxeventflagscleardone',['EvrRtxEventFlagsClearDone',['../rtx__evr_8h.html#a9e4c4e5d45bc721439c1919621a49d5a',1,'rtx_evr.h']]],
+ ['evrrtxeventflagscreated',['EvrRtxEventFlagsCreated',['../group__rtx__evr__event__flasg.html#gaa1f48b9787e3a7d4f56449ed1dd12f26',1,'rtx_evr.h']]],
+ ['evrrtxeventflagsdelete',['EvrRtxEventFlagsDelete',['../group__rtx__evr__event__flasg.html#ga10e98e35999350e9e337c716ba4dc079',1,'rtx_evr.h']]],
+ ['evrrtxeventflagsdestroyed',['EvrRtxEventFlagsDestroyed',['../group__rtx__evr__event__flasg.html#ga2ef153a6ee7a8d72375f81128454ede9',1,'rtx_evr.h']]],
+ ['evrrtxeventflagserror',['EvrRtxEventFlagsError',['../group__rtx__evr__event__flasg.html#gaa281b7380c0fa725faa722badbeb2e5f',1,'rtx_evr.h']]],
+ ['evrrtxeventflagsget',['EvrRtxEventFlagsGet',['../rtx__evr_8h.html#a113c32ff195c612ec2fb6a9dd5740184',1,'rtx_evr.h']]],
+ ['evrrtxeventflagsgetname',['EvrRtxEventFlagsGetName',['../group__rtx__evr__event__flasg.html#gae9ebcbc09a1c15c719d95fe7b8c2ee18',1,'rtx_evr.h']]],
+ ['evrrtxeventflagsnew',['EvrRtxEventFlagsNew',['../group__rtx__evr__event__flasg.html#gae798cdc4cb10ada732e592318037cba7',1,'rtx_evr.h']]],
+ ['evrrtxeventflagsset',['EvrRtxEventFlagsSet',['../rtx__evr_8h.html#a5e5c9bd8a0522fc9301782edd6e5ec1f',1,'rtx_evr.h']]],
+ ['evrrtxeventflagssetdone',['EvrRtxEventFlagsSetDone',['../rtx__evr_8h.html#a5b1b471923918ad294d16255d43ab306',1,'rtx_evr.h']]],
+ ['evrrtxeventflagswait',['EvrRtxEventFlagsWait',['../rtx__evr_8h.html#ac8361874ffdd854e3778f21d070fed24',1,'rtx_evr.h']]],
+ ['evrrtxeventflagswaitcompleted',['EvrRtxEventFlagsWaitCompleted',['../rtx__evr_8h.html#a7b446f241c971db432ebac5d176bd9de',1,'rtx_evr.h']]],
+ ['evrrtxeventflagswaitnotcompleted',['EvrRtxEventFlagsWaitNotCompleted',['../rtx__evr_8h.html#a66f32e4dddc68cdfd56c32b88b7f13ff',1,'rtx_evr.h']]],
+ ['evrrtxeventflagswaitpending',['EvrRtxEventFlagsWaitPending',['../rtx__evr_8h.html#afd598e0b02a31083fb41626d68fa489e',1,'rtx_evr.h']]],
+ ['evrrtxeventflagswaittimeout',['EvrRtxEventFlagsWaitTimeout',['../group__rtx__evr__event__flasg.html#ga877235cbe04188b831b70a3c2237c827',1,'rtx_evr.h']]],
+ ['evrrtxkernelerror',['EvrRtxKernelError',['../group__rtx__evr__kernel.html#ga2a38154886e6293e127bafcfb6f7d609',1,'rtx_evr.h']]],
+ ['evrrtxkernelgetinfo',['EvrRtxKernelGetInfo',['../group__rtx__evr__kernel.html#ga4c2a175b79d39d70a4a5112e270d03f2',1,'rtx_evr.h']]],
+ ['evrrtxkernelgetstate',['EvrRtxKernelGetState',['../group__rtx__evr__kernel.html#gad6407e9ff0910629b041866bd801075a',1,'rtx_evr.h']]],
+ ['evrrtxkernelgetsystimercount',['EvrRtxKernelGetSysTimerCount',['../group__rtx__evr__kernel.html#gafb6530be8201b119015a3f45d66c2f09',1,'rtx_evr.h']]],
+ ['evrrtxkernelgetsystimerfreq',['EvrRtxKernelGetSysTimerFreq',['../group__rtx__evr__kernel.html#gaf2bdfcb7b099295c7b0123abe88e10a3',1,'rtx_evr.h']]],
+ ['evrrtxkernelgettickcount',['EvrRtxKernelGetTickCount',['../group__rtx__evr__kernel.html#ga64431a63437506a6f7fe22637d4891c5',1,'rtx_evr.h']]],
+ ['evrrtxkernelgettickfreq',['EvrRtxKernelGetTickFreq',['../group__rtx__evr__kernel.html#ga7404f3a22af84ad4091c24811fc1bf87',1,'rtx_evr.h']]],
+ ['evrrtxkernelinforetrieved',['EvrRtxKernelInfoRetrieved',['../group__rtx__evr__kernel.html#gaf09b8cd94ad2384e3ab518f0df94a651',1,'rtx_evr.h']]],
+ ['evrrtxkernelinitialize',['EvrRtxKernelInitialize',['../group__rtx__evr__kernel.html#ga7e84d337b452f647c3a3d6937abd6292',1,'rtx_evr.h']]],
+ ['evrrtxkernelinitialized',['EvrRtxKernelInitialized',['../group__rtx__evr__kernel.html#ga5db8d306617656bfec12638e17584d66',1,'rtx_evr.h']]],
+ ['evrrtxkernellock',['EvrRtxKernelLock',['../group__rtx__evr__kernel.html#ga1d0340812c29274c6150fa72288e0612',1,'rtx_evr.h']]],
+ ['evrrtxkernellocked',['EvrRtxKernelLocked',['../group__rtx__evr__kernel.html#gac18ea91ffcae01e893304609a3c6cdc3',1,'rtx_evr.h']]],
+ ['evrrtxkernellockrestored',['EvrRtxKernelLockRestored',['../group__rtx__evr__kernel.html#gaf7be1022a33c13fb44f4059f5636b75a',1,'rtx_evr.h']]],
+ ['evrrtxkernelrestorelock',['EvrRtxKernelRestoreLock',['../group__rtx__evr__kernel.html#ga812fdd14d6c40072cc40aec742d4869e',1,'rtx_evr.h']]],
+ ['evrrtxkernelresume',['EvrRtxKernelResume',['../group__rtx__evr__kernel.html#ga9a8cac0fed8d3cf06f7301c944ad26d1',1,'rtx_evr.h']]],
+ ['evrrtxkernelresumed',['EvrRtxKernelResumed',['../group__rtx__evr__kernel.html#ga26e0a22f49576824d853fb434cf6b079',1,'rtx_evr.h']]],
+ ['evrrtxkernelstart',['EvrRtxKernelStart',['../group__rtx__evr__kernel.html#ga75937a761dd488600d2525a532808d2b',1,'rtx_evr.h']]],
+ ['evrrtxkernelstarted',['EvrRtxKernelStarted',['../group__rtx__evr__kernel.html#ga28043ffc76fec09e6c8763a9a71b7f2a',1,'rtx_evr.h']]],
+ ['evrrtxkernelsuspend',['EvrRtxKernelSuspend',['../group__rtx__evr__kernel.html#gac3abd78a9d3f3a6adc698e2929e1c32c',1,'rtx_evr.h']]],
+ ['evrrtxkernelsuspended',['EvrRtxKernelSuspended',['../group__rtx__evr__kernel.html#gabdaa26d7774111af4913b5d6669d0f85',1,'rtx_evr.h']]],
+ ['evrrtxkernelunlock',['EvrRtxKernelUnlock',['../group__rtx__evr__kernel.html#gabe14acf14ed2611a3ba1f3b280fbfd8c',1,'rtx_evr.h']]],
+ ['evrrtxkernelunlocked',['EvrRtxKernelUnlocked',['../group__rtx__evr__kernel.html#ga5cc909465e8df09c9231782e0c45e374',1,'rtx_evr.h']]],
+ ['evrrtxmemoryalloc',['EvrRtxMemoryAlloc',['../group__rtx__evr__memory.html#gae1818917a5e085f92a03039ffaf2bad4',1,'rtx_evr.h']]],
+ ['evrrtxmemoryblockalloc',['EvrRtxMemoryBlockAlloc',['../group__rtx__evr__memory.html#ga71c0df6f932436b54d7d641a440586db',1,'rtx_evr.h']]],
+ ['evrrtxmemoryblockfree',['EvrRtxMemoryBlockFree',['../group__rtx__evr__memory.html#ga69c2139620def7c5e59f6b1249857949',1,'rtx_evr.h']]],
+ ['evrrtxmemoryblockinit',['EvrRtxMemoryBlockInit',['../group__rtx__evr__memory.html#gac71421bbf537f2f8c9255f9f51cf7d54',1,'rtx_evr.h']]],
+ ['evrrtxmemoryfree',['EvrRtxMemoryFree',['../group__rtx__evr__memory.html#ga9227b18f5ea44d7caa8fadd4d539af9c',1,'rtx_evr.h']]],
+ ['evrrtxmemoryinit',['EvrRtxMemoryInit',['../group__rtx__evr__memory.html#ga15078f1251744140d90761e05c0fe1f2',1,'rtx_evr.h']]],
+ ['evrrtxmemorypoolalloc',['EvrRtxMemoryPoolAlloc',['../group__rtx__evr__memory__pool.html#ga425c8a0e13c6fb13262d99a4dcabd507',1,'rtx_evr.h']]],
+ ['evrrtxmemorypoolallocated',['EvrRtxMemoryPoolAllocated',['../group__rtx__evr__memory__pool.html#gad05246ee7e1f95e7f9496716515daeed',1,'rtx_evr.h']]],
+ ['evrrtxmemorypoolallocfailed',['EvrRtxMemoryPoolAllocFailed',['../group__rtx__evr__memory__pool.html#gaf511fce5389dde6fd3277e3469c72fd9',1,'rtx_evr.h']]],
+ ['evrrtxmemorypoolallocpending',['EvrRtxMemoryPoolAllocPending',['../group__rtx__evr__memory__pool.html#ga2fbd33e3d84b4f37e9f9b80576b26907',1,'rtx_evr.h']]],
+ ['evrrtxmemorypoolalloctimeout',['EvrRtxMemoryPoolAllocTimeout',['../group__rtx__evr__memory__pool.html#ga0e144530d45959126018ad74bae7a6ed',1,'rtx_evr.h']]],
+ ['evrrtxmemorypoolcreated',['EvrRtxMemoryPoolCreated',['../group__rtx__evr__memory__pool.html#gadad71c7b04493c03647ca0929ea087b1',1,'rtx_evr.h']]],
+ ['evrrtxmemorypooldeallocated',['EvrRtxMemoryPoolDeallocated',['../group__rtx__evr__memory__pool.html#ga3e8e700baea20b88c3d13678fe7a7fb4',1,'rtx_evr.h']]],
+ ['evrrtxmemorypooldelete',['EvrRtxMemoryPoolDelete',['../group__rtx__evr__memory__pool.html#ga64ae703ad556f25b105e3eae85b582b8',1,'rtx_evr.h']]],
+ ['evrrtxmemorypooldestroyed',['EvrRtxMemoryPoolDestroyed',['../group__rtx__evr__memory__pool.html#ga853e1867a4b65aff3f12f7be1aee5ce4',1,'rtx_evr.h']]],
+ ['evrrtxmemorypoolerror',['EvrRtxMemoryPoolError',['../group__rtx__evr__memory__pool.html#ga7e1a37b0c5dd0a97507c025ab1a62ec8',1,'rtx_evr.h']]],
+ ['evrrtxmemorypoolfree',['EvrRtxMemoryPoolFree',['../group__rtx__evr__memory__pool.html#ga46bc3ef3b1ca2e4cfb914f58d0efe92e',1,'rtx_evr.h']]],
+ ['evrrtxmemorypoolfreefailed',['EvrRtxMemoryPoolFreeFailed',['../group__rtx__evr__memory__pool.html#gad75c377c00ae23caf7b4c3b77a0b46d1',1,'rtx_evr.h']]],
+ ['evrrtxmemorypoolgetblocksize',['EvrRtxMemoryPoolGetBlockSize',['../group__rtx__evr__memory__pool.html#gaf79f0e1eb41d42566ba9023be7e442c5',1,'rtx_evr.h']]],
+ ['evrrtxmemorypoolgetcapacity',['EvrRtxMemoryPoolGetCapacity',['../group__rtx__evr__memory__pool.html#gaed36f26a548d40e2a3d5b81c8695f287',1,'rtx_evr.h']]],
+ ['evrrtxmemorypoolgetcount',['EvrRtxMemoryPoolGetCount',['../group__rtx__evr__memory__pool.html#ga668bc3e627d9b74b6e8259a667e05846',1,'rtx_evr.h']]],
+ ['evrrtxmemorypoolgetname',['EvrRtxMemoryPoolGetName',['../group__rtx__evr__memory__pool.html#gaeface1ee4957cdb59292e13c38a672d7',1,'rtx_evr.h']]],
+ ['evrrtxmemorypoolgetspace',['EvrRtxMemoryPoolGetSpace',['../group__rtx__evr__memory__pool.html#ga4bee4e3e41bdef94046dc059f16ca7ce',1,'rtx_evr.h']]],
+ ['evrrtxmemorypoolnew',['EvrRtxMemoryPoolNew',['../group__rtx__evr__memory__pool.html#gaf2fd4c91acf1379e93cd9886c515b9c5',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeuecreated',['EvrRtxMessageQueueCreated',['../group__rtx__evr__message__queue.html#ga36d6982377c1f54a227ba6fbb9458b79',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeuedelete',['EvrRtxMessageQueueDelete',['../group__rtx__evr__message__queue.html#gad11606ef82f5b82f291bf64adfc805e4',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeuedestroyed',['EvrRtxMessageQueueDestroyed',['../group__rtx__evr__message__queue.html#ga3bbf02128c31e5cc7ef4c78cdbec508c',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeueerror',['EvrRtxMessageQueueError',['../group__rtx__evr__message__queue.html#ga8ded1d43703e0885a81e65251c6df405',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeueget',['EvrRtxMessageQueueGet',['../group__rtx__evr__message__queue.html#ga0826c1d05d3a99afb8682f0ca3f7fd62',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeuegetcapacity',['EvrRtxMessageQueueGetCapacity',['../group__rtx__evr__message__queue.html#gad423a0be13d65e98d9ae08de9c399615',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeuegetcount',['EvrRtxMessageQueueGetCount',['../group__rtx__evr__message__queue.html#ga145f0c464382dc71ff3b1c624b8bd570',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeuegetmsgsize',['EvrRtxMessageQueueGetMsgSize',['../group__rtx__evr__message__queue.html#ga3d6348bed3937de29765ed4d7d07fac8',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeuegetname',['EvrRtxMessageQueueGetName',['../group__rtx__evr__message__queue.html#gad0ef8ee59d2ec189351c5884f5f8e945',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeuegetpending',['EvrRtxMessageQueueGetPending',['../group__rtx__evr__message__queue.html#ga11e3df32a66d5240b277375cbb5d3c83',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeuegetspace',['EvrRtxMessageQueueGetSpace',['../group__rtx__evr__message__queue.html#ga6cfce7336f58505a2379a8a71f477d2f',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeuegettimeout',['EvrRtxMessageQueueGetTimeout',['../group__rtx__evr__message__queue.html#ga5e699de7401c46fd0e8bc19e398dc5a8',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeueinserted',['EvrRtxMessageQueueInserted',['../group__rtx__evr__message__queue.html#gaa30c5b375d4050ad7d99ba094821bf52',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeueinsertpending',['EvrRtxMessageQueueInsertPending',['../group__rtx__evr__message__queue.html#ga8440223b9d48145df5505489e7c6f7d9',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeuenew',['EvrRtxMessageQueueNew',['../group__rtx__evr__message__queue.html#gaa7b18f18f3f53d6afb39ac1abe257000',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeuenotinserted',['EvrRtxMessageQueueNotInserted',['../group__rtx__evr__message__queue.html#ga2922125d8ac63fd800dc3b7888fd3f3c',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeuenotretrieved',['EvrRtxMessageQueueNotRetrieved',['../group__rtx__evr__message__queue.html#ga22bfb7d1c2f6e3e9fea9d3267b2d6988',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeueput',['EvrRtxMessageQueuePut',['../group__rtx__evr__message__queue.html#ga401536a603e5a805cc6089b4de11d3d3',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeueputpending',['EvrRtxMessageQueuePutPending',['../group__rtx__evr__message__queue.html#ga4b1b6191c6ca87dff4714e25b5845828',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeueputtimeout',['EvrRtxMessageQueuePutTimeout',['../group__rtx__evr__message__queue.html#ga7394ca2d88255470f7ba0bb2bff12e99',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeuereset',['EvrRtxMessageQueueReset',['../group__rtx__evr__message__queue.html#ga91b8c8630c7d89b6b6dbb74d4fc81ba4',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeueresetdone',['EvrRtxMessageQueueResetDone',['../group__rtx__evr__message__queue.html#ga3947d4a7ac86ee7a50052c9eb4cd5432',1,'rtx_evr.h']]],
+ ['evrrtxmessagequeueretrieved',['EvrRtxMessageQueueRetrieved',['../group__rtx__evr__message__queue.html#gab340b38df5d8bf2a1182fd18f2d3a6c4',1,'rtx_evr.h']]],
+ ['evrrtxmutexacquire',['EvrRtxMutexAcquire',['../group__rtx__evr__mutex.html#ga913c46223d91000fedab624d0f4e53f8',1,'rtx_evr.h']]],
+ ['evrrtxmutexacquired',['EvrRtxMutexAcquired',['../group__rtx__evr__mutex.html#ga697ec95e014a30a3676690a8d217f546',1,'rtx_evr.h']]],
+ ['evrrtxmutexacquirepending',['EvrRtxMutexAcquirePending',['../group__rtx__evr__mutex.html#gaddc9bb3c619b92a786ee5255ec65eaca',1,'rtx_evr.h']]],
+ ['evrrtxmutexacquiretimeout',['EvrRtxMutexAcquireTimeout',['../group__rtx__evr__mutex.html#ga4c4780cf766e9d2c6e8c26f206fba607',1,'rtx_evr.h']]],
+ ['evrrtxmutexcreated',['EvrRtxMutexCreated',['../group__rtx__evr__mutex.html#ga712b32609cfb3ceded746ee6a86d2442',1,'rtx_evr.h']]],
+ ['evrrtxmutexdelete',['EvrRtxMutexDelete',['../group__rtx__evr__mutex.html#gaaadf1b9cf9a62f4e61742069b95daf68',1,'rtx_evr.h']]],
+ ['evrrtxmutexdestroyed',['EvrRtxMutexDestroyed',['../group__rtx__evr__mutex.html#gaa3feba455090d50295cbf4b1447f3f87',1,'rtx_evr.h']]],
+ ['evrrtxmutexerror',['EvrRtxMutexError',['../group__rtx__evr__mutex.html#ga47388f06c025938facfddd95851d666f',1,'rtx_evr.h']]],
+ ['evrrtxmutexgetname',['EvrRtxMutexGetName',['../group__rtx__evr__mutex.html#ga457302507cedf0ea969cbb110af606b8',1,'rtx_evr.h']]],
+ ['evrrtxmutexgetowner',['EvrRtxMutexGetOwner',['../group__rtx__evr__mutex.html#ga89284c1927aa646535ff804f1aeda720',1,'rtx_evr.h']]],
+ ['evrrtxmutexnew',['EvrRtxMutexNew',['../group__rtx__evr__mutex.html#ga51f59bf99b315f016ca752eddd1911d5',1,'rtx_evr.h']]],
+ ['evrrtxmutexnotacquired',['EvrRtxMutexNotAcquired',['../group__rtx__evr__mutex.html#ga5d2b957c02fcdcc0617479b93a56f6af',1,'rtx_evr.h']]],
+ ['evrrtxmutexrelease',['EvrRtxMutexRelease',['../group__rtx__evr__mutex.html#ga3fe98bfc9cbea52f578aa5a202305442',1,'rtx_evr.h']]],
+ ['evrrtxmutexreleased',['EvrRtxMutexReleased',['../group__rtx__evr__mutex.html#ga561c8898b912ea8eace4e6ba606210e5',1,'rtx_evr.h']]],
+ ['evrrtxsemaphoreacquire',['EvrRtxSemaphoreAcquire',['../group__rtx__evr__semaphore.html#gafd91c9bb268a48b394571a9fc1809019',1,'rtx_evr.h']]],
+ ['evrrtxsemaphoreacquired',['EvrRtxSemaphoreAcquired',['../group__rtx__evr__semaphore.html#ga4d1f85595cc0802cf8cac89fd8f88b5d',1,'rtx_evr.h']]],
+ ['evrrtxsemaphoreacquirepending',['EvrRtxSemaphoreAcquirePending',['../group__rtx__evr__semaphore.html#gabbaaf85deaf4645414987fc1c3289343',1,'rtx_evr.h']]],
+ ['evrrtxsemaphoreacquiretimeout',['EvrRtxSemaphoreAcquireTimeout',['../group__rtx__evr__semaphore.html#ga852798d5e14cda14484564ac4d7f5a4b',1,'rtx_evr.h']]],
+ ['evrrtxsemaphorecreated',['EvrRtxSemaphoreCreated',['../group__rtx__evr__semaphore.html#ga31f9d55abcc5f398ea3810177cbf2bf3',1,'rtx_evr.h']]],
+ ['evrrtxsemaphoredelete',['EvrRtxSemaphoreDelete',['../group__rtx__evr__semaphore.html#gaeb0605679ad9f686dd0f40610c8af772',1,'rtx_evr.h']]],
+ ['evrrtxsemaphoredestroyed',['EvrRtxSemaphoreDestroyed',['../group__rtx__evr__semaphore.html#gaad8d8a2844e948b00f02e8620c431c9c',1,'rtx_evr.h']]],
+ ['evrrtxsemaphoreerror',['EvrRtxSemaphoreError',['../group__rtx__evr__semaphore.html#ga96a0209384296a283c7b1d23a3395fa1',1,'rtx_evr.h']]],
+ ['evrrtxsemaphoregetcount',['EvrRtxSemaphoreGetCount',['../group__rtx__evr__semaphore.html#ga17f21ffa4ec39c50ce203e6985dd0deb',1,'rtx_evr.h']]],
+ ['evrrtxsemaphoregetname',['EvrRtxSemaphoreGetName',['../group__rtx__evr__semaphore.html#ga17d8aa861b6e669cc68c3c41e3e12332',1,'rtx_evr.h']]],
+ ['evrrtxsemaphorenew',['EvrRtxSemaphoreNew',['../group__rtx__evr__semaphore.html#ga5639f03e935ab79844777664a518c2ec',1,'rtx_evr.h']]],
+ ['evrrtxsemaphorenotacquired',['EvrRtxSemaphoreNotAcquired',['../group__rtx__evr__semaphore.html#ga53eb40f5251e9464b46cc153fe8b26d8',1,'rtx_evr.h']]],
+ ['evrrtxsemaphorerelease',['EvrRtxSemaphoreRelease',['../group__rtx__evr__semaphore.html#ga0a9f3c7dbf89d3f155a96524e7195630',1,'rtx_evr.h']]],
+ ['evrrtxsemaphorereleased',['EvrRtxSemaphoreReleased',['../group__rtx__evr__semaphore.html#ga814dc5c7d95e7d1bfb30ce0f472ae420',1,'rtx_evr.h']]],
+ ['evrrtxthreadblocked',['EvrRtxThreadBlocked',['../group__rtx__evr__thread.html#gab9efd66ed2edb439c5081806c9b63cf9',1,'rtx_evr.h']]],
+ ['evrrtxthreadcreated',['EvrRtxThreadCreated',['../group__rtx__evr__thread.html#ga5bfa3bc241aea59ebe9bc1edcf6b78d8',1,'rtx_evr.h']]],
+ ['evrrtxthreaddelay',['EvrRtxThreadDelay',['../group__rtx__evr__thread.html#gadd45d32305aa45668a36f2c9f0f4c758',1,'rtx_evr.h']]],
+ ['evrrtxthreaddelaycompleted',['EvrRtxThreadDelayCompleted',['../group__rtx__evr__thread.html#gab46562848142ce5ea806d629fd000168',1,'rtx_evr.h']]],
+ ['evrrtxthreaddelayuntil',['EvrRtxThreadDelayUntil',['../group__rtx__evr__thread.html#gaf59defd6c171d2c3d3508e7136278db2',1,'rtx_evr.h']]],
+ ['evrrtxthreaddestroyed',['EvrRtxThreadDestroyed',['../group__rtx__evr__thread.html#gaa5aa707fc2d6b44bfcb86bce2e2e90f3',1,'rtx_evr.h']]],
+ ['evrrtxthreaddetach',['EvrRtxThreadDetach',['../group__rtx__evr__thread.html#ga02088c2d38cbc31a46675334f63f37f5',1,'rtx_evr.h']]],
+ ['evrrtxthreaddetached',['EvrRtxThreadDetached',['../group__rtx__evr__thread.html#gac60670562ed1efbfbc61036d881c8af9',1,'rtx_evr.h']]],
+ ['evrrtxthreadenumerate',['EvrRtxThreadEnumerate',['../group__rtx__evr__thread.html#ga1999d77992b03347abdca7ec17f91cca',1,'rtx_evr.h']]],
+ ['evrrtxthreaderror',['EvrRtxThreadError',['../group__rtx__evr__thread.html#ga4a2879b06201a29d8c223253d41cca43',1,'rtx_evr.h']]],
+ ['evrrtxthreadexit',['EvrRtxThreadExit',['../group__rtx__evr__thread.html#gaa557f9732a8a2120f08cfb2694aa26fb',1,'rtx_evr.h']]],
+ ['evrrtxthreadflagsclear',['EvrRtxThreadFlagsClear',['../rtx__evr_8h.html#ac8ddc747c72f7fc5cfa58edcee56b82d',1,'rtx_evr.h']]],
+ ['evrrtxthreadflagscleardone',['EvrRtxThreadFlagsClearDone',['../rtx__evr_8h.html#aad13b17507cc07a4a1e37a5653489943',1,'rtx_evr.h']]],
+ ['evrrtxthreadflagsget',['EvrRtxThreadFlagsGet',['../rtx__evr_8h.html#aab1a30a0ac3dfa588ededbfad52bae30',1,'rtx_evr.h']]],
+ ['evrrtxthreadflagsset',['EvrRtxThreadFlagsSet',['../rtx__evr_8h.html#ac356c777af86c2d8d9250cbffc516e1d',1,'rtx_evr.h']]],
+ ['evrrtxthreadflagssetdone',['EvrRtxThreadFlagsSetDone',['../rtx__evr_8h.html#abd447773c02e235a8d0bb96dd9bb1c4f',1,'rtx_evr.h']]],
+ ['evrrtxthreadflagswait',['EvrRtxThreadFlagsWait',['../rtx__evr_8h.html#aad860c571b9b083ff2889fb76fb619f1',1,'rtx_evr.h']]],
+ ['evrrtxthreadflagswaitcompleted',['EvrRtxThreadFlagsWaitCompleted',['../rtx__evr_8h.html#a01396074495b21270c75185f63c497d7',1,'rtx_evr.h']]],
+ ['evrrtxthreadflagswaitnotcompleted',['EvrRtxThreadFlagsWaitNotCompleted',['../rtx__evr_8h.html#adf6b9f4882f62a65b4e06e1b3e5c9c5b',1,'rtx_evr.h']]],
+ ['evrrtxthreadflagswaitpending',['EvrRtxThreadFlagsWaitPending',['../rtx__evr_8h.html#ad09ec9317a4440e5228870b750e9860e',1,'rtx_evr.h']]],
+ ['evrrtxthreadflagswaittimeout',['EvrRtxThreadFlagsWaitTimeout',['../group__rtx__evr__thread.html#gadbbee398f4fab418c9b8115fc7392ff8',1,'rtx_evr.h']]],
+ ['evrrtxthreadgetcount',['EvrRtxThreadGetCount',['../group__rtx__evr__thread.html#ga6d5932965736e0f2f35fe2d87bd622e7',1,'rtx_evr.h']]],
+ ['evrrtxthreadgetid',['EvrRtxThreadGetId',['../group__rtx__evr__thread.html#ga40c0d21a5c0d128f09966aeeca37ecba',1,'rtx_evr.h']]],
+ ['evrrtxthreadgetname',['EvrRtxThreadGetName',['../group__rtx__evr__thread.html#ga4f849a33d2c95754b11a499d77503b5c',1,'rtx_evr.h']]],
+ ['evrrtxthreadgetpriority',['EvrRtxThreadGetPriority',['../group__rtx__evr__thread.html#gada73306deca99987b104aa9840fdd4e2',1,'rtx_evr.h']]],
+ ['evrrtxthreadgetstacksize',['EvrRtxThreadGetStackSize',['../group__rtx__evr__thread.html#ga1200f51e9152810e76386e241904427c',1,'rtx_evr.h']]],
+ ['evrrtxthreadgetstackspace',['EvrRtxThreadGetStackSpace',['../group__rtx__evr__thread.html#ga4fd48ef48eefb01a6252cfc02ea169ab',1,'rtx_evr.h']]],
+ ['evrrtxthreadgetstate',['EvrRtxThreadGetState',['../group__rtx__evr__thread.html#ga1c3120fb155ca19ea5c9089a446ef19d',1,'rtx_evr.h']]],
+ ['evrrtxthreadjoin',['EvrRtxThreadJoin',['../group__rtx__evr__thread.html#ga392bb7a8dcd6d126a5e424ab01aa8a80',1,'rtx_evr.h']]],
+ ['evrrtxthreadjoined',['EvrRtxThreadJoined',['../group__rtx__evr__thread.html#ga86ac910ac88d8fe54206a12d7ed69a27',1,'rtx_evr.h']]],
+ ['evrrtxthreadjoinpending',['EvrRtxThreadJoinPending',['../group__rtx__evr__thread.html#ga47b64cfdc5c5410dde2c5d9145c7d79b',1,'rtx_evr.h']]],
+ ['evrrtxthreadnew',['EvrRtxThreadNew',['../group__rtx__evr__thread.html#ga396ce41f68401a885f0ae46a54e8dd1f',1,'rtx_evr.h']]],
+ ['evrrtxthreadpreempted',['EvrRtxThreadPreempted',['../group__rtx__evr__thread.html#gabe470d5bb1373c59c51470fd20b55bcb',1,'rtx_evr.h']]],
+ ['evrrtxthreadresume',['EvrRtxThreadResume',['../group__rtx__evr__thread.html#gaf41ff549329cf2feb4a1efe49c518e30',1,'rtx_evr.h']]],
+ ['evrrtxthreadresumed',['EvrRtxThreadResumed',['../group__rtx__evr__thread.html#ga8b25f2548a9f3c069431131169d170ac',1,'rtx_evr.h']]],
+ ['evrrtxthreadsetpriority',['EvrRtxThreadSetPriority',['../group__rtx__evr__thread.html#gabf4a015bd3fb2a33c0d105a871aaba72',1,'rtx_evr.h']]],
+ ['evrrtxthreadsuspend',['EvrRtxThreadSuspend',['../group__rtx__evr__thread.html#gaa268fe19f933b8d2a830063560694561',1,'rtx_evr.h']]],
+ ['evrrtxthreadsuspended',['EvrRtxThreadSuspended',['../group__rtx__evr__thread.html#gab0d959bc625cb3e7ddd6bf7c302f631e',1,'rtx_evr.h']]],
+ ['evrrtxthreadswitched',['EvrRtxThreadSwitched',['../group__rtx__evr__thread.html#gae3bc50d5f154463c7f6647544bb5ecab',1,'rtx_evr.h']]],
+ ['evrrtxthreadterminate',['EvrRtxThreadTerminate',['../group__rtx__evr__thread.html#ga6abe7d167bd5bb91c3d6bf6d2bb417aa',1,'rtx_evr.h']]],
+ ['evrrtxthreadunblocked',['EvrRtxThreadUnblocked',['../group__rtx__evr__thread.html#ga3faae4d941ddecfe773ef9f3efe8b901',1,'rtx_evr.h']]],
+ ['evrrtxthreadyield',['EvrRtxThreadYield',['../group__rtx__evr__thread.html#gafed41f1b6bcdde658ca306f8a6d7ac7e',1,'rtx_evr.h']]],
+ ['evrrtxtimercallback',['EvrRtxTimerCallback',['../group__rtx__evr__timer.html#gacd46f9d31d256c27c72e47d5be5e9d09',1,'rtx_evr.h']]],
+ ['evrrtxtimercreated',['EvrRtxTimerCreated',['../group__rtx__evr__timer.html#ga71dd40a818f1098052915bbfb6c17e88',1,'rtx_evr.h']]],
+ ['evrrtxtimerdelete',['EvrRtxTimerDelete',['../group__rtx__evr__timer.html#gaea5811cc74861117eccbcbb997d36133',1,'rtx_evr.h']]],
+ ['evrrtxtimerdestroyed',['EvrRtxTimerDestroyed',['../group__rtx__evr__timer.html#ga474f3bd3ed38945b087f37fd709560b7',1,'rtx_evr.h']]],
+ ['evrrtxtimererror',['EvrRtxTimerError',['../group__rtx__evr__timer.html#gaf1b516bf697288e67fe797662b1873b0',1,'rtx_evr.h']]],
+ ['evrrtxtimergetname',['EvrRtxTimerGetName',['../group__rtx__evr__timer.html#ga601e3617903900524062c4f9069d052f',1,'rtx_evr.h']]],
+ ['evrrtxtimerisrunning',['EvrRtxTimerIsRunning',['../group__rtx__evr__timer.html#ga6fa5a23f241d765ae22ff1862c6f3b3f',1,'rtx_evr.h']]],
+ ['evrrtxtimernew',['EvrRtxTimerNew',['../group__rtx__evr__timer.html#ga6387808c22d6e186057ed744618d2487',1,'rtx_evr.h']]],
+ ['evrrtxtimerstart',['EvrRtxTimerStart',['../group__rtx__evr__timer.html#ga453d82bfa65dfbbaffbd5b4ff4f050b2',1,'rtx_evr.h']]],
+ ['evrrtxtimerstarted',['EvrRtxTimerStarted',['../group__rtx__evr__timer.html#gab0dbdf460fc26b25f3987c44fb0ebdeb',1,'rtx_evr.h']]],
+ ['evrrtxtimerstop',['EvrRtxTimerStop',['../group__rtx__evr__timer.html#ga27cf05adc61d30a0e68f380c96ea5f93',1,'rtx_evr.h']]],
+ ['evrrtxtimerstopped',['EvrRtxTimerStopped',['../group__rtx__evr__timer.html#gaccd59c7ae2351e0a1bf96cdb749c049f',1,'rtx_evr.h']]]
+];
diff --git a/docs/RTOS2/html/search/functions_1.html b/docs/RTOS2/html/search/functions_1.html
new file mode 100644
index 0000000..3b4eacf
--- /dev/null
+++ b/docs/RTOS2/html/search/functions_1.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/functions_1.js b/docs/RTOS2/html/search/functions_1.js
new file mode 100644
index 0000000..7c796de
--- /dev/null
+++ b/docs/RTOS2/html/search/functions_1.js
@@ -0,0 +1,94 @@
+var searchData=
+[
+ ['os_5ftick_5facknowledgeirq',['OS_Tick_AcknowledgeIRQ',['../group__CMSIS__RTOS__TickAPI.html#ga57065ec4b281504ad4de13a419870b4f',1,'os_tick.h']]],
+ ['os_5ftick_5fdisable',['OS_Tick_Disable',['../group__CMSIS__RTOS__TickAPI.html#ga5e325c304fef5003b1dc31906f6a3056',1,'os_tick.h']]],
+ ['os_5ftick_5fenable',['OS_Tick_Enable',['../group__CMSIS__RTOS__TickAPI.html#ga3e47971bf3a02599d9ecb32208adafec',1,'os_tick.h']]],
+ ['os_5ftick_5fgetclock',['OS_Tick_GetClock',['../group__CMSIS__RTOS__TickAPI.html#ga936217ea28236fb57648973e0d8f627a',1,'os_tick.h']]],
+ ['os_5ftick_5fgetcount',['OS_Tick_GetCount',['../group__CMSIS__RTOS__TickAPI.html#gaa64a145a554f1e5077848938d7f39c92',1,'os_tick.h']]],
+ ['os_5ftick_5fgetinterval',['OS_Tick_GetInterval',['../group__CMSIS__RTOS__TickAPI.html#ga123151dc19d5a94a68f12cdbf61a9bb5',1,'os_tick.h']]],
+ ['os_5ftick_5fgetirqn',['OS_Tick_GetIRQn',['../group__CMSIS__RTOS__TickAPI.html#gaa8b4eca23e3ffe2df403291958cdc905',1,'os_tick.h']]],
+ ['os_5ftick_5fgetoverflow',['OS_Tick_GetOverflow',['../group__CMSIS__RTOS__TickAPI.html#ga1f9a593126b7f0b66fc526c2cebd6192',1,'os_tick.h']]],
+ ['os_5ftick_5fsetup',['OS_Tick_Setup',['../group__CMSIS__RTOS__TickAPI.html#ga5eeffb4d9dc6c6802fee8898096d9a59',1,'os_tick.h']]],
+ ['osdelay',['osDelay',['../group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e',1,'cmsis_os2.h']]],
+ ['osdelayuntil',['osDelayUntil',['../group__CMSIS__RTOS__Wait.html#ga3c807924c2d6d43bc2ffb49da3f7f3a1',1,'cmsis_os2.h']]],
+ ['oseventflagsclear',['osEventFlagsClear',['../group__CMSIS__RTOS__EventFlags.html#ga93bf258ca0007c6641fbe8e4f2b8a1e5',1,'cmsis_os2.h']]],
+ ['oseventflagsdelete',['osEventFlagsDelete',['../group__CMSIS__RTOS__EventFlags.html#ga7c4acf2fb0d506ec82905dee53fb5435',1,'cmsis_os2.h']]],
+ ['oseventflagsget',['osEventFlagsGet',['../group__CMSIS__RTOS__EventFlags.html#ga8bda3185f46bfd278cea8a6cf357677d',1,'cmsis_os2.h']]],
+ ['oseventflagsgetname',['osEventFlagsGetName',['../group__CMSIS__RTOS__EventFlags.html#ga59f4ddf0ee8c395b1672bb978d1cfc88',1,'cmsis_os2.h']]],
+ ['oseventflagsnew',['osEventFlagsNew',['../group__CMSIS__RTOS__EventFlags.html#gab14b1caeb12ffa42cce1bfe889cd07df',1,'cmsis_os2.h']]],
+ ['oseventflagsset',['osEventFlagsSet',['../group__CMSIS__RTOS__EventFlags.html#ga33b71d14cecf90b4e72639dd19f23a5e',1,'cmsis_os2.h']]],
+ ['oseventflagswait',['osEventFlagsWait',['../group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e',1,'cmsis_os2.h']]],
+ ['oskernelgetinfo',['osKernelGetInfo',['../group__CMSIS__RTOS__KernelCtrl.html#ga6f7764e7250c5c5364c00c45a5d1d199',1,'cmsis_os2.h']]],
+ ['oskernelgetstate',['osKernelGetState',['../group__CMSIS__RTOS__KernelCtrl.html#ga48b69b81012fce051f639be288b243ba',1,'cmsis_os2.h']]],
+ ['oskernelgetsystimercount',['osKernelGetSysTimerCount',['../group__CMSIS__RTOS__KernelCtrl.html#gae0fcaff6cecfb4013bb556c87afcd7d2',1,'cmsis_os2.h']]],
+ ['oskernelgetsystimerfreq',['osKernelGetSysTimerFreq',['../group__CMSIS__RTOS__KernelCtrl.html#ga4d69215a93220f72be3684cad582f16a',1,'cmsis_os2.h']]],
+ ['oskernelgettickcount',['osKernelGetTickCount',['../group__CMSIS__RTOS__KernelCtrl.html#ga84bcdbf2fb76b10c8df4e439f0c7e11b',1,'cmsis_os2.h']]],
+ ['oskernelgettickfreq',['osKernelGetTickFreq',['../group__CMSIS__RTOS__KernelCtrl.html#ga7a8d7bd927eaaa58999f91d7d6310cee',1,'cmsis_os2.h']]],
+ ['oskernelinitialize',['osKernelInitialize',['../group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659',1,'cmsis_os2.h']]],
+ ['oskernellock',['osKernelLock',['../group__CMSIS__RTOS__KernelCtrl.html#ga948609ee930d9b38336b9e1c2a4dfe12',1,'cmsis_os2.h']]],
+ ['oskernelrestorelock',['osKernelRestoreLock',['../group__CMSIS__RTOS__KernelCtrl.html#gae7d0a71b9586cbbb49fcbdf6a04f0289',1,'cmsis_os2.h']]],
+ ['oskernelresume',['osKernelResume',['../group__CMSIS__RTOS__KernelCtrl.html#ga8c4b4d7ed34cab73c001665d9176aced',1,'cmsis_os2.h']]],
+ ['oskernelstart',['osKernelStart',['../group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221',1,'cmsis_os2.h']]],
+ ['oskernelsuspend',['osKernelSuspend',['../group__CMSIS__RTOS__KernelCtrl.html#gae26683e1606ec633354a2876c68f0c1f',1,'cmsis_os2.h']]],
+ ['oskernelunlock',['osKernelUnlock',['../group__CMSIS__RTOS__KernelCtrl.html#gaf401728b4657456198c33fe75f8d6720',1,'cmsis_os2.h']]],
+ ['osmemorypoolalloc',['osMemoryPoolAlloc',['../group__CMSIS__RTOS__PoolMgmt.html#ga8ead54e99ccb8f112356c88f99d38fbe',1,'cmsis_os2.h']]],
+ ['osmemorypooldelete',['osMemoryPoolDelete',['../group__CMSIS__RTOS__PoolMgmt.html#ga8c39e7e5cd2b9eda907466808e59d62e',1,'cmsis_os2.h']]],
+ ['osmemorypoolfree',['osMemoryPoolFree',['../group__CMSIS__RTOS__PoolMgmt.html#gabb4f4560daa6d1f8c8789082ee186d16',1,'cmsis_os2.h']]],
+ ['osmemorypoolgetblocksize',['osMemoryPoolGetBlockSize',['../group__CMSIS__RTOS__PoolMgmt.html#gab2bf059b7fa7679c3cccdaeec60b6c0e',1,'cmsis_os2.h']]],
+ ['osmemorypoolgetcapacity',['osMemoryPoolGetCapacity',['../group__CMSIS__RTOS__PoolMgmt.html#gad696e94bfbe28f0b6613f9303fdf6a37',1,'cmsis_os2.h']]],
+ ['osmemorypoolgetcount',['osMemoryPoolGetCount',['../group__CMSIS__RTOS__PoolMgmt.html#ga958a9449bff8c95ce213de98eef5739d',1,'cmsis_os2.h']]],
+ ['osmemorypoolgetname',['osMemoryPoolGetName',['../group__CMSIS__RTOS__PoolMgmt.html#gab414a1e138205a55820acfa277c8f386',1,'cmsis_os2.h']]],
+ ['osmemorypoolgetspace',['osMemoryPoolGetSpace',['../group__CMSIS__RTOS__PoolMgmt.html#ga0394cffa9479a7994e3b03c79c1cb909',1,'cmsis_os2.h']]],
+ ['osmemorypoolnew',['osMemoryPoolNew',['../group__CMSIS__RTOS__PoolMgmt.html#ga497ced5d72dc5cd405c4c418516220dc',1,'cmsis_os2.h']]],
+ ['osmessagequeuedelete',['osMessageQueueDelete',['../group__CMSIS__RTOS__Message.html#gaba987f665444e0d83fa6a3a68bc72abe',1,'cmsis_os2.h']]],
+ ['osmessagequeueget',['osMessageQueueGet',['../group__CMSIS__RTOS__Message.html#gad90d4959466a7a65105061da8256ab9e',1,'cmsis_os2.h']]],
+ ['osmessagequeuegetcapacity',['osMessageQueueGetCapacity',['../group__CMSIS__RTOS__Message.html#gac24f87d4f395e9e9c900c320e45ade8a',1,'cmsis_os2.h']]],
+ ['osmessagequeuegetcount',['osMessageQueueGetCount',['../group__CMSIS__RTOS__Message.html#ga6a32ac394fcff568b251c160cc3014b2',1,'cmsis_os2.h']]],
+ ['osmessagequeuegetmsgsize',['osMessageQueueGetMsgSize',['../group__CMSIS__RTOS__Message.html#ga96d3d84069b20359de48109e28a1a89e',1,'cmsis_os2.h']]],
+ ['osmessagequeuegetname',['osMessageQueueGetName',['../group__CMSIS__RTOS__Message.html#gae7cf7bf2b97a5ae481fb60fcce99247a',1,'cmsis_os2.h']]],
+ ['osmessagequeuegetspace',['osMessageQueueGetSpace',['../group__CMSIS__RTOS__Message.html#gaddf0904427436dd3880d46263c2dc9fa',1,'cmsis_os2.h']]],
+ ['osmessagequeuenew',['osMessageQueueNew',['../group__CMSIS__RTOS__Message.html#ga24e895a00f9d484db33aaf784c57bfed',1,'cmsis_os2.h']]],
+ ['osmessagequeueput',['osMessageQueuePut',['../group__CMSIS__RTOS__Message.html#gaa515fc8b956f721a8f72b2c505813bfc',1,'cmsis_os2.h']]],
+ ['osmessagequeuereset',['osMessageQueueReset',['../group__CMSIS__RTOS__Message.html#gac6dce7f9ad132d266292c2e979d861b4',1,'cmsis_os2.h']]],
+ ['osmutexacquire',['osMutexAcquire',['../group__CMSIS__RTOS__MutexMgmt.html#gabc54686ea0fc281823b1763422d2a924',1,'cmsis_os2.h']]],
+ ['osmutexdelete',['osMutexDelete',['../group__CMSIS__RTOS__MutexMgmt.html#gabee73ad227ba4587d3db12ef9bd582bc',1,'cmsis_os2.h']]],
+ ['osmutexgetname',['osMutexGetName',['../group__CMSIS__RTOS__MutexMgmt.html#ga00b5e58cd247a412d1afd18732d8b752',1,'cmsis_os2.h']]],
+ ['osmutexgetowner',['osMutexGetOwner',['../group__CMSIS__RTOS__MutexMgmt.html#ga7f9a7666df0978738cd570cb700b83fb',1,'cmsis_os2.h']]],
+ ['osmutexnew',['osMutexNew',['../group__CMSIS__RTOS__MutexMgmt.html#gab90920022ab944296821368ef6bb52f8',1,'cmsis_os2.h']]],
+ ['osmutexrelease',['osMutexRelease',['../group__CMSIS__RTOS__MutexMgmt.html#gaea629705703580ff58776bf73c8db915',1,'cmsis_os2.h']]],
+ ['osrtxerrornotify',['osRtxErrorNotify',['../group__rtx5__specific__functions.html#gaf1745a88f9cc60b609ab1c8076bd346d',1,'rtx_os.h']]],
+ ['osrtxidlethread',['osRtxIdleThread',['../group__rtx5__specific__functions.html#ga074068b8efa7074cee68a71481d0b072',1,'rtx_os.h']]],
+ ['ossemaphoreacquire',['osSemaphoreAcquire',['../group__CMSIS__RTOS__SemaphoreMgmt.html#ga7e94c8b242a0c81f2cc79ec22895c87b',1,'cmsis_os2.h']]],
+ ['ossemaphoredelete',['osSemaphoreDelete',['../group__CMSIS__RTOS__SemaphoreMgmt.html#ga81258ce9c67fa89f07cc49d2e136cd88',1,'cmsis_os2.h']]],
+ ['ossemaphoregetcount',['osSemaphoreGetCount',['../group__CMSIS__RTOS__SemaphoreMgmt.html#ga7559d4dff3cda9992fc5ab5de3e74c70',1,'cmsis_os2.h']]],
+ ['ossemaphoregetname',['osSemaphoreGetName',['../group__CMSIS__RTOS__SemaphoreMgmt.html#ga9586952051f00285f1482dbe6695bbc4',1,'cmsis_os2.h']]],
+ ['ossemaphorenew',['osSemaphoreNew',['../group__CMSIS__RTOS__SemaphoreMgmt.html#ga2a39806ace781a0008a4374ca701b14a',1,'cmsis_os2.h']]],
+ ['ossemaphorerelease',['osSemaphoreRelease',['../group__CMSIS__RTOS__SemaphoreMgmt.html#ga0abcee1b5449d7a6928fb9248c690bb6',1,'cmsis_os2.h']]],
+ ['osthreaddetach',['osThreadDetach',['../group__CMSIS__RTOS__ThreadMgmt.html#gaaad14cd9547341ea8109dc4e8540f1dc',1,'cmsis_os2.h']]],
+ ['osthreadenumerate',['osThreadEnumerate',['../group__CMSIS__RTOS__ThreadMgmt.html#ga5606604d56e21ece1a654664be877439',1,'cmsis_os2.h']]],
+ ['osthreadexit',['osThreadExit',['../group__CMSIS__RTOS__ThreadMgmt.html#gaddaa452dd7610e4096647a566d3556fc',1,'cmsis_os2.h']]],
+ ['osthreadflagsclear',['osThreadFlagsClear',['../group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga656abc1c862c5b9a2b13584c42cc0bfa',1,'cmsis_os2.h']]],
+ ['osthreadflagsget',['osThreadFlagsGet',['../group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga85c8d2c89466e25abbcb545d9ddd71ba',1,'cmsis_os2.h']]],
+ ['osthreadflagsset',['osThreadFlagsSet',['../group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga6f89ef9caded1d9963c7b12b0f6412c9',1,'cmsis_os2.h']]],
+ ['osthreadflagswait',['osThreadFlagsWait',['../group__CMSIS__RTOS__ThreadFlagsMgmt.html#gac11542ad6300b600f872fc96e340ec2b',1,'cmsis_os2.h']]],
+ ['osthreadgetcount',['osThreadGetCount',['../group__CMSIS__RTOS__ThreadMgmt.html#ga495b3f812224e7301f23a691793765db',1,'cmsis_os2.h']]],
+ ['osthreadgetid',['osThreadGetId',['../group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da',1,'cmsis_os2.h']]],
+ ['osthreadgetname',['osThreadGetName',['../group__CMSIS__RTOS__ThreadMgmt.html#gac3230f3a55a297514b013ebf38f27e0a',1,'cmsis_os2.h']]],
+ ['osthreadgetpriority',['osThreadGetPriority',['../group__CMSIS__RTOS__ThreadMgmt.html#ga0aeaf349604f456e68e78f9d3b42e44b',1,'cmsis_os2.h']]],
+ ['osthreadgetstacksize',['osThreadGetStackSize',['../group__CMSIS__RTOS__ThreadMgmt.html#gab9f8bd715d671c6ee27644867bc1bf65',1,'cmsis_os2.h']]],
+ ['osthreadgetstackspace',['osThreadGetStackSpace',['../group__CMSIS__RTOS__ThreadMgmt.html#ga9c83bd5dd8de329701775d6ef7012720',1,'cmsis_os2.h']]],
+ ['osthreadgetstate',['osThreadGetState',['../group__CMSIS__RTOS__ThreadMgmt.html#gacc0a98b42f0a5928e12dc91dc76866b9',1,'cmsis_os2.h']]],
+ ['osthreadjoin',['osThreadJoin',['../group__CMSIS__RTOS__ThreadMgmt.html#ga3fca90fb0679afeb968aa8c3d5874487',1,'cmsis_os2.h']]],
+ ['osthreadnew',['osThreadNew',['../group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f',1,'cmsis_os2.h']]],
+ ['osthreadresume',['osThreadResume',['../group__CMSIS__RTOS__ThreadMgmt.html#ga3dbad90eff394b02de76a452c84c5d80',1,'cmsis_os2.h']]],
+ ['osthreadsetpriority',['osThreadSetPriority',['../group__CMSIS__RTOS__ThreadMgmt.html#ga861a420fb2d643115b06622903fb3bfb',1,'cmsis_os2.h']]],
+ ['osthreadsuspend',['osThreadSuspend',['../group__CMSIS__RTOS__ThreadMgmt.html#gaa9de419d0152bf77e9bbcd1f369fb990',1,'cmsis_os2.h']]],
+ ['osthreadterminate',['osThreadTerminate',['../group__CMSIS__RTOS__ThreadMgmt.html#ga2f8ba6dba6e9c065a6e236ffd410d74a',1,'cmsis_os2.h']]],
+ ['osthreadyield',['osThreadYield',['../group__CMSIS__RTOS__ThreadMgmt.html#gad01c7ec26535b1de6b018bb9466720e2',1,'cmsis_os2.h']]],
+ ['ostimerdelete',['osTimerDelete',['../group__CMSIS__RTOS__TimerMgmt.html#gad0001dd74721ab461789324806db2453',1,'cmsis_os2.h']]],
+ ['ostimergetname',['osTimerGetName',['../group__CMSIS__RTOS__TimerMgmt.html#ga4f82a98eee4d9ea79507e44340d3d319',1,'cmsis_os2.h']]],
+ ['ostimerisrunning',['osTimerIsRunning',['../group__CMSIS__RTOS__TimerMgmt.html#ga69d3589f54194022c30dd01e45ec6741',1,'cmsis_os2.h']]],
+ ['ostimernew',['osTimerNew',['../group__CMSIS__RTOS__TimerMgmt.html#gad4e7f785c5f700a509f55a3bf6a62bec',1,'cmsis_os2.h']]],
+ ['ostimerstart',['osTimerStart',['../group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d',1,'cmsis_os2.h']]],
+ ['ostimerstop',['osTimerStop',['../group__CMSIS__RTOS__TimerMgmt.html#gabd7a89356da7717293eb0bc5d87b8ac9',1,'cmsis_os2.h']]]
+];
diff --git a/docs/RTOS2/html/search/functions_2.html b/docs/RTOS2/html/search/functions_2.html
new file mode 100644
index 0000000..78be8b4
--- /dev/null
+++ b/docs/RTOS2/html/search/functions_2.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/functions_2.js b/docs/RTOS2/html/search/functions_2.js
new file mode 100644
index 0000000..c0c3d26
--- /dev/null
+++ b/docs/RTOS2/html/search/functions_2.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['pendsv_5fhandler',['PendSV_Handler',['../rtx__os_8h.html#a6303e1f258cbdc1f970ce579cc015623',1,'rtx_os.h']]]
+];
diff --git a/docs/RTOS2/html/search/functions_3.html b/docs/RTOS2/html/search/functions_3.html
new file mode 100644
index 0000000..ebf2eeb
--- /dev/null
+++ b/docs/RTOS2/html/search/functions_3.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_3.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/functions_3.js b/docs/RTOS2/html/search/functions_3.js
new file mode 100644
index 0000000..5b68f94
--- /dev/null
+++ b/docs/RTOS2/html/search/functions_3.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['svc_5fhandler',['SVC_Handler',['../rtx__os_8h.html#a3e5ddb3df0d62f2dc357e64a3f04a6ce',1,'rtx_os.h']]],
+ ['systick_5fhandler',['SysTick_Handler',['../rtx__os_8h.html#ab5e09814056d617c521549e542639b7e',1,'rtx_os.h']]]
+];
diff --git a/docs/RTOS2/html/search/groups_0.html b/docs/RTOS2/html/search/groups_0.html
new file mode 100644
index 0000000..2090afa
--- /dev/null
+++ b/docs/RTOS2/html/search/groups_0.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="groups_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/groups_0.js b/docs/RTOS2/html/search/groups_0.js
new file mode 100644
index 0000000..e74c670
--- /dev/null
+++ b/docs/RTOS2/html/search/groups_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['cmsis_2drtos_20api_20v2',['CMSIS-RTOS API v2',['../group__CMSIS__RTOS.html',1,'']]]
+];
diff --git a/docs/RTOS2/html/search/groups_1.html b/docs/RTOS2/html/search/groups_1.html
new file mode 100644
index 0000000..3ad8a3b
--- /dev/null
+++ b/docs/RTOS2/html/search/groups_1.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="groups_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/groups_1.js b/docs/RTOS2/html/search/groups_1.js
new file mode 100644
index 0000000..111ced4
--- /dev/null
+++ b/docs/RTOS2/html/search/groups_1.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['definitions',['Definitions',['../group__CMSIS__RTOS__Definitions.html',1,'']]]
+];
diff --git a/docs/RTOS2/html/search/groups_2.html b/docs/RTOS2/html/search/groups_2.html
new file mode 100644
index 0000000..361832c
--- /dev/null
+++ b/docs/RTOS2/html/search/groups_2.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="groups_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/groups_2.js b/docs/RTOS2/html/search/groups_2.js
new file mode 100644
index 0000000..28660ad
--- /dev/null
+++ b/docs/RTOS2/html/search/groups_2.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['event_20flags',['Event Flags',['../group__CMSIS__RTOS__EventFlags.html',1,'']]],
+ ['event_20functions',['Event functions',['../group__rtx__evr.html',1,'']]],
+ ['event_20flags_20functions',['Event Flags Functions',['../group__rtx__evr__event__flasg.html',1,'']]]
+];
diff --git a/docs/RTOS2/html/search/groups_3.html b/docs/RTOS2/html/search/groups_3.html
new file mode 100644
index 0000000..f42200a
--- /dev/null
+++ b/docs/RTOS2/html/search/groups_3.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="groups_3.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/groups_3.js b/docs/RTOS2/html/search/groups_3.js
new file mode 100644
index 0000000..5ffb70a
--- /dev/null
+++ b/docs/RTOS2/html/search/groups_3.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['flags_20functions_20error_20codes',['Flags Functions Error Codes',['../group__flags__error__codes.html',1,'']]],
+ ['functions',['Functions',['../group__rtx5__specific__functions.html',1,'']]]
+];
diff --git a/docs/RTOS2/html/search/groups_4.html b/docs/RTOS2/html/search/groups_4.html
new file mode 100644
index 0000000..b07fdf9
--- /dev/null
+++ b/docs/RTOS2/html/search/groups_4.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="groups_4.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/groups_4.js b/docs/RTOS2/html/search/groups_4.js
new file mode 100644
index 0000000..d43a456
--- /dev/null
+++ b/docs/RTOS2/html/search/groups_4.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['generic_20wait_20functions',['Generic Wait Functions',['../group__CMSIS__RTOS__Wait.html',1,'']]]
+];
diff --git a/docs/RTOS2/html/search/groups_5.html b/docs/RTOS2/html/search/groups_5.html
new file mode 100644
index 0000000..35324c0
--- /dev/null
+++ b/docs/RTOS2/html/search/groups_5.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="groups_5.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/groups_5.js b/docs/RTOS2/html/search/groups_5.js
new file mode 100644
index 0000000..c908b3d
--- /dev/null
+++ b/docs/RTOS2/html/search/groups_5.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['kernel_20information_20and_20control',['Kernel Information and Control',['../group__CMSIS__RTOS__KernelCtrl.html',1,'']]],
+ ['kernel_20functions',['Kernel Functions',['../group__rtx__evr__kernel.html',1,'']]]
+];
diff --git a/docs/RTOS2/html/search/groups_6.html b/docs/RTOS2/html/search/groups_6.html
new file mode 100644
index 0000000..3231402
--- /dev/null
+++ b/docs/RTOS2/html/search/groups_6.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="groups_6.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/groups_6.js b/docs/RTOS2/html/search/groups_6.js
new file mode 100644
index 0000000..7b50a96
--- /dev/null
+++ b/docs/RTOS2/html/search/groups_6.js
@@ -0,0 +1,12 @@
+var searchData=
+[
+ ['memory_20management',['Memory Management',['../group__CMSIS__RTOS__MemoryMgmt.html',1,'']]],
+ ['message_20queue',['Message Queue',['../group__CMSIS__RTOS__Message.html',1,'']]],
+ ['mutex_20management',['Mutex Management',['../group__CMSIS__RTOS__MutexMgmt.html',1,'']]],
+ ['memory_20pool',['Memory Pool',['../group__CMSIS__RTOS__PoolMgmt.html',1,'']]],
+ ['macros',['Macros',['../group__rtx5__specific__defines.html',1,'']]],
+ ['memory_20functions',['Memory Functions',['../group__rtx__evr__memory.html',1,'']]],
+ ['memory_20pool_20functions',['Memory Pool Functions',['../group__rtx__evr__memory__pool.html',1,'']]],
+ ['message_20queue_20functions',['Message Queue Functions',['../group__rtx__evr__message__queue.html',1,'']]],
+ ['mutex_20functions',['Mutex Functions',['../group__rtx__evr__mutex.html',1,'']]]
+];
diff --git a/docs/RTOS2/html/search/groups_7.html b/docs/RTOS2/html/search/groups_7.html
new file mode 100644
index 0000000..27334b6
--- /dev/null
+++ b/docs/RTOS2/html/search/groups_7.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="groups_7.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/groups_7.js b/docs/RTOS2/html/search/groups_7.js
new file mode 100644
index 0000000..b1314cc
--- /dev/null
+++ b/docs/RTOS2/html/search/groups_7.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['os_20tick_20api',['OS Tick API',['../group__CMSIS__RTOS__TickAPI.html',1,'']]]
+];
diff --git a/docs/RTOS2/html/search/groups_8.html b/docs/RTOS2/html/search/groups_8.html
new file mode 100644
index 0000000..863d136
--- /dev/null
+++ b/docs/RTOS2/html/search/groups_8.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="groups_8.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/groups_8.js b/docs/RTOS2/html/search/groups_8.js
new file mode 100644
index 0000000..d888ee1
--- /dev/null
+++ b/docs/RTOS2/html/search/groups_8.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['rtx_20v5_20specific_20api',['RTX v5 Specific API',['../group__rtx5__specific.html',1,'']]]
+];
diff --git a/docs/RTOS2/html/search/groups_9.html b/docs/RTOS2/html/search/groups_9.html
new file mode 100644
index 0000000..e42b280
--- /dev/null
+++ b/docs/RTOS2/html/search/groups_9.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="groups_9.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/groups_9.js b/docs/RTOS2/html/search/groups_9.js
new file mode 100644
index 0000000..66c16a5
--- /dev/null
+++ b/docs/RTOS2/html/search/groups_9.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['semaphores',['Semaphores',['../group__CMSIS__RTOS__SemaphoreMgmt.html',1,'']]],
+ ['semaphore_20functions',['Semaphore Functions',['../group__rtx__evr__semaphore.html',1,'']]]
+];
diff --git a/docs/RTOS2/html/search/groups_a.html b/docs/RTOS2/html/search/groups_a.html
new file mode 100644
index 0000000..dc8d8cd
--- /dev/null
+++ b/docs/RTOS2/html/search/groups_a.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="groups_a.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/groups_a.js b/docs/RTOS2/html/search/groups_a.js
new file mode 100644
index 0000000..b4f2a98
--- /dev/null
+++ b/docs/RTOS2/html/search/groups_a.js
@@ -0,0 +1,8 @@
+var searchData=
+[
+ ['thread_20flags',['Thread Flags',['../group__CMSIS__RTOS__ThreadFlagsMgmt.html',1,'']]],
+ ['thread_20management',['Thread Management',['../group__CMSIS__RTOS__ThreadMgmt.html',1,'']]],
+ ['timer_20management',['Timer Management',['../group__CMSIS__RTOS__TimerMgmt.html',1,'']]],
+ ['thread_20functions',['Thread Functions',['../group__rtx__evr__thread.html',1,'']]],
+ ['timer_20functions',['Timer Functions',['../group__rtx__evr__timer.html',1,'']]]
+];
diff --git a/docs/RTOS2/html/search/mag_sel.png b/docs/RTOS2/html/search/mag_sel.png
new file mode 100644
index 0000000..81f6040
--- /dev/null
+++ b/docs/RTOS2/html/search/mag_sel.png
Binary files differ
diff --git a/docs/RTOS2/html/search/nomatches.html b/docs/RTOS2/html/search/nomatches.html
new file mode 100644
index 0000000..b1ded27
--- /dev/null
+++ b/docs/RTOS2/html/search/nomatches.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/pages_0.html b/docs/RTOS2/html/search/pages_0.html
new file mode 100644
index 0000000..c51c834
--- /dev/null
+++ b/docs/RTOS2/html/search/pages_0.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="pages_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/pages_0.js b/docs/RTOS2/html/search/pages_0.js
new file mode 100644
index 0000000..66bf330
--- /dev/null
+++ b/docs/RTOS2/html/search/pages_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['building_20the_20rtx5_20library',['Building the RTX5 Library',['../creating_RTX5_LIB.html',1,'rtx5_impl']]]
+];
diff --git a/docs/RTOS2/html/search/pages_1.html b/docs/RTOS2/html/search/pages_1.html
new file mode 100644
index 0000000..2a98fce
--- /dev/null
+++ b/docs/RTOS2/html/search/pages_1.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="pages_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/pages_1.js b/docs/RTOS2/html/search/pages_1.js
new file mode 100644
index 0000000..f053a81
--- /dev/null
+++ b/docs/RTOS2/html/search/pages_1.js
@@ -0,0 +1,9 @@
+var searchData=
+[
+ ['coding_20rules',['Coding Rules',['../CodingRules.html',1,'']]],
+ ['configure_20rtx_20v5',['Configure RTX v5',['../config_rtx5.html',1,'rtx5_impl']]],
+ ['create_20an_20rtx5_20project',['Create an RTX5 Project',['../cre_rtx_proj.html',1,'rtx5_impl']]],
+ ['control_20block_20sizes',['Control Block Sizes',['../pControlBlockSizes.html',1,'technicalData5']]],
+ ['cmsis_2drtos_20c_20api_20v2',['CMSIS-RTOS C API v2',['../rtos_api2.html',1,'functionOverview']]],
+ ['cmsis_2drtos_20c_2b_2b_20api',['CMSIS-RTOS C++ API',['../rtos_apicpp.html',1,'functionOverview']]]
+];
diff --git a/docs/RTOS2/html/search/pages_2.html b/docs/RTOS2/html/search/pages_2.html
new file mode 100644
index 0000000..0711a0b
--- /dev/null
+++ b/docs/RTOS2/html/search/pages_2.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="pages_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/pages_2.js b/docs/RTOS2/html/search/pages_2.js
new file mode 100644
index 0000000..92d97b2
--- /dev/null
+++ b/docs/RTOS2/html/search/pages_2.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['detailed_20api_20function_20differences',['Detailed API Function Differences',['../os2MigrationFunctions.html',1,'os2Migration']]],
+ ['directory_20structure_20and_20file_20overview',['Directory Structure and File Overview',['../pDirectory_Files.html',1,'technicalData5']]]
+];
diff --git a/docs/RTOS2/html/search/pages_3.html b/docs/RTOS2/html/search/pages_3.html
new file mode 100644
index 0000000..4310311
--- /dev/null
+++ b/docs/RTOS2/html/search/pages_3.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="pages_3.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/pages_3.js b/docs/RTOS2/html/search/pages_3.js
new file mode 100644
index 0000000..92b936a
--- /dev/null
+++ b/docs/RTOS2/html/search/pages_3.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['function_20overview',['Function Overview',['../functionOverview.html',1,'index']]]
+];
diff --git a/docs/RTOS2/html/search/pages_4.html b/docs/RTOS2/html/search/pages_4.html
new file mode 100644
index 0000000..ae5ce18
--- /dev/null
+++ b/docs/RTOS2/html/search/pages_4.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="pages_4.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/pages_4.js b/docs/RTOS2/html/search/pages_4.js
new file mode 100644
index 0000000..82b174e
--- /dev/null
+++ b/docs/RTOS2/html/search/pages_4.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['generic_20rtos_20interface',['Generic RTOS Interface',['../genRTOS2IF.html',1,'index']]]
+];
diff --git a/docs/RTOS2/html/search/pages_5.html b/docs/RTOS2/html/search/pages_5.html
new file mode 100644
index 0000000..02c1114
--- /dev/null
+++ b/docs/RTOS2/html/search/pages_5.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="pages_5.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/pages_5.js b/docs/RTOS2/html/search/pages_5.js
new file mode 100644
index 0000000..519a337
--- /dev/null
+++ b/docs/RTOS2/html/search/pages_5.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['hardware_20requirements',['Hardware Requirements',['../pHardwareRequirements.html',1,'technicalData5']]]
+];
diff --git a/docs/RTOS2/html/search/pages_6.html b/docs/RTOS2/html/search/pages_6.html
new file mode 100644
index 0000000..afb70af
--- /dev/null
+++ b/docs/RTOS2/html/search/pages_6.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="pages_6.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/pages_6.js b/docs/RTOS2/html/search/pages_6.js
new file mode 100644
index 0000000..d1acb1b
--- /dev/null
+++ b/docs/RTOS2/html/search/pages_6.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['misra_20c_3a2012_20compliance',['MISRA C:2012 Compliance',['../misraCompliance5.html',1,'rtx5_impl']]],
+ ['migration_20from_20api_20v1_20to_20api_20v2',['Migration from API v1 to API v2',['../os2Migration.html',1,'index']]]
+];
diff --git a/docs/RTOS2/html/search/pages_7.html b/docs/RTOS2/html/search/pages_7.html
new file mode 100644
index 0000000..9d7ba25
--- /dev/null
+++ b/docs/RTOS2/html/search/pages_7.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="pages_7.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/pages_7.js b/docs/RTOS2/html/search/pages_7.js
new file mode 100644
index 0000000..fe9a12b
--- /dev/null
+++ b/docs/RTOS2/html/search/pages_7.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['os_20tick_20api',['OS Tick API',['../rtos_os_tick_api.html',1,'functionOverview']]]
+];
diff --git a/docs/RTOS2/html/search/pages_8.html b/docs/RTOS2/html/search/pages_8.html
new file mode 100644
index 0000000..3377887
--- /dev/null
+++ b/docs/RTOS2/html/search/pages_8.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="pages_8.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/pages_8.js b/docs/RTOS2/html/search/pages_8.js
new file mode 100644
index 0000000..9c98c1f
--- /dev/null
+++ b/docs/RTOS2/html/search/pages_8.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+ ['rtx_20migration_20guide',['RTX Migration Guide',['../os2MigrationGuide.html',1,'os2Migration']]],
+ ['revision_20history',['Revision History',['../rtos_revisionHistory.html',1,'index']]],
+ ['rtos_20validation',['RTOS Validation',['../rtosValidation.html',1,'index']]],
+ ['rtx_20v5_20implementation',['RTX v5 Implementation',['../rtx5_impl.html',1,'index']]]
+];
diff --git a/docs/RTOS2/html/search/pages_9.html b/docs/RTOS2/html/search/pages_9.html
new file mode 100644
index 0000000..203934e
--- /dev/null
+++ b/docs/RTOS2/html/search/pages_9.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="pages_9.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/pages_9.js b/docs/RTOS2/html/search/pages_9.js
new file mode 100644
index 0000000..165e23d
--- /dev/null
+++ b/docs/RTOS2/html/search/pages_9.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['supported_20toolchains',['Supported Toolchains',['../pToolchains.html',1,'technicalData5']]]
+];
diff --git a/docs/RTOS2/html/search/pages_a.html b/docs/RTOS2/html/search/pages_a.html
new file mode 100644
index 0000000..1c097e5
--- /dev/null
+++ b/docs/RTOS2/html/search/pages_a.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="pages_a.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/pages_a.js b/docs/RTOS2/html/search/pages_a.js
new file mode 100644
index 0000000..121aa88
--- /dev/null
+++ b/docs/RTOS2/html/search/pages_a.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['technical_20data',['Technical Data',['../technicalData5.html',1,'rtx5_impl']]],
+ ['theory_20of_20operation',['Theory of Operation',['../theory_of_operation.html',1,'rtx5_impl']]]
+];
diff --git a/docs/RTOS2/html/search/search.css b/docs/RTOS2/html/search/search.css
new file mode 100644
index 0000000..34d6c18
--- /dev/null
+++ b/docs/RTOS2/html/search/search.css
@@ -0,0 +1,271 @@
+/*---------------- Search Box */
+
+#FSearchBox {
+ float: left;
+}
+
+#MSearchBox {
+ white-space : nowrap;
+ position: absolute;
+ float: none;
+ display: inline;
+ margin-top: 8px;
+ right: 0px;
+ width: 170px;
+ z-index: 102;
+ background-color: white;
+}
+
+#MSearchBox .left
+{
+ display:block;
+ position:absolute;
+ left:10px;
+ width:20px;
+ height:19px;
+ background:url('search_l.png') no-repeat;
+ background-position:right;
+}
+
+#MSearchSelect {
+ display:block;
+ position:absolute;
+ width:20px;
+ height:19px;
+}
+
+.left #MSearchSelect {
+ left:4px;
+}
+
+.right #MSearchSelect {
+ right:5px;
+}
+
+#MSearchField {
+ display:block;
+ position:absolute;
+ height:19px;
+ background:url('search_m.png') repeat-x;
+ border:none;
+ width:111px;
+ margin-left:20px;
+ padding-left:4px;
+ color: #909090;
+ outline: none;
+ font: 9pt Arial, Verdana, sans-serif;
+}
+
+#FSearchBox #MSearchField {
+ margin-left:15px;
+}
+
+#MSearchBox .right {
+ display:block;
+ position:absolute;
+ right:10px;
+ top:0px;
+ width:20px;
+ height:19px;
+ background:url('search_r.png') no-repeat;
+ background-position:left;
+}
+
+#MSearchClose {
+ display: none;
+ position: absolute;
+ top: 4px;
+ background : none;
+ border: none;
+ margin: 0px 4px 0px 0px;
+ padding: 0px 0px;
+ outline: none;
+}
+
+.left #MSearchClose {
+ left: 6px;
+}
+
+.right #MSearchClose {
+ right: 2px;
+}
+
+.MSearchBoxActive #MSearchField {
+ color: #000000;
+}
+
+/*---------------- Search filter selection */
+
+#MSearchSelectWindow {
+ display: none;
+ position: absolute;
+ left: 0; top: 0;
+ border: 1px solid #8FA4CF;
+ background-color: #F9FAFC;
+ z-index: 1;
+ padding-top: 4px;
+ padding-bottom: 4px;
+ -moz-border-radius: 4px;
+ -webkit-border-top-left-radius: 4px;
+ -webkit-border-top-right-radius: 4px;
+ -webkit-border-bottom-left-radius: 4px;
+ -webkit-border-bottom-right-radius: 4px;
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+}
+
+.SelectItem {
+ font: 8pt Arial, Verdana, sans-serif;
+ padding-left: 2px;
+ padding-right: 12px;
+ border: 0px;
+}
+
+span.SelectionMark {
+ margin-right: 4px;
+ font-family: monospace;
+ outline-style: none;
+ text-decoration: none;
+}
+
+a.SelectItem {
+ display: block;
+ outline-style: none;
+ color: #000000;
+ text-decoration: none;
+ padding-left: 6px;
+ padding-right: 12px;
+}
+
+a.SelectItem:focus,
+a.SelectItem:active {
+ color: #000000;
+ outline-style: none;
+ text-decoration: none;
+}
+
+a.SelectItem:hover {
+ color: #FFFFFF;
+ background-color: #3C578D;
+ outline-style: none;
+ text-decoration: none;
+ cursor: pointer;
+ display: block;
+}
+
+/*---------------- Search results window */
+
+iframe#MSearchResults {
+ width: 60ex;
+ height: 15em;
+}
+
+#MSearchResultsWindow {
+ display: none;
+ position: absolute;
+ left: 0; top: 0;
+ border: 1px solid #000;
+ background-color: #EEF1F7;
+}
+
+/* ----------------------------------- */
+
+
+#SRIndex {
+ clear:both;
+ padding-bottom: 15px;
+}
+
+.SREntry {
+ font-size: 10pt;
+ padding-left: 1ex;
+}
+
+.SRPage .SREntry {
+ font-size: 8pt;
+ padding: 1px 5px;
+}
+
+body.SRPage {
+ margin: 5px 2px;
+}
+
+.SRChildren {
+ padding-left: 3ex; padding-bottom: .5em
+}
+
+.SRPage .SRChildren {
+ display: none;
+}
+
+.SRSymbol {
+ font-weight: bold;
+ color: #405E98;
+ font-family: Arial, Verdana, sans-serif;
+ text-decoration: none;
+ outline: none;
+}
+
+a.SRScope {
+ display: block;
+ color: #405E98;
+ font-family: Arial, Verdana, sans-serif;
+ text-decoration: none;
+ outline: none;
+}
+
+a.SRSymbol:focus, a.SRSymbol:active,
+a.SRScope:focus, a.SRScope:active {
+ text-decoration: underline;
+}
+
+span.SRScope {
+ padding-left: 4px;
+}
+
+.SRPage .SRStatus {
+ padding: 2px 5px;
+ font-size: 8pt;
+ font-style: italic;
+}
+
+.SRResult {
+ display: none;
+}
+
+DIV.searchresults {
+ margin-left: 10px;
+ margin-right: 10px;
+}
+
+/*---------------- External search page results */
+
+.searchresult {
+ background-color: #F0F3F8;
+}
+
+.pages b {
+ color: white;
+ padding: 5px 5px 3px 5px;
+ background-image: url("../tab_a.png");
+ background-repeat: repeat-x;
+ text-shadow: 0 1px 1px #000000;
+}
+
+.pages {
+ line-height: 17px;
+ margin-left: 4px;
+ text-decoration: none;
+}
+
+.hl {
+ font-weight: bold;
+}
+
+#searchresults {
+ margin-bottom: 20px;
+}
+
+.searchpages {
+ margin-top: 10px;
+}
+
diff --git a/docs/RTOS2/html/search/search.js b/docs/RTOS2/html/search/search.js
new file mode 100644
index 0000000..c317210
--- /dev/null
+++ b/docs/RTOS2/html/search/search.js
@@ -0,0 +1,813 @@
+// Search script generated by doxygen
+// Copyright (C) 2009 by Dimitri van Heesch.
+
+// The code in this file is loosly based on main.js, part of Natural Docs,
+// which is Copyright (C) 2003-2008 Greg Valure
+// Natural Docs is licensed under the GPL.
+
+var indexSectionsWithContent =
+{
+ 0: "_abcdefghiklmnoprstuvw",
+ 1: "o",
+ 2: "chmorv",
+ 3: "eops",
+ 4: "abcdefiklmnoprstuvw",
+ 5: "iot",
+ 6: "o",
+ 7: "o",
+ 8: "_iot",
+ 9: "cdefgkmorst",
+ 10: "bcdfghmorst"
+};
+
+var indexSectionNames =
+{
+ 0: "all",
+ 1: "classes",
+ 2: "files",
+ 3: "functions",
+ 4: "variables",
+ 5: "typedefs",
+ 6: "enums",
+ 7: "enumvalues",
+ 8: "defines",
+ 9: "groups",
+ 10: "pages"
+};
+
+function convertToId(search)
+{
+ var result = '';
+ for (i=0;i<search.length;i++)
+ {
+ var c = search.charAt(i);
+ var cn = c.charCodeAt(0);
+ if (c.match(/[a-z0-9\u0080-\uFFFF]/))
+ {
+ result+=c;
+ }
+ else if (cn<16)
+ {
+ result+="_0"+cn.toString(16);
+ }
+ else
+ {
+ result+="_"+cn.toString(16);
+ }
+ }
+ return result;
+}
+
+function getXPos(item)
+{
+ var x = 0;
+ if (item.offsetWidth)
+ {
+ while (item && item!=document.body)
+ {
+ x += item.offsetLeft;
+ item = item.offsetParent;
+ }
+ }
+ return x;
+}
+
+function getYPos(item)
+{
+ var y = 0;
+ if (item.offsetWidth)
+ {
+ while (item && item!=document.body)
+ {
+ y += item.offsetTop;
+ item = item.offsetParent;
+ }
+ }
+ return y;
+}
+
+/* A class handling everything associated with the search panel.
+
+ Parameters:
+ name - The name of the global variable that will be
+ storing this instance. Is needed to be able to set timeouts.
+ resultPath - path to use for external files
+*/
+function SearchBox(name, resultsPath, inFrame, label)
+{
+ if (!name || !resultsPath) { alert("Missing parameters to SearchBox."); }
+
+ // ---------- Instance variables
+ this.name = name;
+ this.resultsPath = resultsPath;
+ this.keyTimeout = 0;
+ this.keyTimeoutLength = 500;
+ this.closeSelectionTimeout = 300;
+ this.lastSearchValue = "";
+ this.lastResultsPage = "";
+ this.hideTimeout = 0;
+ this.searchIndex = 0;
+ this.searchActive = false;
+ this.insideFrame = inFrame;
+ this.searchLabel = label;
+
+ // ----------- DOM Elements
+
+ this.DOMSearchField = function()
+ { return document.getElementById("MSearchField"); }
+
+ this.DOMSearchSelect = function()
+ { return document.getElementById("MSearchSelect"); }
+
+ this.DOMSearchSelectWindow = function()
+ { return document.getElementById("MSearchSelectWindow"); }
+
+ this.DOMPopupSearchResults = function()
+ { return document.getElementById("MSearchResults"); }
+
+ this.DOMPopupSearchResultsWindow = function()
+ { return document.getElementById("MSearchResultsWindow"); }
+
+ this.DOMSearchClose = function()
+ { return document.getElementById("MSearchClose"); }
+
+ this.DOMSearchBox = function()
+ { return document.getElementById("MSearchBox"); }
+
+ // ------------ Event Handlers
+
+ // Called when focus is added or removed from the search field.
+ this.OnSearchFieldFocus = function(isActive)
+ {
+ this.Activate(isActive);
+ }
+
+ this.OnSearchSelectShow = function()
+ {
+ var searchSelectWindow = this.DOMSearchSelectWindow();
+ var searchField = this.DOMSearchSelect();
+
+ if (this.insideFrame)
+ {
+ var left = getXPos(searchField);
+ var top = getYPos(searchField);
+ left += searchField.offsetWidth + 6;
+ top += searchField.offsetHeight;
+
+ // show search selection popup
+ searchSelectWindow.style.display='block';
+ left -= searchSelectWindow.offsetWidth;
+ searchSelectWindow.style.left = left + 'px';
+ searchSelectWindow.style.top = top + 'px';
+ }
+ else
+ {
+ var left = getXPos(searchField);
+ var top = getYPos(searchField);
+ top += searchField.offsetHeight;
+
+ // show search selection popup
+ searchSelectWindow.style.display='block';
+ searchSelectWindow.style.left = left + 'px';
+ searchSelectWindow.style.top = top + 'px';
+ }
+
+ // stop selection hide timer
+ if (this.hideTimeout)
+ {
+ clearTimeout(this.hideTimeout);
+ this.hideTimeout=0;
+ }
+ return false; // to avoid "image drag" default event
+ }
+
+ this.OnSearchSelectHide = function()
+ {
+ this.hideTimeout = setTimeout(this.name +".CloseSelectionWindow()",
+ this.closeSelectionTimeout);
+ }
+
+ // Called when the content of the search field is changed.
+ this.OnSearchFieldChange = function(evt)
+ {
+ if (this.keyTimeout) // kill running timer
+ {
+ clearTimeout(this.keyTimeout);
+ this.keyTimeout = 0;
+ }
+
+ var e = (evt) ? evt : window.event; // for IE
+ if (e.keyCode==40 || e.keyCode==13)
+ {
+ if (e.shiftKey==1)
+ {
+ this.OnSearchSelectShow();
+ var win=this.DOMSearchSelectWindow();
+ for (i=0;i<win.childNodes.length;i++)
+ {
+ var child = win.childNodes[i]; // get span within a
+ if (child.className=='SelectItem')
+ {
+ child.focus();
+ return;
+ }
+ }
+ return;
+ }
+ else if (window.frames.MSearchResults.searchResults)
+ {
+ var elem = window.frames.MSearchResults.searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+ }
+ else if (e.keyCode==27) // Escape out of the search field
+ {
+ this.DOMSearchField().blur();
+ this.DOMPopupSearchResultsWindow().style.display = 'none';
+ this.DOMSearchClose().style.display = 'none';
+ this.lastSearchValue = '';
+ this.Activate(false);
+ return;
+ }
+
+ // strip whitespaces
+ var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
+
+ if (searchValue != this.lastSearchValue) // search value has changed
+ {
+ if (searchValue != "") // non-empty search
+ {
+ // set timer for search update
+ this.keyTimeout = setTimeout(this.name + '.Search()',
+ this.keyTimeoutLength);
+ }
+ else // empty search field
+ {
+ this.DOMPopupSearchResultsWindow().style.display = 'none';
+ this.DOMSearchClose().style.display = 'none';
+ this.lastSearchValue = '';
+ }
+ }
+ }
+
+ this.SelectItemCount = function(id)
+ {
+ var count=0;
+ var win=this.DOMSearchSelectWindow();
+ for (i=0;i<win.childNodes.length;i++)
+ {
+ var child = win.childNodes[i]; // get span within a
+ if (child.className=='SelectItem')
+ {
+ count++;
+ }
+ }
+ return count;
+ }
+
+ this.SelectItemSet = function(id)
+ {
+ var i,j=0;
+ var win=this.DOMSearchSelectWindow();
+ for (i=0;i<win.childNodes.length;i++)
+ {
+ var child = win.childNodes[i]; // get span within a
+ if (child.className=='SelectItem')
+ {
+ var node = child.firstChild;
+ if (j==id)
+ {
+ node.innerHTML='&#8226;';
+ }
+ else
+ {
+ node.innerHTML='&#160;';
+ }
+ j++;
+ }
+ }
+ }
+
+ // Called when an search filter selection is made.
+ // set item with index id as the active item
+ this.OnSelectItem = function(id)
+ {
+ this.searchIndex = id;
+ this.SelectItemSet(id);
+ var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
+ if (searchValue!="" && this.searchActive) // something was found -> do a search
+ {
+ this.Search();
+ }
+ }
+
+ this.OnSearchSelectKey = function(evt)
+ {
+ var e = (evt) ? evt : window.event; // for IE
+ if (e.keyCode==40 && this.searchIndex<this.SelectItemCount()) // Down
+ {
+ this.searchIndex++;
+ this.OnSelectItem(this.searchIndex);
+ }
+ else if (e.keyCode==38 && this.searchIndex>0) // Up
+ {
+ this.searchIndex--;
+ this.OnSelectItem(this.searchIndex);
+ }
+ else if (e.keyCode==13 || e.keyCode==27)
+ {
+ this.OnSelectItem(this.searchIndex);
+ this.CloseSelectionWindow();
+ this.DOMSearchField().focus();
+ }
+ return false;
+ }
+
+ // --------- Actions
+
+ // Closes the results window.
+ this.CloseResultsWindow = function()
+ {
+ this.DOMPopupSearchResultsWindow().style.display = 'none';
+ this.DOMSearchClose().style.display = 'none';
+ this.Activate(false);
+ }
+
+ this.CloseSelectionWindow = function()
+ {
+ this.DOMSearchSelectWindow().style.display = 'none';
+ }
+
+ // Performs a search.
+ this.Search = function()
+ {
+ this.keyTimeout = 0;
+
+ // strip leading whitespace
+ var searchValue = this.DOMSearchField().value.replace(/^ +/, "");
+
+ var code = searchValue.toLowerCase().charCodeAt(0);
+ var idxChar = searchValue.substr(0, 1).toLowerCase();
+ if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair
+ {
+ idxChar = searchValue.substr(0, 2);
+ }
+
+ var resultsPage;
+ var resultsPageWithSearch;
+ var hasResultsPage;
+
+ var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar);
+ if (idx!=-1)
+ {
+ var hexCode=idx.toString(16);
+ resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html';
+ resultsPageWithSearch = resultsPage+'?'+escape(searchValue);
+ hasResultsPage = true;
+ }
+ else // nothing available for this search term
+ {
+ resultsPage = this.resultsPath + '/nomatches.html';
+ resultsPageWithSearch = resultsPage;
+ hasResultsPage = false;
+ }
+
+ window.frames.MSearchResults.location = resultsPageWithSearch;
+ var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
+
+ if (domPopupSearchResultsWindow.style.display!='block')
+ {
+ var domSearchBox = this.DOMSearchBox();
+ this.DOMSearchClose().style.display = 'inline';
+ if (this.insideFrame)
+ {
+ var domPopupSearchResults = this.DOMPopupSearchResults();
+ domPopupSearchResultsWindow.style.position = 'relative';
+ domPopupSearchResultsWindow.style.display = 'block';
+ var width = document.body.clientWidth - 8; // the -8 is for IE :-(
+ domPopupSearchResultsWindow.style.width = width + 'px';
+ domPopupSearchResults.style.width = width + 'px';
+ }
+ else
+ {
+ var domPopupSearchResults = this.DOMPopupSearchResults();
+ var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth;
+ var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1;
+ domPopupSearchResultsWindow.style.display = 'block';
+ left -= domPopupSearchResults.offsetWidth;
+ domPopupSearchResultsWindow.style.top = top + 'px';
+ domPopupSearchResultsWindow.style.left = left + 'px';
+ }
+ }
+
+ this.lastSearchValue = searchValue;
+ this.lastResultsPage = resultsPage;
+ }
+
+ // -------- Activation Functions
+
+ // Activates or deactivates the search panel, resetting things to
+ // their default values if necessary.
+ this.Activate = function(isActive)
+ {
+ if (isActive || // open it
+ this.DOMPopupSearchResultsWindow().style.display == 'block'
+ )
+ {
+ this.DOMSearchBox().className = 'MSearchBoxActive';
+
+ var searchField = this.DOMSearchField();
+
+ if (searchField.value == this.searchLabel) // clear "Search" term upon entry
+ {
+ searchField.value = '';
+ this.searchActive = true;
+ }
+ }
+ else if (!isActive) // directly remove the panel
+ {
+ this.DOMSearchBox().className = 'MSearchBoxInactive';
+ this.DOMSearchField().value = this.searchLabel;
+ this.searchActive = false;
+ this.lastSearchValue = ''
+ this.lastResultsPage = '';
+ }
+ }
+}
+
+// -----------------------------------------------------------------------
+
+// The class that handles everything on the search results page.
+function SearchResults(name)
+{
+ // The number of matches from the last run of <Search()>.
+ this.lastMatchCount = 0;
+ this.lastKey = 0;
+ this.repeatOn = false;
+
+ // Toggles the visibility of the passed element ID.
+ this.FindChildElement = function(id)
+ {
+ var parentElement = document.getElementById(id);
+ var element = parentElement.firstChild;
+
+ while (element && element!=parentElement)
+ {
+ if (element.nodeName == 'DIV' && element.className == 'SRChildren')
+ {
+ return element;
+ }
+
+ if (element.nodeName == 'DIV' && element.hasChildNodes())
+ {
+ element = element.firstChild;
+ }
+ else if (element.nextSibling)
+ {
+ element = element.nextSibling;
+ }
+ else
+ {
+ do
+ {
+ element = element.parentNode;
+ }
+ while (element && element!=parentElement && !element.nextSibling);
+
+ if (element && element!=parentElement)
+ {
+ element = element.nextSibling;
+ }
+ }
+ }
+ }
+
+ this.Toggle = function(id)
+ {
+ var element = this.FindChildElement(id);
+ if (element)
+ {
+ if (element.style.display == 'block')
+ {
+ element.style.display = 'none';
+ }
+ else
+ {
+ element.style.display = 'block';
+ }
+ }
+ }
+
+ // Searches for the passed string. If there is no parameter,
+ // it takes it from the URL query.
+ //
+ // Always returns true, since other documents may try to call it
+ // and that may or may not be possible.
+ this.Search = function(search)
+ {
+ if (!search) // get search word from URL
+ {
+ search = window.location.search;
+ search = search.substring(1); // Remove the leading '?'
+ search = unescape(search);
+ }
+
+ search = search.replace(/^ +/, ""); // strip leading spaces
+ search = search.replace(/ +$/, ""); // strip trailing spaces
+ search = search.toLowerCase();
+ search = convertToId(search);
+
+ var resultRows = document.getElementsByTagName("div");
+ var matches = 0;
+
+ var i = 0;
+ while (i < resultRows.length)
+ {
+ var row = resultRows.item(i);
+ if (row.className == "SRResult")
+ {
+ var rowMatchName = row.id.toLowerCase();
+ rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_'
+
+ if (search.length<=rowMatchName.length &&
+ rowMatchName.substr(0, search.length)==search)
+ {
+ row.style.display = 'block';
+ matches++;
+ }
+ else
+ {
+ row.style.display = 'none';
+ }
+ }
+ i++;
+ }
+ document.getElementById("Searching").style.display='none';
+ if (matches == 0) // no results
+ {
+ document.getElementById("NoMatches").style.display='block';
+ }
+ else // at least one result
+ {
+ document.getElementById("NoMatches").style.display='none';
+ }
+ this.lastMatchCount = matches;
+ return true;
+ }
+
+ // return the first item with index index or higher that is visible
+ this.NavNext = function(index)
+ {
+ var focusItem;
+ while (1)
+ {
+ var focusName = 'Item'+index;
+ focusItem = document.getElementById(focusName);
+ if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
+ {
+ break;
+ }
+ else if (!focusItem) // last element
+ {
+ break;
+ }
+ focusItem=null;
+ index++;
+ }
+ return focusItem;
+ }
+
+ this.NavPrev = function(index)
+ {
+ var focusItem;
+ while (1)
+ {
+ var focusName = 'Item'+index;
+ focusItem = document.getElementById(focusName);
+ if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
+ {
+ break;
+ }
+ else if (!focusItem) // last element
+ {
+ break;
+ }
+ focusItem=null;
+ index--;
+ }
+ return focusItem;
+ }
+
+ this.ProcessKeys = function(e)
+ {
+ if (e.type == "keydown")
+ {
+ this.repeatOn = false;
+ this.lastKey = e.keyCode;
+ }
+ else if (e.type == "keypress")
+ {
+ if (!this.repeatOn)
+ {
+ if (this.lastKey) this.repeatOn = true;
+ return false; // ignore first keypress after keydown
+ }
+ }
+ else if (e.type == "keyup")
+ {
+ this.lastKey = 0;
+ this.repeatOn = false;
+ }
+ return this.lastKey!=0;
+ }
+
+ this.Nav = function(evt,itemIndex)
+ {
+ var e = (evt) ? evt : window.event; // for IE
+ if (e.keyCode==13) return true;
+ if (!this.ProcessKeys(e)) return false;
+
+ if (this.lastKey==38) // Up
+ {
+ var newIndex = itemIndex-1;
+ var focusItem = this.NavPrev(newIndex);
+ if (focusItem)
+ {
+ var child = this.FindChildElement(focusItem.parentNode.parentNode.id);
+ if (child && child.style.display == 'block') // children visible
+ {
+ var n=0;
+ var tmpElem;
+ while (1) // search for last child
+ {
+ tmpElem = document.getElementById('Item'+newIndex+'_c'+n);
+ if (tmpElem)
+ {
+ focusItem = tmpElem;
+ }
+ else // found it!
+ {
+ break;
+ }
+ n++;
+ }
+ }
+ }
+ if (focusItem)
+ {
+ focusItem.focus();
+ }
+ else // return focus to search field
+ {
+ parent.document.getElementById("MSearchField").focus();
+ }
+ }
+ else if (this.lastKey==40) // Down
+ {
+ var newIndex = itemIndex+1;
+ var focusItem;
+ var item = document.getElementById('Item'+itemIndex);
+ var elem = this.FindChildElement(item.parentNode.parentNode.id);
+ if (elem && elem.style.display == 'block') // children visible
+ {
+ focusItem = document.getElementById('Item'+itemIndex+'_c0');
+ }
+ if (!focusItem) focusItem = this.NavNext(newIndex);
+ if (focusItem) focusItem.focus();
+ }
+ else if (this.lastKey==39) // Right
+ {
+ var item = document.getElementById('Item'+itemIndex);
+ var elem = this.FindChildElement(item.parentNode.parentNode.id);
+ if (elem) elem.style.display = 'block';
+ }
+ else if (this.lastKey==37) // Left
+ {
+ var item = document.getElementById('Item'+itemIndex);
+ var elem = this.FindChildElement(item.parentNode.parentNode.id);
+ if (elem) elem.style.display = 'none';
+ }
+ else if (this.lastKey==27) // Escape
+ {
+ parent.searchBox.CloseResultsWindow();
+ parent.document.getElementById("MSearchField").focus();
+ }
+ else if (this.lastKey==13) // Enter
+ {
+ return true;
+ }
+ return false;
+ }
+
+ this.NavChild = function(evt,itemIndex,childIndex)
+ {
+ var e = (evt) ? evt : window.event; // for IE
+ if (e.keyCode==13) return true;
+ if (!this.ProcessKeys(e)) return false;
+
+ if (this.lastKey==38) // Up
+ {
+ if (childIndex>0)
+ {
+ var newIndex = childIndex-1;
+ document.getElementById('Item'+itemIndex+'_c'+newIndex).focus();
+ }
+ else // already at first child, jump to parent
+ {
+ document.getElementById('Item'+itemIndex).focus();
+ }
+ }
+ else if (this.lastKey==40) // Down
+ {
+ var newIndex = childIndex+1;
+ var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex);
+ if (!elem) // last child, jump to parent next parent
+ {
+ elem = this.NavNext(itemIndex+1);
+ }
+ if (elem)
+ {
+ elem.focus();
+ }
+ }
+ else if (this.lastKey==27) // Escape
+ {
+ parent.searchBox.CloseResultsWindow();
+ parent.document.getElementById("MSearchField").focus();
+ }
+ else if (this.lastKey==13) // Enter
+ {
+ return true;
+ }
+ return false;
+ }
+}
+
+function setKeyActions(elem,action)
+{
+ elem.setAttribute('onkeydown',action);
+ elem.setAttribute('onkeypress',action);
+ elem.setAttribute('onkeyup',action);
+}
+
+function setClassAttr(elem,attr)
+{
+ elem.setAttribute('class',attr);
+ elem.setAttribute('className',attr);
+}
+
+function createResults()
+{
+ var results = document.getElementById("SRResults");
+ for (var e=0; e<searchData.length; e++)
+ {
+ var id = searchData[e][0];
+ var srResult = document.createElement('div');
+ srResult.setAttribute('id','SR_'+id);
+ setClassAttr(srResult,'SRResult');
+ var srEntry = document.createElement('div');
+ setClassAttr(srEntry,'SREntry');
+ var srLink = document.createElement('a');
+ srLink.setAttribute('id','Item'+e);
+ setKeyActions(srLink,'return searchResults.Nav(event,'+e+')');
+ setClassAttr(srLink,'SRSymbol');
+ srLink.innerHTML = searchData[e][1][0];
+ srEntry.appendChild(srLink);
+ if (searchData[e][1].length==2) // single result
+ {
+ srLink.setAttribute('href',searchData[e][1][1][0]);
+ if (searchData[e][1][1][1])
+ {
+ srLink.setAttribute('target','_parent');
+ }
+ var srScope = document.createElement('span');
+ setClassAttr(srScope,'SRScope');
+ srScope.innerHTML = searchData[e][1][1][2];
+ srEntry.appendChild(srScope);
+ }
+ else // multiple results
+ {
+ srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")');
+ var srChildren = document.createElement('div');
+ setClassAttr(srChildren,'SRChildren');
+ for (var c=0; c<searchData[e][1].length-1; c++)
+ {
+ var srChild = document.createElement('a');
+ srChild.setAttribute('id','Item'+e+'_c'+c);
+ setKeyActions(srChild,'return searchResults.NavChild(event,'+e+','+c+')');
+ setClassAttr(srChild,'SRScope');
+ srChild.setAttribute('href',searchData[e][1][c+1][0]);
+ if (searchData[e][1][c+1][1])
+ {
+ srChild.setAttribute('target','_parent');
+ }
+ srChild.innerHTML = searchData[e][1][c+1][2];
+ srChildren.appendChild(srChild);
+ }
+ srEntry.appendChild(srChildren);
+ }
+ srResult.appendChild(srEntry);
+ results.appendChild(srResult);
+ }
+}
+
diff --git a/docs/RTOS2/html/search/search_l.png b/docs/RTOS2/html/search/search_l.png
new file mode 100644
index 0000000..c872f4d
--- /dev/null
+++ b/docs/RTOS2/html/search/search_l.png
Binary files differ
diff --git a/docs/RTOS2/html/search/search_m.png b/docs/RTOS2/html/search/search_m.png
new file mode 100644
index 0000000..b429a16
--- /dev/null
+++ b/docs/RTOS2/html/search/search_m.png
Binary files differ
diff --git a/docs/RTOS2/html/search/search_r.png b/docs/RTOS2/html/search/search_r.png
new file mode 100644
index 0000000..97ee8b4
--- /dev/null
+++ b/docs/RTOS2/html/search/search_r.png
Binary files differ
diff --git a/docs/RTOS2/html/search/typedefs_0.html b/docs/RTOS2/html/search/typedefs_0.html
new file mode 100644
index 0000000..8d6b78f
--- /dev/null
+++ b/docs/RTOS2/html/search/typedefs_0.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="typedefs_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/typedefs_0.js b/docs/RTOS2/html/search/typedefs_0.js
new file mode 100644
index 0000000..fe5bd25
--- /dev/null
+++ b/docs/RTOS2/html/search/typedefs_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['irqhandler_5ft',['IRQHandler_t',['../os__tick_8h.html#afbfa2180a9b6208f34891d539e9e2d52',1,'os_tick.h']]]
+];
diff --git a/docs/RTOS2/html/search/typedefs_1.html b/docs/RTOS2/html/search/typedefs_1.html
new file mode 100644
index 0000000..455fe2b
--- /dev/null
+++ b/docs/RTOS2/html/search/typedefs_1.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="typedefs_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/typedefs_1.js b/docs/RTOS2/html/search/typedefs_1.js
new file mode 100644
index 0000000..2b0f7ff
--- /dev/null
+++ b/docs/RTOS2/html/search/typedefs_1.js
@@ -0,0 +1,12 @@
+var searchData=
+[
+ ['oseventflagsid_5ft',['osEventFlagsId_t',['../group__CMSIS__RTOS__EventFlags.html#gafdbab933146d6d81d7cca7287e267a50',1,'cmsis_os2.h']]],
+ ['osmemorypoolid_5ft',['osMemoryPoolId_t',['../group__CMSIS__RTOS__PoolMgmt.html#ga2e44473caf338266f56800960294f960',1,'cmsis_os2.h']]],
+ ['osmessagequeueid_5ft',['osMessageQueueId_t',['../cmsis__os2_8h.html#a206dbc05367e03c39fc6d4d1ebcff317',1,'cmsis_os2.h']]],
+ ['osmutexid_5ft',['osMutexId_t',['../group__CMSIS__RTOS__MutexMgmt.html#ga313801836c62deb23055efb55a420e42',1,'cmsis_os2.h']]],
+ ['ossemaphoreid_5ft',['osSemaphoreId_t',['../group__CMSIS__RTOS__SemaphoreMgmt.html#ga6e1c1c4b04175bb92b013c8f37249f40',1,'cmsis_os2.h']]],
+ ['osthreadfunc_5ft',['osThreadFunc_t',['../group__CMSIS__RTOS__ThreadMgmt.html#gadd51f99a6eb50b94eee75f27cae815eb',1,'cmsis_os2.h']]],
+ ['osthreadid_5ft',['osThreadId_t',['../group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7',1,'cmsis_os2.h']]],
+ ['ostimerfunc_5ft',['osTimerFunc_t',['../group__CMSIS__RTOS__TimerMgmt.html#gaacf768c1ec64b020598afb985d7b30be',1,'cmsis_os2.h']]],
+ ['ostimerid_5ft',['osTimerId_t',['../group__CMSIS__RTOS__TimerMgmt.html#gaad5409379689ee27bb0a0b56ea4a4b34',1,'cmsis_os2.h']]]
+];
diff --git a/docs/RTOS2/html/search/typedefs_2.html b/docs/RTOS2/html/search/typedefs_2.html
new file mode 100644
index 0000000..fac5dba
--- /dev/null
+++ b/docs/RTOS2/html/search/typedefs_2.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="typedefs_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/typedefs_2.js b/docs/RTOS2/html/search/typedefs_2.js
new file mode 100644
index 0000000..929f6fa
--- /dev/null
+++ b/docs/RTOS2/html/search/typedefs_2.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['tz_5fmoduleid_5ft',['TZ_ModuleId_t',['../cmsis__os2_8h.html#ad5ef21485fe5f60263bc0b48006202cb',1,'cmsis_os2.h']]]
+];
diff --git a/docs/RTOS2/html/search/variables_0.html b/docs/RTOS2/html/search/variables_0.html
new file mode 100644
index 0000000..1b8adc9
--- /dev/null
+++ b/docs/RTOS2/html/search/variables_0.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/variables_0.js b/docs/RTOS2/html/search/variables_0.js
new file mode 100644
index 0000000..b596e5b
--- /dev/null
+++ b/docs/RTOS2/html/search/variables_0.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+ ['api',['api',['../group__CMSIS__RTOS__KernelCtrl.html#a76a1ef1a4d3d9bd3e70783051f22a6d3',1,'osVersion_t']]],
+ ['arg',['arg',['../rtx__os_8h.html#a9ce2ec4812a92cb6ab39f6e81e9173a9',1,'osRtxTimerFinfo_t']]],
+ ['attr',['attr',['../rtx__os_8h.html#a28478ea2856f6286899bc90b2c6a1ec4',1,'osRtxThread_t::attr()'],['../rtx__os_8h.html#a28478ea2856f6286899bc90b2c6a1ec4',1,'osRtxMutex_t::attr()']]],
+ ['attr_5fbits',['attr_bits',['../group__CMSIS__RTOS__ThreadMgmt.html#a6e93b49cb79c12f768d72580c7731f30',1,'osThreadAttr_t::attr_bits()'],['../group__CMSIS__RTOS__TimerMgmt.html#a6e93b49cb79c12f768d72580c7731f30',1,'osTimerAttr_t::attr_bits()'],['../group__CMSIS__RTOS__EventFlags.html#a6e93b49cb79c12f768d72580c7731f30',1,'osEventFlagsAttr_t::attr_bits()'],['../group__CMSIS__RTOS__MutexMgmt.html#a6e93b49cb79c12f768d72580c7731f30',1,'osMutexAttr_t::attr_bits()'],['../group__CMSIS__RTOS__SemaphoreMgmt.html#a6e93b49cb79c12f768d72580c7731f30',1,'osSemaphoreAttr_t::attr_bits()'],['../group__CMSIS__RTOS__PoolMgmt.html#a6e93b49cb79c12f768d72580c7731f30',1,'osMemoryPoolAttr_t::attr_bits()'],['../group__CMSIS__RTOS__Message.html#a6e93b49cb79c12f768d72580c7731f30',1,'osMessageQueueAttr_t::attr_bits()']]]
+];
diff --git a/docs/RTOS2/html/search/variables_1.html b/docs/RTOS2/html/search/variables_1.html
new file mode 100644
index 0000000..78f63cd
--- /dev/null
+++ b/docs/RTOS2/html/search/variables_1.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/variables_1.js b/docs/RTOS2/html/search/variables_1.js
new file mode 100644
index 0000000..ab9cd84
--- /dev/null
+++ b/docs/RTOS2/html/search/variables_1.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+ ['block_5fbase',['block_base',['../rtx__os_8h.html#a4a598d941460a6d8ebfbd9c622e2876a',1,'osRtxMpInfo_t']]],
+ ['block_5ffree',['block_free',['../rtx__os_8h.html#aa111194ee30ea4e76b9dfcac8a03a8d9',1,'osRtxMpInfo_t']]],
+ ['block_5flim',['block_lim',['../rtx__os_8h.html#aba0fcdc6eda7e9f65c1d1904b2fff919',1,'osRtxMpInfo_t']]],
+ ['block_5fsize',['block_size',['../rtx__os_8h.html#a9e3fb1e50a1c71b2337df296222d9553',1,'osRtxMpInfo_t']]]
+];
diff --git a/docs/RTOS2/html/search/variables_10.html b/docs/RTOS2/html/search/variables_10.html
new file mode 100644
index 0000000..c43ead3
--- /dev/null
+++ b/docs/RTOS2/html/search/variables_10.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_10.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/variables_10.js b/docs/RTOS2/html/search/variables_10.js
new file mode 100644
index 0000000..921e760
--- /dev/null
+++ b/docs/RTOS2/html/search/variables_10.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['used_5fblocks',['used_blocks',['../rtx__os_8h.html#a444139ba664bc8c262139a9addddb48c',1,'osRtxMpInfo_t']]]
+];
diff --git a/docs/RTOS2/html/search/variables_11.html b/docs/RTOS2/html/search/variables_11.html
new file mode 100644
index 0000000..d9dbba9
--- /dev/null
+++ b/docs/RTOS2/html/search/variables_11.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_11.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/variables_11.js b/docs/RTOS2/html/search/variables_11.js
new file mode 100644
index 0000000..d32cf7c
--- /dev/null
+++ b/docs/RTOS2/html/search/variables_11.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['version',['version',['../rtx__os_8h.html#acd99bb05ca015e7d74448acb1deba7ca',1,'osRtxInfo_t']]]
+];
diff --git a/docs/RTOS2/html/search/variables_12.html b/docs/RTOS2/html/search/variables_12.html
new file mode 100644
index 0000000..faca26f
--- /dev/null
+++ b/docs/RTOS2/html/search/variables_12.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_12.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/variables_12.js b/docs/RTOS2/html/search/variables_12.js
new file mode 100644
index 0000000..e1698ec
--- /dev/null
+++ b/docs/RTOS2/html/search/variables_12.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['wait_5fflags',['wait_flags',['../rtx__os_8h.html#a3c7b4f24d9527394f4b5a1135d117691',1,'osRtxThread_t']]]
+];
diff --git a/docs/RTOS2/html/search/variables_2.html b/docs/RTOS2/html/search/variables_2.html
new file mode 100644
index 0000000..ea80d20
--- /dev/null
+++ b/docs/RTOS2/html/search/variables_2.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/variables_2.js b/docs/RTOS2/html/search/variables_2.js
new file mode 100644
index 0000000..61d6b2c
--- /dev/null
+++ b/docs/RTOS2/html/search/variables_2.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+ ['cb_5fmem',['cb_mem',['../group__CMSIS__RTOS__ThreadMgmt.html#a1e100dc33d403841ed3c344e3397868e',1,'osThreadAttr_t::cb_mem()'],['../group__CMSIS__RTOS__TimerMgmt.html#a1e100dc33d403841ed3c344e3397868e',1,'osTimerAttr_t::cb_mem()'],['../group__CMSIS__RTOS__EventFlags.html#a1e100dc33d403841ed3c344e3397868e',1,'osEventFlagsAttr_t::cb_mem()'],['../group__CMSIS__RTOS__MutexMgmt.html#a1e100dc33d403841ed3c344e3397868e',1,'osMutexAttr_t::cb_mem()'],['../group__CMSIS__RTOS__SemaphoreMgmt.html#a1e100dc33d403841ed3c344e3397868e',1,'osSemaphoreAttr_t::cb_mem()'],['../group__CMSIS__RTOS__PoolMgmt.html#a1e100dc33d403841ed3c344e3397868e',1,'osMemoryPoolAttr_t::cb_mem()'],['../group__CMSIS__RTOS__Message.html#a1e100dc33d403841ed3c344e3397868e',1,'osMessageQueueAttr_t::cb_mem()']]],
+ ['cb_5fsize',['cb_size',['../group__CMSIS__RTOS__ThreadMgmt.html#aa55a4335d12dc2785dc00fdc292d1159',1,'osThreadAttr_t::cb_size()'],['../group__CMSIS__RTOS__TimerMgmt.html#aa55a4335d12dc2785dc00fdc292d1159',1,'osTimerAttr_t::cb_size()'],['../group__CMSIS__RTOS__EventFlags.html#aa55a4335d12dc2785dc00fdc292d1159',1,'osEventFlagsAttr_t::cb_size()'],['../group__CMSIS__RTOS__MutexMgmt.html#aa55a4335d12dc2785dc00fdc292d1159',1,'osMutexAttr_t::cb_size()'],['../group__CMSIS__RTOS__SemaphoreMgmt.html#aa55a4335d12dc2785dc00fdc292d1159',1,'osSemaphoreAttr_t::cb_size()'],['../group__CMSIS__RTOS__PoolMgmt.html#aa55a4335d12dc2785dc00fdc292d1159',1,'osMemoryPoolAttr_t::cb_size()'],['../group__CMSIS__RTOS__Message.html#aa55a4335d12dc2785dc00fdc292d1159',1,'osMessageQueueAttr_t::cb_size()']]],
+ ['cnt_5falloc',['cnt_alloc',['../rtx__os_8h.html#a6bc379cb485caaa1bd9b63abbc79a4ec',1,'osRtxObjectMemUsage_t']]],
+ ['cnt_5ffree',['cnt_free',['../rtx__os_8h.html#a5916fa670084fea56a52ba450565da4b',1,'osRtxObjectMemUsage_t']]]
+];
diff --git a/docs/RTOS2/html/search/variables_3.html b/docs/RTOS2/html/search/variables_3.html
new file mode 100644
index 0000000..0dca26f
--- /dev/null
+++ b/docs/RTOS2/html/search/variables_3.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_3.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/variables_3.js b/docs/RTOS2/html/search/variables_3.js
new file mode 100644
index 0000000..7c666b4
--- /dev/null
+++ b/docs/RTOS2/html/search/variables_3.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['delay',['delay',['../rtx__os_8h.html#a458421a43d4f6dc515faf427bf579d00',1,'osRtxThread_t']]],
+ ['delay_5fnext',['delay_next',['../rtx__os_8h.html#a21a74cedec66715cd5d7422797035868',1,'osRtxThread_t']]],
+ ['delay_5fprev',['delay_prev',['../rtx__os_8h.html#adcfea33cc536708db8a3419ba0295551',1,'osRtxThread_t']]]
+];
diff --git a/docs/RTOS2/html/search/variables_4.html b/docs/RTOS2/html/search/variables_4.html
new file mode 100644
index 0000000..400e8e9
--- /dev/null
+++ b/docs/RTOS2/html/search/variables_4.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_4.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/variables_4.js b/docs/RTOS2/html/search/variables_4.js
new file mode 100644
index 0000000..0b41d93
--- /dev/null
+++ b/docs/RTOS2/html/search/variables_4.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['event_5fflags',['event_flags',['../rtx__os_8h.html#a7044be0679894b5daf72f19f9dd06e03',1,'osRtxEventFlags_t']]]
+];
diff --git a/docs/RTOS2/html/search/variables_5.html b/docs/RTOS2/html/search/variables_5.html
new file mode 100644
index 0000000..7f1241f
--- /dev/null
+++ b/docs/RTOS2/html/search/variables_5.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_5.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/variables_5.js b/docs/RTOS2/html/search/variables_5.js
new file mode 100644
index 0000000..901952a
--- /dev/null
+++ b/docs/RTOS2/html/search/variables_5.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+ ['finfo',['finfo',['../rtx__os_8h.html#ab415a6615c5ddf5365ed86e58a1e1809',1,'osRtxTimer_t']]],
+ ['flags',['flags',['../rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe',1,'osRtxThread_t::flags()'],['../rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe',1,'osRtxTimer_t::flags()'],['../rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe',1,'osRtxEventFlags_t::flags()'],['../rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe',1,'osRtxMutex_t::flags()'],['../rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe',1,'osRtxSemaphore_t::flags()'],['../rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe',1,'osRtxMemoryPool_t::flags()'],['../rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe',1,'osRtxMessage_t::flags()'],['../rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe',1,'osRtxMessageQueue_t::flags()'],['../rtx__os_8h.html#aa2585d779da0ab21273a8d92de9a0ebe',1,'osRtxObject_t::flags()'],['../rtx__os_8h.html#a773b39d480759f67926cb18ae2219281',1,'osRtxConfig_t::flags()']]],
+ ['flags_5foptions',['flags_options',['../rtx__os_8h.html#a87c898585d0aeffdcf67c9e1b3befefe',1,'osRtxThread_t']]],
+ ['func',['func',['../rtx__os_8h.html#aaf8577e5ddcbff356a1d27310baa8a1f',1,'osRtxTimerFinfo_t']]]
+];
diff --git a/docs/RTOS2/html/search/variables_6.html b/docs/RTOS2/html/search/variables_6.html
new file mode 100644
index 0000000..7536df8
--- /dev/null
+++ b/docs/RTOS2/html/search/variables_6.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_6.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/variables_6.js b/docs/RTOS2/html/search/variables_6.js
new file mode 100644
index 0000000..258ff6d
--- /dev/null
+++ b/docs/RTOS2/html/search/variables_6.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['id',['id',['../rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b',1,'osRtxThread_t::id()'],['../rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b',1,'osRtxTimer_t::id()'],['../rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b',1,'osRtxEventFlags_t::id()'],['../rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b',1,'osRtxMutex_t::id()'],['../rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b',1,'osRtxSemaphore_t::id()'],['../rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b',1,'osRtxMemoryPool_t::id()'],['../rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b',1,'osRtxMessage_t::id()'],['../rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b',1,'osRtxMessageQueue_t::id()'],['../rtx__os_8h.html#a1e6927fa1486224044e568f9c370519b',1,'osRtxObject_t::id()']]],
+ ['idle_5fthread_5fattr',['idle_thread_attr',['../rtx__os_8h.html#a694e5f79185db270e087e94719177ca0',1,'osRtxConfig_t']]],
+ ['isr_5fqueue',['isr_queue',['../rtx__os_8h.html#a534f37c2b021c8242492bedfe48b0338',1,'osRtxInfo_t::isr_queue()'],['../rtx__os_8h.html#a0354dd9f726694843f2a01df98c5641c',1,'osRtxConfig_t::isr_queue()']]]
+];
diff --git a/docs/RTOS2/html/search/variables_7.html b/docs/RTOS2/html/search/variables_7.html
new file mode 100644
index 0000000..66186a6
--- /dev/null
+++ b/docs/RTOS2/html/search/variables_7.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_7.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/variables_7.js b/docs/RTOS2/html/search/variables_7.js
new file mode 100644
index 0000000..c2ab641
--- /dev/null
+++ b/docs/RTOS2/html/search/variables_7.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['kernel',['kernel',['../group__CMSIS__RTOS__KernelCtrl.html#ad8075d3f42141346ae2c56389358f9e7',1,'osVersion_t::kernel()'],['../rtx__os_8h.html#a72d4e2550fcee67cc139fca04505a903',1,'osRtxInfo_t::kernel()']]]
+];
diff --git a/docs/RTOS2/html/search/variables_8.html b/docs/RTOS2/html/search/variables_8.html
new file mode 100644
index 0000000..aa13bf2
--- /dev/null
+++ b/docs/RTOS2/html/search/variables_8.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_8.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/variables_8.js b/docs/RTOS2/html/search/variables_8.js
new file mode 100644
index 0000000..90ce3a0
--- /dev/null
+++ b/docs/RTOS2/html/search/variables_8.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['load',['load',['../rtx__os_8h.html#aee4a6239f04d660fc90663dd6b39ca95',1,'osRtxTimer_t']]],
+ ['lock',['lock',['../rtx__os_8h.html#a92435efb84d6814afd444fd462802e9c',1,'osRtxMutex_t']]]
+];
diff --git a/docs/RTOS2/html/search/variables_9.html b/docs/RTOS2/html/search/variables_9.html
new file mode 100644
index 0000000..78cc249
--- /dev/null
+++ b/docs/RTOS2/html/search/variables_9.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_9.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/variables_9.js b/docs/RTOS2/html/search/variables_9.js
new file mode 100644
index 0000000..05d0208
--- /dev/null
+++ b/docs/RTOS2/html/search/variables_9.js
@@ -0,0 +1,18 @@
+var searchData=
+[
+ ['max_5fblocks',['max_blocks',['../rtx__os_8h.html#addc777bf5285ab03de6787385e6ea053',1,'osRtxMpInfo_t']]],
+ ['max_5ftokens',['max_tokens',['../rtx__os_8h.html#aa793f0e9a46e8b59b6d351535ee18a7d',1,'osRtxSemaphore_t']]],
+ ['max_5fused',['max_used',['../rtx__os_8h.html#a81baadf3fdf0eeff338f997ca3fe5009',1,'osRtxObjectMemUsage_t']]],
+ ['mem',['mem',['../rtx__os_8h.html#a42d7108f7184dcb944cdf73f649ad2dd',1,'osRtxInfo_t::mem()'],['../rtx__os_8h.html#aa30bb7d2484db1812c1aaf77a23cd11e',1,'osRtxConfig_t::mem()']]],
+ ['mp_5finfo',['mp_info',['../rtx__os_8h.html#ac1cf67a8631962a42fa2da46f20a1a39',1,'osRtxMemoryPool_t::mp_info()'],['../rtx__os_8h.html#ac1cf67a8631962a42fa2da46f20a1a39',1,'osRtxMessageQueue_t::mp_info()']]],
+ ['mp_5fmem',['mp_mem',['../group__CMSIS__RTOS__PoolMgmt.html#a5799465cca9c71c5587ceb0986f5b06a',1,'osMemoryPoolAttr_t']]],
+ ['mp_5fsize',['mp_size',['../group__CMSIS__RTOS__PoolMgmt.html#a66c26015c0ac8e88a4ad907c120aee4f',1,'osMemoryPoolAttr_t']]],
+ ['mpi',['mpi',['../rtx__os_8h.html#a13aeb46a18b12ae911abead8e497ffd3',1,'osRtxInfo_t::mpi()'],['../rtx__os_8h.html#ac013bca5f28bebf36a3372da78107e97',1,'osRtxConfig_t::mpi()']]],
+ ['mq_5fmem',['mq_mem',['../group__CMSIS__RTOS__Message.html#a4e208dc0fb049b42c4b90cbd2791c5ad',1,'osMessageQueueAttr_t']]],
+ ['mq_5fsize',['mq_size',['../group__CMSIS__RTOS__Message.html#ac1cc09f875e20c926920b57bb83c70ee',1,'osMessageQueueAttr_t']]],
+ ['msg_5fcount',['msg_count',['../rtx__os_8h.html#a6a019648a53352a413ea79b958a362cd',1,'osRtxMessageQueue_t']]],
+ ['msg_5ffirst',['msg_first',['../rtx__os_8h.html#a13c143cc2f25a550fc3eb7ae68b0c56d',1,'osRtxMessageQueue_t']]],
+ ['msg_5flast',['msg_last',['../rtx__os_8h.html#ab386d4a98974f52ca151426c4dde0da4',1,'osRtxMessageQueue_t']]],
+ ['msg_5fsize',['msg_size',['../rtx__os_8h.html#a58873af81b75772a41aa5c1ff788a0c2',1,'osRtxMessageQueue_t']]],
+ ['mutex_5flist',['mutex_list',['../rtx__os_8h.html#a70b3153655adaf42687fe250983f6c95',1,'osRtxThread_t']]]
+];
diff --git a/docs/RTOS2/html/search/variables_a.html b/docs/RTOS2/html/search/variables_a.html
new file mode 100644
index 0000000..592abaa
--- /dev/null
+++ b/docs/RTOS2/html/search/variables_a.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_a.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/variables_a.js b/docs/RTOS2/html/search/variables_a.js
new file mode 100644
index 0000000..44cd77b
--- /dev/null
+++ b/docs/RTOS2/html/search/variables_a.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['name',['name',['../group__CMSIS__RTOS__ThreadMgmt.html#ab74e6bf80237ddc4109968cedc58c151',1,'osThreadAttr_t::name()'],['../group__CMSIS__RTOS__TimerMgmt.html#ab74e6bf80237ddc4109968cedc58c151',1,'osTimerAttr_t::name()'],['../group__CMSIS__RTOS__EventFlags.html#ab74e6bf80237ddc4109968cedc58c151',1,'osEventFlagsAttr_t::name()'],['../group__CMSIS__RTOS__MutexMgmt.html#ab74e6bf80237ddc4109968cedc58c151',1,'osMutexAttr_t::name()'],['../group__CMSIS__RTOS__SemaphoreMgmt.html#ab74e6bf80237ddc4109968cedc58c151',1,'osSemaphoreAttr_t::name()'],['../group__CMSIS__RTOS__PoolMgmt.html#ab74e6bf80237ddc4109968cedc58c151',1,'osMemoryPoolAttr_t::name()'],['../group__CMSIS__RTOS__Message.html#ab74e6bf80237ddc4109968cedc58c151',1,'osMessageQueueAttr_t::name()'],['../rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb',1,'osRtxThread_t::name()'],['../rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb',1,'osRtxTimer_t::name()'],['../rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb',1,'osRtxEventFlags_t::name()'],['../rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb',1,'osRtxMutex_t::name()'],['../rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb',1,'osRtxSemaphore_t::name()'],['../rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb',1,'osRtxMemoryPool_t::name()'],['../rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb',1,'osRtxMessageQueue_t::name()'],['../rtx__os_8h.html#a8f8f80d37794cde9472343e4487ba3eb',1,'osRtxObject_t::name()']]],
+ ['next',['next',['../rtx__os_8h.html#a8b9ac161a613448926b2c2b2c8dbe259',1,'osRtxTimer_t::next()'],['../rtx__os_8h.html#a89570e219f9fb794b8353207a7592f95',1,'osRtxMessage_t::next()']]]
+];
diff --git a/docs/RTOS2/html/search/variables_b.html b/docs/RTOS2/html/search/variables_b.html
new file mode 100644
index 0000000..78052a1
--- /dev/null
+++ b/docs/RTOS2/html/search/variables_b.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_b.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/variables_b.js b/docs/RTOS2/html/search/variables_b.js
new file mode 100644
index 0000000..79b0dc8
--- /dev/null
+++ b/docs/RTOS2/html/search/variables_b.js
@@ -0,0 +1,16 @@
+var searchData=
+[
+ ['os_5fid',['os_id',['../rtx__os_8h.html#a7b7d02cdf33432995469f29878f7dcda',1,'osRtxInfo_t']]],
+ ['osrtxconfig',['osRtxConfig',['../rtx__os_8h.html#a489fda965fa634809f401ae6458a6f45',1,'rtx_os.h']]],
+ ['osrtxeventflagsmemusage',['osRtxEventFlagsMemUsage',['../rtx__os_8h.html#a0c81327f94697890809ce4a594bb9d5c',1,'rtx_os.h']]],
+ ['osrtxinfo',['osRtxInfo',['../rtx__os_8h.html#ad2270125c4e4991c3231d752b6ee5f3f',1,'rtx_os.h']]],
+ ['osrtxmemorypoolmemusage',['osRtxMemoryPoolMemUsage',['../rtx__os_8h.html#ae5dea30a13d7a2316699a7f201504bc7',1,'rtx_os.h']]],
+ ['osrtxmessagequeuememusage',['osRtxMessageQueueMemUsage',['../rtx__os_8h.html#af3da38b316a84990128e8d9f34e3e6d3',1,'rtx_os.h']]],
+ ['osrtxmutexmemusage',['osRtxMutexMemUsage',['../rtx__os_8h.html#a683927dcd67dcb912884d16efa81a58d',1,'rtx_os.h']]],
+ ['osrtxsemaphorememusage',['osRtxSemaphoreMemUsage',['../rtx__os_8h.html#aec50b39ce30d9c87916d077f6f764387',1,'rtx_os.h']]],
+ ['osrtxthreadmemusage',['osRtxThreadMemUsage',['../rtx__os_8h.html#a90374bf1d999b2e1594763ab6c97cd69',1,'rtx_os.h']]],
+ ['osrtxtimermemusage',['osRtxTimerMemUsage',['../rtx__os_8h.html#aa3e7cf488411dbdc814420b81f36b935',1,'rtx_os.h']]],
+ ['owner_5fnext',['owner_next',['../rtx__os_8h.html#a54be7ae32f627ee70e1af8c54203ee5a',1,'osRtxMutex_t']]],
+ ['owner_5fprev',['owner_prev',['../rtx__os_8h.html#a50b315b9b80bafdba54a7a731be1cc30',1,'osRtxMutex_t']]],
+ ['owner_5fthread',['owner_thread',['../rtx__os_8h.html#a987889d464cb2925029e135b76aa0dc9',1,'osRtxMutex_t']]]
+];
diff --git a/docs/RTOS2/html/search/variables_c.html b/docs/RTOS2/html/search/variables_c.html
new file mode 100644
index 0000000..b2260e4
--- /dev/null
+++ b/docs/RTOS2/html/search/variables_c.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_c.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/variables_c.js b/docs/RTOS2/html/search/variables_c.js
new file mode 100644
index 0000000..088af66
--- /dev/null
+++ b/docs/RTOS2/html/search/variables_c.js
@@ -0,0 +1,8 @@
+var searchData=
+[
+ ['padding',['padding',['../rtx__os_8h.html#a735ef00341a84c02ba561c66de3d20af',1,'osRtxMutex_t']]],
+ ['post_5fprocess',['post_process',['../rtx__os_8h.html#ae64a3e930a8e3d1fb28038db9bc514d9',1,'osRtxInfo_t']]],
+ ['prev',['prev',['../rtx__os_8h.html#ac8953ebf7df8aaf724cb12876ac8fb1a',1,'osRtxTimer_t::prev()'],['../rtx__os_8h.html#ad2b4e6d37acc8020701610f54c0c8910',1,'osRtxMessage_t::prev()']]],
+ ['priority',['priority',['../group__CMSIS__RTOS__ThreadMgmt.html#a6a5183df4c54c3e28dc8dc704f2487d5',1,'osThreadAttr_t::priority()'],['../rtx__os_8h.html#a81659cc4c01e54e2424022728d9effc7',1,'osRtxThread_t::priority()'],['../rtx__os_8h.html#a0ad043071ccc7a261d79a759dc9c6f0c',1,'osRtxMessage_t::priority()']]],
+ ['priority_5fbase',['priority_base',['../rtx__os_8h.html#ac67f8858081fb7a6e5a4ee8d2de3b348',1,'osRtxThread_t']]]
+];
diff --git a/docs/RTOS2/html/search/variables_d.html b/docs/RTOS2/html/search/variables_d.html
new file mode 100644
index 0000000..f477999
--- /dev/null
+++ b/docs/RTOS2/html/search/variables_d.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_d.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/variables_d.js b/docs/RTOS2/html/search/variables_d.js
new file mode 100644
index 0000000..e46e6f7
--- /dev/null
+++ b/docs/RTOS2/html/search/variables_d.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['reserved',['reserved',['../group__CMSIS__RTOS__ThreadMgmt.html#a66f538babc389986738ec70104e0562b',1,'osThreadAttr_t::reserved()'],['../rtx__os_8h.html#acb7bc06bed6f6408d719334fc41698c7',1,'osRtxEventFlags_t::reserved()'],['../rtx__os_8h.html#acb7bc06bed6f6408d719334fc41698c7',1,'osRtxSemaphore_t::reserved()'],['../rtx__os_8h.html#acb7bc06bed6f6408d719334fc41698c7',1,'osRtxMemoryPool_t::reserved()'],['../rtx__os_8h.html#acb7bc06bed6f6408d719334fc41698c7',1,'osRtxMessageQueue_t::reserved()'],['../rtx__os_8h.html#acb7bc06bed6f6408d719334fc41698c7',1,'osRtxObject_t::reserved()']]],
+ ['reserved_5fstate',['reserved_state',['../rtx__os_8h.html#a0acbb12a103775ddce0fb5d0efa3540f',1,'osRtxEventFlags_t::reserved_state()'],['../rtx__os_8h.html#a0acbb12a103775ddce0fb5d0efa3540f',1,'osRtxMutex_t::reserved_state()'],['../rtx__os_8h.html#a0acbb12a103775ddce0fb5d0efa3540f',1,'osRtxSemaphore_t::reserved_state()'],['../rtx__os_8h.html#a0acbb12a103775ddce0fb5d0efa3540f',1,'osRtxMemoryPool_t::reserved_state()'],['../rtx__os_8h.html#a0acbb12a103775ddce0fb5d0efa3540f',1,'osRtxMessage_t::reserved_state()'],['../rtx__os_8h.html#a0acbb12a103775ddce0fb5d0efa3540f',1,'osRtxMessageQueue_t::reserved_state()']]],
+ ['robin_5ftimeout',['robin_timeout',['../rtx__os_8h.html#a6b4c66676a5bc985c28b71ac4ac79159',1,'osRtxConfig_t']]]
+];
diff --git a/docs/RTOS2/html/search/variables_e.html b/docs/RTOS2/html/search/variables_e.html
new file mode 100644
index 0000000..1165006
--- /dev/null
+++ b/docs/RTOS2/html/search/variables_e.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_e.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/variables_e.js b/docs/RTOS2/html/search/variables_e.js
new file mode 100644
index 0000000..3c90bb7
--- /dev/null
+++ b/docs/RTOS2/html/search/variables_e.js
@@ -0,0 +1,8 @@
+var searchData=
+[
+ ['sp',['sp',['../rtx__os_8h.html#a382a07e24a852d580d7548b8d517384c',1,'osRtxThread_t']]],
+ ['stack_5fframe',['stack_frame',['../rtx__os_8h.html#a1071334ebd46d95b9ab1dcad788b2adc',1,'osRtxThread_t']]],
+ ['stack_5fmem',['stack_mem',['../group__CMSIS__RTOS__ThreadMgmt.html#ad7c9b42355a4c8b9467130ab3fb19e43',1,'osThreadAttr_t::stack_mem()'],['../rtx__os_8h.html#a447dbb69b4c036e118b3b1b8bd22fe60',1,'osRtxThread_t::stack_mem()']]],
+ ['stack_5fsize',['stack_size',['../group__CMSIS__RTOS__ThreadMgmt.html#aacbc9a219f2d6870e9ce89bb93f975c9',1,'osThreadAttr_t::stack_size()'],['../rtx__os_8h.html#ad63716408aae5b50857ca8ce74e3a3ff',1,'osRtxThread_t::stack_size()']]],
+ ['state',['state',['../rtx__os_8h.html#a0b57aa10271a66f3dc936bba1d2f3830',1,'osRtxThread_t::state()'],['../rtx__os_8h.html#a0b57aa10271a66f3dc936bba1d2f3830',1,'osRtxTimer_t::state()'],['../rtx__os_8h.html#a0b57aa10271a66f3dc936bba1d2f3830',1,'osRtxObject_t::state()']]]
+];
diff --git a/docs/RTOS2/html/search/variables_f.html b/docs/RTOS2/html/search/variables_f.html
new file mode 100644
index 0000000..537dd7c
--- /dev/null
+++ b/docs/RTOS2/html/search/variables_f.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.6">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_f.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/search/variables_f.js b/docs/RTOS2/html/search/variables_f.js
new file mode 100644
index 0000000..c96ea11
--- /dev/null
+++ b/docs/RTOS2/html/search/variables_f.js
@@ -0,0 +1,22 @@
+var searchData=
+[
+ ['thread',['thread',['../rtx__os_8h.html#a540b2b79850c654b3f5756c488314b8d',1,'osRtxInfo_t']]],
+ ['thread_5faddr',['thread_addr',['../rtx__os_8h.html#adf2ebf46aa7018845582f1c70de83598',1,'osRtxThread_t']]],
+ ['thread_5fflags',['thread_flags',['../rtx__os_8h.html#ae757685e50b875e953f4aff67ac24b1b',1,'osRtxThread_t']]],
+ ['thread_5fjoin',['thread_join',['../rtx__os_8h.html#a83ec0540c50d4e79bed99f1b384bd2b9',1,'osRtxThread_t']]],
+ ['thread_5flist',['thread_list',['../rtx__os_8h.html#a8afd5feb676df99867375957b0587451',1,'osRtxEventFlags_t::thread_list()'],['../rtx__os_8h.html#a8afd5feb676df99867375957b0587451',1,'osRtxMutex_t::thread_list()'],['../rtx__os_8h.html#a8afd5feb676df99867375957b0587451',1,'osRtxSemaphore_t::thread_list()'],['../rtx__os_8h.html#a8afd5feb676df99867375957b0587451',1,'osRtxMemoryPool_t::thread_list()'],['../rtx__os_8h.html#a8afd5feb676df99867375957b0587451',1,'osRtxMessageQueue_t::thread_list()'],['../rtx__os_8h.html#a8afd5feb676df99867375957b0587451',1,'osRtxObject_t::thread_list()']]],
+ ['thread_5fnext',['thread_next',['../rtx__os_8h.html#a421971e8ae94fe0bd86b85a90445e71e',1,'osRtxThread_t']]],
+ ['thread_5fprev',['thread_prev',['../rtx__os_8h.html#aa230a0d899f6c0750e6d454af3ef9b05',1,'osRtxThread_t']]],
+ ['thread_5fstack_5fsize',['thread_stack_size',['../rtx__os_8h.html#a6aa2c0bcb2024f1e4c38f9e8f6769c09',1,'osRtxConfig_t']]],
+ ['tick',['tick',['../rtx__os_8h.html#a260e06ce96c2e4deebccaedeb059dc0b',1,'osRtxTimer_t']]],
+ ['tick_5ffreq',['tick_freq',['../rtx__os_8h.html#a5973e7102782a9936a5e0d1417863675',1,'osRtxConfig_t']]],
+ ['tick_5firqn',['tick_irqn',['../rtx__os_8h.html#ad88a39594ffe6ab1016cf59517219e21',1,'osRtxInfo_t']]],
+ ['timer',['timer',['../rtx__os_8h.html#ad2649f7342615613f26a8603203bba7b',1,'osRtxInfo_t']]],
+ ['timer_5fmq_5fattr',['timer_mq_attr',['../rtx__os_8h.html#a3e07bcf21ce5250f3dc0f1ec4ebc938d',1,'osRtxConfig_t']]],
+ ['timer_5fmq_5fmcnt',['timer_mq_mcnt',['../rtx__os_8h.html#a3d6d4ee231cd6db41ee358a5676b1a9d',1,'osRtxConfig_t']]],
+ ['timer_5fthread_5fattr',['timer_thread_attr',['../rtx__os_8h.html#a310b3e01cc8e274529353210db5a78c3',1,'osRtxConfig_t']]],
+ ['tokens',['tokens',['../rtx__os_8h.html#a4e2e4e1126848f81d9e943147e07f0e0',1,'osRtxSemaphore_t']]],
+ ['type',['type',['../rtx__os_8h.html#a1d127017fb298b889f4ba24752d08b8e',1,'osRtxTimer_t']]],
+ ['tz_5fmemory',['tz_memory',['../rtx__os_8h.html#adaa6c424a231e5f6c788532675f33e16',1,'osRtxThread_t']]],
+ ['tz_5fmodule',['tz_module',['../group__CMSIS__RTOS__ThreadMgmt.html#a697f2aad6119d655d212ea10245ae394',1,'osThreadAttr_t']]]
+];
diff --git a/docs/RTOS2/html/semaphore_states.png b/docs/RTOS2/html/semaphore_states.png
new file mode 100644
index 0000000..ce21c19
--- /dev/null
+++ b/docs/RTOS2/html/semaphore_states.png
Binary files differ
diff --git a/docs/RTOS2/html/simple_signal.png b/docs/RTOS2/html/simple_signal.png
new file mode 100644
index 0000000..a0305e4
--- /dev/null
+++ b/docs/RTOS2/html/simple_signal.png
Binary files differ
diff --git a/docs/RTOS2/html/structosRtxInfo__t_8post__process.html b/docs/RTOS2/html/structosRtxInfo__t_8post__process.html
new file mode 100644
index 0000000..791f3b9
--- /dev/null
+++ b/docs/RTOS2/html/structosRtxInfo__t_8post__process.html
@@ -0,0 +1,219 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>osRtxInfo_t.post_process Struct Reference</title>
+<title>CMSIS-RTOS2: osRtxInfo_t.post_process Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
+ <li><a href="classes.html"><span>Data&#160;Structure&#160;Index</span></a></li>
+ <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('structosRtxInfo__t_8post__process.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#pub-attribs">Data Fields</a> </div>
+ <div class="headertitle">
+<div class="title">osRtxInfo_t.post_process Struct Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr class="memitem:a448b397ae9f093b1632dd42680d003bf"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structosRtxInfo__t_8post__process.html#a448b397ae9f093b1632dd42680d003bf">thread</a> )(<a class="el" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a> *)</td></tr>
+<tr class="memdesc:a448b397ae9f093b1632dd42680d003bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt; ISR Post Processing functions <a href="#a448b397ae9f093b1632dd42680d003bf">More...</a><br/></td></tr>
+<tr class="separator:a448b397ae9f093b1632dd42680d003bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a87c97ad39fd308d767c9b0870aa57932"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structosRtxInfo__t_8post__process.html#a87c97ad39fd308d767c9b0870aa57932">event_flags</a> )(<a class="el" href="rtx__os_8h.html#structosRtxEventFlags__t">osRtxEventFlags_t</a> *)</td></tr>
+<tr class="memdesc:a87c97ad39fd308d767c9b0870aa57932"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event Flags Post Processing function. <a href="#a87c97ad39fd308d767c9b0870aa57932">More...</a><br/></td></tr>
+<tr class="separator:a87c97ad39fd308d767c9b0870aa57932"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a701cf47135bf3d62510b25b6dcdc19a8"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structosRtxInfo__t_8post__process.html#a701cf47135bf3d62510b25b6dcdc19a8">semaphore</a> )(<a class="el" href="rtx__os_8h.html#structosRtxSemaphore__t">osRtxSemaphore_t</a> *)</td></tr>
+<tr class="memdesc:a701cf47135bf3d62510b25b6dcdc19a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Semaphore Post Processing function. <a href="#a701cf47135bf3d62510b25b6dcdc19a8">More...</a><br/></td></tr>
+<tr class="separator:a701cf47135bf3d62510b25b6dcdc19a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afa86c80888f72693bbf3bc6c05856159"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structosRtxInfo__t_8post__process.html#afa86c80888f72693bbf3bc6c05856159">memory_pool</a> )(<a class="el" href="rtx__os_8h.html#structosRtxMemoryPool__t">osRtxMemoryPool_t</a> *)</td></tr>
+<tr class="memdesc:afa86c80888f72693bbf3bc6c05856159"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory Pool Post Processing function. <a href="#afa86c80888f72693bbf3bc6c05856159">More...</a><br/></td></tr>
+<tr class="separator:afa86c80888f72693bbf3bc6c05856159"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a07c9d45abfb605d2bdb59d8f2e697fca"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structosRtxInfo__t_8post__process.html#a07c9d45abfb605d2bdb59d8f2e697fca">message</a> )(<a class="el" href="rtx__os_8h.html#structosRtxMessage__t">osRtxMessage_t</a> *)</td></tr>
+<tr class="memdesc:a07c9d45abfb605d2bdb59d8f2e697fca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Message Post Processing function. <a href="#a07c9d45abfb605d2bdb59d8f2e697fca">More...</a><br/></td></tr>
+<tr class="separator:a07c9d45abfb605d2bdb59d8f2e697fca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Field Documentation</h2>
+<a class="anchor" id="a448b397ae9f093b1632dd42680d003bf"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Thread Post Processing function </p>
+
+</div>
+</div>
+<a class="anchor" id="a87c97ad39fd308d767c9b0870aa57932"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a701cf47135bf3d62510b25b6dcdc19a8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="afa86c80888f72693bbf3bc6c05856159"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a07c9d45abfb605d2bdb59d8f2e697fca"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="structosRtxInfo__t_8post__process.html">osRtxInfo_t.post_process</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/structosRtxInfo__t_8post__process.js b/docs/RTOS2/html/structosRtxInfo__t_8post__process.js
new file mode 100644
index 0000000..c513d07
--- /dev/null
+++ b/docs/RTOS2/html/structosRtxInfo__t_8post__process.js
@@ -0,0 +1,8 @@
+var structosRtxInfo__t_8post__process =
+[
+ [ "thread", "structosRtxInfo__t_8post__process.html#a448b397ae9f093b1632dd42680d003bf", null ],
+ [ "event_flags", "structosRtxInfo__t_8post__process.html#a87c97ad39fd308d767c9b0870aa57932", null ],
+ [ "semaphore", "structosRtxInfo__t_8post__process.html#a701cf47135bf3d62510b25b6dcdc19a8", null ],
+ [ "memory_pool", "structosRtxInfo__t_8post__process.html#afa86c80888f72693bbf3bc6c05856159", null ],
+ [ "message", "structosRtxInfo__t_8post__process.html#a07c9d45abfb605d2bdb59d8f2e697fca", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/structosRtxInfo__t_8timer.html b/docs/RTOS2/html/structosRtxInfo__t_8timer.html
new file mode 100644
index 0000000..e5a320e
--- /dev/null
+++ b/docs/RTOS2/html/structosRtxInfo__t_8timer.html
@@ -0,0 +1,204 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>osRtxInfo_t.timer Struct Reference</title>
+<title>CMSIS-RTOS2: osRtxInfo_t.timer Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
+ <li><a href="classes.html"><span>Data&#160;Structure&#160;Index</span></a></li>
+ <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('structosRtxInfo__t_8timer.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#pub-attribs">Data Fields</a> </div>
+ <div class="headertitle">
+<div class="title">osRtxInfo_t.timer Struct Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr class="memitem:a10ae9fc7d453b0dd525d0edf2ede7961"><td class="memItemLeft" align="right" valign="top"><a class="el" href="rtx__os_8h.html#structosRtxTimer__t">osRtxTimer_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structosRtxInfo__t_8timer.html#a10ae9fc7d453b0dd525d0edf2ede7961">list</a></td></tr>
+<tr class="memdesc:a10ae9fc7d453b0dd525d0edf2ede7961"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt; Timer Info <a href="#a10ae9fc7d453b0dd525d0edf2ede7961">More...</a><br/></td></tr>
+<tr class="separator:a10ae9fc7d453b0dd525d0edf2ede7961"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adc127f5d2483352fd20eaddb38feb6d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structosRtxInfo__t_8timer.html#adc127f5d2483352fd20eaddb38feb6d2">thread</a></td></tr>
+<tr class="memdesc:adc127f5d2483352fd20eaddb38feb6d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Timer Thread. <a href="#adc127f5d2483352fd20eaddb38feb6d2">More...</a><br/></td></tr>
+<tr class="separator:adc127f5d2483352fd20eaddb38feb6d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1d8a4975693ef1eb9ca54878098d608f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="rtx__os_8h.html#structosRtxMessageQueue__t">osRtxMessageQueue_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structosRtxInfo__t_8timer.html#a1d8a4975693ef1eb9ca54878098d608f">mq</a></td></tr>
+<tr class="memdesc:a1d8a4975693ef1eb9ca54878098d608f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Timer Message Queue. <a href="#a1d8a4975693ef1eb9ca54878098d608f">More...</a><br/></td></tr>
+<tr class="separator:a1d8a4975693ef1eb9ca54878098d608f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae69dfeafefa7851fd9524a2b32a0eff9"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structosRtxInfo__t_8timer.html#ae69dfeafefa7851fd9524a2b32a0eff9">tick</a> )(void)</td></tr>
+<tr class="memdesc:ae69dfeafefa7851fd9524a2b32a0eff9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Timer Tick Function. <a href="#ae69dfeafefa7851fd9524a2b32a0eff9">More...</a><br/></td></tr>
+<tr class="separator:ae69dfeafefa7851fd9524a2b32a0eff9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Field Documentation</h2>
+<a class="anchor" id="a10ae9fc7d453b0dd525d0edf2ede7961"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Active Timer List </p>
+
+</div>
+</div>
+<a class="anchor" id="adc127f5d2483352fd20eaddb38feb6d2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a1d8a4975693ef1eb9ca54878098d608f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ae69dfeafefa7851fd9524a2b32a0eff9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="structosRtxInfo__t_8timer.html">osRtxInfo_t.timer</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/structosRtxInfo__t_8timer.js b/docs/RTOS2/html/structosRtxInfo__t_8timer.js
new file mode 100644
index 0000000..34417ae
--- /dev/null
+++ b/docs/RTOS2/html/structosRtxInfo__t_8timer.js
@@ -0,0 +1,7 @@
+var structosRtxInfo__t_8timer =
+[
+ [ "list", "structosRtxInfo__t_8timer.html#a10ae9fc7d453b0dd525d0edf2ede7961", null ],
+ [ "thread", "structosRtxInfo__t_8timer.html#adc127f5d2483352fd20eaddb38feb6d2", null ],
+ [ "mq", "structosRtxInfo__t_8timer.html#a1d8a4975693ef1eb9ca54878098d608f", null ],
+ [ "tick", "structosRtxInfo__t_8timer.html#ae69dfeafefa7851fd9524a2b32a0eff9", null ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/sync_off.png b/docs/RTOS2/html/sync_off.png
new file mode 100644
index 0000000..3fdd673
--- /dev/null
+++ b/docs/RTOS2/html/sync_off.png
Binary files differ
diff --git a/docs/RTOS2/html/sync_on.png b/docs/RTOS2/html/sync_on.png
new file mode 100644
index 0000000..e800b8b
--- /dev/null
+++ b/docs/RTOS2/html/sync_on.png
Binary files differ
diff --git a/docs/RTOS2/html/tab_a.png b/docs/RTOS2/html/tab_a.png
new file mode 100644
index 0000000..9fd093d
--- /dev/null
+++ b/docs/RTOS2/html/tab_a.png
Binary files differ
diff --git a/docs/RTOS2/html/tab_b.png b/docs/RTOS2/html/tab_b.png
new file mode 100644
index 0000000..e19d474
--- /dev/null
+++ b/docs/RTOS2/html/tab_b.png
Binary files differ
diff --git a/docs/RTOS2/html/tab_h.png b/docs/RTOS2/html/tab_h.png
new file mode 100644
index 0000000..156ad95
--- /dev/null
+++ b/docs/RTOS2/html/tab_h.png
Binary files differ
diff --git a/docs/RTOS2/html/tab_s.png b/docs/RTOS2/html/tab_s.png
new file mode 100644
index 0000000..181a562
--- /dev/null
+++ b/docs/RTOS2/html/tab_s.png
Binary files differ
diff --git a/docs/RTOS2/html/tab_topnav.png b/docs/RTOS2/html/tab_topnav.png
new file mode 100644
index 0000000..b257b77
--- /dev/null
+++ b/docs/RTOS2/html/tab_topnav.png
Binary files differ
diff --git a/docs/RTOS2/html/tabs.css b/docs/RTOS2/html/tabs.css
new file mode 100644
index 0000000..ffbab50
--- /dev/null
+++ b/docs/RTOS2/html/tabs.css
@@ -0,0 +1,71 @@
+.tabs, .tabs1, .tabs2, .tabs3 {
+ background-image: url('tab_b.png');
+ width: 100%;
+ z-index: 101;
+ font-size: 10px;
+}
+
+.tabs1 {
+ background-image: url('tab_topnav.png');
+ font-size: 12px;
+}
+
+.tabs2 {
+ font-size: 10px;
+}
+.tabs3 {
+ font-size: 9px;
+}
+
+.tablist {
+ margin: 0;
+ padding: 0;
+ display: table;
+ line-height: 24px;
+}
+
+.tablist li {
+ float: left;
+ display: table-cell;
+ background-image: url('tab_b.png');
+ list-style: none;
+}
+
+.tabs1 .tablist li {
+ float: left;
+ display: table-cell;
+ background-image: url('tab_topnav.png');
+ list-style: none;
+}
+
+.tablist a {
+ display: block;
+ padding: 0 20px;
+ font-weight: bold;
+ background-image:url('tab_s.png');
+ background-repeat:no-repeat;
+ background-position:right;
+ color: #283A5D;
+ text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+ text-decoration: none;
+ outline: none;
+}
+
+.tabs3 .tablist a {
+ padding: 0 10px;
+}
+
+.tablist a:hover {
+ background-image: url('tab_h.png');
+ background-repeat:repeat-x;
+ color: #fff;
+ text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+ text-decoration: none;
+}
+
+.tablist li.current a {
+ background-image: url('tab_a.png');
+ background-repeat:repeat-x;
+ color: #fff;
+ text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+}
diff --git a/docs/RTOS2/html/technicalData5.html b/docs/RTOS2/html/technicalData5.html
new file mode 100644
index 0000000..08331f8
--- /dev/null
+++ b/docs/RTOS2/html/technicalData5.html
@@ -0,0 +1,136 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Technical Data</title>
+<title>CMSIS-RTOS2: Technical Data</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('technicalData5.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">Technical Data </div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>The following section contains technical information about RTX v5.</p>
+<ul>
+<li><a class="el" href="pHardwareRequirements.html">Hardware Requirements</a> lists the resource requirements of the RTX v5 kernel along with hardware dependencies.</li>
+<li><a class="el" href="pControlBlockSizes.html">Control Block Sizes</a> provides memory size information for <a class="el" href="theory_of_operation.html#StaticObjectMemory">object-specific control block memory allocation</a>.</li>
+<li><a class="el" href="pDirectory_Files.html">Directory Structure and File Overview</a> is an overview of the supplied files that belong to RTX v5</li>
+<li><a class="el" href="pToolchains.html">Supported Toolchains</a> details about the compiler support which includes ArmCC (MDK, DS-5), IAR EW-ARM, and GCC. </li>
+</ul>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="index.html">index</a></li><li class="navelem"><a class="el" href="rtx5_impl.html">RTX v5 Implementation</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/technicalData5.js b/docs/RTOS2/html/technicalData5.js
new file mode 100644
index 0000000..b4c41f2
--- /dev/null
+++ b/docs/RTOS2/html/technicalData5.js
@@ -0,0 +1,21 @@
+var technicalData5 =
+[
+ [ "Hardware Requirements", "pHardwareRequirements.html", [
+ [ "Processor Requirements", "pHardwareRequirements.html#tpProcessor", [
+ [ "Cortex-M0/M0+/M23 target processor", "pHardwareRequirements.html#tpCortexM0_M0P_M23", null ],
+ [ "Cortex-M3/M4/M7/M33 target processor", "pHardwareRequirements.html#tpCortexM3_M4_M7_M33", null ],
+ [ "Cortex-A5/A7/A9 target processor", "pHardwareRequirements.html#tpCortexA5_A7_A9", null ]
+ ] ],
+ [ "Memory Requirements", "pHardwareRequirements.html#rMemory", null ]
+ ] ],
+ [ "Control Block Sizes", "pControlBlockSizes.html", null ],
+ [ "Directory Structure and File Overview", "pDirectory_Files.html", [
+ [ "RTX v5 Directory Structure", "pDirectory_Files.html#Folders", null ],
+ [ "RTX v5 Library Files", "pDirectory_Files.html#libFiles", null ]
+ ] ],
+ [ "Supported Toolchains", "pToolchains.html", [
+ [ "Arm Compiler (Arm/Keil MDK, uVision5)", "pToolchains.html#technicalData_Toolchain_ARM", null ],
+ [ "IAR Embedded Workbench", "pToolchains.html#technicalData_Toolchain_IAR", null ],
+ [ "GNU Compiler Collection", "pToolchains.html#technicalData_Toolchain_GCC", null ]
+ ] ]
+]; \ No newline at end of file
diff --git a/docs/RTOS2/html/theory_of_operation.html b/docs/RTOS2/html/theory_of_operation.html
new file mode 100644
index 0000000..aaa8e5c
--- /dev/null
+++ b/docs/RTOS2/html/theory_of_operation.html
@@ -0,0 +1,899 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Theory of Operation</title>
+<title>CMSIS-RTOS2: Theory of Operation</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('theory_of_operation.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">Theory of Operation </div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>Many aspects of the kernel are configurable and the configuration options are mentioned where applicable.</p>
+<h1><a class="anchor" id="SystemStartup"></a>
+System Startup</h1>
+<p>Since main is no longer a thread RTX5 does not interfere with the system startup until main is reached. Once the execution reaches <code>main()</code> there is a recommended order to initialize the hardware and start the kernel. This is also reflected in the user code template file "CMSIS-RTOS2 'main' function" supplied with the RTX5 component.</p>
+<p>Your application's <code>main()</code> should implement at least the following in the given order:</p>
+<ol type="1">
+<li>Initialization and configuration of hardware including peripherals, memory, pins, clocks and the interrupt system.</li>
+<li>Update the system core clock using the respective <a href="../../Core/html/group__system__init__gr.html">CMSIS-Core (Cortex-M)</a> or <a href="../../Core_A/html/group__system__init__gr.html">CMSIS-Core (Cortex-A)</a> function.</li>
+<li>Initialize the CMSIS-RTOS kernel using <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659">osKernelInitialize</a>.</li>
+<li>Optionally, create a new thread <code>app_main</code>, which is used as a main thread using <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>. Alternatively, threads can be created in <code>main()</code> directly.</li>
+<li>Start the RTOS scheduler using <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221">osKernelStart</a> which also configure system tick timer and RTOS specific interrupts. This function does not return in case of successful execution. Any application code after <b>osKernelStart</b> will therefore not be executed.</li>
+</ol>
+<dl class="section note"><dt>Note</dt><dd>Interrupts are initialized in <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221">osKernelStart</a>. Modifying basic In case priorities and groupings in the NVIC are altered by the application after the above sequence it might be necessary to call <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659">osKernelInitialize</a> again. Incorrect ossibly catched by <a class="el" href="group__rtx5__specific__functions.html#gaf1745a88f9cc60b609ab1c8076bd346d">osRtxErrorNotify</a> or causing a hard fault.</dd>
+<dd>
+The tick timer is configured during <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221">osKernelStart</a>. </dd></dl>
+<h1><a class="anchor" id="Scheduler"></a>
+Scheduler</h1>
+<p>RTX5 implements a low-latency preemptive scheduler. Major parts of RTX5 are executed in handler mode such as</p>
+<ul>
+<li><a class="el" href="rtx__os_8h.html#ab5e09814056d617c521549e542639b7e">SysTick_Handler</a> used for time-based scheduling.</li>
+<li><a class="el" href="rtx__os_8h.html#a3e5ddb3df0d62f2dc357e64a3f04a6ce">SVC_Handler</a> used for lock-based scheduling.</li>
+<li><a class="el" href="rtx__os_8h.html#a6303e1f258cbdc1f970ce579cc015623">PendSV_Handler</a> used for interrupt-based scheduling.</li>
+</ul>
+<p>In order to be low-latency with respect to ISR execution those system exceptions are configured to use the lowest priority groups available. The priorities are configured such that no preemption happens between them. Thus no interrupt critical sections (i.e. interrupt locks) are needed to protect the scheduler.</p>
+<div class="image">
+<img src="scheduling.png" alt="scheduling.png"/>
+<div class="caption">
+Thread scheduling and interrupt execution</div></div>
+<p> The scheduler combines priority and round-robin based context switches. The example depicted in the image above contains four threads (1, 2, 3, and 4). Threads 1 and 2 share the same priority, thread 3 has a higher one and thread 4 the highest (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#a6a5183df4c54c3e28dc8dc704f2487d5">osThreadAttr_t::priority</a>). As long as threads 3 and 4 are blocked the scheduler switches between thread 1 and 2 on a time-slice basis (round-robin). The time-slice for round-robin scheduling can be configured, see Round-Robin Timeout in <a class="el" href="config_rtx5.html#systemConfig">System Configuration</a>.</p>
+<p>Thread 2 unblocks thread 3 by an arbitrary RTOS-call (executed in SVC handler mode) at time index 2. The scheduler switches to thread 3 immediately because thread 3 has the highest priority. Thread 4 is still blocked.</p>
+<p>At time index 4 an interrupt (ISR) occurs and preempts the SysTick_Handler. RTX does not add any latency to the interrupt service execution. The ISR routine uses an RTOS-call that unblocks thread 4. Instead of switching to thread 4 immediately the PendSV flag is set to defer the context switching. The PendSV_Handler is executed right after the SysTick_Handler returns and the deferred context switch to thread 4 is carried out. As soon as highest priority thread 4 blocks again by using a blocking RTOS-call execution is switched back to thread 3 immediately during time index 5.</p>
+<p>At time index 5 thread 3 uses a blocking RTOS-call as well. Thus the scheduler switches back to thread 2 for time index 6. At time index 7 the scheduler uses the round-robin mechanism to switch to thread 1 and so on.</p>
+<h1><a class="anchor" id="MemoryAllocation"></a>
+Memory Allocation</h1>
+<p>RTX5 objects (thread, mutex, semaphore, timer, message queue, thread and event flags, as well as memory pool) require dedicated RAM memory. Objects can be created using os<em>Object</em>New() calls and deleted using os<em>Object</em>Delete() calls. The related object memory needs to be available during the lifetime of the object.</p>
+<p>RTX5 offers three different memory allocation methods for objects:</p>
+<ul>
+<li><a class="el" href="theory_of_operation.html#GlobalMemoryPool">Global Memory Pool</a> uses a single global memory pool for all objects. It is easy to configure, but may have the disadvantage for memory fragmentation when objects with different sizes are created and destroyed.</li>
+<li><a class="el" href="theory_of_operation.html#ObjectMemoryPool">Object-specific Memory Pools</a> uses a fixed-size memory pool for each object type. The method is time deterministic and avoids memory fragmentation.</li>
+<li><a class="el" href="theory_of_operation.html#StaticObjectMemory">Static Object Memory</a> reserves memory during compile time and completely avoids that a system can be out of memory. This is typically a required for some safety critical systems.</li>
+</ul>
+<p>It possible to intermix all the memory allocation methods in the same application.</p>
+<h2><a class="anchor" id="GlobalMemoryPool"></a>
+Global Memory Pool</h2>
+<p>The global memory pool allocates all objects from a memory area. This method of memory allocation is the default configuration setting of RTX5.</p>
+<div class="image">
+<img src="MemAllocGlob.png" alt="MemAllocGlob.png"/>
+<div class="caption">
+Global Memory Pool for all objects</div></div>
+<p> When the memory pool does not provide sufficient memory, the creation of the object fails and the related os<em>Object</em>New() function returns <span class="XML-Token">NULL</span>.</p>
+<p>Enabled in <a class="el" href="config_rtx5.html#systemConfig">System Configuration</a>.</p>
+<h2><a class="anchor" id="ObjectMemoryPool"></a>
+Object-specific Memory Pools</h2>
+<p>Object-specific memory pools avoids memory fragmentation with a dedicated fixed-size memory management for each object type. This type of memory pools are fully time deterministic, which means that object creation and destruction takes always the same fixed amount of time. As a fixed-size memory pool is specific to an object type, the handling of out-of-memory situations is simplified.</p>
+<div class="image">
+<img src="MemAllocSpec.png" alt="MemAllocSpec.png"/>
+<div class="caption">
+One memory pool per object type</div></div>
+<p> Object-specific memory pools are selectively enabled for each object type, e.g: mutex or thread using the RTX configuration file:</p>
+<ul>
+<li>Enabled in <a class="el" href="config_rtx5.html#threadConfig">Thread Configuration</a> for thread objects.</li>
+<li>Enabled in <a class="el" href="config_rtx5.html#timerConfig">Timer Configuration</a> for timer objects.</li>
+<li>Enabled in <a class="el" href="config_rtx5.html#eventFlagsConfig">Event Flags Configuration</a> for event objects.</li>
+<li>Enabled in <a class="el" href="config_rtx5.html#mutexConfig">Mutex Configuration</a> for mutex objects.</li>
+<li>Enabled in <a class="el" href="config_rtx5.html#semaphoreConfig">Semaphore Configuration</a> for semaphore.</li>
+<li>Enabled in <a class="el" href="config_rtx5.html#memPoolConfig">Memory Pool Configuration</a> for memory pools.</li>
+<li>Enabled in <a class="el" href="config_rtx5.html#msgQueueConfig">Message Queue Configuration</a> for message objects.</li>
+</ul>
+<p>When the memory pool does not provide sufficient memory, the creation of the object fails and the related os<em>Object</em>New() function returns <span class="XML-Token">NULL</span>.</p>
+<h2><a class="anchor" id="StaticObjectMemory"></a>
+Static Object Memory</h2>
+<p>In contrast to the dynamic memory allocations, the static memory allocation requires compile-time allocation of object memory.</p>
+<div class="image">
+<img src="MemAllocStat.png" alt="MemAllocStat.png"/>
+<div class="caption">
+Statically allocated memory for all objects</div></div>
+<p> Static memory allocation can be achieved by providing user-defined memory using attributes at object creation, see <a class="el" href="group__CMSIS__RTOS__MemoryMgmt.html#CMSIS_RTOS_MemoryMgmt_Manual">Manual User-defined Allocation</a>. Please take special note of the following restrictions:</p>
+<table class="doxtable">
+<tr>
+<th>Memory type </th><th>Requirements </th></tr>
+<tr>
+<td>Control Block (osXxxAttr_t::cb_mem) </td><td>4-Byte alignment. Size defined by <a class="el" href="group__rtx5__specific__defines.html#ga30d19272204231956582ebfff69567f6">osRtxThreadCbSize</a>, <a class="el" href="group__rtx5__specific__defines.html#gaf8a145fdeb24fd912971f0671b1a3603">osRtxTimerCbSize</a>, <a class="el" href="group__rtx5__specific__defines.html#ga68100c8c44931f03547973294c433075">osRtxEventFlagsCbSize</a>, <a class="el" href="group__rtx5__specific__defines.html#ga188bfaaf7477cf24cbc9f207feaeb53a">osRtxMutexCbSize</a>, <a class="el" href="group__rtx5__specific__defines.html#ga0949b67063d0bd427fbee9c816b5d45a">osRtxSemaphoreCbSize</a>, <a class="el" href="group__rtx5__specific__defines.html#gab8e49e9e1eea5a015f2a3114cabceb48">osRtxMemoryPoolCbSize</a>, <a class="el" href="group__rtx5__specific__defines.html#gaa8d067c476faa6bfc8e5e21f3b3c844e">osRtxMessageQueueCbSize</a>. </td></tr>
+<tr>
+<td>Thread Stack (<a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ad7c9b42355a4c8b9467130ab3fb19e43" title="memory for stack ">osThreadAttr_t::stack_mem</a>) </td><td>8-Byte alignment. Size is application specific, i.e. amount of stack variables and frames. </td></tr>
+<tr>
+<td>Memory Pool (<a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#a5799465cca9c71c5587ceb0986f5b06a" title="memory for data storage ">osMemoryPoolAttr_t::mp_mem</a>) </td><td>4-Byte alignment. Size calculated with <a class="el" href="group__rtx5__specific__defines.html#gac6bea3541b458bbc79eafce42a2d87a2">osRtxMemoryPoolMemSize</a>. </td></tr>
+<tr>
+<td>Message Queue (<a class="el" href="group__CMSIS__RTOS__Message.html#a4e208dc0fb049b42c4b90cbd2791c5ad" title="memory for data storage ">osMessageQueueAttr_t::mq_mem</a>) </td><td>4-Byte alignment. Size calculated with <a class="el" href="group__rtx5__specific__defines.html#ga47eb1e21f1bf9a42281c6c89c7473e99">osRtxMessageQueueMemSize</a>. </td></tr>
+</table>
+<p>In order to allow RTX5 aware debugging, i.e. Component Viewer, to recognize control blocks these needs to be placed in individual memory sections, i.e. using <code>__attribute__((section(...)))</code>.</p>
+<table class="doxtable">
+<tr>
+<th>RTX Object </th><th>Linker Section </th></tr>
+<tr>
+<td>Thread </td><td><code>.bss.os.thread.cb</code> </td></tr>
+<tr>
+<td>Timer </td><td><code>.bss.os.timer.cb</code> </td></tr>
+<tr>
+<td>Event Flags </td><td><code>.bss.os.evflags.cb</code> </td></tr>
+<tr>
+<td>Mutex </td><td><code>.bss.os.mutex.cb</code> </td></tr>
+<tr>
+<td>Semaphore </td><td><code>.bss.os.semaphore.cb</code> </td></tr>
+<tr>
+<td>Memory Pool </td><td><code>.bss.os.mempool.cb</code> </td></tr>
+<tr>
+<td>Message Queue </td><td><code>.bss.os.msgqueue.cb</code> </td></tr>
+</table>
+<p>The following code example shows how to create an OS object using static memory.</p>
+<p><b> Code Example:</b> </p>
+<div class="fragment"><div class="line"><span class="comment">/*----------------------------------------------------------------------------</span></div>
+<div class="line"><span class="comment"> * CMSIS-RTOS &#39;main&#39; function template</span></div>
+<div class="line"><span class="comment"> *---------------------------------------------------------------------------*/</span></div>
+<div class="line"></div>
+<div class="line"><span class="preprocessor">#include &quot;RTE_Components.h&quot;</span></div>
+<div class="line"><span class="preprocessor">#include CMSIS_device_header</span></div>
+<div class="line"><span class="preprocessor"></span><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
+<div class="line"> </div>
+<div class="line"><span class="comment">//include rtx_os.h for types of RTX objects</span></div>
+<div class="line"><span class="preprocessor">#include &quot;<a class="code" href="rtx__os_8h.html">rtx_os.h</a>&quot;</span></div>
+<div class="line"> </div>
+<div class="line"><span class="comment">//The thread function instanced in this example</span></div>
+<div class="line"><span class="keywordtype">void</span> worker(<span class="keywordtype">void</span> *arg)</div>
+<div class="line">{</div>
+<div class="line"> <span class="keywordflow">while</span>(1) </div>
+<div class="line"> {</div>
+<div class="line"> <span class="comment">//work</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__Wait.html#gaf6055a51390ef65b6b6edc28bf47322e">osDelay</a>(10000);</div>
+<div class="line"> } </div>
+<div class="line">}</div>
+<div class="line"> </div>
+<div class="line"><span class="comment">// Define objects that are statically allocated for worker thread 1</span></div>
+<div class="line">__attribute__((section(<span class="stringliteral">&quot;.bss.os.thread.cb&quot;</span>)))</div>
+<div class="line"><a class="code" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a> worker_thread_tcb_1;</div>
+<div class="line"> </div>
+<div class="line"><span class="comment">// Reserve two areas for the stacks of worker thread 1</span></div>
+<div class="line"><span class="comment">// uint64_t makes sure the memory alignment is 8</span></div>
+<div class="line">uint64_t worker_thread_stk_1[64];</div>
+<div class="line"> </div>
+<div class="line"><span class="comment">// Define the attributes which are used for thread creation</span></div>
+<div class="line"><span class="comment">// Optional const saves RAM memory and includes the values in periodic ROM tests </span></div>
+<div class="line">const <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t">osThreadAttr_t</a> worker_attr_1 = {</div>
+<div class="line"> <span class="stringliteral">&quot;wrk1&quot;</span>,</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga249499c519f3f8eef5673009ab6cfcbe">osThreadJoinable</a>,</div>
+<div class="line"> &amp;worker_thread_tcb_1,</div>
+<div class="line"> <span class="keyword">sizeof</span>(worker_thread_tcb_1),</div>
+<div class="line"> &amp;worker_thread_stk_1[0],</div>
+<div class="line"> <span class="keyword">sizeof</span>(worker_thread_stk_1),</div>
+<div class="line"> <a class="code" href="cmsis__os2_8h.html#gad4e3e0971b41f2d17584a8c6837342eca17b36cd9cd38652c2bc6d4803990674b">osPriorityAboveNormal</a>,</div>
+<div class="line"> 0</div>
+<div class="line">};</div>
+<div class="line"> </div>
+<div class="line"><span class="comment">// Define ID object for thread</span></div>
+<div class="line"><a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#gaa6c32fe2a3e0a2e01f212d55b02e51c7">osThreadId_t</a> th1;</div>
+<div class="line"> </div>
+<div class="line"><span class="comment">/*----------------------------------------------------------------------------</span></div>
+<div class="line"><span class="comment"> * Application main thread</span></div>
+<div class="line"><span class="comment"> *---------------------------------------------------------------------------*/</span></div>
+<div class="line"><span class="keywordtype">void</span> app_main (<span class="keywordtype">void</span> *argument) {</div>
+<div class="line"> uint32_t param = NULL;</div>
+<div class="line"> </div>
+<div class="line"> <span class="comment">// Create an instance of the worker thread with static resources (TCB and stack)</span></div>
+<div class="line"> th1 = <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(worker, &amp;param, &amp;worker_attr_1);</div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordflow">for</span> (;;) {}</div>
+<div class="line">}</div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">int</span> main (<span class="keywordtype">void</span>) {</div>
+<div class="line"> <span class="comment">// System Initialization</span></div>
+<div class="line"> SystemCoreClockUpdate();</div>
+<div class="line"> <span class="comment">// ...</span></div>
+<div class="line"></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659">osKernelInitialize</a>(); <span class="comment">// Initialize CMSIS-RTOS</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#ga48d68b8666d99d28fa646ee1d2182b8f">osThreadNew</a>(app_main, NULL, NULL); <span class="comment">// Create application main thread</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221">osKernelStart</a>(); <span class="comment">// Start thread execution</span></div>
+<div class="line"> <span class="keywordflow">for</span> (;;) {}</div>
+<div class="line">}</div>
+</div><!-- fragment --><h1><a class="anchor" id="ThreadStack"></a>
+Thread Stack Management</h1>
+<p>For Cortex-M processors without floating point unit the thread context requires 64 bytes on the local stack.</p>
+<dl class="section note"><dt>Note</dt><dd>For Cortex-M4/M7 with FP the thread context requires 200 bytes on the local stack. For these devices the default stack space should be increased to a minimum of 300 bytes.</dd></dl>
+<p>Each thread is provided with a separate stack that holds the thread context and stack space for automatic variables and return addresses for function call nesting. The stack sizes of RTX threads are flexibly configurable as explained in the section <a class="el" href="config_rtx5.html#threadConfig">Thread Configuration</a>. RTX offers a configurable checking for stack overflows and stack utilization.</p>
+<h1><a class="anchor" id="lowPower"></a>
+Low-Power Operation</h1>
+<p>The system thread <b>osRtxIdleThread</b> can be use to switch the system into a low-power mode. The easiest form to enter a low-power mode is the execution of the <code>__WFE</code> function that puts the processor into a sleep mode where it waits for an event.</p>
+<p><b>Code Example:</b> </p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;RTE_Components.h&quot;</span></div>
+<div class="line"><span class="preprocessor">#include CMSIS_device_header </span><span class="comment">/* Device definitions */</span><span class="preprocessor"></span></div>
+<div class="line"><span class="preprocessor"></span> </div>
+<div class="line"><span class="keywordtype">void</span> <a class="code" href="group__rtx5__specific__functions.html#ga074068b8efa7074cee68a71481d0b072">osRtxIdleThread</a> (<span class="keywordtype">void</span>) {</div>
+<div class="line"> <span class="comment">/* The idle demon is a system thread, running when no other thread is */</span></div>
+<div class="line"> <span class="comment">/* ready to run. */</span></div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordflow">for</span> (;;) {</div>
+<div class="line"> __WFE(); <span class="comment">/* Enter sleep mode */</span></div>
+<div class="line"> }</div>
+<div class="line">}</div>
+</div><!-- fragment --><dl class="section note"><dt>Note</dt><dd><code>__WFE()</code> is not available in every Cortex-M implementation. Check device manuals for availability.</dd></dl>
+<h1><a class="anchor" id="kernelTimer"></a>
+RTX Kernel Timer Tick</h1>
+<p>RTX uses the generic <a class="el" href="group__CMSIS__RTOS__TickAPI.html">OS Tick API</a> to configure and control its periodic Kernel Tick.</p>
+<p>To use an alternative timer as the Kernel Tick Timer one simply needs to implement a custom version of the <a class="el" href="group__CMSIS__RTOS__TickAPI.html">OS Tick API</a>.</p>
+<dl class="section note"><dt>Note</dt><dd>The OS Tick implementation provided must asure that the used timer interrupt uses the same (low) priority group as the service interrupts, i.e. interrupts used by RTX must not preempt each other. Refer to the <a class="el" href="theory_of_operation.html#Scheduler">Scheduler</a> section for more details.</dd></dl>
+<h2><a class="anchor" id="TickLess"></a>
+Tick-less Low-Power Operation</h2>
+<p>RTX5 provides extension for tick-less operation which is useful for applications that use extensively low-power modes where the SysTick timer is also disabled. To provide a time-tick in such power-saving modes, a wake-up timer is used to derive timer intervals. The CMSIS-RTOS2 functions <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae26683e1606ec633354a2876c68f0c1f">osKernelSuspend</a> and <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga8c4b4d7ed34cab73c001665d9176aced">osKernelResume</a> control the tick-less operation.</p>
+<p>Using this functions allows the RTX5 thread scheduler to stop the periodic kernel tick interrupt. When all active threads are suspended, the system enters power-down and calculates how long it can stay in this power-down mode. In the power-down mode the processor and peripherals can be switched off. Only a wake-up timer must remain powered, because this timer is responsible to wake-up the system after the power-down period expires.</p>
+<p>The tick-less operation is controlled from the <b>osRtxIdleThread</b> thread. The wake-up timeout value is set before the system enters the power-down mode. The function <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae26683e1606ec633354a2876c68f0c1f">osKernelSuspend</a> calculates the wake-up timeout measured in RTX Timer Ticks; this value is used to setup the wake-up timer that runs during the power-down mode of the system.</p>
+<p>Once the system resumes operation (either by a wake-up time out or other interrupts) the RTX5 thread scheduler is started with the function <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga8c4b4d7ed34cab73c001665d9176aced">osKernelResume</a>. The parameter <em>sleep_time</em> specifies the time (in RTX Timer Ticks) that the system was in power-down mode.</p>
+<p><b>Code Example:</b> </p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;msp.h&quot;</span> <span class="comment">// Device header</span></div>
+<div class="line"></div>
+<div class="line"><span class="comment">/*----------------------------------------------------------------------------</span></div>
+<div class="line"><span class="comment"> * MSP432 Low-Power Extension Functions</span></div>
+<div class="line"><span class="comment"> *---------------------------------------------------------------------------*/</span></div>
+<div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> MSP432_LP_Entry(<span class="keywordtype">void</span>) {</div>
+<div class="line"> <span class="comment">/* Enable PCM rude mode, which allows to device to enter LPM3 without waiting for peripherals */</span></div>
+<div class="line"> PCM-&gt;CTL1 = PCM_CTL1_KEY_VAL | PCM_CTL1_FORCE_LPM_ENTRY; </div>
+<div class="line"> <span class="comment">/* Enable all SRAM bank retentions prior to going to LPM3 */</span></div>
+<div class="line"> SYSCTL-&gt;SRAM_BANKRET |= SYSCTL_SRAM_BANKRET_BNK7_RET;</div>
+<div class="line"> __enable_interrupt();</div>
+<div class="line"> NVIC_EnableIRQ(RTC_C_IRQn);</div>
+<div class="line"> <span class="comment">/* Do not wake up on exit from ISR */</span></div>
+<div class="line"> SCB-&gt;SCR |= SCB_SCR_SLEEPONEXIT_Msk;</div>
+<div class="line"> <span class="comment">/* Setting the sleep deep bit */</span></div>
+<div class="line"> SCB-&gt;SCR |= (SCB_SCR_SLEEPDEEP_Msk); </div>
+<div class="line">}</div>
+<div class="line"> </div>
+<div class="line"><span class="keyword">static</span> <span class="keyword">volatile</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> tc;</div>
+<div class="line"><span class="keyword">static</span> <span class="keyword">volatile</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> tc_wakeup;</div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> RTC_C_IRQHandler(<span class="keywordtype">void</span>)</div>
+<div class="line">{</div>
+<div class="line"> <span class="keywordflow">if</span> (tc++ &gt; tc_wakeup) </div>
+<div class="line"> {</div>
+<div class="line"> SCB-&gt;SCR &amp;= ~SCB_SCR_SLEEPONEXIT_Msk; </div>
+<div class="line"> NVIC_DisableIRQ(RTC_C_IRQn);</div>
+<div class="line"> NVIC_ClearPendingIRQ(RTC_C_IRQn);</div>
+<div class="line"> <span class="keywordflow">return</span>;</div>
+<div class="line"> }</div>
+<div class="line"> <span class="keywordflow">if</span> (RTC_C-&gt;PS0CTL &amp; RTC_C_PS0CTL_RT0PSIFG)</div>
+<div class="line"> {</div>
+<div class="line"> RTC_C-&gt;CTL0 = RTC_C_KEY_VAL; <span class="comment">// Unlock RTC key protected registers</span></div>
+<div class="line"> RTC_C-&gt;PS0CTL &amp;= ~RTC_C_PS0CTL_RT0PSIFG;</div>
+<div class="line"> RTC_C-&gt;CTL0 = 0;</div>
+<div class="line"> SCB-&gt;SCR |= (SCB_SCR_SLEEPDEEP_Msk);</div>
+<div class="line"> }</div>
+<div class="line">}</div>
+<div class="line"> </div>
+<div class="line">uint32_t g_enable_sleep = 0;</div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">void</span> <a class="code" href="group__rtx5__specific__functions.html#ga074068b8efa7074cee68a71481d0b072">osRtxIdleThread</a> (<span class="keywordtype">void</span>) {</div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordflow">for</span> (;;) {</div>
+<div class="line"> tc_wakeup = <a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#gae26683e1606ec633354a2876c68f0c1f">osKernelSuspend</a>();</div>
+<div class="line"> <span class="comment">/* Is there some time to sleep? */</span></div>
+<div class="line"> <span class="keywordflow">if</span> (tc_wakeup &gt; 0) {</div>
+<div class="line"> tc = 0;</div>
+<div class="line"> <span class="comment">/* Enter the low power state */</span></div>
+<div class="line"> MSP432_LP_Entry();</div>
+<div class="line"> __WFE();</div>
+<div class="line"> }</div>
+<div class="line"> <span class="comment">/* Adjust the kernel ticks with the amount of ticks slept */</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__KernelCtrl.html#ga8c4b4d7ed34cab73c001665d9176aced">osKernelResume</a> (tc);</div>
+<div class="line"> }</div>
+<div class="line">}</div>
+</div><!-- fragment --><dl class="section note"><dt>Note</dt><dd><code>__WFE()</code> is not available in every Arm Cortex-M implementation. Check device manuals for availability. The alternative using <code>__WFI()</code> has other issues, please take note of <a href="http://www.keil.com/support/docs/3591.htm">http://www.keil.com/support/docs/3591.htm</a> as well.</dd></dl>
+<h1><a class="anchor" id="rtx_os_h"></a>
+RTX5 Header File</h1>
+<p>Every implementation of the CMSIS-RTOS2 API can bring its own additional features. RTX5 adds a couple of <a class="el" href="group__rtx5__specific.html">functions</a> for the idle more, for error notifications, and special system timer functions. It also is using macros for control block and memory sizes.</p>
+<p>If you require some of the RTX specific functions in your application code, #include the header file <b>rtx_os.h</b>:</p>
+<div class="fragment"><div class="line"><span class="comment">/*</span></div>
+<div class="line"><span class="comment"> * Copyright (c) 2013-2018 Arm Limited. All rights reserved.</span></div>
+<div class="line"><span class="comment"> *</span></div>
+<div class="line"><span class="comment"> * SPDX-License-Identifier: Apache-2.0</span></div>
+<div class="line"><span class="comment"> *</span></div>
+<div class="line"><span class="comment"> * Licensed under the Apache License, Version 2.0 (the License); you may</span></div>
+<div class="line"><span class="comment"> * not use this file except in compliance with the License.</span></div>
+<div class="line"><span class="comment"> * You may obtain a copy of the License at</span></div>
+<div class="line"><span class="comment"> *</span></div>
+<div class="line"><span class="comment"> * www.apache.org/licenses/LICENSE-2.0</span></div>
+<div class="line"><span class="comment"> *</span></div>
+<div class="line"><span class="comment"> * Unless required by applicable law or agreed to in writing, software</span></div>
+<div class="line"><span class="comment"> * distributed under the License is distributed on an AS IS BASIS, WITHOUT</span></div>
+<div class="line"><span class="comment"> * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div>
+<div class="line"><span class="comment"> * See the License for the specific language governing permissions and</span></div>
+<div class="line"><span class="comment"> * limitations under the License.</span></div>
+<div class="line"><span class="comment"> *</span></div>
+<div class="line"><span class="comment"> * -----------------------------------------------------------------------------</span></div>
+<div class="line"><span class="comment"> *</span></div>
+<div class="line"><span class="comment"> * Project: CMSIS-RTOS RTX</span></div>
+<div class="line"><span class="comment"> * Title: RTX OS definitions</span></div>
+<div class="line"><span class="comment"> *</span></div>
+<div class="line"><span class="comment"> * -----------------------------------------------------------------------------</span></div>
+<div class="line"><span class="comment"> */</span></div>
+<div class="line"> </div>
+<div class="line"><span class="preprocessor">#ifndef RTX_OS_H_</span></div>
+<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define RTX_OS_H_</span></div>
+<div class="line"><span class="preprocessor"></span> </div>
+<div class="line"><span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
+<div class="line"><span class="preprocessor">#include &lt;stddef.h&gt;</span></div>
+<div class="line"><span class="preprocessor">#include &quot;<a class="code" href="cmsis__os2_8h.html">cmsis_os2.h</a>&quot;</span></div>
+<div class="line"> </div>
+<div class="line"><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span></div>
+<div class="line">{</div>
+<div class="line"><span class="preprocessor">#endif</span></div>
+<div class="line"><span class="preprocessor"></span> </div>
+<div class="line"> <span class="comment"></span></div>
+<div class="line"><span class="comment">/// Kernel Information</span></div>
+<div class="line"><span class="comment"></span><span class="preprocessor">#define osRtxVersionAPI 20010003 </span><span class="comment">///&lt; API version (2.1.3)</span></div>
+<div class="line"><span class="comment"></span>#define osRtxVersionKernel 50040000 <span class="comment">///&lt; Kernel version (5.4.0)</span></div>
+<div class="line"><span class="comment"></span>#define osRtxKernelId &quot;RTX V5.4.0&quot; <span class="comment">///&lt; Kernel identification string</span></div>
+<div class="line"><span class="comment"></span> </div>
+<div class="line"> </div>
+<div class="line"><span class="comment">// ==== Common definitions ====</span></div>
+<div class="line"> <span class="comment"></span></div>
+<div class="line"><span class="comment">/// Object Identifier definitions</span></div>
+<div class="line"><span class="comment"></span><span class="preprocessor">#define osRtxIdInvalid 0x00U</span></div>
+<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define osRtxIdThread 0x01U</span></div>
+<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define osRtxIdTimer 0x02U</span></div>
+<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define osRtxIdEventFlags 0x03U</span></div>
+<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define osRtxIdMutex 0x04U</span></div>
+<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define osRtxIdSemaphore 0x05U</span></div>
+<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define osRtxIdMemoryPool 0x06U</span></div>
+<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define osRtxIdMessage 0x07U</span></div>
+<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define osRtxIdMessageQueue 0x08U</span></div>
+<div class="line"><span class="preprocessor"></span> <span class="comment"></span></div>
+<div class="line"><span class="comment">/// Object Flags definitions</span></div>
+<div class="line"><span class="comment"></span><span class="preprocessor">#define osRtxFlagSystemObject 0x01U</span></div>
+<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define osRtxFlagSystemMemory 0x02U</span></div>
+<div class="line"><span class="preprocessor"></span> </div>
+<div class="line"> </div>
+<div class="line"><span class="comment">// ==== Kernel definitions ====</span></div>
+<div class="line"> <span class="comment"></span></div>
+<div class="line"><span class="comment">/// Kernel State definitions</span></div>
+<div class="line"><span class="comment"></span><span class="preprocessor">#define osRtxKernelInactive ((uint8_t)osKernelInactive)</span></div>
+<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define osRtxKernelReady ((uint8_t)osKernelReady)</span></div>
+<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define osRtxKernelRunning ((uint8_t)osKernelRunning)</span></div>
+<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define osRtxKernelLocked ((uint8_t)osKernelLocked)</span></div>
+<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define osRtxKernelSuspended ((uint8_t)osKernelSuspended)</span></div>
+<div class="line"><span class="preprocessor"></span> </div>
+<div class="line"> </div>
+<div class="line"><span class="comment">// ==== Thread definitions ====</span></div>
+<div class="line"> <span class="comment"></span></div>
+<div class="line"><span class="comment">/// Thread State definitions (extending osThreadState)</span></div>
+<div class="line"><span class="comment"></span><span class="preprocessor">#define osRtxThreadStateMask 0x0FU</span></div>
+<div class="line"><span class="preprocessor"></span> </div>
+<div class="line"><span class="preprocessor">#define osRtxThreadInactive ((uint8_t)osThreadInactive)</span></div>
+<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define osRtxThreadReady ((uint8_t)osThreadReady)</span></div>
+<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define osRtxThreadRunning ((uint8_t)osThreadRunning)</span></div>
+<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define osRtxThreadBlocked ((uint8_t)osThreadBlocked)</span></div>
+<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define osRtxThreadTerminated ((uint8_t)osThreadTerminated)</span></div>
+<div class="line"><span class="preprocessor"></span> </div>
+<div class="line"><span class="preprocessor">#define osRtxThreadWaitingDelay ((uint8_t)(osRtxThreadBlocked | 0x10U))</span></div>
+<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define osRtxThreadWaitingJoin ((uint8_t)(osRtxThreadBlocked | 0x20U))</span></div>
+<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define osRtxThreadWaitingThreadFlags ((uint8_t)(osRtxThreadBlocked | 0x30U))</span></div>
+<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define osRtxThreadWaitingEventFlags ((uint8_t)(osRtxThreadBlocked | 0x40U))</span></div>
+<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define osRtxThreadWaitingMutex ((uint8_t)(osRtxThreadBlocked | 0x50U))</span></div>
+<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define osRtxThreadWaitingSemaphore ((uint8_t)(osRtxThreadBlocked | 0x60U))</span></div>
+<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define osRtxThreadWaitingMemoryPool ((uint8_t)(osRtxThreadBlocked | 0x70U))</span></div>
+<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define osRtxThreadWaitingMessageGet ((uint8_t)(osRtxThreadBlocked | 0x80U))</span></div>
+<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define osRtxThreadWaitingMessagePut ((uint8_t)(osRtxThreadBlocked | 0x90U))</span></div>
+<div class="line"><span class="preprocessor"></span> <span class="comment"></span></div>
+<div class="line"><span class="comment">/// Thread Flags definitions</span></div>
+<div class="line"><span class="comment"></span><span class="preprocessor">#define osRtxThreadFlagDefStack 0x10U </span><span class="comment">///&lt; Default Stack flag</span></div>
+<div class="line"><span class="comment"></span> </div>
+<div class="line"><span class="comment">/// Stack Marker definitions</span></div>
+<div class="line"><span class="comment"></span><span class="preprocessor">#define osRtxStackMagicWord 0xE25A2EA5U </span><span class="comment">///&lt; Stack Magic Word (Stack Base)</span></div>
+<div class="line"><span class="comment"></span>#define osRtxStackFillPattern 0xCCCCCCCCU <span class="comment">///&lt; Stack Fill Pattern </span></div>
+<div class="line"><span class="comment"></span> </div>
+<div class="line"><span class="comment">/// Thread Control Block</span></div>
+<div class="line"><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">struct </span>osRtxThread_s {</div>
+<div class="line"> uint8_t id; <span class="comment">///&lt; Object Identifier</span></div>
+<div class="line"><span class="comment"></span> uint8_t state; <span class="comment">///&lt; Object State</span></div>
+<div class="line"><span class="comment"></span> uint8_t flags; <span class="comment">///&lt; Object Flags</span></div>
+<div class="line"><span class="comment"></span> uint8_t attr; <span class="comment">///&lt; Object Attributes</span></div>
+<div class="line"><span class="comment"></span> <span class="keyword">const</span> <span class="keywordtype">char</span> *name; <span class="comment">///&lt; Object Name</span></div>
+<div class="line"><span class="comment"></span> <span class="keyword">struct </span>osRtxThread_s *thread_next; <span class="comment">///&lt; Link pointer to next Thread in Object list</span></div>
+<div class="line"><span class="comment"></span> <span class="keyword">struct </span>osRtxThread_s *thread_prev; <span class="comment">///&lt; Link pointer to previous Thread in Object list</span></div>
+<div class="line"><span class="comment"></span> <span class="keyword">struct </span>osRtxThread_s *delay_next; <span class="comment">///&lt; Link pointer to next Thread in Delay list</span></div>
+<div class="line"><span class="comment"></span> <span class="keyword">struct </span>osRtxThread_s *delay_prev; <span class="comment">///&lt; Link pointer to previous Thread in Delay list</span></div>
+<div class="line"><span class="comment"></span> <span class="keyword">struct </span>osRtxThread_s *thread_join; <span class="comment">///&lt; Thread waiting to Join</span></div>
+<div class="line"><span class="comment"></span> uint32_t delay; <span class="comment">///&lt; Delay Time</span></div>
+<div class="line"><span class="comment"></span> int8_t priority; <span class="comment">///&lt; Thread Priority</span></div>
+<div class="line"><span class="comment"></span> int8_t priority_base; <span class="comment">///&lt; Base Priority</span></div>
+<div class="line"><span class="comment"></span> uint8_t stack_frame; <span class="comment">///&lt; Stack Frame (EXC_RETURN[7..0])</span></div>
+<div class="line"><span class="comment"></span> uint8_t flags_options; <span class="comment">///&lt; Thread/Event Flags Options</span></div>
+<div class="line"><span class="comment"></span> uint32_t wait_flags; <span class="comment">///&lt; Waiting Thread/Event Flags</span></div>
+<div class="line"><span class="comment"></span> uint32_t thread_flags; <span class="comment">///&lt; Thread Flags</span></div>
+<div class="line"><span class="comment"></span> <span class="keyword">struct </span>osRtxMutex_s *mutex_list; <span class="comment">///&lt; Link pointer to list of owned Mutexes</span></div>
+<div class="line"><span class="comment"></span> <span class="keywordtype">void</span> *stack_mem; <span class="comment">///&lt; Stack Memory</span></div>
+<div class="line"><span class="comment"></span> uint32_t stack_size; <span class="comment">///&lt; Stack Size</span></div>
+<div class="line"><span class="comment"></span> uint32_t sp; <span class="comment">///&lt; Current Stack Pointer</span></div>
+<div class="line"><span class="comment"></span> uint32_t thread_addr; <span class="comment">///&lt; Thread entry address</span></div>
+<div class="line"><span class="comment"></span> uint32_t tz_memory; <span class="comment">///&lt; TrustZone Memory Identifier</span></div>
+<div class="line"><span class="comment"></span><span class="preprocessor">#ifdef RTX_TF_M_EXTENSION</span></div>
+<div class="line"><span class="preprocessor"></span> uint32_t tz_module; <span class="comment">///&lt; TrustZone Module Identifier</span></div>
+<div class="line"><span class="comment"></span><span class="preprocessor">#endif</span></div>
+<div class="line"><span class="preprocessor"></span>} <a class="code" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a>;</div>
+<div class="line"> </div>
+<div class="line"> </div>
+<div class="line"><span class="comment">// ==== Timer definitions ====</span></div>
+<div class="line"> <span class="comment"></span></div>
+<div class="line"><span class="comment">/// Timer State definitions</span></div>
+<div class="line"><span class="comment"></span><span class="preprocessor">#define osRtxTimerInactive 0x00U </span><span class="comment">///&lt; Timer Inactive</span></div>
+<div class="line"><span class="comment"></span>#define osRtxTimerStopped 0x01U <span class="comment">///&lt; Timer Stopped</span></div>
+<div class="line"><span class="comment"></span>#define osRtxTimerRunning 0x02U <span class="comment">///&lt; Timer Running</span></div>
+<div class="line"><span class="comment"></span> </div>
+<div class="line"><span class="comment">/// Timer Type definitions</span></div>
+<div class="line"><span class="comment"></span><span class="preprocessor">#define osRtxTimerPeriodic ((uint8_t)osTimerPeriodic)</span></div>
+<div class="line"><span class="preprocessor"></span> <span class="comment"></span></div>
+<div class="line"><span class="comment">/// Timer Function Information</span></div>
+<div class="line"><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__TimerMgmt.html#gaacf768c1ec64b020598afb985d7b30be">osTimerFunc_t</a> func; <span class="comment">///&lt; Function Pointer</span></div>
+<div class="line"><span class="comment"></span> <span class="keywordtype">void</span> *arg; <span class="comment">///&lt; Function Argument</span></div>
+<div class="line"><span class="comment"></span>} <a class="code" href="rtx__os_8h.html#structosRtxTimerFinfo__t">osRtxTimerFinfo_t</a>;</div>
+<div class="line"> <span class="comment"></span></div>
+<div class="line"><span class="comment">/// Timer Control Block</span></div>
+<div class="line"><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">struct </span>osRtxTimer_s {</div>
+<div class="line"> uint8_t id; <span class="comment">///&lt; Object Identifier</span></div>
+<div class="line"><span class="comment"></span> uint8_t state; <span class="comment">///&lt; Object State</span></div>
+<div class="line"><span class="comment"></span> uint8_t flags; <span class="comment">///&lt; Object Flags</span></div>
+<div class="line"><span class="comment"></span> uint8_t type; <span class="comment">///&lt; Timer Type (Periodic/One-shot)</span></div>
+<div class="line"><span class="comment"></span> <span class="keyword">const</span> <span class="keywordtype">char</span> *name; <span class="comment">///&lt; Object Name</span></div>
+<div class="line"><span class="comment"></span> <span class="keyword">struct </span>osRtxTimer_s *prev; <span class="comment">///&lt; Pointer to previous active Timer</span></div>
+<div class="line"><span class="comment"></span> <span class="keyword">struct </span>osRtxTimer_s *next; <span class="comment">///&lt; Pointer to next active Timer</span></div>
+<div class="line"><span class="comment"></span> uint32_t tick; <span class="comment">///&lt; Timer current Tick</span></div>
+<div class="line"><span class="comment"></span> uint32_t load; <span class="comment">///&lt; Timer Load value</span></div>
+<div class="line"><span class="comment"></span> <a class="code" href="rtx__os_8h.html#structosRtxTimerFinfo__t">osRtxTimerFinfo_t</a> finfo; <span class="comment">///&lt; Timer Function Info</span></div>
+<div class="line"><span class="comment"></span>} <a class="code" href="rtx__os_8h.html#structosRtxTimer__t">osRtxTimer_t</a>;</div>
+<div class="line"> </div>
+<div class="line"> </div>
+<div class="line"><span class="comment">// ==== Event Flags definitions ====</span></div>
+<div class="line"> <span class="comment"></span></div>
+<div class="line"><span class="comment">/// Event Flags Control Block</span></div>
+<div class="line"><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
+<div class="line"> uint8_t id; <span class="comment">///&lt; Object Identifier</span></div>
+<div class="line"><span class="comment"></span> uint8_t reserved_state; <span class="comment">///&lt; Object State (not used)</span></div>
+<div class="line"><span class="comment"></span> uint8_t flags; <span class="comment">///&lt; Object Flags</span></div>
+<div class="line"><span class="comment"></span> uint8_t reserved;</div>
+<div class="line"> <span class="keyword">const</span> <span class="keywordtype">char</span> *name; <span class="comment">///&lt; Object Name</span></div>
+<div class="line"><span class="comment"></span> <a class="code" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a> *thread_list; <span class="comment">///&lt; Waiting Threads List</span></div>
+<div class="line"><span class="comment"></span> uint32_t event_flags; <span class="comment">///&lt; Event Flags</span></div>
+<div class="line"><span class="comment"></span>} <a class="code" href="rtx__os_8h.html#structosRtxEventFlags__t">osRtxEventFlags_t</a>;</div>
+<div class="line"> </div>
+<div class="line"> </div>
+<div class="line"><span class="comment">// ==== Mutex definitions ====</span></div>
+<div class="line"> <span class="comment"></span></div>
+<div class="line"><span class="comment">/// Mutex Control Block</span></div>
+<div class="line"><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">struct </span>osRtxMutex_s {</div>
+<div class="line"> uint8_t id; <span class="comment">///&lt; Object Identifier</span></div>
+<div class="line"><span class="comment"></span> uint8_t reserved_state; <span class="comment">///&lt; Object State (not used)</span></div>
+<div class="line"><span class="comment"></span> uint8_t flags; <span class="comment">///&lt; Object Flags</span></div>
+<div class="line"><span class="comment"></span> uint8_t attr; <span class="comment">///&lt; Object Attributes</span></div>
+<div class="line"><span class="comment"></span> <span class="keyword">const</span> <span class="keywordtype">char</span> *name; <span class="comment">///&lt; Object Name</span></div>
+<div class="line"><span class="comment"></span> <a class="code" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a> *thread_list; <span class="comment">///&lt; Waiting Threads List</span></div>
+<div class="line"><span class="comment"></span> <a class="code" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a> *owner_thread; <span class="comment">///&lt; Owner Thread</span></div>
+<div class="line"><span class="comment"></span> <span class="keyword">struct </span>osRtxMutex_s *owner_prev; <span class="comment">///&lt; Pointer to previous owned Mutex</span></div>
+<div class="line"><span class="comment"></span> <span class="keyword">struct </span>osRtxMutex_s *owner_next; <span class="comment">///&lt; Pointer to next owned Mutex</span></div>
+<div class="line"><span class="comment"></span> uint8_t lock; <span class="comment">///&lt; Lock counter</span></div>
+<div class="line"><span class="comment"></span> uint8_t padding[3];</div>
+<div class="line">} <a class="code" href="rtx__os_8h.html#structosRtxMutex__t">osRtxMutex_t</a>;</div>
+<div class="line"> </div>
+<div class="line"> </div>
+<div class="line"><span class="comment">// ==== Semaphore definitions ====</span></div>
+<div class="line"> <span class="comment"></span></div>
+<div class="line"><span class="comment">/// Semaphore Control Block</span></div>
+<div class="line"><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
+<div class="line"> uint8_t id; <span class="comment">///&lt; Object Identifier</span></div>
+<div class="line"><span class="comment"></span> uint8_t reserved_state; <span class="comment">///&lt; Object State (not used)</span></div>
+<div class="line"><span class="comment"></span> uint8_t flags; <span class="comment">///&lt; Object Flags</span></div>
+<div class="line"><span class="comment"></span> uint8_t reserved;</div>
+<div class="line"> <span class="keyword">const</span> <span class="keywordtype">char</span> *name; <span class="comment">///&lt; Object Name</span></div>
+<div class="line"><span class="comment"></span> <a class="code" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a> *thread_list; <span class="comment">///&lt; Waiting Threads List</span></div>
+<div class="line"><span class="comment"></span> uint16_t tokens; <span class="comment">///&lt; Current number of tokens</span></div>
+<div class="line"><span class="comment"></span> uint16_t max_tokens; <span class="comment">///&lt; Maximum number of tokens</span></div>
+<div class="line"><span class="comment"></span>} <a class="code" href="rtx__os_8h.html#structosRtxSemaphore__t">osRtxSemaphore_t</a>;</div>
+<div class="line"> </div>
+<div class="line"> </div>
+<div class="line"><span class="comment">// ==== Memory Pool definitions ====</span></div>
+<div class="line"> <span class="comment"></span></div>
+<div class="line"><span class="comment">/// Memory Pool Information</span></div>
+<div class="line"><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
+<div class="line"> uint32_t max_blocks; <span class="comment">///&lt; Maximum number of Blocks</span></div>
+<div class="line"><span class="comment"></span> uint32_t used_blocks; <span class="comment">///&lt; Number of used Blocks</span></div>
+<div class="line"><span class="comment"></span> uint32_t block_size; <span class="comment">///&lt; Block Size</span></div>
+<div class="line"><span class="comment"></span> <span class="keywordtype">void</span> *block_base; <span class="comment">///&lt; Block Memory Base Address</span></div>
+<div class="line"><span class="comment"></span> <span class="keywordtype">void</span> *block_lim; <span class="comment">///&lt; Block Memory Limit Address</span></div>
+<div class="line"><span class="comment"></span> <span class="keywordtype">void</span> *block_free; <span class="comment">///&lt; First free Block Address</span></div>
+<div class="line"><span class="comment"></span>} <a class="code" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a>;</div>
+<div class="line"> <span class="comment"></span></div>
+<div class="line"><span class="comment">/// Memory Pool Control Block</span></div>
+<div class="line"><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
+<div class="line"> uint8_t id; <span class="comment">///&lt; Object Identifier</span></div>
+<div class="line"><span class="comment"></span> uint8_t reserved_state; <span class="comment">///&lt; Object State (not used)</span></div>
+<div class="line"><span class="comment"></span> uint8_t flags; <span class="comment">///&lt; Object Flags</span></div>
+<div class="line"><span class="comment"></span> uint8_t reserved;</div>
+<div class="line"> <span class="keyword">const</span> <span class="keywordtype">char</span> *name; <span class="comment">///&lt; Object Name</span></div>
+<div class="line"><span class="comment"></span> <a class="code" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a> *thread_list; <span class="comment">///&lt; Waiting Threads List</span></div>
+<div class="line"><span class="comment"></span> <a class="code" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> mp_info; <span class="comment">///&lt; Memory Pool Info</span></div>
+<div class="line"><span class="comment"></span>} <a class="code" href="rtx__os_8h.html#structosRtxMemoryPool__t">osRtxMemoryPool_t</a>;</div>
+<div class="line"> </div>
+<div class="line"> </div>
+<div class="line"><span class="comment">// ==== Message Queue definitions ====</span></div>
+<div class="line"> <span class="comment"></span></div>
+<div class="line"><span class="comment">/// Message Control Block</span></div>
+<div class="line"><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">struct </span>osRtxMessage_s {</div>
+<div class="line"> uint8_t id; <span class="comment">///&lt; Object Identifier</span></div>
+<div class="line"><span class="comment"></span> uint8_t reserved_state; <span class="comment">///&lt; Object State (not used)</span></div>
+<div class="line"><span class="comment"></span> uint8_t flags; <span class="comment">///&lt; Object Flags</span></div>
+<div class="line"><span class="comment"></span> uint8_t priority; <span class="comment">///&lt; Message Priority</span></div>
+<div class="line"><span class="comment"></span> <span class="keyword">struct </span>osRtxMessage_s *prev; <span class="comment">///&lt; Pointer to previous Message</span></div>
+<div class="line"><span class="comment"></span> <span class="keyword">struct </span>osRtxMessage_s *next; <span class="comment">///&lt; Pointer to next Message</span></div>
+<div class="line"><span class="comment"></span>} <a class="code" href="rtx__os_8h.html#structosRtxMessage__t">osRtxMessage_t</a>;</div>
+<div class="line"> <span class="comment"></span></div>
+<div class="line"><span class="comment">/// Message Queue Control Block</span></div>
+<div class="line"><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
+<div class="line"> uint8_t id; <span class="comment">///&lt; Object Identifier</span></div>
+<div class="line"><span class="comment"></span> uint8_t reserved_state; <span class="comment">///&lt; Object State (not used)</span></div>
+<div class="line"><span class="comment"></span> uint8_t flags; <span class="comment">///&lt; Object Flags</span></div>
+<div class="line"><span class="comment"></span> uint8_t reserved;</div>
+<div class="line"> <span class="keyword">const</span> <span class="keywordtype">char</span> *name; <span class="comment">///&lt; Object Name</span></div>
+<div class="line"><span class="comment"></span> <a class="code" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a> *thread_list; <span class="comment">///&lt; Waiting Threads List</span></div>
+<div class="line"><span class="comment"></span> <a class="code" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> mp_info; <span class="comment">///&lt; Memory Pool Info</span></div>
+<div class="line"><span class="comment"></span> uint32_t msg_size; <span class="comment">///&lt; Message Size</span></div>
+<div class="line"><span class="comment"></span> uint32_t msg_count; <span class="comment">///&lt; Number of queued Messages</span></div>
+<div class="line"><span class="comment"></span> <a class="code" href="rtx__os_8h.html#structosRtxMessage__t">osRtxMessage_t</a> *msg_first; <span class="comment">///&lt; Pointer to first Message</span></div>
+<div class="line"><span class="comment"></span> <a class="code" href="rtx__os_8h.html#structosRtxMessage__t">osRtxMessage_t</a> *msg_last; <span class="comment">///&lt; Pointer to last Message</span></div>
+<div class="line"><span class="comment"></span>} <a class="code" href="rtx__os_8h.html#structosRtxMessageQueue__t">osRtxMessageQueue_t</a>;</div>
+<div class="line"> </div>
+<div class="line"> </div>
+<div class="line"><span class="comment">// ==== Generic Object definitions ====</span></div>
+<div class="line"> <span class="comment"></span></div>
+<div class="line"><span class="comment">/// Generic Object Control Block</span></div>
+<div class="line"><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
+<div class="line"> uint8_t id; <span class="comment">///&lt; Object Identifier</span></div>
+<div class="line"><span class="comment"></span> uint8_t state; <span class="comment">///&lt; Object State</span></div>
+<div class="line"><span class="comment"></span> uint8_t flags; <span class="comment">///&lt; Object Flags</span></div>
+<div class="line"><span class="comment"></span> uint8_t reserved;</div>
+<div class="line"> <span class="keyword">const</span> <span class="keywordtype">char</span> *name; <span class="comment">///&lt; Object Name</span></div>
+<div class="line"><span class="comment"></span> <a class="code" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a> *thread_list; <span class="comment">///&lt; Threads List</span></div>
+<div class="line"><span class="comment"></span>} <a class="code" href="rtx__os_8h.html#structosRtxObject__t">osRtxObject_t</a>;</div>
+<div class="line"> </div>
+<div class="line"> </div>
+<div class="line"><span class="comment">// ==== OS Runtime Information definitions ====</span></div>
+<div class="line"> <span class="comment"></span></div>
+<div class="line"><span class="comment">/// OS Runtime Information structure</span></div>
+<div class="line"><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
+<div class="line"> <span class="keyword">const</span> <span class="keywordtype">char</span> *os_id; <span class="comment">///&lt; OS Identification</span></div>
+<div class="line"><span class="comment"></span> uint32_t version; <span class="comment">///&lt; OS Version</span></div>
+<div class="line"><span class="comment"></span> <span class="keyword">struct </span>{ <span class="comment">///&lt; Kernel Info</span></div>
+<div class="line"><span class="comment"></span> uint8_t state; <span class="comment">///&lt; State</span></div>
+<div class="line"><span class="comment"></span> <span class="keyword">volatile</span> uint8_t blocked; <span class="comment">///&lt; Blocked</span></div>
+<div class="line"><span class="comment"></span> uint8_t pendSV; <span class="comment">///&lt; Pending SV</span></div>
+<div class="line"><span class="comment"></span> uint8_t reserved;</div>
+<div class="line"> uint32_t tick; <span class="comment">///&lt; Tick counter</span></div>
+<div class="line"><span class="comment"></span> } kernel;</div>
+<div class="line"> int32_t tick_irqn; <span class="comment">///&lt; Tick Timer IRQ Number</span></div>
+<div class="line"><span class="comment"></span> <span class="keyword">struct </span>{ <span class="comment">///&lt; Thread Info</span></div>
+<div class="line"><span class="comment"></span> <span class="keyword">struct </span>{ <span class="comment">///&lt; Thread Run Info</span></div>
+<div class="line"><span class="comment"></span> <a class="code" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a> *curr; <span class="comment">///&lt; Current running Thread</span></div>
+<div class="line"><span class="comment"></span> <a class="code" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a> *next; <span class="comment">///&lt; Next Thread to Run</span></div>
+<div class="line"><span class="comment"></span> } run;</div>
+<div class="line"> <a class="code" href="rtx__os_8h.html#structosRtxObject__t">osRtxObject_t</a> ready; <span class="comment">///&lt; Ready List Object</span></div>
+<div class="line"><span class="comment"></span> <a class="code" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a> *idle; <span class="comment">///&lt; Idle Thread</span></div>
+<div class="line"><span class="comment"></span> <a class="code" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a> *delay_list; <span class="comment">///&lt; Delay List</span></div>
+<div class="line"><span class="comment"></span> <a class="code" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a> *wait_list; <span class="comment">///&lt; Wait List (no Timeout)</span></div>
+<div class="line"><span class="comment"></span> <a class="code" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a> *terminate_list; <span class="comment">///&lt; Terminate Thread List</span></div>
+<div class="line"><span class="comment"></span> <span class="keyword">struct </span>{ <span class="comment">///&lt; Thread Round Robin Info</span></div>
+<div class="line"><span class="comment"></span> <a class="code" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a> *thread; <span class="comment">///&lt; Round Robin Thread</span></div>
+<div class="line"><span class="comment"></span> uint32_t tick; <span class="comment">///&lt; Round Robin Time Tick</span></div>
+<div class="line"><span class="comment"></span> uint32_t timeout; <span class="comment">///&lt; Round Robin Timeout</span></div>
+<div class="line"><span class="comment"></span> } robin;</div>
+<div class="line"> } thread;</div>
+<div class="line"> <span class="keyword">struct </span>{ <span class="comment">///&lt; Timer Info</span></div>
+<div class="line"><span class="comment"></span> <a class="code" href="rtx__os_8h.html#structosRtxTimer__t">osRtxTimer_t</a> *list; <span class="comment">///&lt; Active Timer List</span></div>
+<div class="line"><span class="comment"></span> <a class="code" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a> *thread; <span class="comment">///&lt; Timer Thread</span></div>
+<div class="line"><span class="comment"></span> <a class="code" href="rtx__os_8h.html#structosRtxMessageQueue__t">osRtxMessageQueue_t</a> *mq; <span class="comment">///&lt; Timer Message Queue</span></div>
+<div class="line"><span class="comment"></span> void (*tick)(void); <span class="comment">///&lt; Timer Tick Function</span></div>
+<div class="line"><span class="comment"></span> } timer;</div>
+<div class="line"> <span class="keyword">struct </span>{ <span class="comment">///&lt; ISR Post Processing Queue</span></div>
+<div class="line"><span class="comment"></span> uint16_t max; <span class="comment">///&lt; Maximum Items</span></div>
+<div class="line"><span class="comment"></span> uint16_t cnt; <span class="comment">///&lt; Item Count</span></div>
+<div class="line"><span class="comment"></span> uint16_t in; <span class="comment">///&lt; Incoming Item Index</span></div>
+<div class="line"><span class="comment"></span> uint16_t out; <span class="comment">///&lt; Outgoing Item Index</span></div>
+<div class="line"><span class="comment"></span> <span class="keywordtype">void</span> **data; <span class="comment">///&lt; Queue Data</span></div>
+<div class="line"><span class="comment"></span> } isr_queue;</div>
+<div class="line"> <span class="keyword">struct </span>{ <span class="comment">///&lt; ISR Post Processing functions</span></div>
+<div class="line"><span class="comment"></span> void (*thread)(<a class="code" href="rtx__os_8h.html#structosRtxThread__t">osRtxThread_t</a>*); <span class="comment">///&lt; Thread Post Processing function</span></div>
+<div class="line"><span class="comment"></span> void (*event_flags)(<a class="code" href="rtx__os_8h.html#structosRtxEventFlags__t">osRtxEventFlags_t</a>*); <span class="comment">///&lt; Event Flags Post Processing function</span></div>
+<div class="line"><span class="comment"></span> void (*semaphore)(<a class="code" href="rtx__os_8h.html#structosRtxSemaphore__t">osRtxSemaphore_t</a>*); <span class="comment">///&lt; Semaphore Post Processing function</span></div>
+<div class="line"><span class="comment"></span> void (*memory_pool)(<a class="code" href="rtx__os_8h.html#structosRtxMemoryPool__t">osRtxMemoryPool_t</a>*); <span class="comment">///&lt; Memory Pool Post Processing function</span></div>
+<div class="line"><span class="comment"></span> void (*message)(<a class="code" href="rtx__os_8h.html#structosRtxMessage__t">osRtxMessage_t</a>*); <span class="comment">///&lt; Message Post Processing function</span></div>
+<div class="line"><span class="comment"></span> } post_process;</div>
+<div class="line"> <span class="keyword">struct </span>{ <span class="comment">///&lt; Memory Pools (Variable Block Size)</span></div>
+<div class="line"><span class="comment"></span> <span class="keywordtype">void</span> *stack; <span class="comment">///&lt; Stack Memory</span></div>
+<div class="line"><span class="comment"></span> <span class="keywordtype">void</span> *mp_data; <span class="comment">///&lt; Memory Pool Data Memory</span></div>
+<div class="line"><span class="comment"></span> <span class="keywordtype">void</span> *mq_data; <span class="comment">///&lt; Message Queue Data Memory</span></div>
+<div class="line"><span class="comment"></span> <span class="keywordtype">void</span> *common; <span class="comment">///&lt; Common Memory</span></div>
+<div class="line"><span class="comment"></span> } mem;</div>
+<div class="line"> <span class="keyword">struct </span>{ <span class="comment">///&lt; Memory Pools (Fixed Block Size)</span></div>
+<div class="line"><span class="comment"></span> <a class="code" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *stack; <span class="comment">///&lt; Stack for Threads</span></div>
+<div class="line"><span class="comment"></span> <a class="code" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *thread; <span class="comment">///&lt; Thread Control Blocks</span></div>
+<div class="line"><span class="comment"></span> <a class="code" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *timer; <span class="comment">///&lt; Timer Control Blocks</span></div>
+<div class="line"><span class="comment"></span> <a class="code" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *event_flags; <span class="comment">///&lt; Event Flags Control Blocks</span></div>
+<div class="line"><span class="comment"></span> <a class="code" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *mutex; <span class="comment">///&lt; Mutex Control Blocks</span></div>
+<div class="line"><span class="comment"></span> <a class="code" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *semaphore; <span class="comment">///&lt; Semaphore Control Blocks</span></div>
+<div class="line"><span class="comment"></span> <a class="code" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *memory_pool; <span class="comment">///&lt; Memory Pool Control Blocks</span></div>
+<div class="line"><span class="comment"></span> <a class="code" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *message_queue; <span class="comment">///&lt; Message Queue Control Blocks</span></div>
+<div class="line"><span class="comment"></span> } mpi;</div>
+<div class="line">} <a class="code" href="rtx__os_8h.html#structosRtxInfo__t">osRtxInfo_t</a>;</div>
+<div class="line"> </div>
+<div class="line"><span class="keyword">extern</span> <a class="code" href="rtx__os_8h.html#structosRtxInfo__t">osRtxInfo_t</a> <a class="code" href="rtx__os_8h.html#ad2270125c4e4991c3231d752b6ee5f3f">osRtxInfo</a>; <span class="comment">///&lt; OS Runtime Information</span></div>
+<div class="line"><span class="comment"></span> <span class="comment"></span></div>
+<div class="line"><span class="comment">/// OS Runtime Object Memory Usage structure</span></div>
+<div class="line"><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
+<div class="line"> uint32_t cnt_alloc; <span class="comment">///&lt; Counter for alloc</span></div>
+<div class="line"><span class="comment"></span> uint32_t cnt_free; <span class="comment">///&lt; Counter for free</span></div>
+<div class="line"><span class="comment"></span> uint32_t max_used; <span class="comment">///&lt; Maximum used</span></div>
+<div class="line"><span class="comment"></span>} <a class="code" href="rtx__os_8h.html#structosRtxObjectMemUsage__t">osRtxObjectMemUsage_t</a>;</div>
+<div class="line"> <span class="comment"></span></div>
+<div class="line"><span class="comment">/// OS Runtime Object Memory Usage variables</span></div>
+<div class="line"><span class="comment"></span><span class="keyword">extern</span> <a class="code" href="rtx__os_8h.html#structosRtxObjectMemUsage__t">osRtxObjectMemUsage_t</a> <a class="code" href="rtx__os_8h.html#a90374bf1d999b2e1594763ab6c97cd69">osRtxThreadMemUsage</a>;</div>
+<div class="line"><span class="keyword">extern</span> <a class="code" href="rtx__os_8h.html#structosRtxObjectMemUsage__t">osRtxObjectMemUsage_t</a> <a class="code" href="rtx__os_8h.html#aa3e7cf488411dbdc814420b81f36b935">osRtxTimerMemUsage</a>;</div>
+<div class="line"><span class="keyword">extern</span> <a class="code" href="rtx__os_8h.html#structosRtxObjectMemUsage__t">osRtxObjectMemUsage_t</a> <a class="code" href="rtx__os_8h.html#a0c81327f94697890809ce4a594bb9d5c">osRtxEventFlagsMemUsage</a>;</div>
+<div class="line"><span class="keyword">extern</span> <a class="code" href="rtx__os_8h.html#structosRtxObjectMemUsage__t">osRtxObjectMemUsage_t</a> <a class="code" href="rtx__os_8h.html#a683927dcd67dcb912884d16efa81a58d">osRtxMutexMemUsage</a>;</div>
+<div class="line"><span class="keyword">extern</span> <a class="code" href="rtx__os_8h.html#structosRtxObjectMemUsage__t">osRtxObjectMemUsage_t</a> <a class="code" href="rtx__os_8h.html#aec50b39ce30d9c87916d077f6f764387">osRtxSemaphoreMemUsage</a>;</div>
+<div class="line"><span class="keyword">extern</span> <a class="code" href="rtx__os_8h.html#structosRtxObjectMemUsage__t">osRtxObjectMemUsage_t</a> <a class="code" href="rtx__os_8h.html#ae5dea30a13d7a2316699a7f201504bc7">osRtxMemoryPoolMemUsage</a>;</div>
+<div class="line"><span class="keyword">extern</span> <a class="code" href="rtx__os_8h.html#structosRtxObjectMemUsage__t">osRtxObjectMemUsage_t</a> <a class="code" href="rtx__os_8h.html#af3da38b316a84990128e8d9f34e3e6d3">osRtxMessageQueueMemUsage</a>;</div>
+<div class="line"> </div>
+<div class="line"> </div>
+<div class="line"><span class="comment">// ==== OS API definitions ====</span></div>
+<div class="line"> </div>
+<div class="line"><span class="comment">// Object Limits definitions</span></div>
+<div class="line"><span class="preprocessor">#define osRtxThreadFlagsLimit 31U </span><span class="comment">///&lt; number of Thread Flags available per thread</span></div>
+<div class="line"><span class="comment"></span>#define osRtxEventFlagsLimit 31U <span class="comment">///&lt; number of Event Flags available per object</span></div>
+<div class="line"><span class="comment"></span>#define osRtxMutexLockLimit 255U <span class="comment">///&lt; maximum number of recursive mutex locks</span></div>
+<div class="line"><span class="comment"></span>#define osRtxSemaphoreTokenLimit 65535U <span class="comment">///&lt; maximum number of tokens per semaphore</span></div>
+<div class="line"><span class="comment"></span> </div>
+<div class="line"><span class="comment">// Control Block sizes</span></div>
+<div class="line"><span class="preprocessor">#define osRtxThreadCbSize sizeof(osRtxThread_t)</span></div>
+<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define osRtxTimerCbSize sizeof(osRtxTimer_t)</span></div>
+<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define osRtxEventFlagsCbSize sizeof(osRtxEventFlags_t)</span></div>
+<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define osRtxMutexCbSize sizeof(osRtxMutex_t)</span></div>
+<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define osRtxSemaphoreCbSize sizeof(osRtxSemaphore_t)</span></div>
+<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define osRtxMemoryPoolCbSize sizeof(osRtxMemoryPool_t)</span></div>
+<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define osRtxMessageQueueCbSize sizeof(osRtxMessageQueue_t)</span></div>
+<div class="line"><span class="preprocessor"></span> <span class="comment"></span></div>
+<div class="line"><span class="comment">/// Memory size in bytes for Memory Pool storage.</span></div>
+<div class="line"><span class="comment">/// \param block_count maximum number of memory blocks in memory pool.</span></div>
+<div class="line"><span class="comment">/// \param block_size memory block size in bytes.</span></div>
+<div class="line"><span class="comment"></span><span class="preprocessor">#define osRtxMemoryPoolMemSize(block_count, block_size) \</span></div>
+<div class="line"><span class="preprocessor"> (4*(block_count)*(((block_size)+3)/4))</span></div>
+<div class="line"><span class="preprocessor"></span> <span class="comment"></span></div>
+<div class="line"><span class="comment">/// Memory size in bytes for Message Queue storage.</span></div>
+<div class="line"><span class="comment">/// \param msg_count maximum number of messages in queue.</span></div>
+<div class="line"><span class="comment">/// \param msg_size maximum message size in bytes.</span></div>
+<div class="line"><span class="comment"></span><span class="preprocessor">#define osRtxMessageQueueMemSize(msg_count, msg_size) \</span></div>
+<div class="line"><span class="preprocessor"> (4*(msg_count)*(3+(((msg_size)+3)/4)))</span></div>
+<div class="line"><span class="preprocessor"></span> </div>
+<div class="line"> </div>
+<div class="line"><span class="comment">// ==== OS External Functions ====</span></div>
+<div class="line"> </div>
+<div class="line"><span class="comment">// OS Error Codes</span></div>
+<div class="line"><span class="preprocessor">#define osRtxErrorStackUnderflow 1U </span><span class="comment">///&lt; Stack overflow, i.e. stack pointer below its lower memory limit for descending stacks.</span></div>
+<div class="line"><span class="comment"></span>#define osRtxErrorISRQueueOverflow 2U <span class="comment">///&lt; ISR Queue overflow detected when inserting object.</span></div>
+<div class="line"><span class="comment"></span>#define osRtxErrorTimerQueueOverflow 3U <span class="comment">///&lt; User Timer Callback Queue overflow detected for timer.</span></div>
+<div class="line"><span class="comment"></span>#define osRtxErrorClibSpace 4U <span class="comment">///&lt; Standard C/C++ library libspace not available: increase \c OS_THREAD_LIBSPACE_NUM.</span></div>
+<div class="line"><span class="comment"></span>#define osRtxErrorClibMutex 5U <span class="comment">///&lt; Standard C/C++ library mutex initialization failed.</span></div>
+<div class="line"><span class="comment"></span> </div>
+<div class="line"><span class="comment">/// OS Error Callback function</span></div>
+<div class="line"><span class="comment"></span><span class="keyword">extern</span> uint32_t <a class="code" href="group__rtx5__specific__functions.html#gaf1745a88f9cc60b609ab1c8076bd346d">osRtxErrorNotify</a> (uint32_t code, <span class="keywordtype">void</span> *object_id);</div>
+<div class="line"> <span class="comment"></span></div>
+<div class="line"><span class="comment">/// OS Idle Thread</span></div>
+<div class="line"><span class="comment"></span><span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="group__rtx5__specific__functions.html#ga074068b8efa7074cee68a71481d0b072">osRtxIdleThread</a> (<span class="keywordtype">void</span> *argument);</div>
+<div class="line"> <span class="comment"></span></div>
+<div class="line"><span class="comment">/// OS Exception handlers</span></div>
+<div class="line"><span class="comment"></span><span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="rtx__os_8h.html#a3e5ddb3df0d62f2dc357e64a3f04a6ce">SVC_Handler</a> (<span class="keywordtype">void</span>);</div>
+<div class="line"><span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="rtx__os_8h.html#a6303e1f258cbdc1f970ce579cc015623">PendSV_Handler</a> (<span class="keywordtype">void</span>);</div>
+<div class="line"><span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="rtx__os_8h.html#ab5e09814056d617c521549e542639b7e">SysTick_Handler</a> (<span class="keywordtype">void</span>);</div>
+<div class="line"> <span class="comment"></span></div>
+<div class="line"><span class="comment">/// OS Trusted Firmware M Extension</span></div>
+<div class="line"><span class="comment"></span><span class="preprocessor">#ifdef RTX_TF_M_EXTENSION</span></div>
+<div class="line"><span class="preprocessor"></span><span class="keyword">extern</span> uint32_t osRtxTzGetModuleId (<span class="keywordtype">void</span>);</div>
+<div class="line"><span class="preprocessor">#endif</span></div>
+<div class="line"><span class="preprocessor"></span> </div>
+<div class="line"> </div>
+<div class="line"><span class="comment">// ==== OS External Configuration ====</span></div>
+<div class="line"> <span class="comment"></span></div>
+<div class="line"><span class="comment">/// OS Configuration flags</span></div>
+<div class="line"><span class="comment"></span><span class="preprocessor">#define osRtxConfigPrivilegedMode (1UL&lt;&lt;0) </span><span class="comment">///&lt; Threads in Privileged mode</span></div>
+<div class="line"><span class="comment"></span>#define osRtxConfigStackCheck (1UL&lt;&lt;1) <span class="comment">///&lt; Stack overrun checking</span></div>
+<div class="line"><span class="comment"></span>#define osRtxConfigStackWatermark (1UL&lt;&lt;2) <span class="comment">///&lt; Stack usage Watermark</span></div>
+<div class="line"><span class="comment"></span> </div>
+<div class="line"><span class="comment">/// OS Configuration structure</span></div>
+<div class="line"><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
+<div class="line"> uint32_t flags; <span class="comment">///&lt; OS Configuration Flags</span></div>
+<div class="line"><span class="comment"></span> uint32_t tick_freq; <span class="comment">///&lt; Kernel Tick Frequency</span></div>
+<div class="line"><span class="comment"></span> uint32_t robin_timeout; <span class="comment">///&lt; Round Robin Timeout Tick</span></div>
+<div class="line"><span class="comment"></span> <span class="keyword">struct </span>{ <span class="comment">///&lt; ISR Post Processing Queue</span></div>
+<div class="line"><span class="comment"></span> <span class="keywordtype">void</span> **data; <span class="comment">///&lt; Queue Data</span></div>
+<div class="line"><span class="comment"></span> uint16_t max; <span class="comment">///&lt; Maximum Items</span></div>
+<div class="line"><span class="comment"></span> uint16_t padding;</div>
+<div class="line"> } isr_queue;</div>
+<div class="line"> <span class="keyword">struct </span>{ <span class="comment">///&lt; Memory Pools (Variable Block Size)</span></div>
+<div class="line"><span class="comment"></span> <span class="keywordtype">void</span> *stack_addr; <span class="comment">///&lt; Stack Memory Address</span></div>
+<div class="line"><span class="comment"></span> uint32_t stack_size; <span class="comment">///&lt; Stack Memory Size</span></div>
+<div class="line"><span class="comment"></span> <span class="keywordtype">void</span> *mp_data_addr; <span class="comment">///&lt; Memory Pool Memory Address</span></div>
+<div class="line"><span class="comment"></span> uint32_t mp_data_size; <span class="comment">///&lt; Memory Pool Memory Size</span></div>
+<div class="line"><span class="comment"></span> <span class="keywordtype">void</span> *mq_data_addr; <span class="comment">///&lt; Message Queue Data Memory Address</span></div>
+<div class="line"><span class="comment"></span> uint32_t mq_data_size; <span class="comment">///&lt; Message Queue Data Memory Size</span></div>
+<div class="line"><span class="comment"></span> <span class="keywordtype">void</span> *common_addr; <span class="comment">///&lt; Common Memory Address</span></div>
+<div class="line"><span class="comment"></span> uint32_t common_size; <span class="comment">///&lt; Common Memory Size</span></div>
+<div class="line"><span class="comment"></span> } mem;</div>
+<div class="line"> <span class="keyword">struct </span>{ <span class="comment">///&lt; Memory Pools (Fixed Block Size)</span></div>
+<div class="line"><span class="comment"></span> <a class="code" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *stack; <span class="comment">///&lt; Stack for Threads</span></div>
+<div class="line"><span class="comment"></span> <a class="code" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *thread; <span class="comment">///&lt; Thread Control Blocks</span></div>
+<div class="line"><span class="comment"></span> <a class="code" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *timer; <span class="comment">///&lt; Timer Control Blocks</span></div>
+<div class="line"><span class="comment"></span> <a class="code" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *event_flags; <span class="comment">///&lt; Event Flags Control Blocks</span></div>
+<div class="line"><span class="comment"></span> <a class="code" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *mutex; <span class="comment">///&lt; Mutex Control Blocks</span></div>
+<div class="line"><span class="comment"></span> <a class="code" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *semaphore; <span class="comment">///&lt; Semaphore Control Blocks</span></div>
+<div class="line"><span class="comment"></span> <a class="code" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *memory_pool; <span class="comment">///&lt; Memory Pool Control Blocks</span></div>
+<div class="line"><span class="comment"></span> <a class="code" href="rtx__os_8h.html#structosRtxMpInfo__t">osRtxMpInfo_t</a> *message_queue; <span class="comment">///&lt; Message Queue Control Blocks</span></div>
+<div class="line"><span class="comment"></span> } mpi;</div>
+<div class="line"> uint32_t thread_stack_size; <span class="comment">///&lt; Default Thread Stack Size</span></div>
+<div class="line"><span class="comment"></span> <span class="keyword">const</span> </div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t">osThreadAttr_t</a> *idle_thread_attr; <span class="comment">///&lt; Idle Thread Attributes</span></div>
+<div class="line"><span class="comment"></span> <span class="keyword">const</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__ThreadMgmt.html#structosThreadAttr__t">osThreadAttr_t</a> *timer_thread_attr; <span class="comment">///&lt; Timer Thread Attributes</span></div>
+<div class="line"><span class="comment"></span> <span class="keyword">const</span></div>
+<div class="line"> <a class="code" href="group__CMSIS__RTOS__Message.html#structosMessageQueueAttr__t">osMessageQueueAttr_t</a> *timer_mq_attr; <span class="comment">///&lt; Timer Message Queue Attributes</span></div>
+<div class="line"><span class="comment"></span> uint32_t timer_mq_mcnt; <span class="comment">///&lt; Timer Message Queue maximum Messages</span></div>
+<div class="line"><span class="comment"></span>} <a class="code" href="rtx__os_8h.html#structosRtxConfig__t">osRtxConfig_t</a>;</div>
+<div class="line"> </div>
+<div class="line"><span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="rtx__os_8h.html#structosRtxConfig__t">osRtxConfig_t</a> <a class="code" href="rtx__os_8h.html#a489fda965fa634809f401ae6458a6f45">osRtxConfig</a>; <span class="comment">///&lt; OS Configuration</span></div>
+<div class="line"><span class="comment"></span> </div>
+<div class="line"> </div>
+<div class="line"><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><span class="preprocessor"></span>}</div>
+<div class="line"><span class="preprocessor">#endif</span></div>
+<div class="line"><span class="preprocessor"></span> </div>
+<div class="line"><span class="preprocessor">#endif // RTX_OS_H_</span></div>
+</div><!-- fragment --><h1><a class="anchor" id="CMSIS_RTOS_TimeOutValue"></a>
+Timeout Value</h1>
+<p>Timeout values are an argument to several <b>osXxx</b> functions to allow time for resolving a request. A timeout value of <b>0</b> means that the RTOS does not wait and the function returns instantly, even when no resource is available. A timeout value of <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a> means that the RTOS waits infinitely until a resource becomes available. Or one forces the thread to resume using <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga3dbad90eff394b02de76a452c84c5d80">osThreadResume</a> which is discouraged.</p>
+<p>The timeout value specifies the number of timer ticks until the time delay elapses. The value is an upper bound and depends on the actual time elapsed since the last timer tick.</p>
+<p>Examples:</p>
+<ul>
+<li>timeout value <b>0</b> : the system does not wait, even when no resource is available the RTOS function returns instantly.</li>
+<li>timeout value <b>1</b> : the system waits until the next timer tick occurs; depending on the previous timer tick, it may be a very short wait time.</li>
+<li>timeout value <b>2</b> : actual wait time is between 1 and 2 timer ticks.</li>
+<li>timeout value <a class="el" href="group__CMSIS__RTOS__Definitions.html#ga9eb9a7a797a42e4b55eb171ecc609ddb">osWaitForever</a> : system waits infinite until a resource becomes available.</li>
+</ul>
+<div class="image">
+<img src="TimerValues.png" alt="TimerValues.png"/>
+<div class="caption">
+Example of timeout using osDelay()</div></div>
+<h1><a class="anchor" id="CMSIS_RTOS_ISR_Calls"></a>
+Calls from Interrupt Service Routines</h1>
+<p>The following CMSIS-RTOS2 functions can be called from threads and Interrupt Service Routines (ISR):</p>
+<ul>
+<li><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga6f7764e7250c5c5364c00c45a5d1d199">osKernelGetInfo</a>, <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga48b69b81012fce051f639be288b243ba">osKernelGetState</a>, <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga84bcdbf2fb76b10c8df4e439f0c7e11b">osKernelGetTickCount</a>, <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga7a8d7bd927eaaa58999f91d7d6310cee">osKernelGetTickFreq</a>, <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae0fcaff6cecfb4013bb556c87afcd7d2">osKernelGetSysTimerCount</a>, <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga4d69215a93220f72be3684cad582f16a">osKernelGetSysTimerFreq</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>, <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html#ga6f89ef9caded1d9963c7b12b0f6412c9">osThreadFlagsSet</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga33b71d14cecf90b4e72639dd19f23a5e">osEventFlagsSet</a>, <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga93bf258ca0007c6641fbe8e4f2b8a1e5">osEventFlagsClear</a>, <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga8bda3185f46bfd278cea8a6cf357677d">osEventFlagsGet</a>, <a class="el" href="group__CMSIS__RTOS__EventFlags.html#ga52acb34a8322e58020227344fe662b4e">osEventFlagsWait</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7e94c8b242a0c81f2cc79ec22895c87b">osSemaphoreAcquire</a>, <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga0abcee1b5449d7a6928fb9248c690bb6">osSemaphoreRelease</a>, <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga7559d4dff3cda9992fc5ab5de3e74c70">osSemaphoreGetCount</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga8ead54e99ccb8f112356c88f99d38fbe">osMemoryPoolAlloc</a>, <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gabb4f4560daa6d1f8c8789082ee186d16">osMemoryPoolFree</a>, <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gad696e94bfbe28f0b6613f9303fdf6a37">osMemoryPoolGetCapacity</a>, <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#gab2bf059b7fa7679c3cccdaeec60b6c0e">osMemoryPoolGetBlockSize</a>, <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga958a9449bff8c95ce213de98eef5739d">osMemoryPoolGetCount</a>, <a class="el" href="group__CMSIS__RTOS__PoolMgmt.html#ga0394cffa9479a7994e3b03c79c1cb909">osMemoryPoolGetSpace</a></li>
+<li><a class="el" href="group__CMSIS__RTOS__Message.html#gaa515fc8b956f721a8f72b2c505813bfc">osMessageQueuePut</a>, <a class="el" href="group__CMSIS__RTOS__Message.html#gad90d4959466a7a65105061da8256ab9e">osMessageQueueGet</a>, <a class="el" href="group__CMSIS__RTOS__Message.html#gac24f87d4f395e9e9c900c320e45ade8a">osMessageQueueGetCapacity</a>, <a class="el" href="group__CMSIS__RTOS__Message.html#ga96d3d84069b20359de48109e28a1a89e">osMessageQueueGetMsgSize</a>, <a class="el" href="group__CMSIS__RTOS__Message.html#ga6a32ac394fcff568b251c160cc3014b2">osMessageQueueGetCount</a>, <a class="el" href="group__CMSIS__RTOS__Message.html#gaddf0904427436dd3880d46263c2dc9fa">osMessageQueueGetSpace</a></li>
+</ul>
+<p>Functions that cannot be called from an ISR are verifying the interrupt status and return the status code <b>osErrorISR</b>, in case they are called from an ISR context. In some implementations, this condition might be caught using the HARD_FAULT vector. </p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="index.html">index</a></li><li class="navelem"><a class="el" href="rtx5_impl.html">RTX v5 Implementation</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/docs/RTOS2/html/validation_8txt.html b/docs/RTOS2/html/validation_8txt.html
new file mode 100644
index 0000000..1f1b046
--- /dev/null
+++ b/docs/RTOS2/html/validation_8txt.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>validation.txt File Reference</title>
+<title>CMSIS-RTOS2: validation.txt File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="printComponentTabs.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-RTOS2
+ &#160;<span id="projectnumber">Version 2.1.3</span>
+ </div>
+ <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <script type="text/javascript">
+ <!--
+ writeComponentTabs.call(this);
+ //-->
+ </script>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('validation_8txt.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">validation.txt File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="validation_8txt.html">validation.txt</a></li>
+ <li class="footer">Generated on Wed Aug 1 2018 17:12:45 for CMSIS-RTOS2 by Arm Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
+ -->
+ </li>
+ </ul>
+</div>
+</body>
+</html>