REDAC HybridController
Firmware for LUCIDAC/REDAC Teensy
Loading...
Searching...
No Matches
counters.cpp
Go to the documentation of this file.
1#include "mode/counters.h"
2
3FLASHMEM void mode::PerformanceCounter::reset() {
4 total_op_time_us = 0;
5 total_ic_time_us = 0;
6 total_number_of_runs = 0;
7}
8
9#define FROMTO(A, B) cur_mode == mode::Mode::A &&new_mode == mode::Mode::B
10
11FLASHMEM void mode::PerformanceCounter::to(mode::Mode new_mode) {
12 if (FROMTO(IC, IC)) {
13 }
14 if (FROMTO(IC, OP)) {
15 total_ic_time_us += ic;
16 op = 0;
17 }
18 if (FROMTO(IC, HALT)) {
19 total_ic_time_us += ic;
20 halt = 0;
21 }
22 if (FROMTO(OP, IC)) {
23 total_op_time_us += op;
24 ic = 0;
25 }
26 if (FROMTO(OP, OP)) {
27 }
28 if (FROMTO(OP, HALT)) {
29 total_op_time_us += op;
30 halt = 0;
31 }
32 if (FROMTO(HALT, IC)) {
33 total_halt_time_us += halt;
34 ic = 0;
35 }
36 if (FROMTO(HALT, OP)) {
37 total_halt_time_us += halt;
38 op = 0;
39 }
40 if (FROMTO(HALT, HALT)) {
41 }
42}
43
44FLASHMEM void mode::PerformanceCounter::add(mode::Mode some_mode, uint32_t us) {
45 switch (some_mode) {
46 case mode::Mode::IC:
47 total_ic_time_us += us;
48 return;
49 case mode::Mode::OP:
50 total_op_time_us += us;
51 return;
52 case mode::Mode::HALT:
53 total_halt_time_us += us;
54 return;
55 }
56}
57
58FLASHMEM void mode::PerformanceCounter::increase_run() { total_number_of_runs++; }
59
60FLASHMEM void mode::PerformanceCounter::to_json(JsonObject target) {
61 target["total_ic_time_us"] = total_ic_time_us;
62 target["total_op_time_us"] = total_op_time_us;
63 target["total_halt_time_us"] = total_halt_time_us;
64 target["total_number_of_runs"] = total_number_of_runs;
65}
#define FROMTO(A, B)
Definition counters.cpp:9
uint32_t
Definition flasher.cpp:195