blob: 589d324db30c54620d6cf8d2c3e118bde8ea7275 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
#pragma once
/** @file hypervisor.h */
#include <stdint.h>
/** amount of parallel timers */
#define W2_HYPERVISOR_TIMER_COUNT (1)
extern uint64_t g_w2_hypervisor_cycles;
extern uint64_t g_w2_hypervisor_uptime_ms;
extern unsigned long g_w2_hypervisor_ema_sercomm_ms;
extern unsigned long g_w2_hypervisor_ema_errcatch_ms;
extern unsigned long g_w2_hypervisor_ema_io_ms;
extern unsigned long g_w2_hypervisor_ema_mode_ms;
/**
* backbone of all other modules
*
* stores global variables and controls when other modules run
*/
void w2_hypervisor_main();
/** start timer with label `label` */
void w2_hypervisor_time_start(uint8_t label);
/** stop timer with label `label` */
uint64_t w2_hypervisor_time_end(uint8_t label);
|