![]() |
AKOS
v1.0.0
Documentation
|
Thread scheduling and thread messaging APIs. More...
Go to the source code of this file.
Classes | |
| struct | thread_t |
| Static thread descriptor used during thread table registration. More... | |
Macros | |
| #define | AKOS_THREAD_DEFINE(_name, _id, _entry, _arg, _prio, _queue_size, _stack_size) |
Typedefs | |
| typedef struct thread_tcb * | thread_handle_t |
| typedef void(* | thread_func_t) (void *p_arg) |
| Thread entry function signature. | |
| typedef uint8_t | thread_id_t |
| Numeric thread identifier type. | |
Enumerations | |
| enum | thread_state_t { THREAD_STATE_RUNNING = 0 , THREAD_STATE_READY , THREAD_STATE_DELAYED , THREAD_STATE_SUSPENDED , THREAD_STATE_SUSPENDED_ON_MSG , THREAD_STATE_DELAYED_ON_MSG } |
| Runtime state of a thread control block. More... | |
Functions | |
| uint32_t | akos_thread_get_tick (void) |
| Get current system tick. | |
| void | akos_thread_register_static_threads (void) |
| Create all statically defined threads and kernel internal threads. | |
| uint8_t | akos_thread_get_app_thread_count (void) |
| Get number of application threads defined via AKOS_THREAD_DEFINE. | |
| uint8_t | akos_thread_get_idle_thread_id (void) |
| Get the runtime thread ID assigned to the idle thread. | |
| uint8_t | akos_thread_get_timer_thread_id (void) |
| Get the runtime thread ID assigned to the timer thread. | |
| uint8_t | akos_thread_increment_tick (void) |
| Tick handler routine called from SysTick. | |
| void | akos_thread_delay (const uint32_t tick_to_delay) |
| Delay current thread by specified ticks. | |
| void | akos_thread_start (void) |
| Start scheduler state. | |
| void | akos_thread_post_msg_dynamic (uint8_t des_thread_id, int32_t sig, void *p_content, uint8_t msg_size) |
| Post dynamic message to destination thread. | |
| void | akos_thread_post_msg_pure (uint8_t des_thread_id, int32_t sig) |
| Post pure signal message to destination thread. | |
| msg_t * | akos_thread_wait_for_msg (uint32_t time_out) |
| Wait for message from current thread queue. | |
| #define AKOS_THREAD_DEFINE | ( | _name, | |
| _id, | |||
| _entry, | |||
| _arg, | |||
| _prio, | |||
| _queue_size, | |||
| _stack_size ) |
| typedef void(* thread_func_t) (void *p_arg) |
| typedef struct thread_tcb* thread_handle_t |
| typedef uint8_t thread_id_t |
| enum thread_state_t |
Runtime state of a thread control block.
| void akos_thread_delay | ( | const uint32_t | tick_to_delay | ) |
| uint8_t akos_thread_get_app_thread_count | ( | void | ) |
| uint8_t akos_thread_get_idle_thread_id | ( | void | ) |
| uint32_t akos_thread_get_tick | ( | void | ) |
| uint8_t akos_thread_get_timer_thread_id | ( | void | ) |
| uint8_t akos_thread_increment_tick | ( | void | ) |
| void akos_thread_post_msg_dynamic | ( | uint8_t | des_thread_id, |
| int32_t | sig, | ||
| void * | p_content, | ||
| uint8_t | msg_size ) |
Post dynamic message to destination thread.
| des_thread_id | Destination thread ID. |
| sig | Message signal. |
| p_content | Payload pointer. |
| msg_size | Payload size in bytes. |
Post dynamic message to destination thread.
| des_thread_id | Destination thread ID. |
| sig | Message signal. |
| p_content | Payload pointer. |
| msg_size | Payload size in bytes. |
| void akos_thread_post_msg_pure | ( | uint8_t | des_thread_id, |
| int32_t | sig ) |
| void akos_thread_register_static_threads | ( | void | ) |
| void akos_thread_start | ( | void | ) |
| msg_t * akos_thread_wait_for_msg | ( | uint32_t | time_out | ) |
Wait for message from current thread queue.
| time_out | Timeout in ticks. Use OS_CFG_DELAY_MAX for infinite wait. |
Wait for message from current thread queue.
| time_out | Timeout in ticks. Use OS_CFG_DELAY_MAX for infinite wait. |