GCC Code Coverage Report


Directory: ./
File: firmware/config/boards/hellen_logic.h
Date: 2025-10-03 00:57:22
Coverage Exec Excl Total
Lines: 0.0% 0 0 41
Functions: 0.0% 0 0 7
Branches: -% 0 0 0
Decisions: -% 0 - 0

Line Branch Decision Exec Source
1 // file hellen_logic.h
2
3 #pragma once
4
5 #include "../../board_id/boards_id.h"
6
7 void hellenWbo();
8
9 void setHellenMegaEnPin(bool enableBoardOnStartUp = true);
10 void setHellenEnPin(Gpio pin, bool enableBoardOnStartUp = true);
11 void setHellen64MegaEnPin();
12 bool isBoardWithPowerManagement();
13 bool getHellenBoardEnabled();
14 void hellenEnableEn(const char *msg = "");
15 void hellenDisableEn(const char *msg = "");
16 void hellenDisableEnSilently(); // this version is called by fatal error handler meaning no OS access
17
18 void hellenBoardStandBy();
19 void hellenMegaSdWithAccelerometer();
20 void hellenMegaModule();
21 void hellenMegaAccelerometerPreInitCS2Pin();
22 void configureHellenCanTerminator();
23
24 void setHellenCan();
25 void setHellenCan2();
26 void setHellen64Can();
27
28 void setHellenAnalogDividers();
29 void setHellenVbatt();
30
31 int detectHellenBoardId();
32 void detectHellenBoardType();
33
34 ObdCode boardGetAnalogDiagnostic();
35
36 #pragma GCC diagnostic push
37 #pragma GCC diagnostic ignored "-Wunused-function"
38 static void enableHellenSpi1() {
39 engineConfiguration->spi1mosiPin = Gpio::H_SPI1_MOSI;
40 engineConfiguration->spi1misoPin = Gpio::H_SPI1_MISO;
41 engineConfiguration->spi1sckPin = Gpio::H_SPI1_SCK;
42 engineConfiguration->is_enabled_spi_1 = true;
43 }
44
45 static void setHellenSdCardSpi1Hardware() {
46 engineConfiguration->sdCardCsPin = Gpio::H_SPI1_CS1;
47 engineConfiguration->sdCardSpiDevice = SPI_DEVICE_1;
48 enableHellenSpi1();
49 }
50
51 static void enableHellenSpi3() {
52 engineConfiguration->spi3mosiPin = H_SPI3_MOSI;
53 engineConfiguration->spi3misoPin = H_SPI3_MISO;
54 engineConfiguration->spi3sckPin = H_SPI3_SCK;
55 engineConfiguration->is_enabled_spi_3 = true;
56 }
57
58 static void setHellenSdCardSpi3NoCS() {
59 engineConfiguration->isSdCardEnabled = true;
60 engineConfiguration->sdCardSpiDevice = SPI_DEVICE_3;
61 enableHellenSpi3();
62 }
63
64 static void setAccelerometerSpi() {
65 /* accelerometer SPI is shared with SD card SPI on mm144 */
66 engineConfiguration->accelerometerSpiDevice = SPI_DEVICE_1;
67 engineConfiguration->accelerometerCsPin = Gpio::H_SPI1_CS2;
68 }
69
70 static void setHellen64SdCardSpi() {
71 engineConfiguration->isSdCardEnabled = true;
72 engineConfiguration->sdCardSpiDevice = SPI_DEVICE_3;
73 engineConfiguration->spi3mosiPin = Gpio::MM64_SPI3_MOSI;
74 engineConfiguration->spi3misoPin = Gpio::MM64_SPI3_MISO;
75 engineConfiguration->spi3sckPin = Gpio::MM64_SPI3_SCK;
76 engineConfiguration->is_enabled_spi_3 = true;
77 engineConfiguration->sdCardCsPin = Gpio::MM64_SPI3_CS;
78 }
79
80 static void enableHellenSpi2() {
81 engineConfiguration->is_enabled_spi_2 = true;
82 engineConfiguration->spi2mosiPin = H_SPI2_MOSI;
83 engineConfiguration->spi2misoPin = H_SPI2_MISO;
84 engineConfiguration->spi2sckPin = H_SPI2_SCK;
85 }
86
87 inline void setHellenSdCardSpi2() {
88 enableHellenSpi2();
89 engineConfiguration->sdCardSpiDevice = SPI_DEVICE_2;
90 engineConfiguration->sdCardCsPin = H_SPI2_CS;
91 }
92
93 inline void setHellenSdCardSpi3() {
94 setHellenSdCardSpi3NoCS();
95 engineConfiguration->sdCardCsPin = H_SPI3_CS;
96 }
97
98 // *pullups* files CLT R211 IAT R213
99 #define HELLEN_DEFAULT_AT_PULLUP 4700
100
101 inline void setDefaultHellenAtPullUps(float pullup = HELLEN_DEFAULT_AT_PULLUP) {
102 engineConfiguration->clt.config.bias_resistor = pullup;
103 engineConfiguration->iat.config.bias_resistor = pullup;
104 engineConfiguration->auxTempSensor1.config.bias_resistor = pullup;
105 engineConfiguration->auxTempSensor2.config.bias_resistor = pullup;
106 }
107
108 inline void setHellenMMbaro() {
109 engineConfiguration->lps25BaroSensorScl = Gpio::B10;
110 engineConfiguration->lps25BaroSensorSda = Gpio::B11;
111 }
112 #pragma GCC diagnostic pop
113