diff --git a/firmware/config/engines/bmw_n73.cpp b/firmware/config/engines/bmw_n73.cpp index f4a6aff8db..afade0af29 100644 --- a/firmware/config/engines/bmw_n73.cpp +++ b/firmware/config/engines/bmw_n73.cpp @@ -5,6 +5,8 @@ * @author Andrey Belomutskiy, (c) 2012-2021 */ +#include "pch.h" + #include "bmw_n73.h" void setEngineProteusBMW_N73_GDI() { diff --git a/firmware/config/engines/bmw_n73.h b/firmware/config/engines/bmw_n73.h index a154da9d3b..8b70a0e479 100644 --- a/firmware/config/engines/bmw_n73.h +++ b/firmware/config/engines/bmw_n73.h @@ -7,8 +7,6 @@ #pragma once -#include "engine_configuration.h" - void setEngineProteusBMW_N73_GDI(); void setEngineProteusGearboxManInTheMiddle(); diff --git a/firmware/config/engines/hyundai.cpp b/firmware/config/engines/hyundai.cpp index 5e9006a4a5..a4a40a8d86 100644 --- a/firmware/config/engines/hyundai.cpp +++ b/firmware/config/engines/hyundai.cpp @@ -5,8 +5,9 @@ * @author Andrey Belomutskiy, (c) 2012-2021 */ +#include "pch.h" + #include "hyundai.h" -#include "map.h" static void commonGenesisCoupe() { strncpy(config->luaScript, R"( diff --git a/firmware/config/engines/hyundai.h b/firmware/config/engines/hyundai.h index b73a12097a..3148eb4cfd 100644 --- a/firmware/config/engines/hyundai.h +++ b/firmware/config/engines/hyundai.h @@ -7,8 +7,5 @@ #pragma once -#include "engine_configuration.h" - void setGenesisCoupeBK1(); - void setGenesisCoupeBK2(); diff --git a/firmware/libfirmware b/firmware/libfirmware index 8fcca4c0ce..7fea28f1c1 160000 --- a/firmware/libfirmware +++ b/firmware/libfirmware @@ -1 +1 @@ -Subproject commit 8fcca4c0ce715a3c44ad13bb1a1a9316dbe63605 +Subproject commit 7fea28f1c1b1fde209258e97824b8b16ef0ace19 diff --git a/firmware/util/efilib.h b/firmware/util/efilib.h index 776c385231..e26d6efe80 100644 --- a/firmware/util/efilib.h +++ b/firmware/util/efilib.h @@ -92,30 +92,6 @@ float limitRateOfChange(float newValue, float oldValue, float incrLimitPerSec, f #define IS_NEGATIVE_ZERO(value) (__builtin_signbit(value) && value==0) #define fixNegativeZero(value) (IS_NEGATIVE_ZERO(value) ? 0 : value) -// C++ helpers go here -namespace efi -{ -template -constexpr size_t size(const T(&)[N]) { - return N; -} - -// Zero the passed object -template -constexpr void clear(T* obj) { - // The cast to void* is to prevent errors like: - // clearing an object of non-trivial type 'struct persistent_config_s'; use assignment or value-initialization instead - // This is technically wrong, but we know config objects only ever actually - // contain integral types, though they may be wrapped in a scaled_channel - memset(reinterpret_cast(obj), 0, sizeof(T)); -} - -template -constexpr void clear(T& obj) { - clear(&obj); -} -} // namespace efi - #define assertIsInBounds(length, array, msg) efiAssertVoid(OBD_PCM_Processor_Fault, std::is_unsigned_v && (length) < efi::size(array), msg) #define assertIsInBoundsWithResult(length, array, msg, failedResult) efiAssert(OBD_PCM_Processor_Fault, std::is_unsigned_v && (length) < efi::size(array), msg, failedResult)