diff --git a/firmware/controllers/algo/advance_map.cpp b/firmware/controllers/algo/advance_map.cpp index 9363aced60..286f8b1d7a 100644 --- a/firmware/controllers/algo/advance_map.cpp +++ b/firmware/controllers/algo/advance_map.cpp @@ -23,7 +23,7 @@ #include "engine.h" #include "advance_map.h" #include "interpolation.h" -#include "efilib2.h" +#include "rfiutil.h" #include "engine_math.h" #include "tps.h" #include "idle_thread.h" diff --git a/firmware/controllers/algo/engine.cpp b/firmware/controllers/algo/engine.cpp index 324c5f54d8..94d8772006 100644 --- a/firmware/controllers/algo/engine.cpp +++ b/firmware/controllers/algo/engine.cpp @@ -19,7 +19,7 @@ #include "advance_map.h" #include "speed_density.h" #include "advance_map.h" -#include "efilib2.h" +#include "rfiutil.h" #include "settings.h" #include "aux_valves.h" #include "map_averaging.h" diff --git a/firmware/controllers/core/core.mk b/firmware/controllers/core/core.mk index 347a250018..19269da57a 100644 --- a/firmware/controllers/core/core.mk +++ b/firmware/controllers/core/core.mk @@ -1,7 +1,5 @@ CONTROLLERS_CORE_SRC_CPP = $(PROJECT_DIR)/controllers/core/efi_wave.cpp \ - $(PROJECT_DIR)/controllers/core/avg_values.cpp \ $(PROJECT_DIR)/controllers/core/table_helper.cpp \ $(PROJECT_DIR)/controllers/core/fsio_core.cpp \ - $(PROJECT_DIR)/controllers/core/interpolation.cpp \ $(PROJECT_DIR)/controllers/core/fsio_impl.cpp diff --git a/firmware/controllers/engine_controller.cpp b/firmware/controllers/engine_controller.cpp index f879c8fd40..5bf8dea445 100644 --- a/firmware/controllers/engine_controller.cpp +++ b/firmware/controllers/engine_controller.cpp @@ -67,7 +67,7 @@ #if EFI_PROD_CODE || defined(__DOXYGEN__) #include "pwm_generator.h" #include "adc_inputs.h" -#include "efilib2.h" + #include "pwm_tester.h" #include "pwm_generator.h" #include "lcd_controller.h" diff --git a/firmware/controllers/error_handling.cpp b/firmware/controllers/error_handling.cpp index 2b93eaf4ed..2bfee7710b 100644 --- a/firmware/controllers/error_handling.cpp +++ b/firmware/controllers/error_handling.cpp @@ -7,7 +7,7 @@ #include "engine.h" #include "io_pins.h" -#include "efilib2.h" + #if EFI_SIMULATOR || EFI_PROD_CODE //todo: move into simulator global diff --git a/firmware/controllers/map_averaging.cpp b/firmware/controllers/map_averaging.cpp index 5dc09d6a4b..fee34496b4 100644 --- a/firmware/controllers/map_averaging.cpp +++ b/firmware/controllers/map_averaging.cpp @@ -22,7 +22,7 @@ */ #include "global.h" -#include "efilib2.h" + #include "map.h" #if EFI_MAP_AVERAGING || defined(__DOXYGEN__) diff --git a/firmware/controllers/math/efitime.h b/firmware/controllers/math/efitime.h index 80cdfc1dca..2d77269555 100644 --- a/firmware/controllers/math/efitime.h +++ b/firmware/controllers/math/efitime.h @@ -59,4 +59,10 @@ efitimesec_t getTimeNowSeconds(void); } #endif /* __cplusplus */ +#if (EFI_PROD_CODE || EFI_SIMULATOR) + #define GET_TIMESTAMP() port_rt_get_counter_value() +#else + #define GET_TIMESTAMP() 0 +#endif + #endif /* EFITIME_H_ */ diff --git a/firmware/controllers/system/event_queue.cpp b/firmware/controllers/system/event_queue.cpp index f480214037..da5975e8f0 100644 --- a/firmware/controllers/system/event_queue.cpp +++ b/firmware/controllers/system/event_queue.cpp @@ -14,7 +14,7 @@ #include "global.h" #include "event_queue.h" #include "efitime.h" -#include "efilib2.h" +#include "rfiutil.h" uint32_t maxSchedulingPrecisionLoss = 0; diff --git a/firmware/controllers/system/single_timer_executor.cpp b/firmware/controllers/system/single_timer_executor.cpp index c9a8afddd3..c8b50d08b4 100644 --- a/firmware/controllers/system/single_timer_executor.cpp +++ b/firmware/controllers/system/single_timer_executor.cpp @@ -19,7 +19,7 @@ #include "single_timer_executor.h" #include "efitime.h" -#include "efilib2.h" + #if EFI_SIGNAL_EXECUTOR_ONE_TIMER || defined(__DOXYGEN__) #include "microsecond_timer.h" diff --git a/firmware/controllers/trigger/main_trigger_callback.cpp b/firmware/controllers/trigger/main_trigger_callback.cpp index c6d8316d7d..a181f145c8 100644 --- a/firmware/controllers/trigger/main_trigger_callback.cpp +++ b/firmware/controllers/trigger/main_trigger_callback.cpp @@ -51,7 +51,7 @@ #include "local_version_holder.h" #include "event_queue.h" #include "engine.h" -#include "efilib2.h" + #include "aux_valves.h" #include "backup_ram.h" diff --git a/firmware/controllers/trigger/rpm_calculator.cpp b/firmware/controllers/trigger/rpm_calculator.cpp index 772b247c9e..e4de39027e 100644 --- a/firmware/controllers/trigger/rpm_calculator.cpp +++ b/firmware/controllers/trigger/rpm_calculator.cpp @@ -26,7 +26,7 @@ #include "sensor_chart.h" #endif -#include "efilib2.h" + #if EFI_ENGINE_SNIFFER #include "engine_sniffer.h" diff --git a/firmware/controllers/trigger/spark_logic.cpp b/firmware/controllers/trigger/spark_logic.cpp index aa706a4646..cb4e62da27 100644 --- a/firmware/controllers/trigger/spark_logic.cpp +++ b/firmware/controllers/trigger/spark_logic.cpp @@ -8,7 +8,7 @@ #include "engine_math.h" #include "utlist.h" #include "event_queue.h" -#include "efilib2.h" +#include "rfiutil.h" EXTERN_ENGINE; diff --git a/firmware/controllers/trigger/trigger_central.cpp b/firmware/controllers/trigger/trigger_central.cpp index 173efa7447..ab0884c2f1 100644 --- a/firmware/controllers/trigger/trigger_central.cpp +++ b/firmware/controllers/trigger/trigger_central.cpp @@ -16,7 +16,7 @@ #include "data_buffer.h" #include "histogram.h" #include "pwm_generator_logic.h" -#include "efilib2.h" + #include "settings.h" #include "engine_math.h" #include "local_version_holder.h" diff --git a/firmware/development/rfi_perftest.cpp b/firmware/development/rfi_perftest.cpp index c81ecd376b..7f9c872e22 100644 --- a/firmware/development/rfi_perftest.cpp +++ b/firmware/development/rfi_perftest.cpp @@ -13,7 +13,7 @@ #include "eficonsole.h" #include "time.h" #include "efi_gpio.h" -#include "efilib2.h" + #include "console_io.h" #include "engine.h" diff --git a/firmware/hw_layer/hip9011.cpp b/firmware/hw_layer/hip9011.cpp index c3bae8d6cd..80a5e80269 100644 --- a/firmware/hw_layer/hip9011.cpp +++ b/firmware/hw_layer/hip9011.cpp @@ -42,7 +42,7 @@ #include "hip9011_lookup.h" #include "HIP9011.h" #include "adc_inputs.h" -#include "efilib2.h" + #include "engine_controller.h" #if EFI_PROD_CODE diff --git a/firmware/hw_layer/microsecond_timer.cpp b/firmware/hw_layer/microsecond_timer.cpp index 0b5bff9e43..7433ce68e1 100644 --- a/firmware/hw_layer/microsecond_timer.cpp +++ b/firmware/hw_layer/microsecond_timer.cpp @@ -19,7 +19,7 @@ // https://my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Flat.aspx?RootFolder=https%3a%2f%2fmy.st.com%2fpublic%2fSTe2ecommunities%2fmcu%2fLists%2fcortex_mx_stm32%2fInterrupt%20on%20CEN%20bit%20setting%20in%20TIM7&FolderCTID=0x01200200770978C69A1141439FE559EB459D7580009C4E14902C3CDE46A77F0FFD06506F5B¤tviews=474 #if (EFI_PROD_CODE && HAL_USE_GPT) || defined(__DOXYGEN__) -#include "efilib2.h" + #include "periodic_controller.h" /** diff --git a/firmware/util/efilib2.cpp b/firmware/util/efilib2.cpp deleted file mode 100644 index e933357039..0000000000 --- a/firmware/util/efilib2.cpp +++ /dev/null @@ -1,26 +0,0 @@ -/** - * @file efilib2.cpp - * - * @date Apr 14, 2014 - * @author Andrey Belomutskiy, (c) 2012-2018 - */ - -#include "efilib2.h" - -/** - * See also getRemainingStack() - */ -int getMaxUsedStack(uint8_t *ptr, int size) { - /** - * maximum used stack size total stack buffer size minus position of first modified byte - */ -#if ! EFI_UNIT_TEST - int used = 0; - for (int i = 0; i < size; i++) { - if (ptr[i] != CH_DBG_STACK_FILL_VALUE) { - return size - i; - } - } -#endif /* EFI_UNIT_TEST */ - return 0; -} diff --git a/firmware/util/efilib2.h b/firmware/util/efilib2.h deleted file mode 100644 index 18bbd49895..0000000000 --- a/firmware/util/efilib2.h +++ /dev/null @@ -1,24 +0,0 @@ -/** - * @file efilib2.h - * - * @date Apr 14, 2014 - * @author Andrey Belomutskiy, (c) 2012-2017 - */ - -#ifndef EFILIB2_H_ -#define EFILIB2_H_ - -#include "global.h" - -/** - * @return for a given stack memory region returns how much stack was ever used - */ -int getMaxUsedStack(uint8_t *ptr, int size); - -#if (EFI_PROD_CODE || EFI_SIMULATOR) - #define GET_TIMESTAMP() port_rt_get_counter_value() -#else - #define GET_TIMESTAMP() 0 -#endif - -#endif /* EFILIB2_H_ */ diff --git a/firmware/controllers/core/avg_values.cpp b/firmware/util/math/avg_values.cpp similarity index 100% rename from firmware/controllers/core/avg_values.cpp rename to firmware/util/math/avg_values.cpp diff --git a/firmware/controllers/core/avg_values.h b/firmware/util/math/avg_values.h similarity index 100% rename from firmware/controllers/core/avg_values.h rename to firmware/util/math/avg_values.h diff --git a/firmware/util/biquad.cpp b/firmware/util/math/biquad.cpp similarity index 100% rename from firmware/util/biquad.cpp rename to firmware/util/math/biquad.cpp diff --git a/firmware/util/biquad.h b/firmware/util/math/biquad.h similarity index 100% rename from firmware/util/biquad.h rename to firmware/util/math/biquad.h diff --git a/firmware/util/crc.c b/firmware/util/math/crc.c similarity index 100% rename from firmware/util/crc.c rename to firmware/util/math/crc.c diff --git a/firmware/util/crc.h b/firmware/util/math/crc.h similarity index 100% rename from firmware/util/crc.h rename to firmware/util/math/crc.h diff --git a/firmware/controllers/core/interpolation.cpp b/firmware/util/math/interpolation.cpp similarity index 99% rename from firmware/controllers/core/interpolation.cpp rename to firmware/util/math/interpolation.cpp index 5984481a28..685c8a59e5 100644 --- a/firmware/controllers/core/interpolation.cpp +++ b/firmware/util/math/interpolation.cpp @@ -12,7 +12,7 @@ #include "global.h" -#include "efilib2.h" + #include "interpolation.h" bool needInterpolationLoggingValue = true; diff --git a/firmware/controllers/core/interpolation.h b/firmware/util/math/interpolation.h similarity index 100% rename from firmware/controllers/core/interpolation.h rename to firmware/util/math/interpolation.h diff --git a/firmware/util/pid.cpp b/firmware/util/math/pid.cpp similarity index 100% rename from firmware/util/pid.cpp rename to firmware/util/math/pid.cpp diff --git a/firmware/util/pid.h b/firmware/util/math/pid.h similarity index 100% rename from firmware/util/pid.h rename to firmware/util/math/pid.h diff --git a/firmware/controllers/core/signal_filtering.c b/firmware/util/math/signal_filtering.c similarity index 100% rename from firmware/controllers/core/signal_filtering.c rename to firmware/util/math/signal_filtering.c diff --git a/firmware/controllers/core/signal_filtering.h b/firmware/util/math/signal_filtering.h similarity index 100% rename from firmware/controllers/core/signal_filtering.h rename to firmware/util/math/signal_filtering.h diff --git a/firmware/util/rfiutil.c b/firmware/util/rfiutil.c index 21e634409c..d677c1c78a 100644 --- a/firmware/util/rfiutil.c +++ b/firmware/util/rfiutil.c @@ -109,5 +109,24 @@ void unlockAnyContext(void) { #endif /* #if USE_PORT_LOCK */ } -#endif +#endif /* EFI_UNIT_TEST */ + + +/** + * See also getRemainingStack() + */ +int getMaxUsedStack(uint8_t *ptr, int size) { + /** + * maximum used stack size total stack buffer size minus position of first modified byte + */ +#if ! EFI_UNIT_TEST + int used = 0; + for (int i = 0; i < size; i++) { + if (ptr[i] != CH_DBG_STACK_FILL_VALUE) { + return size - i; + } + } +#endif /* EFI_UNIT_TEST */ + return 0; +} diff --git a/firmware/util/rfiutil.h b/firmware/util/rfiutil.h index 103cf984b1..02165568cf 100644 --- a/firmware/util/rfiutil.h +++ b/firmware/util/rfiutil.h @@ -11,6 +11,11 @@ #include "global.h" +/** + * @return for a given stack memory region returns how much stack was ever used + */ +int getMaxUsedStack(uint8_t *ptr, int size); + #if !EFI_UNIT_TEST #include "histogram.h" diff --git a/firmware/util/util.mk b/firmware/util/util.mk index a2dfb23474..34b9d2dd55 100644 --- a/firmware/util/util.mk +++ b/firmware/util/util.mk @@ -1,23 +1,28 @@ UTIL_DIR=$(PROJECT_DIR)/util -UTILSRC = $(UTIL_DIR)/crc.c \ +UTILSRC = \ $(UTIL_DIR)/containers/data_buffer.c \ + $(UTIL_DIR)/math/crc.c \ $(UTIL_DIR)/rfiutil.c \ $(UTIL_DIR)/histogram.c -UTILSRC_CPP = $(UTIL_DIR)/containers/cyclic_buffer.cpp \ - $(PROJECT_DIR)/util/datalogging.cpp \ - $(PROJECT_DIR)/util/loggingcentral.cpp \ +UTILSRC_CPP = \ + $(UTIL_DIR)/containers/cyclic_buffer.cpp \ $(UTIL_DIR)/containers/listener_array.cpp \ $(UTIL_DIR)/containers/counter64.cpp \ + $(UTIL_DIR)/containers/local_version_holder.cpp \ + $(UTIL_DIR)/math/pid.cpp \ + $(UTIL_DIR)/math/avg_values.cpp \ + $(UTIL_DIR)/math/interpolation.cpp \ + $(UTIL_DIR)/math/biquad.cpp \ + $(PROJECT_DIR)/util/datalogging.cpp \ + $(PROJECT_DIR)/util/loggingcentral.cpp \ $(PROJECT_DIR)/util/cli_registry.cpp \ - $(PROJECT_DIR)/util/pid.cpp \ - $(PROJECT_DIR)/util/biquad.cpp \ $(PROJECT_DIR)/util/efilib.cpp \ - $(PROJECT_DIR)/util/efilib2.cpp \ - $(UTIL_DIR)/containers/local_version_holder.cpp + UTIL_INC = \ $(UTIL_DIR) \ $(UTIL_DIR)/containers \ + $(UTIL_DIR)/math \ diff --git a/unit_tests/tests/test_util.cpp b/unit_tests/tests/test_util.cpp index a7cd54cc12..01e6a5072a 100644 --- a/unit_tests/tests/test_util.cpp +++ b/unit_tests/tests/test_util.cpp @@ -17,7 +17,7 @@ #include "engine_controller.h" #include "nmea.h" -#include "efilib2.h" + #include "lcd_menu_tree.h" #include "crc.h" #include "fl_stack.h"