From 9e44de269c6e702fdb5f5680289e74fb85f76f04 Mon Sep 17 00:00:00 2001 From: Jaakko Haakana Date: Sat, 26 Jul 2025 15:53:24 +0300 Subject: [PATCH] Fix test compilation errors and max --- Software/src/battery/ECMP-HTML.h | 1 + Software/src/battery/GEELY-GEOMETRY-C-HTML.h | 1 + Software/src/battery/NISSAN-LEAF-HTML.h | 1 + Software/src/battery/TESLA-HTML.h | 1 + Software/src/devboard/utils/events.cpp | 4 ++-- test/CMakeLists.txt | 1 + test/emul/Arduino.cpp | 5 +++++ test/emul/Arduino.h | 2 +- 8 files changed, 13 insertions(+), 3 deletions(-) create mode 100644 test/emul/Arduino.cpp diff --git a/Software/src/battery/ECMP-HTML.h b/Software/src/battery/ECMP-HTML.h index b6ac202b..c654341a 100644 --- a/Software/src/battery/ECMP-HTML.h +++ b/Software/src/battery/ECMP-HTML.h @@ -1,6 +1,7 @@ #ifndef _ECMP_BATTERY_HTML_H #define _ECMP_BATTERT_HTML_H +#include #include "../datalayer/datalayer.h" #include "../datalayer/datalayer_extended.h" #include "../devboard/webserver/BatteryHtmlRenderer.h" diff --git a/Software/src/battery/GEELY-GEOMETRY-C-HTML.h b/Software/src/battery/GEELY-GEOMETRY-C-HTML.h index ddb49dcc..fc6275b3 100644 --- a/Software/src/battery/GEELY-GEOMETRY-C-HTML.h +++ b/Software/src/battery/GEELY-GEOMETRY-C-HTML.h @@ -1,6 +1,7 @@ #ifndef _GEELY_GEOMETRY_C_HTML_H #define _GEELY_GEOMETRY_C_HTML_H +#include #include "../datalayer/datalayer.h" #include "../datalayer/datalayer_extended.h" #include "../devboard/webserver/BatteryHtmlRenderer.h" diff --git a/Software/src/battery/NISSAN-LEAF-HTML.h b/Software/src/battery/NISSAN-LEAF-HTML.h index 6b7e20b1..66d16ae6 100644 --- a/Software/src/battery/NISSAN-LEAF-HTML.h +++ b/Software/src/battery/NISSAN-LEAF-HTML.h @@ -1,6 +1,7 @@ #ifndef _NISSAN_LEAF_HTML_H #define _NISSAN_LEAF_HTML_H +#include #include "../datalayer/datalayer.h" #include "../datalayer/datalayer_extended.h" #include "../devboard/webserver/BatteryHtmlRenderer.h" diff --git a/Software/src/battery/TESLA-HTML.h b/Software/src/battery/TESLA-HTML.h index 7826b29c..c5f270dc 100644 --- a/Software/src/battery/TESLA-HTML.h +++ b/Software/src/battery/TESLA-HTML.h @@ -1,6 +1,7 @@ #ifndef _TESLA_HTML_H #define _TESLA_HTML_H +#include #include "../datalayer/datalayer.h" #include "../datalayer/datalayer_extended.h" #include "../devboard/webserver/BatteryHtmlRenderer.h" diff --git a/Software/src/devboard/utils/events.cpp b/Software/src/devboard/utils/events.cpp index 71c9741e..eb11271f 100644 --- a/Software/src/devboard/utils/events.cpp +++ b/Software/src/devboard/utils/events.cpp @@ -424,7 +424,7 @@ static void set_event(EVENTS_ENUM_TYPE event, uint8_t data, bool latched) { events.entries[event].state = latched ? EVENT_STATE_ACTIVE_LATCHED : EVENT_STATE_ACTIVE; // Update event level, only upwards. Downward changes are done in Software.ino:loop() - events.level = max(events.level, events.entries[event].level); + events.level = (EVENTS_LEVEL_TYPE)max(events.level, events.entries[event].level); update_bms_status(); } @@ -461,7 +461,7 @@ static void update_event_level(void) { EVENTS_LEVEL_TYPE temporary_level = EVENT_LEVEL_INFO; for (uint8_t i = 0u; i < EVENT_NOF_EVENTS; i++) { if ((events.entries[i].state == EVENT_STATE_ACTIVE) || (events.entries[i].state == EVENT_STATE_ACTIVE_LATCHED)) { - temporary_level = max(events.entries[i].level, temporary_level); + temporary_level = (EVENTS_LEVEL_TYPE)max(events.entries[i].level, temporary_level); } } events.level = temporary_level; diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 6bcf8129..72556bcf 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -89,6 +89,7 @@ add_executable(tests emul/can.cpp emul/time.cpp emul/serial.cpp + emul/Arduino.cpp ) target_link_libraries(tests diff --git a/test/emul/Arduino.cpp b/test/emul/Arduino.cpp new file mode 100644 index 00000000..b2b85522 --- /dev/null +++ b/test/emul/Arduino.cpp @@ -0,0 +1,5 @@ +#include "Arduino.h" + +int max(int a, int b) { + return (a > b) ? a : b; +} diff --git a/test/emul/Arduino.h b/test/emul/Arduino.h index 3196a56a..c3ae2da7 100644 --- a/test/emul/Arduino.h +++ b/test/emul/Arduino.h @@ -13,6 +13,6 @@ int digitalRead(uint8_t pin); #undef millis unsigned long millis(); -#define max(a, b) std::max(a, b) +int max(int a, int b); #endif