30 lines
1.1 KiB
C
30 lines
1.1 KiB
C
|
/*
|
||
|
* Copyright (c) 2021 Nordic Semiconductor ASA
|
||
|
*
|
||
|
* SPDX-License-Identifier: Apache-2.0
|
||
|
*/
|
||
|
#ifndef BUSY_SIM_H__
|
||
|
#define BUSY_SIM_H__
|
||
|
|
||
|
/**
|
||
|
* @brief 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.
|
||
|
*
|
||
|
* @param active_avg Avarage time of busy looping in the counter callback (in microseconds).
|
||
|
* @param active_delta Specifies deviation from avarage time of busy looping (in microseconds).
|
||
|
* @param idle_avg Avarage time of counter alarm timeout (in microseconds).
|
||
|
* @param idle_delta Specifies deviation from avarage time of counter alarm (in microseconds).
|
||
|
*/
|
||
|
void busy_sim_start(uint32_t active_avg, uint32_t active_delta,
|
||
|
uint32_t idle_avg, uint32_t idle_delta);
|
||
|
|
||
|
/** @brief Stop busy simulator. */
|
||
|
void busy_sim_stop(void);
|
||
|
|
||
|
#endif /* BUSY_SIM_H__ */
|