]> begriffs open source - cmsis/blob - CMSIS/DoxyGen/RTOS2/src/cmsis_os2_Migration.txt
Remove RTX5 specifics from RTOS2 documentation
[cmsis] / CMSIS / DoxyGen / RTOS2 / src / cmsis_os2_Migration.txt
1 /*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/
2 /**
3 \page os2Migration Migration from API v1 to API v2
4
5 \if NEVER_ENABLE
6 =======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====
7        Functions 
8 \endif
9
10 This page lists the CMSIS-RTOS API v1 and API v2 functions along with the differences in functionality.
11 The list is sorted alphabetically by API v2 function names and is structured the following way:
12
13   - RTOS API v2 function prototype
14   - RTOS API v1 function prototype that is equivalent or provides similar functionality
15   - Brief description of the RTOS v2 function.
16   - Description of the difference.
17
18 The background color indicates:
19   - <div class="new">Green: New functions in API v2 that are not available in API v1 </div>
20   
21   - <div class="mod">Amber: Functions that are modified or replaced in API v2 compared to API v1 </div>
22   
23   - <div class="del">Red: Functions in API v1 that are deprecated in API v2 </div>
24
25
26 \if NEVER_ENABLE
27 =======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====
28        Kernel Information and Control  
29 \endif
30
31 \section mig_kernel Kernel Information and Control
32
33 \div{new}
34 \func{osStatus_t #osKernelGetInfo (osVersion_t* version, char* id_buf, uint32_t id_size)}
35 \none
36 \copybrief{osKernelGetInfo}
37 New function #osKernelGetInfo.
38 \enddiv
39
40 \div{mod} 
41 \func{osKernelState_t #osKernelGetState (void)}
42 \func{int32_t &nbsp; &nbsp; &nbsp; &nbsp; osKernelRunning (void)}
43 \copybrief{osKernelGetState}
44  - The function \b osKernelGetState replaces the RTOS v1 function \b osKernelRunning.
45  - Return type changed to \ref osKernelState_t.
46
47 \enddiv
48
49 \div{new}
50 \func{uint32_t #osKernelGetTickCount (void)}
51 \none
52 \copybrief{osKernelGetTickCount}
53 New function.
54 \enddiv
55
56 \div{new}
57 \func{uint32_t #osKernelGetTickFreq (void)}
58 \none
59 \copybrief{osKernelGetTickFreq}
60  - The function \b osKernelGetTickFreq replaces the RTOS v1 macro \b osKernelTickMicroSec.
61
62 \enddiv
63
64 \div{mod}
65 \func{uint32_t #osKernelGetSysTimerCount (void)}
66 \func{uint32_t osKernelSysTick (void)}
67 \copybrief{osKernelGetSysTimerCount}
68  - The function \b osKernelGetSysTimerCount replaces the RTOS v1 function \b osKernelSysTick.
69
70 \enddiv
71
72 \div{new}
73 \func{uint64_t #osKernelGetSysTimerFreq (void)}
74 \none
75 \copybrief{osKernelGetSysTimerFreq}
76 New function.
77 \enddiv
78
79 \div{mod}
80 \func{osStatus_t #osKernelInitialize (void)}
81 \func{osStatus &nbsp; osKernelInitialize (void)}
82 \copybrief{osKernelInitialize}
83  - Return type changed to \ref osStatus_t.
84
85 \enddiv
86
87 \div{new}
88 \func{int32_t #osKernelLock (void)}
89 \none
90 \copybrief{osKernelLock}
91 New function.
92 \enddiv
93
94 \div{new}
95 \func{int32_t #osKernelUnlock (void)}
96 \none
97 \copybrief{osKernelUnlock}
98 New function.
99 \enddiv
100
101 \div{new}
102 \func{void #osKernelRestoreLock (void)}
103 \none
104 \copybrief{osKernelRestoreLock}
105 New function.
106 \enddiv
107
108 \div{mod}
109 \func{osStatus_t #osKernelStart (void)}
110 \func{osStatus &nbsp; osKernelStart (void)}
111 \copybrief{osKernelStart}
112  - Return type changed to \ref osStatus_t.
113
114 \enddiv
115
116 \div{new}
117 \func{uint32_t #osKernelSuspend (void)}
118 \none
119 \copybrief{osKernelSuspend}
120 New function.
121 \enddiv
122
123 \div{new}
124 \func{void #osKernelResume (uint32_t sleep_time)}
125 \none
126 \copybrief{osKernelResume}
127 New function.
128 \enddiv
129
130
131 \if NEVER_ENABLE
132 =======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====
133 ======  Thread Management  =======
134 \endif 
135
136 \section mig_threadMgmt Thread Management
137
138 \div{new}
139 \func{osStatus_t #osThreadDetach (osThreadId_t thread_id)}
140 \none
141 \copybrief{osThreadDetach}
142 New function.
143 \enddiv
144
145 \div{new}
146 \func{uint32_t #osThreadEnumerate (osThreadId_t *thread_array, uint32_t array_items)}
147 \none
148 \copybrief{osThreadEnumerate}
149 New function.
150 \enddiv
151
152 \div{new}
153 \func{__NO_RETURN void #osThreadExit (void)}
154 \none
155 \copybrief{osThreadExit}
156 New function.
157 \enddiv
158
159 \div{new}
160 \func{uint32_t #osThreadGetCount (osThreadId_t thread_id)}
161 \none
162 \copybrief{osThreadGetCount}
163 New function.
164 \enddiv
165
166 \div{new}
167 \func{const char *#osThreadGetName (osThreadId_t thread_id)}
168 \none
169 \copybrief{osThreadGetName}
170 New function.
171 \enddiv
172
173 \div{mod}
174 \func{osThreadId_t #osThreadGetId (void)}
175 \func{osThreadId &nbsp; osThreadGetId (void)}
176 \copybrief{osThreadGetId}
177  - Return type changed to #osThreadId_t.
178
179 \enddiv
180
181 \div{mod}
182 \func{osPriority_t #osThreadGetPriority (osThreadId_t thread_id)}
183 \func{osPriority &nbsp; osThreadGetPriority (osThreadId thread_id)}
184 \copybrief{osThreadGetPriority}
185  - Return type changed to #osPriority_t. 
186  - Parameter type changed to #osThreadId_t.
187
188 \enddiv
189
190 \div{new}
191 \func{uint32_t #osThreadGetStackSize (osThreadId_t thread_id)}
192 \none
193 \copybrief{osThreadGetStackSize}
194 New function.
195 \enddiv
196
197 \div{new}
198 \func{uint32_t #osThreadGetStackSpace (osThreadId_t thread_id)}
199 \none
200 \copybrief{osThreadGetStackSpace}
201 New function.
202 \enddiv
203
204 \div{new}
205 \func{osThreadState_t #osThreadGetState (osThreadId_t thread_id)}
206 \none
207 \copybrief{osThreadGetState}
208 New function.
209 \enddiv
210
211 \div{new}
212 \func{osStatus_t #osThreadJoin (osThreadId_t thread_id)}
213 \none
214 \copybrief{osThreadJoin}
215 New function.
216 \enddiv
217
218 \div{mod}
219 \func{osThreadId_t #osThreadNew (osThreadFunc_t function, void *argument, const osThreadAttr_t *attr)}
220 \func{osThreadId &nbsp; osThreadCreate (const osThreadDef_t *thread_def, void *argument)} 
221 \copybrief{osThreadNew}
222  - The function \b osThreadNew replaces the RTOS v1 function \b osThreadCreate.
223  - Options are now passed using a \ref osThreadAttr_t struct, replacing the \b osThreadDef macro. 
224  - New function prototype is <kbd>void func (void *arg)</kbd>, before: <kbd>void func (const void *arg)</kbd>.
225
226 \enddiv
227
228 \div{new}
229 \func{osStatus_t #osThreadResume (osThreadId_t thread_id)}
230 \none
231 \copybrief{osThreadResume}
232 New function.
233 \enddiv
234
235 \div{mod}
236 \func{osStatus_t #osThreadSetPriority (osThreadId_t thread_id, osPriority_t priority)}
237 \func{osStatus &nbsp; osThreadSetPriority (osThreadId thread_id, osPriority priority)}
238 \copybrief{osThreadSetPriority}
239  - Return type changed to #osStatus_t. 
240  - Parameter types changed to #osThreadId_t and #osPriority_t.
241
242 \enddiv
243
244 \div{new}
245 \func{osStatus_t #osThreadSuspend (osThreadId_t thread_id)}
246 \none
247 \copybrief{osThreadSuspend}
248 New function.
249 \enddiv
250
251 \div{mod}
252 \func{osStatus_t #osThreadTerminate (osThreadId_t thread_id)}
253 \func{osStatus &nbsp; osThreadTerminate (osThreadId thread_id)}
254 \copybrief{osThreadTerminate}
255  - Return type changed to #osStatus_t. 
256  - Parameter type changed to #osThreadId_t.
257
258 \enddiv
259
260 \div{mod}
261 \func{osStatus_t #osThreadYield (void)}
262 \func{osStatus &nbsp; osThreadYield (void)}
263 \copybrief{osThreadYield}
264  - Return type changed to #osStatus_t.
265
266 \enddiv
267
268
269 \if NEVER_ENABLE
270 =======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====
271 ======  Thread Flags  =======
272 \endif 
273
274 \section mig_threadFlags Thread Flags
275 \details
276 New section to synchronize threads using flags. Thread flags and the more flexible \ref mig_eventFlags are replacing the RTOS v1 <b>Signal Events</b>. Refer to \ref mig_signalEvents for a list of deprecated functions.
277 Refer to \ref CMSIS_RTOS_ThreadFlagsMgmt for details.
278
279 \div{new}
280 \func{uint32_t #osThreadFlagsSet (osThreadId_t thread_id, uint32_t flags)}
281 \none
282 \copybrief{osThreadFlagsSet}
283 New function.
284 \enddiv
285
286 \div{new}
287 \func{uint32_t #osThreadFlagsClear (uint32_t flags)}
288 \none
289 \copybrief{osThreadFlagsClear}
290 New function.
291 \enddiv
292
293 \div{new}
294 \func{uint32_t #osThreadFlagsGet (void)}
295 \none
296 \copybrief{osThreadFlagsGet}
297 New function.
298 \enddiv
299
300 \div{new}
301 \func{uint32_t #osThreadFlagsWait (uint32_t flags, uint32_t options, uint32_t timeout)}
302 \none
303 \copybrief{osThreadFlagsWait}
304 New function.
305 \enddiv
306
307
308 \if NEVER_ENABLE
309 =======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====
310 ======  Event Flags  =======
311 \endif 
312
313 \section mig_eventFlags Event Flags
314 \details
315 New section to synchronize events using flags. Event flags and thread flags are replacing the RTOS v1 <b>Signal Events</b>.
316 All functions listed in the RTOS v1 <b>Signal Events</b> have been deprecated.
317 Refer to \ref mig_signalEvents for a list of deprecated functions.
318 Refer to \ref CMSIS_RTOS_EventFlags for details about the new function.
319
320 \div{new}
321 \func{uint32_t #osEventFlagsClear (osEventFlagsId_t ef_id, uint32_t flags)}
322 \none
323 \copybrief{osEventFlagsClear}
324 New function.
325 \enddiv
326
327 \div{new}
328 \func{const char *#osEventFlagsGetName (osEventFlagsId_t ef_id)}
329 \none
330 \copybrief{osEventFlagsGetName}
331 New function.
332 \enddiv
333
334 \div{new}
335 \func{osStatus_t #osEventFlagsDelete (osEventFlagsId_t ef_id)}
336 \none
337 \copybrief{osEventFlagsDelete}
338 New function.
339 \enddiv
340
341 \div{new}
342 \func{uint32_t #osEventFlagsGet (osEventFlagsId_t ef_id)}
343 \none
344 \copybrief{osEventFlagsGet}
345 New function.
346 \enddiv
347
348 \div{new}
349 \func{osEventFlagsId_t #osEventFlagsNew (const osEventFlagsAttr_t *attr)}
350 \none
351 \copybrief{osEventFlagsNew}
352 New function.
353 \enddiv
354
355 \div{new}
356 \func{uint32_t #osEventFlagsSet (osEventFlagsId_t ef_id, uint32_t flags)}
357 \none
358 \copybrief{osEventFlagsSet}
359 New function.
360 \enddiv
361
362 \div{new}
363 \func{uint32_t #osEventFlagsWait (osEventFlagsId_t ef_id, uint32_t flags, uint32_t options, uint32_t timeout)}
364 \none
365 \copybrief{osEventFlagsWait}
366 New function.
367 \enddiv
368
369
370 \if NEVER_ENABLE
371 =======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====
372 ======  Generic Wait Functions  =======
373 \endif
374
375 \section mig_wait Generic Wait Functions
376 \details
377 Refer to \ref CMSIS_RTOS_Wait for details.
378
379 \div{mod}
380 \func{osStatus_t #osDelay (uint32_t ticks)}
381 \func{osStatus &nbsp; osDelay (uint32_t timeout)}
382 \copybrief{osDelay}
383  - The return type changed to #osStatus_t. 
384  
385 \enddiv
386
387 \div{new}
388 \func{osStatus_t #osDelayUntil (uint32_t ticks)}
389 \none
390 \copybrief{osDelayUntil}
391 New function.
392 \enddiv
393
394 \div{del}
395 \none
396 \func{osEvent osWait (uint32_t millisec)}
397 \n
398 Deprecated.
399 \enddiv
400
401
402
403 \if NEVER_ENABLE
404 =======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====
405 ======  Timer Management  =======
406 \endif
407
408 \section mig_timer Timer Management
409 \details
410 Refer to \ref CMSIS_RTOS_TimerMgmt for details.
411
412 \div{mod}
413 \func{osStatus_t #osTimerDelete (osTimerId_t timer_id)}
414 \func{osStatus &nbsp; osTimerDelete (osTimerId timer_id)}
415 \copybrief{osTimerDelete}
416  - The return type changed to #osStatus_t. 
417  - The parameter type has changed to #osTimerId_t.
418
419 \enddiv
420
421 \div{new}
422 \func{const char *#osTimerGetName (osTimerId_t timer_id)}
423 \none
424 \copybrief{osTimerGetName}
425 New function.
426 \enddiv
427
428 \div{new}
429 \func{uint32_t #osTimerIsRunning (osTimerId_t timer_id)}
430 \none
431 \copybrief{osTimerIsRunning}
432 New function.
433 \enddiv
434
435 \div{mod}
436 \func{osTimerId_t #osTimerNew (osTimerFunc_t func, osTimerType_t type, void *argument, const osTimerAttr_t *attr)}
437 \func{osTimerId &nbsp; osTimerCreate (const osTimerDef_t *timer_def, os_timer_type type, void *argument)}
438 \copybrief{osTimerNew}
439  - The function \b osTimerNew replaces the RTOS v1 function \b osTimerCreate.
440  - The return type changed to #osTimerId_t. 
441  - The parameter list and types have changed.
442
443 \enddiv
444
445 \div{mod}
446 \func{osStatus_t #osTimerStart (osTimerId_t timer_id, uint32_t ticks)}
447 \func{osStatus &nbsp; osTimerStart (osTimerId timer_id, uint32_t timeout)}
448 \copybrief{osTimerStart}
449  - The return type changed to #osStatus_t. 
450  - The first parameter type has changed to #osTimerId_t.
451
452 \enddiv
453
454 \div{mod}
455 \func{osStatus_t #osTimerStop (osTimerId_t timer_id)}
456 \func{osStatus &nbsp; osTimerStop (osTimerId timer_id)}
457 \copybrief{osTimerStop}
458  - The return type changed to #osStatus_t. 
459  - The parameter type has changed to #osTimerId_t.
460
461 \enddiv
462
463
464 \if NEVER_ENABLE
465 =======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====
466 ======  Mutexes  =======
467 \endif
468
469 \section mig_mutex Mutexes
470 Refer to \ref CMSIS_RTOS_MutexMgmt for details.
471
472 \div{mod}
473 \func{osStatus_t #osMutexAcquire (osMutexId_t mutex_id, uint32_t timeout)}
474 \func{osStatus &nbsp; osMutexWait (osMutexId mutex_id, uint32_t timeout)}
475 \copybrief{osMutexAcquire}
476  - The function \b osMutexAcquire replaces the RTOS v1 function \b osMutexWait.
477  - Return type changed to \ref osStatus_t. 
478  - First parameter type changed to \ref osMutexId_t.
479
480 \enddiv
481
482 \div{mod}
483 \func{osStatus_t #osMutexDelete (osMutexId_t mutex_id)}
484 \func{osStatus &nbsp; osMutexDelete (osMutexId mutex_id)}
485 \copybrief{osMutexDelete}
486  - The return type changed to \ref osStatus_t. 
487  - The parameter type changed to \ref osMutexId_t.
488
489 \enddiv
490
491 \div{new}
492 \func{const char *#osMutexGetName (osMutexId_t mutex_id)}
493 \none
494 \copybrief{osMutexGetName}
495 New function.
496 \enddiv
497
498 \div{new}
499 \func{osThreadId_t #osMutexGetOwner (osMutexId_t mutex_id)}
500 \none
501 \copybrief{osMutexGetOwner}
502 New function.
503 \enddiv
504
505 \div{mod}
506 \func{osMutexId_t #osMutexNew (const osMutexAttr_t *attr)}
507 \func{osMutexId &nbsp; osMutexCreate (const osMutexDef_t *mutex_def)}
508 \copybrief{osMutexNew}
509  - The function \b osMutexNew replaces the RTOS v1 function \b osMutexCreate.
510  - The return type changed to \ref osMutexId_t. 
511  - The parameter type changed to \ref osMutexAttr_t.
512
513 \enddiv
514
515 \div{mod}
516 \func{osStatus_t #osMutexRelease (osMutexId_t mutex_id)}
517 \func{osStatus &nbsp; osMutexRelease (osMutexId mutex_id)}
518 \copybrief{osMutexRelease}
519  - The return type changed to \ref osStatus_t. 
520  - The parameter type changed to \ref osMutexId_t.
521
522 \enddiv
523
524
525 \if NEVER_ENABLE
526 =======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====
527 ======  SEMAPHORES  =======
528 \endif
529
530 \section mig_sem Semaphores
531 Refer to \ref CMSIS_RTOS_SemaphoreMgmt for details.
532
533 \div{new}
534 \func{osStatus_t #osSemaphoreAcquire (osSemaphoreId_t semaphore_id, uint32_t timeout)}
535 \none
536 \copybrief{osSemaphoreAcquire}
537 New function. Replaces \c osSemaphoreWait.
538 \enddiv
539
540 \div{mod}
541 \func{osStatus_t #osSemaphoreDelete (osSemaphoreId_t semaphore_id)}
542 \func{osStatus &nbsp; osSemaphoreDelete (osSemaphoreId semaphore_id)}
543 \copybrief{osSemaphoreDelete}
544  - The return type changed to #osStatus_t. 
545  - The parameter type has changed to #osSemaphoreId_t.
546
547 \enddiv
548
549 \div{new}
550 \func{uint32_t #osSemaphoreGetCount (osSemaphoreId_t semaphore_id)}
551 \none
552 \copybrief{osSemaphoreGetCount}
553 New function.
554 \enddiv
555
556 \div{new}
557 \func{const char *#osSemaphoreGetName (osSemaphoreId_t semaphore_id)}
558 \none
559 \copybrief{osSemaphoreGetName}
560 New function.
561 \enddiv
562
563 \div{mod}
564 \func{osSemaphoreId_t #osSemaphoreNew (uint32_t max_count, uint32_t initial_count, const osSemaphoreAttr_t *attr)}
565 \func{osSemaphoreId &nbsp; osSemaphoreCreate (const osSemaphoreDef_t *semaphore_def, int32_t count)}
566 \copybrief{osSemaphoreNew}
567  - The function \b osSemaphoreNew replaces the RTOS v1 function \b osSemaphoreCreate.
568  - The return type changed to #osSemaphoreId_t. 
569  - The parameter list and types have changed.
570
571 \enddiv
572
573 \div{mod}
574 \func{osStatus_t #osSemaphoreRelease (osSemaphoreId_t semaphore_id)}
575 \func{osStatus &nbsp; osSemaphoreRelease (osSemaphoreId semaphore_id)}
576 \copybrief{osSemaphoreRelease}
577  - The return type changed to #osStatus_t. 
578  - The parameter type has changed to #osSemaphoreId_t.
579
580 \enddiv
581
582 \div{del}
583 \none
584 \func{int32_t osSemaphoreWait (osSemaphoreId semaphore_id, uint32_t timeout)}
585 \n
586 Deprecated. Replaced by #osSemaphoreAcquire.
587 \enddiv
588
589
590 \if NEVER_ENABLE
591 =======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====
592 ======  Memory Pool  =======
593 \endif
594
595 \section mig_memPool Memory Pool
596
597 \div{mod}
598 \func{void * #osMemoryPoolAlloc (osMemoryPoolId_t mp_id, uint32_t timeout)}
599 \func{void * osPoolAlloc &nbsp;(osPoolId pool_id)} 
600 \copybrief{osMemoryPoolAlloc}
601  - The function \b osMemoryPoolAlloc replaces both RTOS v1 functions \b osPoolAlloc.
602  - The parameter list and types changed.
603
604 \enddiv
605
606 \div{new}
607 \func{osStatus_t #osMemoryPoolDelete (osMemoryPoolId_t mp_id)}
608 \none
609 \copybrief{osMemoryPoolDelete}
610 New function.
611 \enddiv
612
613 \div{mod}
614 \func{osStatus_t #osMemoryPoolFree (osMemoryPoolId_t mp_id, void * block)}
615 \func{osStatus &nbsp; osPoolFree (osPoolId pool_id, void * block)} 
616 \copybrief{osMemoryPoolFree}
617  - The function \b osMemoryPoolFree replaces the RTOS v1 function \b osPoolFree.
618  - The first parameter type \b osMemoryPoolId_t replaces the ROTS v1 type \b osPoolId.
619
620 \enddiv
621
622 \div{new}
623 \func{uint32_t #osMemoryPoolGetBlockSize (osMemoryPoolId_t mp_id)}
624 \none
625 \copybrief{osMemoryPoolGetBlockSize}
626 New function.
627 \enddiv
628
629 \div{new}
630 \func{uint32_t #osMemoryPoolGetCapacity (osMemoryPoolId_t mp_id)}
631 \none
632 \copybrief{osMemoryPoolGetCapacity}
633 New function.
634 \enddiv
635
636 \div{new}
637 \func{uint32_t #osMemoryPoolGetCount (osMemoryPoolId_t mp_id)}
638 \none
639 \copybrief{osMemoryPoolGetCount}
640 New function.
641 \enddiv
642
643 \div{new}
644 \func{const char *#osMemoryPoolGetName (osMemoryPoolId_t mp_id)}
645 \none
646 \copybrief{osMemoryPoolGetName}
647 New function.
648 \enddiv
649
650 \div{new}
651 \func{uint32_t #osMemoryPoolGetSpace (osMemoryPoolId_t mp_id)}
652 \none
653 \copybrief{osMemoryPoolGetSpace}
654 New function.
655 \enddiv
656
657 \div{mod}
658 \func{osMemoryPoolId_t #osMemoryPoolNew (uint32_t block_count, uint32_t block_size, const osMemoryPoolAttr_t *attr)}
659 \func{osPoolId &nbsp; &nbsp; &nbsp; &nbsp; osPoolCreate (const osPoolDef_t * pool_def)}
660 \copybrief{osMemoryPoolGetSpace}
661  - The function \b osMemoryPoolNew replaces the RTOS v1 function \b osPoolCreate. 
662  - The return type changed to #osMemoryPoolId_t.
663  - Parameter list and parameter types have changed.
664
665 \enddiv
666
667
668 \if NEVER_ENABLE
669 =======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====
670 ======  Message Queue  =======
671 \endif
672
673 \section mig_msgQueue Message Queue
674 In general, messages are now using fixed size memory instead of being 32-bit values. Refer to \ref CMSIS_RTOS_Message for
675 details. 
676
677 \div{new}
678 \func{osStatus_t #osMessageQueueDelete (osMessageQueueId_t mq_id)}
679 \none
680 \copybrief{osMessageQueueDelete}
681 New function.
682 \enddiv
683
684 \div{mod}
685 \func{osStatus_t #osMessageQueueGet (osMessageQueueId_t mq_id, void *msg_ptr, uint8_t *msg_prio, uint32_t timeout)}
686 \func{osEvent &nbsp;&nbsp; osMessageGet (osMessageQId queue_id, uint32_t timeout)}
687 \copybrief{osMessageQueueGet}
688  - The function \b osMessageQueueGet replaces the RTOS v1 function \b osMessageGet.
689  - The return type changed to #osStatus_t. 
690  - The parameter list and parameter types have changed. 
691
692 \enddiv
693
694 \div{new}
695 \func{uint32_t #osMessageQueueGetCapacity (osMessageQueueId_t mq_id)}
696 \none
697 \copybrief{osMessageQueueGetCapacity}
698 New function.
699 \enddiv
700
701 \div{new}
702 \func{uint32_t #osMessageQueueGetCount (osMessageQueueId_t mq_id)}
703 \none
704 \copybrief{osMessageQueueGetCount}
705 New function.
706 \enddiv
707
708 \div{new}
709 \func{uint32_t #osMessageQueueGetMsgSize (osMessageQueueId_t mq_id)}
710 \none
711 \copybrief{osMessageQueueGetMsgSize}
712 New function.
713 \enddiv
714
715 \div{new}
716 \func{const char *#osMessageQueueGetName (osMessageQueueId_t mq_id)}
717 \none
718 \copybrief{osMessageQueueGetName}
719 New function.
720 \enddiv
721
722 \div{new}
723 \func{uint32_t #osMessageQueueGetSpace (osMessageQueueId_t mq_id)}
724 \none
725 \copybrief{osMessageQueueGetSpace}
726 New function.
727 \enddiv
728
729 \div{mod}
730 \func{osMessageQueueId_t #osMessageQueueNew (uint32_t msg_count, uint32_t msg_size, const osMessageQueueAttr_t *attr)}
731 \func{osMessageQId &nbsp; &nbsp; &nbsp; osMessageCreate (const osMessageQDef_t *queue_def, osThreadId thread_id)}
732 \copybrief{osMessageQueueNew}
733  - The function \b osMessageQueueNew replaces the RTOS v1 function \b osMessageCreate.
734  - The return type changed to #osMessageQueueId_t. 
735  - The parameter list and parameter types have changed. 
736
737 \enddiv
738
739 \div{mod}
740 \func{osStatus_t #osMessageQueuePut (osMessageQueueId_t mq_id, const void *msg_ptr, uint8_t msg_prio, uint32_t timeout)}
741 \func{osStatus &nbsp; osMessagePut (osMessageQId queue_id, uint32_t info, uint32_t timeout)}
742 \copybrief{osMessageQueuePut}
743  - The function \b osMessageQueuePut replaces the RTOS v1 function \b osMessagePut.
744  - The return type changed to #osStatus_t. 
745  - The parameter list and parameter types have changed. 
746
747 \enddiv
748
749 \div{new}
750 \func{osStatus_t #osMessageQueueReset (osMessageQueueId_t mq_id)}
751 \none
752 \copybrief{osMessageQueueReset}
753 New function.
754 \enddiv
755
756
757 \if NEVER_ENABLE
758 =======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====
759 ======  Mail Queue  =======
760 \endif
761
762 \section mig_mailQueue Mail Queue
763 The <b>Mail Queue</b> RTOS v1 functions have been deprecated.
764 Use the functionality of the \ref CMSIS_RTOS_Message instead. 
765 Differences are listed under \ref mig_msgQueue.
766
767 \div{del}
768 \none
769 \func{void * osMailAlloc (osMailQId queue_id, uint32_t timeout)}
770 \n
771 Deprecated.
772 \enddiv
773
774 \div{del}
775 \none
776 \func{void * osMailCAlloc (osMailQId queue_id, uint32_t timeout)}
777 \n
778 Deprecated.
779 \enddiv
780
781 \div{del}
782 \none
783 \func{osMailQId osMailCreate (const osMailQDef_t *queue_def, osThreadId thread_id)}
784 \n
785 Deprecated.
786 \enddiv
787
788 \div{del}
789 \none
790 \func{osStatus osMailFree (osMailQId queue_id, void *mail)}
791 \n
792 Deprecated.
793 \enddiv
794
795 \div{del}
796 \none
797 \func{osEvent osMailGet (osMailQId queue_id, uint32_t timeout)}
798 \n
799 Deprecated.
800 \enddiv
801
802 \div{del}
803 \none
804 \func{osStatus osMailPut (osMailQId queue_id, void *mail)}
805 \n
806 Deprecated.
807 \enddiv
808
809
810 \if NEVER_ENABLE
811 =======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====
812 ======  Signal Events  =======
813 \endif
814
815 \section mig_signalEvents Signal Events
816 \details
817 The section RTOS v1 <b>Signal Events</b> has been deprecated. Use the functions listed under \ref mig_threadFlags instead.
818
819 \div{del}
820 \none
821 \func{int32_t osSignalClear (osThreadId thread_id, int32_t signals)}
822 \n
823 Deprecated.
824 \enddiv
825
826 \div{del}
827 \none
828 \func{int32_t osSignalSet (osThreadId thread_id, int32_t signals)}
829 \n
830 Deprecated.
831 \enddiv
832
833 \div{del}
834 \none
835 \func{osEvent osSignalWait (int32_t signals, uint32_t timeout)}
836 \n
837 Deprecated.
838 \enddiv
839 */