Zephyr API Documentation 4.1.99
A Scalable Open Source RTOS
|
|
4.1.99 |
Go to the source code of this file.
Typedefs | |
typedef void(* | busy_sim_cb_t) (void) |
Functions | |
void | busy_sim_start (uint32_t active_avg, uint32_t active_delta, uint32_t idle_avg, uint32_t idle_delta, busy_sim_cb_t cb) |
Start busy simulator. | |
void | busy_sim_stop (void) |
Stop busy simulator. | |
typedef void(* busy_sim_cb_t) (void) |
void busy_sim_start | ( | uint32_t | active_avg, |
uint32_t | active_delta, | ||
uint32_t | idle_avg, | ||
uint32_t | idle_delta, | ||
busy_sim_cb_t | cb ) |
Start busy simulator.
When started, it is using counter device to generate interrupts at random intervals and busy loop for random period of time in that interrupt. Interrupt source and priority is configured in the devicetree. Default entropy source is used for getting random numbers. System work queue is used to get random values and keep them in a ring buffer.
active_avg | Average time of busy looping in the counter callback (in microseconds). |
active_delta | Specifies deviation from average time of busy looping (in microseconds). |
idle_avg | Average time of counter alarm timeout (in microseconds). |
idle_delta | Specifies deviation from average time of counter alarm (in microseconds). |
cb | Callback called from the context of the busy simulator timeout. If ZLI interrupt is used for busy simulator counter then kernel API cannot be used from that callback. Callback is called before busy waiting. |
void busy_sim_stop | ( | void | ) |
Stop busy simulator.