GCC Code Coverage Report


Directory: ./
File: firmware/controllers/algo/engine_parts.h
Date: 2025-10-03 00:57:22
Coverage Exec Excl Total
Lines: 100.0% 6 0 6
Functions: 100.0% 3 0 3
Branches: -% 0 0 0
Decisions: -% 0 - 0

Line Branch Decision Exec Source
1 /*
2 * @file engine_parts.h
3 *
4 * @date May 27, 2019
5 * @author Andrey Belomutskiy, (c) 2012-2020
6 */
7
8 #pragma once
9
10 #include "static_vector.h"
11 #include <rusefi/timer.h>
12
13 #define MOCK_ADC_SIZE 26
14
15 struct Accelerometer {
16 float lat = 0; // G value
17 float lon = 0;
18 float vert = 0;
19 float yawRate = 0;
20 };
21
22 struct SensorsState {
23 Accelerometer accelerometer;
24 };
25
26 class TransmissionState {
27 public:
28 gear_e gearSelectorPosition;
29 };
30
31 struct warning_t {
32 Timer LastTriggered;
33 ObdCode Code = ObdCode::None;
34
35 16248 warning_t() { }
36
37 110 explicit warning_t(ObdCode code)
38 110 : Code(code)
39 {
40 110 }
41
42 // Equality just checks the code, timer doesn't matter
43 bool operator ==(const warning_t& other) const {
44 return other.Code == Code;
45 }
46
47 // Compare against a plain OBD code
48 4431 bool operator ==(const ObdCode other) const {
49 4431 return other == Code;
50 }
51 };
52
53 typedef static_vector<warning_t, 24> warningBuffer_t;
54
55 class WarningCodeState {
56 public:
57 WarningCodeState();
58 void addWarningCode(ObdCode code, const char *text = nullptr);
59 bool isWarningNow() const;
60 bool isWarningNow(ObdCode code) const;
61 bool hasWarningMessage();
62 const char* getWarningMessage();
63 void refreshTs();
64 void clear();
65 int warningCounter;
66 ObdCode lastErrorCode = ObdCode::None;
67 const char *description;
68
69 Timer timeSinceLastWarning;
70
71 // text that may be assotiated with some warning and should be reported to TS
72 critical_msg_t m_msg;
73 warning_t *m_msgWarning = nullptr;
74
75 // todo: we need a way to post multiple recent warnings into TS
76 warningBuffer_t recentWarnings;
77 };
78
79 struct multispark_state
80 {
81 efidur_t delay = 0;
82 efidur_t dwell = 0;
83 uint8_t count = 0;
84 };
85