Rev 2 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 2 | Rev 5 | ||
|---|---|---|---|
| Line 334... | Line 334... | ||
| 334 | 334 | ||
| 335 | 335 | ||
| 336 | // ==== Generic Wait Functions ==== |
336 | // ==== Generic Wait Functions ==== |
| 337 | 337 | ||
| 338 | /// Wait for Timeout (Time Delay). |
338 | /// Wait for Timeout (Time Delay). |
| 339 | /// \param[in] millisec time delay value |
339 | /// \param[in] millisec \ref CMSIS_RTOS_TimeOutValue "time delay" value |
| 340 | /// \return status code that indicates the execution status of the function. |
340 | /// \return status code that indicates the execution status of the function. |
| 341 | osStatus osDelay (uint32_t millisec); |
341 | osStatus osDelay (uint32_t millisec); |
| 342 | 342 | ||
| 343 | #if (defined (osFeature_Wait) && (osFeature_Wait != 0)) // Generic Wait available |
343 | #if (defined (osFeature_Wait) && (osFeature_Wait != 0)) // Generic Wait available |
| 344 | 344 | ||
| 345 | /// Wait for Signal, Message, Mail, or Timeout. |
345 | /// Wait for Signal, Message, Mail, or Timeout. |
| 346 | /// \param[in] millisec timeout value or 0 in case of no time-out |
346 | /// \param[in] millisec \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out |
| 347 | /// \return event that contains signal, message, or mail information or error code. |
347 | /// \return event that contains signal, message, or mail information or error code. |
| 348 | /// \note MUST REMAIN UNCHANGED: \b osWait shall be consistent in every CMSIS-RTOS. |
348 | /// \note MUST REMAIN UNCHANGED: \b osWait shall be consistent in every CMSIS-RTOS. |
| 349 | osEvent osWait (uint32_t millisec); |
349 | osEvent osWait (uint32_t millisec); |
| 350 | 350 | ||
| 351 | #endif // Generic Wait available |
351 | #endif // Generic Wait available |
| Line 381... | Line 381... | ||
| 381 | /// \note MUST REMAIN UNCHANGED: \b osTimerCreate shall be consistent in every CMSIS-RTOS. |
381 | /// \note MUST REMAIN UNCHANGED: \b osTimerCreate shall be consistent in every CMSIS-RTOS. |
| 382 | osTimerId osTimerCreate (const osTimerDef_t *timer_def, os_timer_type type, void *argument); |
382 | osTimerId osTimerCreate (const osTimerDef_t *timer_def, os_timer_type type, void *argument); |
| 383 | 383 | ||
| 384 | /// Start or restart a timer. |
384 | /// Start or restart a timer. |
| 385 | /// \param[in] timer_id timer ID obtained by \ref osTimerCreate. |
385 | /// \param[in] timer_id timer ID obtained by \ref osTimerCreate. |
| 386 | /// \param[in] millisec time delay value of the timer. |
386 | /// \param[in] millisec \ref CMSIS_RTOS_TimeOutValue "time delay" value of the timer. |
| 387 | /// \return status code that indicates the execution status of the function. |
387 | /// \return status code that indicates the execution status of the function. |
| 388 | /// \note MUST REMAIN UNCHANGED: \b osTimerStart shall be consistent in every CMSIS-RTOS. |
388 | /// \note MUST REMAIN UNCHANGED: \b osTimerStart shall be consistent in every CMSIS-RTOS. |
| 389 | osStatus osTimerStart (osTimerId timer_id, uint32_t millisec); |
389 | osStatus osTimerStart (osTimerId timer_id, uint32_t millisec); |
| 390 | 390 | ||
| 391 | /// Stop the timer. |
391 | /// Stop the timer. |
| Line 417... | Line 417... | ||
| 417 | /// \note MUST REMAIN UNCHANGED: \b osSignalClear shall be consistent in every CMSIS-RTOS. |
417 | /// \note MUST REMAIN UNCHANGED: \b osSignalClear shall be consistent in every CMSIS-RTOS. |
| 418 | int32_t osSignalClear (osThreadId thread_id, int32_t signals); |
418 | int32_t osSignalClear (osThreadId thread_id, int32_t signals); |
| 419 | 419 | ||
| 420 | /// Wait for one or more Signal Flags to become signaled for the current \b RUNNING thread. |
420 | /// Wait for one or more Signal Flags to become signaled for the current \b RUNNING thread. |
| 421 | /// \param[in] signals wait until all specified signal flags set or 0 for any single signal flag. |
421 | /// \param[in] signals wait until all specified signal flags set or 0 for any single signal flag. |
| 422 | /// \param[in] millisec timeout value or 0 in case of no time-out. |
422 | /// \param[in] millisec \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out. |
| 423 | /// \return event flag information or error code. |
423 | /// \return event flag information or error code. |
| 424 | /// \note MUST REMAIN UNCHANGED: \b osSignalWait shall be consistent in every CMSIS-RTOS. |
424 | /// \note MUST REMAIN UNCHANGED: \b osSignalWait shall be consistent in every CMSIS-RTOS. |
| 425 | osEvent osSignalWait (int32_t signals, uint32_t millisec); |
425 | osEvent osSignalWait (int32_t signals, uint32_t millisec); |
| 426 | 426 | ||
| 427 | 427 | ||
| Line 452... | Line 452... | ||
| 452 | /// \note MUST REMAIN UNCHANGED: \b osMutexCreate shall be consistent in every CMSIS-RTOS. |
452 | /// \note MUST REMAIN UNCHANGED: \b osMutexCreate shall be consistent in every CMSIS-RTOS. |
| 453 | osMutexId osMutexCreate (const osMutexDef_t *mutex_def); |
453 | osMutexId osMutexCreate (const osMutexDef_t *mutex_def); |
| 454 | 454 | ||
| 455 | /// Wait until a Mutex becomes available. |
455 | /// Wait until a Mutex becomes available. |
| 456 | /// \param[in] mutex_id mutex ID obtained by \ref osMutexCreate. |
456 | /// \param[in] mutex_id mutex ID obtained by \ref osMutexCreate. |
| 457 | /// \param[in] millisec timeout value or 0 in case of no time-out. |
457 | /// \param[in] millisec \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out. |
| 458 | /// \return status code that indicates the execution status of the function. |
458 | /// \return status code that indicates the execution status of the function. |
| 459 | /// \note MUST REMAIN UNCHANGED: \b osMutexWait shall be consistent in every CMSIS-RTOS. |
459 | /// \note MUST REMAIN UNCHANGED: \b osMutexWait shall be consistent in every CMSIS-RTOS. |
| 460 | osStatus osMutexWait (osMutexId mutex_id, uint32_t millisec); |
460 | osStatus osMutexWait (osMutexId mutex_id, uint32_t millisec); |
| 461 | 461 | ||
| 462 | /// Release a Mutex that was obtained by \ref osMutexWait. |
462 | /// Release a Mutex that was obtained by \ref osMutexWait. |
| Line 502... | Line 502... | ||
| 502 | /// \note MUST REMAIN UNCHANGED: \b osSemaphoreCreate shall be consistent in every CMSIS-RTOS. |
502 | /// \note MUST REMAIN UNCHANGED: \b osSemaphoreCreate shall be consistent in every CMSIS-RTOS. |
| 503 | osSemaphoreId osSemaphoreCreate (const osSemaphoreDef_t *semaphore_def, int32_t count); |
503 | osSemaphoreId osSemaphoreCreate (const osSemaphoreDef_t *semaphore_def, int32_t count); |
| 504 | 504 | ||
| 505 | /// Wait until a Semaphore token becomes available. |
505 | /// Wait until a Semaphore token becomes available. |
| 506 | /// \param[in] semaphore_id semaphore object referenced with \ref osSemaphoreCreate. |
506 | /// \param[in] semaphore_id semaphore object referenced with \ref osSemaphoreCreate. |
| 507 | /// \param[in] millisec timeout value or 0 in case of no time-out. |
507 | /// \param[in] millisec \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out. |
| 508 | /// \return number of available tokens, or -1 in case of incorrect parameters. |
508 | /// \return number of available tokens, or -1 in case of incorrect parameters. |
| 509 | /// \note MUST REMAIN UNCHANGED: \b osSemaphoreWait shall be consistent in every CMSIS-RTOS. |
509 | /// \note MUST REMAIN UNCHANGED: \b osSemaphoreWait shall be consistent in every CMSIS-RTOS. |
| 510 | int32_t osSemaphoreWait (osSemaphoreId semaphore_id, uint32_t millisec); |
510 | int32_t osSemaphoreWait (osSemaphoreId semaphore_id, uint32_t millisec); |
| 511 | 511 | ||
| 512 | /// Release a Semaphore token. |
512 | /// Release a Semaphore token. |
| Line 612... | Line 612... | ||
| 612 | osMessageQId osMessageCreate (const osMessageQDef_t *queue_def, osThreadId thread_id); |
612 | osMessageQId osMessageCreate (const osMessageQDef_t *queue_def, osThreadId thread_id); |
| 613 | 613 | ||
| 614 | /// Put a Message to a Queue. |
614 | /// Put a Message to a Queue. |
| 615 | /// \param[in] queue_id message queue ID obtained with \ref osMessageCreate. |
615 | /// \param[in] queue_id message queue ID obtained with \ref osMessageCreate. |
| 616 | /// \param[in] info message information. |
616 | /// \param[in] info message information. |
| 617 | /// \param[in] millisec timeout value or 0 in case of no time-out. |
617 | /// \param[in] millisec \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out. |
| 618 | /// \return status code that indicates the execution status of the function. |
618 | /// \return status code that indicates the execution status of the function. |
| 619 | /// \note MUST REMAIN UNCHANGED: \b osMessagePut shall be consistent in every CMSIS-RTOS. |
619 | /// \note MUST REMAIN UNCHANGED: \b osMessagePut shall be consistent in every CMSIS-RTOS. |
| 620 | osStatus osMessagePut (osMessageQId queue_id, uint32_t info, uint32_t millisec); |
620 | osStatus osMessagePut (osMessageQId queue_id, uint32_t info, uint32_t millisec); |
| 621 | 621 | ||
| 622 | /// Get a Message or Wait for a Message from a Queue. |
622 | /// Get a Message or Wait for a Message from a Queue. |
| 623 | /// \param[in] queue_id message queue ID obtained with \ref osMessageCreate. |
623 | /// \param[in] queue_id message queue ID obtained with \ref osMessageCreate. |
| 624 | /// \param[in] millisec timeout value or 0 in case of no time-out. |
624 | /// \param[in] millisec \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out. |
| 625 | /// \return event information that includes status code. |
625 | /// \return event information that includes status code. |
| 626 | /// \note MUST REMAIN UNCHANGED: \b osMessageGet shall be consistent in every CMSIS-RTOS. |
626 | /// \note MUST REMAIN UNCHANGED: \b osMessageGet shall be consistent in every CMSIS-RTOS. |
| 627 | osEvent osMessageGet (osMessageQId queue_id, uint32_t millisec); |
627 | osEvent osMessageGet (osMessageQId queue_id, uint32_t millisec); |
| 628 | 628 | ||
| 629 | #endif // Message Queues available |
629 | #endif // Message Queues available |
| Line 662... | Line 662... | ||
| 662 | /// \note MUST REMAIN UNCHANGED: \b osMailCreate shall be consistent in every CMSIS-RTOS. |
662 | /// \note MUST REMAIN UNCHANGED: \b osMailCreate shall be consistent in every CMSIS-RTOS. |
| 663 | osMailQId osMailCreate (const osMailQDef_t *queue_def, osThreadId thread_id); |
663 | osMailQId osMailCreate (const osMailQDef_t *queue_def, osThreadId thread_id); |
| 664 | 664 | ||
| 665 | /// Allocate a memory block from a mail. |
665 | /// Allocate a memory block from a mail. |
| 666 | /// \param[in] queue_id mail queue ID obtained with \ref osMailCreate. |
666 | /// \param[in] queue_id mail queue ID obtained with \ref osMailCreate. |
| 667 | /// \param[in] millisec timeout value or 0 in case of no time-out |
667 | /// \param[in] millisec \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out |
| 668 | /// \return pointer to memory block that can be filled with mail or NULL in case of error. |
668 | /// \return pointer to memory block that can be filled with mail or NULL in case of error. |
| 669 | /// \note MUST REMAIN UNCHANGED: \b osMailAlloc shall be consistent in every CMSIS-RTOS. |
669 | /// \note MUST REMAIN UNCHANGED: \b osMailAlloc shall be consistent in every CMSIS-RTOS. |
| 670 | void *osMailAlloc (osMailQId queue_id, uint32_t millisec); |
670 | void *osMailAlloc (osMailQId queue_id, uint32_t millisec); |
| 671 | 671 | ||
| 672 | /// Allocate a memory block from a mail and set memory block to zero. |
672 | /// Allocate a memory block from a mail and set memory block to zero. |
| 673 | /// \param[in] queue_id mail queue ID obtained with \ref osMailCreate. |
673 | /// \param[in] queue_id mail queue ID obtained with \ref osMailCreate. |
| 674 | /// \param[in] millisec timeout value or 0 in case of no time-out |
674 | /// \param[in] millisec \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out |
| 675 | /// \return pointer to memory block that can be filled with mail or NULL in case of error. |
675 | /// \return pointer to memory block that can be filled with mail or NULL in case of error. |
| 676 | /// \note MUST REMAIN UNCHANGED: \b osMailCAlloc shall be consistent in every CMSIS-RTOS. |
676 | /// \note MUST REMAIN UNCHANGED: \b osMailCAlloc shall be consistent in every CMSIS-RTOS. |
| 677 | void *osMailCAlloc (osMailQId queue_id, uint32_t millisec); |
677 | void *osMailCAlloc (osMailQId queue_id, uint32_t millisec); |
| 678 | 678 | ||
| 679 | /// Put a mail to a queue. |
679 | /// Put a mail to a queue. |
| Line 683... | Line 683... | ||
| 683 | /// \note MUST REMAIN UNCHANGED: \b osMailPut shall be consistent in every CMSIS-RTOS. |
683 | /// \note MUST REMAIN UNCHANGED: \b osMailPut shall be consistent in every CMSIS-RTOS. |
| 684 | osStatus osMailPut (osMailQId queue_id, void *mail); |
684 | osStatus osMailPut (osMailQId queue_id, void *mail); |
| 685 | 685 | ||
| 686 | /// Get a mail from a queue. |
686 | /// Get a mail from a queue. |
| 687 | /// \param[in] queue_id mail queue ID obtained with \ref osMailCreate. |
687 | /// \param[in] queue_id mail queue ID obtained with \ref osMailCreate. |
| 688 | /// \param[in] millisec timeout value or 0 in case of no time-out |
688 | /// \param[in] millisec \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out |
| 689 | /// \return event that contains mail information or error code. |
689 | /// \return event that contains mail information or error code. |
| 690 | /// \note MUST REMAIN UNCHANGED: \b osMailGet shall be consistent in every CMSIS-RTOS. |
690 | /// \note MUST REMAIN UNCHANGED: \b osMailGet shall be consistent in every CMSIS-RTOS. |
| 691 | osEvent osMailGet (osMailQId queue_id, uint32_t millisec); |
691 | osEvent osMailGet (osMailQId queue_id, uint32_t millisec); |
| 692 | 692 | ||
| 693 | /// Free a memory block from a mail. |
693 | /// Free a memory block from a mail. |