From a2e1a079b86dacfff4a32a6a2b089c717d385644 Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Mon, 25 Apr 2022 17:38:16 -0700 Subject: [PATCH] allow enum_class in rusefi_hw_enums.h (#4104) * make things c++ friendly * install various canaries in coal mines * using is much clearer than typedef * fixing builds * lps25 * trigger includes were a mess * c -> c++ cleanup * os util * why did so many include os_util.h? * fwd declare * cypress/kinetis * s * eg33 happy * happy sim * cypress usb * pch * cypress * doesn't need to include all that * h7 --- firmware/bootloader/bootloader_storage.c | 3 +- firmware/config/boards/subaru_eg33/board.c | 1 - .../boards/subaru_eg33/rusefi_hw_enums.h | 2 + firmware/console/console_io.cpp | 1 - firmware/console/status_loop.cpp | 1 - firmware/controllers/algo/engine.cpp | 1 - firmware/controllers/algo/rusefi_hw_enums.h | 2 + firmware/controllers/algo/rusefi_types.h | 47 +++++++++---------- firmware/controllers/engine_controller.cpp | 1 - .../engine_cycle/main_trigger_callback.cpp | 1 - .../engine_cycle/rpm_calculator.cpp | 1 - .../controllers/system/timer/event_queue.cpp | 1 - .../trigger/decoders/trigger_chrysler.cpp | 2 + .../trigger/decoders/trigger_chrysler.h | 2 +- .../trigger/decoders/trigger_gm.cpp | 2 + .../controllers/trigger/decoders/trigger_gm.h | 2 +- .../trigger/decoders/trigger_honda.cpp | 2 + .../trigger/decoders/trigger_honda.h | 2 +- .../trigger/decoders/trigger_mazda.h | 2 +- .../trigger/decoders/trigger_mercedes.cpp | 2 + .../trigger/decoders/trigger_misc.cpp | 2 + .../trigger/decoders/trigger_misc.h | 2 +- .../trigger/decoders/trigger_mitsubishi.cpp | 2 + .../trigger/decoders/trigger_mitsubishi.h | 2 +- .../trigger/decoders/trigger_nissan.cpp | 2 + .../trigger/decoders/trigger_nissan.h | 2 +- .../trigger/decoders/trigger_renix.cpp | 2 + .../trigger/decoders/trigger_renix.h | 2 +- .../trigger/decoders/trigger_rover.cpp | 2 + .../trigger/decoders/trigger_rover.h | 2 +- .../trigger/decoders/trigger_subaru.cpp | 2 + .../trigger/decoders/trigger_subaru.h | 2 +- .../trigger/decoders/trigger_suzuki.cpp | 7 ++- .../trigger/decoders/trigger_suzuki.h | 2 +- .../trigger/decoders/trigger_toyota.cpp | 2 + .../trigger/decoders/trigger_toyota.h | 2 +- .../controllers/trigger/decoders/trigger_vw.h | 2 +- firmware/development/perf_trace.cpp | 1 - firmware/development/test/test.c | 3 -- firmware/development/test/testbmk.c | 2 - .../hw_layer/adc/{mcp3208.c => mcp3208.cpp} | 2 +- firmware/hw_layer/drivers/gpio/drv8860.cpp | 1 - firmware/hw_layer/drivers/gpio/l9779.cpp | 1 - firmware/hw_layer/drivers/gpio/mc33810.cpp | 1 - firmware/hw_layer/drivers/gpio/tle6240.cpp | 1 - firmware/hw_layer/drivers/gpio/tle8888.cpp | 1 - firmware/hw_layer/drivers/i2c/i2c_bb.h | 8 ---- firmware/hw_layer/flash_int.h | 11 ----- firmware/hw_layer/hardware.cpp | 1 - firmware/hw_layer/hw_layer.mk | 6 +-- .../mass_storage/mass_storage_device.cpp | 2 +- .../{mc33816_data.c => mc33816_data.cpp} | 4 +- firmware/hw_layer/mmc_card.h | 6 +-- .../cypress/{flash_int.c => flash_int.cpp} | 2 +- firmware/hw_layer/ports/cypress/hw_ports.mk | 8 ++-- firmware/hw_layer/ports/cypress/mpu_util.cpp | 1 - .../{usbconfig.c => usbconfig.cpp} | 0 .../ports/cypress/serial_over_usb/usbconfig.h | 3 -- .../{usbconsole.c => usbconsole.cpp} | 3 +- .../cypress/serial_over_usb/usbconsole.h | 9 ---- .../cypress/serial_over_usb/usbdescriptors.h | 6 +-- .../kinetis/{flash_int.c => flash_int.cpp} | 2 +- firmware/hw_layer/ports/kinetis/hw_ports.mk | 4 +- firmware/hw_layer/ports/kinetis/mpu_util.cpp | 1 - .../stm32/{flash_int.c => flash_int.cpp} | 3 +- .../serial_over_usb/{usbcfg.c => usbcfg.cpp} | 7 ++- .../ports/stm32/serial_over_usb/usbcfg.h | 11 ++--- firmware/hw_layer/ports/stm32/stm32_common.mk | 8 ++-- .../hw_layer/ports/stm32/stm32h7/mpu_util.cpp | 2 + firmware/hw_layer/rtc_helper.cpp | 1 - firmware/hw_layer/sensors/hip9011.cpp | 1 - firmware/hw_layer/sensors/lps25.cpp | 2 + firmware/hw_layer/sensors/lps25.h | 2 - firmware/main_hardfault.c | 4 +- firmware/util/datalogging.cpp | 1 - firmware/util/{os_util.c => os_util.cpp} | 6 +-- firmware/util/os_util.h | 8 ---- firmware/util/util.mk | 2 +- simulator/Makefile | 4 +- simulator/{main.c => main.cpp} | 4 +- 80 files changed, 114 insertions(+), 159 deletions(-) rename firmware/hw_layer/adc/{mcp3208.c => mcp3208.cpp} (99%) rename firmware/hw_layer/{mc33816_data.c => mc33816_data.cpp} (99%) rename firmware/hw_layer/ports/cypress/{flash_int.c => flash_int.cpp} (99%) rename firmware/hw_layer/ports/cypress/serial_over_usb/{usbconfig.c => usbconfig.cpp} (100%) rename firmware/hw_layer/ports/cypress/serial_over_usb/{usbconsole.c => usbconsole.cpp} (98%) rename firmware/hw_layer/ports/kinetis/{flash_int.c => flash_int.cpp} (99%) rename firmware/hw_layer/ports/stm32/{flash_int.c => flash_int.cpp} (99%) rename firmware/hw_layer/ports/stm32/serial_over_usb/{usbcfg.c => usbcfg.cpp} (99%) rename firmware/util/{os_util.c => os_util.cpp} (95%) rename simulator/{main.c => main.cpp} (97%) diff --git a/firmware/bootloader/bootloader_storage.c b/firmware/bootloader/bootloader_storage.c index be430f9e9b..2de72b188a 100644 --- a/firmware/bootloader/bootloader_storage.c +++ b/firmware/bootloader/bootloader_storage.c @@ -1,7 +1,8 @@ -#include "global.h" #include "bootloader/bootloader.h" +#include + #if defined(EFI_BOOTLOADER_INCLUDE_CODE) #if defined __GNUC__ diff --git a/firmware/config/boards/subaru_eg33/board.c b/firmware/config/boards/subaru_eg33/board.c index 5586b05c2e..3e20a60206 100644 --- a/firmware/config/boards/subaru_eg33/board.c +++ b/firmware/config/boards/subaru_eg33/board.c @@ -8,7 +8,6 @@ #include "hal.h" #include "stm32_gpio.h" #include "efilib.h" -#include "rusefi_hw_enums.h" #include "board_io.h" diff --git a/firmware/config/boards/subaru_eg33/rusefi_hw_enums.h b/firmware/config/boards/subaru_eg33/rusefi_hw_enums.h index f29e96ff98..7943114a26 100644 --- a/firmware/config/boards/subaru_eg33/rusefi_hw_enums.h +++ b/firmware/config/boards/subaru_eg33/rusefi_hw_enums.h @@ -7,6 +7,8 @@ #pragma once +enum class TestCppStyleEnum : uint8_t { }; + // todo: migrate/unify with pin_output_mode_e? rename? something is messy here // this enum is currently only used for SPI pins typedef enum __attribute__ ((__packed__)) { diff --git a/firmware/console/console_io.cpp b/firmware/console/console_io.cpp index 9fbe3cf471..ab88c7d194 100644 --- a/firmware/console/console_io.cpp +++ b/firmware/console/console_io.cpp @@ -37,7 +37,6 @@ #include "pch.h" #include "console_io.h" -#include "os_util.h" #include "tunerstudio.h" #include "connector_uart_dma.h" diff --git a/firmware/console/status_loop.cpp b/firmware/console/status_loop.cpp index 9420bcd245..471b4a8160 100644 --- a/firmware/console/status_loop.cpp +++ b/firmware/console/status_loop.cpp @@ -45,7 +45,6 @@ #include "main_trigger_callback.h" #include "spark_logic.h" #include "idle_thread.h" -#include "os_util.h" #include "svnversion.h" #include "lcd_controller.h" #include "can_hw.h" diff --git a/firmware/controllers/algo/engine.cpp b/firmware/controllers/algo/engine.cpp index 8f468db18a..81267b7ac6 100644 --- a/firmware/controllers/algo/engine.cpp +++ b/firmware/controllers/algo/engine.cpp @@ -16,7 +16,6 @@ #include "advance_map.h" #include "speed_density.h" #include "advance_map.h" -#include "os_util.h" #include "os_access.h" #include "aux_valves.h" #include "map_averaging.h" diff --git a/firmware/controllers/algo/rusefi_hw_enums.h b/firmware/controllers/algo/rusefi_hw_enums.h index b5c98dc42c..bec99523f4 100644 --- a/firmware/controllers/algo/rusefi_hw_enums.h +++ b/firmware/controllers/algo/rusefi_hw_enums.h @@ -7,6 +7,8 @@ #pragma once +enum class TestCppStyleEnum : uint8_t { }; + // todo: migrate/unify with pin_output_mode_e? rename? something is messy here // this enum is currently only used for SPI pins typedef enum __attribute__ ((__packed__)) { diff --git a/firmware/controllers/algo/rusefi_types.h b/firmware/controllers/algo/rusefi_types.h index 38e75054b4..3011b52722 100644 --- a/firmware/controllers/algo/rusefi_types.h +++ b/firmware/controllers/algo/rusefi_types.h @@ -16,7 +16,7 @@ #include #else // IAR -typedef unsigned int time_t; +using time_t = uint32_t; #endif #include "rusefi_generated.h" @@ -39,7 +39,7 @@ typedef unsigned int time_t; // time in seconds -typedef time_t efitimesec_t; +using efitimesec_t = time_t; /** * integer time in milliseconds (1/1_000 of a second) @@ -47,7 +47,7 @@ typedef time_t efitimesec_t; * Please restart your ECU every 46 days? :) * See getTimeNowUs() */ -typedef uint32_t efitimems_t; +using efitimems_t = uint32_t; /** * We use a signed type here so that subtraction result is a proper negative value. @@ -58,61 +58,60 @@ typedef uint32_t efitimems_t; * See US2NT * See MS2US */ -typedef int64_t efitime_t; +using efitime_t = int64_t; /** * 64 bit time in microseconds (1/1_000_000 of a second), since boot */ -typedef efitime_t efitimeus_t; +using efitimeus_t = efitime_t; /** * 64 bit time in milliseconds (1/1_000 of a second), since boot */ -typedef efitime_t efitimems64_t; +using efitimems64_t = efitime_t; /** * platform-dependent tick since boot * in case of stm32f4 that's a CPU tick */ -typedef efitime_t efitick_t; +using efitick_t = efitime_t; -typedef float angle_t; +using angle_t = float; // mass in grams -typedef float mass_t; +using mass_t = float; // temperature, in Celsius -typedef float temperature_t; -typedef float floatms_t; -typedef float floatus_t; +using temperature_t = float; +using floatms_t = float; +using floatus_t = float; /** * numeric value from 0 to 100 */ -typedef float percent_t; +using percent_t = float; typedef void (*Void)(void); -typedef char lua_script_t[LUA_SCRIPT_SIZE]; +using lua_script_t = char[LUA_SCRIPT_SIZE]; -typedef char error_message_t[ERROR_BUFFER_SIZE]; +using error_message_t = char[ERROR_BUFFER_SIZE]; -typedef char vehicle_info_t[VEHICLE_INFO_SIZE]; +using vehicle_info_t = char[VEHICLE_INFO_SIZE]; -typedef char gppwm_note_t[GPPWM_NOTE_SIZE]; +using gppwm_note_t = char[GPPWM_NOTE_SIZE]; -typedef char le_formula_t[LE_COMMAND_LENGTH]; +using le_formula_t = char[LE_COMMAND_LENGTH]; -typedef brain_pin_e egt_cs_array_t[EGT_CHANNEL_COUNT]; +using egt_cs_array_t = brain_pin_e[EGT_CHANNEL_COUNT]; +using pwm_freq_t = int16_t; -typedef int16_t pwm_freq_t; +using script_setting_t = float; -typedef float script_setting_t; - -typedef brain_pin_e brain_input_pin_e; -typedef brain_pin_e switch_input_pin_e; +using brain_input_pin_e = brain_pin_e; +using switch_input_pin_e = brain_pin_e; typedef void (*VoidPtr)(void*); diff --git a/firmware/controllers/engine_controller.cpp b/firmware/controllers/engine_controller.cpp index 1f3b343b1a..3932def917 100644 --- a/firmware/controllers/engine_controller.cpp +++ b/firmware/controllers/engine_controller.cpp @@ -31,7 +31,6 @@ #include "main_trigger_callback.h" #include "flash_main.h" #include "bench_test.h" -#include "os_util.h" #include "electronic_throttle.h" #include "map_averaging.h" #include "high_pressure_fuel_pump.h" diff --git a/firmware/controllers/engine_cycle/main_trigger_callback.cpp b/firmware/controllers/engine_cycle/main_trigger_callback.cpp index 8aa4b995a9..a4d055289a 100644 --- a/firmware/controllers/engine_cycle/main_trigger_callback.cpp +++ b/firmware/controllers/engine_cycle/main_trigger_callback.cpp @@ -39,7 +39,6 @@ #include "fuel_math.h" #include "cdm_ion_sense.h" #include "tooth_logger.h" -#include "os_util.h" #include "local_version_holder.h" #include "event_queue.h" #include "injector_model.h" diff --git a/firmware/controllers/engine_cycle/rpm_calculator.cpp b/firmware/controllers/engine_cycle/rpm_calculator.cpp index f783851285..b4bdd56df2 100644 --- a/firmware/controllers/engine_cycle/rpm_calculator.cpp +++ b/firmware/controllers/engine_cycle/rpm_calculator.cpp @@ -20,7 +20,6 @@ #include "tooth_logger.h" #if EFI_PROD_CODE -#include "os_util.h" #endif /* EFI_PROD_CODE */ #if EFI_SENSOR_CHART diff --git a/firmware/controllers/system/timer/event_queue.cpp b/firmware/controllers/system/timer/event_queue.cpp index b7ffc8a5ff..2d18e547d0 100644 --- a/firmware/controllers/system/timer/event_queue.cpp +++ b/firmware/controllers/system/timer/event_queue.cpp @@ -15,7 +15,6 @@ #include "os_access.h" #include "event_queue.h" #include "efitime.h" -#include "os_util.h" #if EFI_UNIT_TEST extern int timeNowUs; diff --git a/firmware/controllers/trigger/decoders/trigger_chrysler.cpp b/firmware/controllers/trigger/decoders/trigger_chrysler.cpp index fb990f315c..862515ae9e 100644 --- a/firmware/controllers/trigger/decoders/trigger_chrysler.cpp +++ b/firmware/controllers/trigger/decoders/trigger_chrysler.cpp @@ -5,6 +5,8 @@ * @author Andrey Belomutskiy, (c) 2012-2020 */ +#include "pch.h" + #include "trigger_chrysler.h" #include "trigger_universal.h" diff --git a/firmware/controllers/trigger/decoders/trigger_chrysler.h b/firmware/controllers/trigger/decoders/trigger_chrysler.h index 0bd8177888..51e46a45f7 100644 --- a/firmware/controllers/trigger/decoders/trigger_chrysler.h +++ b/firmware/controllers/trigger/decoders/trigger_chrysler.h @@ -7,7 +7,7 @@ #pragma once -#include "trigger_structure.h" +class TriggerWaveform; #define CHRYSLER_NGC4_GAP 1 #define CHRYSLER_NGC6_GAP 1.5 diff --git a/firmware/controllers/trigger/decoders/trigger_gm.cpp b/firmware/controllers/trigger/decoders/trigger_gm.cpp index ed5a13a723..a30781ad8e 100644 --- a/firmware/controllers/trigger/decoders/trigger_gm.cpp +++ b/firmware/controllers/trigger/decoders/trigger_gm.cpp @@ -5,6 +5,8 @@ * @author Andrey Belomutskiy, (c) 2012-2020 */ +#include "pch.h" + #include "trigger_gm.h" static float addTooth(float offset, TriggerWaveform *s) { diff --git a/firmware/controllers/trigger/decoders/trigger_gm.h b/firmware/controllers/trigger/decoders/trigger_gm.h index 2b71870624..056e040899 100644 --- a/firmware/controllers/trigger/decoders/trigger_gm.h +++ b/firmware/controllers/trigger/decoders/trigger_gm.h @@ -7,7 +7,7 @@ #pragma once -#include "trigger_structure.h" +class TriggerWaveform; void configureGm60_2_2_2(TriggerWaveform *s); void configureGmTriggerWaveform(TriggerWaveform *s); diff --git a/firmware/controllers/trigger/decoders/trigger_honda.cpp b/firmware/controllers/trigger/decoders/trigger_honda.cpp index 5477d9e223..9263a55cd0 100644 --- a/firmware/controllers/trigger/decoders/trigger_honda.cpp +++ b/firmware/controllers/trigger/decoders/trigger_honda.cpp @@ -5,6 +5,8 @@ * @author Andrey Belomutskiy, (c) 2012-2020 */ +#include "pch.h" + #include "trigger_honda.h" #include "trigger_universal.h" diff --git a/firmware/controllers/trigger/decoders/trigger_honda.h b/firmware/controllers/trigger/decoders/trigger_honda.h index d6b2ac98d2..c9c12eee9c 100644 --- a/firmware/controllers/trigger/decoders/trigger_honda.h +++ b/firmware/controllers/trigger/decoders/trigger_honda.h @@ -7,7 +7,7 @@ #pragma once -#include "trigger_structure.h" +class TriggerWaveform; void configureHondaAccordCDDip(TriggerWaveform *s); void configureHondaAccordShifted(TriggerWaveform *s); diff --git a/firmware/controllers/trigger/decoders/trigger_mazda.h b/firmware/controllers/trigger/decoders/trigger_mazda.h index 54d6ae66f2..c46a78c588 100644 --- a/firmware/controllers/trigger/decoders/trigger_mazda.h +++ b/firmware/controllers/trigger/decoders/trigger_mazda.h @@ -7,7 +7,7 @@ #pragma once -#include "trigger_structure.h" +class TriggerWaveform; void initializeMazdaMiataNaShape(TriggerWaveform *s); void initializeMazdaMiataNb2Crank(TriggerWaveform *s); diff --git a/firmware/controllers/trigger/decoders/trigger_mercedes.cpp b/firmware/controllers/trigger/decoders/trigger_mercedes.cpp index ecb16932ea..33fc10e8a7 100644 --- a/firmware/controllers/trigger/decoders/trigger_mercedes.cpp +++ b/firmware/controllers/trigger/decoders/trigger_mercedes.cpp @@ -1,3 +1,5 @@ +#include "pch.h" + #include "trigger_mercedes.h" #include "trigger_structure.h" diff --git a/firmware/controllers/trigger/decoders/trigger_misc.cpp b/firmware/controllers/trigger/decoders/trigger_misc.cpp index 7bcbf8ff90..248bfd7c41 100644 --- a/firmware/controllers/trigger/decoders/trigger_misc.cpp +++ b/firmware/controllers/trigger/decoders/trigger_misc.cpp @@ -5,6 +5,8 @@ * @author Andrey Belomutskiy, (c) 2012-2020 */ +#include "pch.h" + #include "trigger_misc.h" #include "trigger_universal.h" diff --git a/firmware/controllers/trigger/decoders/trigger_misc.h b/firmware/controllers/trigger/decoders/trigger_misc.h index 63420ef218..ec4c0faba7 100644 --- a/firmware/controllers/trigger/decoders/trigger_misc.h +++ b/firmware/controllers/trigger/decoders/trigger_misc.h @@ -7,7 +7,7 @@ #pragma once -#include "trigger_structure.h" +class TriggerWaveform; void configureFiatIAQ_P8(TriggerWaveform * s); void configureDaihatsu4(TriggerWaveform * s); diff --git a/firmware/controllers/trigger/decoders/trigger_mitsubishi.cpp b/firmware/controllers/trigger/decoders/trigger_mitsubishi.cpp index dc9aeabacf..4f75cf8497 100644 --- a/firmware/controllers/trigger/decoders/trigger_mitsubishi.cpp +++ b/firmware/controllers/trigger/decoders/trigger_mitsubishi.cpp @@ -5,6 +5,8 @@ * @author Andrey Belomutskiy, (c) 2012-2020 */ +#include "pch.h" + #include "trigger_mitsubishi.h" #include "trigger_universal.h" diff --git a/firmware/controllers/trigger/decoders/trigger_mitsubishi.h b/firmware/controllers/trigger/decoders/trigger_mitsubishi.h index 5c21271192..7ae3a25586 100644 --- a/firmware/controllers/trigger/decoders/trigger_mitsubishi.h +++ b/firmware/controllers/trigger/decoders/trigger_mitsubishi.h @@ -7,7 +7,7 @@ #pragma once -#include "trigger_structure.h" +class TriggerWaveform; void initializeMitsubishi4g18(TriggerWaveform *s); void configureFordAspireTriggerWaveform(TriggerWaveform * s); diff --git a/firmware/controllers/trigger/decoders/trigger_nissan.cpp b/firmware/controllers/trigger/decoders/trigger_nissan.cpp index ec56d624f3..9e647f0d2a 100644 --- a/firmware/controllers/trigger/decoders/trigger_nissan.cpp +++ b/firmware/controllers/trigger/decoders/trigger_nissan.cpp @@ -7,6 +7,8 @@ * @author Andrey Belomutskiy, (c) 2012-2020 */ +#include "pch.h" + #include "trigger_nissan.h" #include "trigger_universal.h" diff --git a/firmware/controllers/trigger/decoders/trigger_nissan.h b/firmware/controllers/trigger/decoders/trigger_nissan.h index 82ef9cb32e..8616defec7 100644 --- a/firmware/controllers/trigger/decoders/trigger_nissan.h +++ b/firmware/controllers/trigger/decoders/trigger_nissan.h @@ -7,7 +7,7 @@ #pragma once -#include "trigger_structure.h" +class TriggerWaveform; void initializeNissanSR20VE_4(TriggerWaveform *s); void initializeNissanSR20VE_4_360(TriggerWaveform *s); diff --git a/firmware/controllers/trigger/decoders/trigger_renix.cpp b/firmware/controllers/trigger/decoders/trigger_renix.cpp index c8c1fae6ff..198ee6c475 100644 --- a/firmware/controllers/trigger/decoders/trigger_renix.cpp +++ b/firmware/controllers/trigger/decoders/trigger_renix.cpp @@ -8,6 +8,8 @@ * @author Andrey Belomutskiy, (c) 2012-2020 */ +#include "pch.h" + #include "trigger_renix.h" static void commonRenix(TriggerWaveform *s) { diff --git a/firmware/controllers/trigger/decoders/trigger_renix.h b/firmware/controllers/trigger/decoders/trigger_renix.h index d1b7eebb64..f7142dc2b0 100644 --- a/firmware/controllers/trigger/decoders/trigger_renix.h +++ b/firmware/controllers/trigger/decoders/trigger_renix.h @@ -7,7 +7,7 @@ #pragma once -#include "trigger_structure.h" +class TriggerWaveform; // TT_RENIX_44_2_2 void initializeRenix44_2_2(TriggerWaveform *s); diff --git a/firmware/controllers/trigger/decoders/trigger_rover.cpp b/firmware/controllers/trigger/decoders/trigger_rover.cpp index dff17017f7..b9dc2a344e 100644 --- a/firmware/controllers/trigger/decoders/trigger_rover.cpp +++ b/firmware/controllers/trigger/decoders/trigger_rover.cpp @@ -6,6 +6,8 @@ * @author Andrey Belomutskiy, (c) 2012-2020 */ +#include "pch.h" + #include "trigger_rover.h" /** diff --git a/firmware/controllers/trigger/decoders/trigger_rover.h b/firmware/controllers/trigger/decoders/trigger_rover.h index 53354eb7ab..8be8ca1da0 100644 --- a/firmware/controllers/trigger/decoders/trigger_rover.h +++ b/firmware/controllers/trigger/decoders/trigger_rover.h @@ -8,6 +8,6 @@ #pragma once -#include "trigger_structure.h" +class TriggerWaveform; void initializeRoverK(TriggerWaveform *s); diff --git a/firmware/controllers/trigger/decoders/trigger_subaru.cpp b/firmware/controllers/trigger/decoders/trigger_subaru.cpp index 42a05e5aaa..76b2f0b845 100644 --- a/firmware/controllers/trigger/decoders/trigger_subaru.cpp +++ b/firmware/controllers/trigger/decoders/trigger_subaru.cpp @@ -5,6 +5,8 @@ * @author Andrey Belomutskiy, (c) 2012-2020 */ +#include "pch.h" + #include "trigger_subaru.h" /** diff --git a/firmware/controllers/trigger/decoders/trigger_subaru.h b/firmware/controllers/trigger/decoders/trigger_subaru.h index c4afe5c14f..e67922dfc8 100644 --- a/firmware/controllers/trigger/decoders/trigger_subaru.h +++ b/firmware/controllers/trigger/decoders/trigger_subaru.h @@ -7,7 +7,7 @@ #pragma once -#include "trigger_structure.h" +class TriggerWaveform; void initialize36_2_2_2(TriggerWaveform *s); void initializeSubaru7_6(TriggerWaveform *s); diff --git a/firmware/controllers/trigger/decoders/trigger_suzuki.cpp b/firmware/controllers/trigger/decoders/trigger_suzuki.cpp index 8d6d4ead39..5d63c9ba48 100644 --- a/firmware/controllers/trigger/decoders/trigger_suzuki.cpp +++ b/firmware/controllers/trigger/decoders/trigger_suzuki.cpp @@ -5,7 +5,9 @@ * @author Andrey Belomutskiy, (c) 2012-2021 */ -#include "trigger_subaru.h" +#include "pch.h" + +#include "trigger_suzuki.h" void initializeSuzukiG13B(TriggerWaveform *s) { s->initialize(FOUR_STROKE_CAM_SENSOR); @@ -31,6 +33,3 @@ void initializeSuzukiG13B(TriggerWaveform *s) { s->setTriggerSynchronizationGap(0.22); s->setSecondTriggerSynchronizationGap(1); } - - - diff --git a/firmware/controllers/trigger/decoders/trigger_suzuki.h b/firmware/controllers/trigger/decoders/trigger_suzuki.h index 32e2971658..2853593b79 100644 --- a/firmware/controllers/trigger/decoders/trigger_suzuki.h +++ b/firmware/controllers/trigger/decoders/trigger_suzuki.h @@ -7,6 +7,6 @@ #pragma once -#include "trigger_structure.h" +class TriggerWaveform; void initializeSuzukiG13B(TriggerWaveform *s); diff --git a/firmware/controllers/trigger/decoders/trigger_toyota.cpp b/firmware/controllers/trigger/decoders/trigger_toyota.cpp index 5efa6a201d..7d46a1784c 100644 --- a/firmware/controllers/trigger/decoders/trigger_toyota.cpp +++ b/firmware/controllers/trigger/decoders/trigger_toyota.cpp @@ -7,6 +7,8 @@ * @author Andrey Belomutskiy, (c) 2012-2020 */ +#include "pch.h" + #include "trigger_toyota.h" /** diff --git a/firmware/controllers/trigger/decoders/trigger_toyota.h b/firmware/controllers/trigger/decoders/trigger_toyota.h index 98d051ae4c..a69cc4738e 100644 --- a/firmware/controllers/trigger/decoders/trigger_toyota.h +++ b/firmware/controllers/trigger/decoders/trigger_toyota.h @@ -7,7 +7,7 @@ #pragma once -#include "trigger_structure.h" +class TriggerWaveform; void initialize2jzGE1_12(TriggerWaveform *s); // TT_2JZ_3_34 diff --git a/firmware/controllers/trigger/decoders/trigger_vw.h b/firmware/controllers/trigger/decoders/trigger_vw.h index fd5b01fab1..54a8782502 100644 --- a/firmware/controllers/trigger/decoders/trigger_vw.h +++ b/firmware/controllers/trigger/decoders/trigger_vw.h @@ -7,7 +7,7 @@ #pragma once -#include "trigger_structure.h" +class TriggerWaveform; void setVwConfiguration(TriggerWaveform *s); /** diff --git a/firmware/development/perf_trace.cpp b/firmware/development/perf_trace.cpp index f94cd23ff5..f92f700d79 100644 --- a/firmware/development/perf_trace.cpp +++ b/firmware/development/perf_trace.cpp @@ -9,7 +9,6 @@ #include "pch.h" -#include "os_util.h" #ifndef ENABLE_PERF_TRACE #error ENABLE_PERF_TRACE must be defined! diff --git a/firmware/development/test/test.c b/firmware/development/test/test.c index df493c829b..30f0f58f60 100644 --- a/firmware/development/test/test.c +++ b/firmware/development/test/test.c @@ -22,9 +22,6 @@ * @{ */ -#include "global.h" -#include "os_access.h" - #if EFI_PERF_METRICS #include "test.h" diff --git a/firmware/development/test/testbmk.c b/firmware/development/test/testbmk.c index 5f6df1ae83..b1e8ce9f96 100644 --- a/firmware/development/test/testbmk.c +++ b/firmware/development/test/testbmk.c @@ -14,8 +14,6 @@ limitations under the License. */ -#include "global.h" - #if EFI_PERF_METRICS #include "test.h" diff --git a/firmware/hw_layer/adc/mcp3208.c b/firmware/hw_layer/adc/mcp3208.cpp similarity index 99% rename from firmware/hw_layer/adc/mcp3208.c rename to firmware/hw_layer/adc/mcp3208.cpp index 565f8b495a..db8c9b8741 100644 --- a/firmware/hw_layer/adc/mcp3208.c +++ b/firmware/hw_layer/adc/mcp3208.cpp @@ -1,5 +1,5 @@ /* - * @file mcp3208.c + * @file mcp3208.cpp * @brief MCP3208 external ADC chip implementation. Not really used right now. * * @date Aug 12, 2013 diff --git a/firmware/hw_layer/drivers/gpio/drv8860.cpp b/firmware/hw_layer/drivers/gpio/drv8860.cpp index 7e6ff9303d..03b572d8f6 100644 --- a/firmware/hw_layer/drivers/gpio/drv8860.cpp +++ b/firmware/hw_layer/drivers/gpio/drv8860.cpp @@ -16,7 +16,6 @@ #include "gpio/gpio_ext.h" #include "gpio/drv8860.h" -#include "os_util.h" #if (BOARD_DRV8860_COUNT > 0) diff --git a/firmware/hw_layer/drivers/gpio/l9779.cpp b/firmware/hw_layer/drivers/gpio/l9779.cpp index 5912db2a1c..7ca1d18261 100644 --- a/firmware/hw_layer/drivers/gpio/l9779.cpp +++ b/firmware/hw_layer/drivers/gpio/l9779.cpp @@ -36,7 +36,6 @@ #include "persistent_configuration.h" #include "hardware.h" #include "gpio/gpio_ext.h" -#include "os_util.h" /* * TODO list: * - just write code diff --git a/firmware/hw_layer/drivers/gpio/mc33810.cpp b/firmware/hw_layer/drivers/gpio/mc33810.cpp index edcd7c14d8..98f88caf94 100644 --- a/firmware/hw_layer/drivers/gpio/mc33810.cpp +++ b/firmware/hw_layer/drivers/gpio/mc33810.cpp @@ -14,7 +14,6 @@ #include "pch.h" #include "gpio/gpio_ext.h" #include "gpio/mc33810.h" -#include "os_util.h" #if (BOARD_MC33810_COUNT > 0) diff --git a/firmware/hw_layer/drivers/gpio/tle6240.cpp b/firmware/hw_layer/drivers/gpio/tle6240.cpp index cf9cb09c8b..eb4511e7d6 100644 --- a/firmware/hw_layer/drivers/gpio/tle6240.cpp +++ b/firmware/hw_layer/drivers/gpio/tle6240.cpp @@ -24,7 +24,6 @@ #include "gpio/gpio_ext.h" #include "gpio/tle6240.h" -#include "os_util.h" #if (BOARD_TLE6240_COUNT > 0) diff --git a/firmware/hw_layer/drivers/gpio/tle8888.cpp b/firmware/hw_layer/drivers/gpio/tle8888.cpp index c8d5125b3b..501f41db38 100644 --- a/firmware/hw_layer/drivers/gpio/tle8888.cpp +++ b/firmware/hw_layer/drivers/gpio/tle8888.cpp @@ -38,7 +38,6 @@ #include "persistent_configuration.h" #include "hardware.h" #include "gpio/gpio_ext.h" -#include "os_util.h" static Timer diagResponse; diff --git a/firmware/hw_layer/drivers/i2c/i2c_bb.h b/firmware/hw_layer/drivers/i2c/i2c_bb.h index f59730db7b..b8360f00e2 100644 --- a/firmware/hw_layer/drivers/i2c/i2c_bb.h +++ b/firmware/hw_layer/drivers/i2c/i2c_bb.h @@ -8,14 +8,6 @@ #pragma once -#if EFI_PROD_CODE -#include "hal.h" -#endif - -#include "rusefi_hw_enums.h" -#include -#include - class BitbangI2c { public: // Initialize the I2C driver diff --git a/firmware/hw_layer/flash_int.h b/firmware/hw_layer/flash_int.h index 9c866db850..d69031a2c7 100644 --- a/firmware/hw_layer/flash_int.h +++ b/firmware/hw_layer/flash_int.h @@ -5,8 +5,6 @@ #pragma once -#include "global.h" - /* Error codes */ /** @brief Flash operation successful */ @@ -36,10 +34,6 @@ /** @brief Flash operation error because of bad flash, corrupted memory */ #define FLASH_RETURN_BAD_FLASH -11 -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - /** * @brief Maximum program/erase parallelism * @@ -172,8 +166,3 @@ int intFlashRead(flashaddr_t address, char* buffer, size_t size); * @return FLASH_RETURN_NO_PERMISSION Access denied. */ int intFlashWrite(flashaddr_t address, const char* buffer, size_t size); - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - diff --git a/firmware/hw_layer/hardware.cpp b/firmware/hw_layer/hardware.cpp index 5b9dee3f68..197fc296c4 100644 --- a/firmware/hw_layer/hardware.cpp +++ b/firmware/hw_layer/hardware.cpp @@ -14,7 +14,6 @@ #include "can_hw.h" #include "hardware.h" #include "rtc_helper.h" -#include "os_util.h" #include "bench_test.h" #include "yaw_rate_sensor.h" #include "pin_repository.h" diff --git a/firmware/hw_layer/hw_layer.mk b/firmware/hw_layer/hw_layer.mk index b4e4793264..6582c6de4d 100644 --- a/firmware/hw_layer/hw_layer.mk +++ b/firmware/hw_layer/hw_layer.mk @@ -7,10 +7,6 @@ HW_LAYER_INC= $(PROJECT_DIR)/hw_layer $(PROJECT_DIR)/hw_layer/adc \ HW_INC = hw_layer/$(CPU_HWLAYER) \ $(PROJECT_DIR)/hw_layer/ports -HW_LAYER_EMS = $(HW_LAYER_EGT) \ - $(PROJECT_DIR)/hw_layer/adc/mcp3208.c \ - $(PROJECT_DIR)/hw_layer/mc33816_data.c - HW_LAYER_EMS_CPP = \ $(PROJECT_DIR)/hw_layer/pin_repository.cpp \ $(PROJECT_DIR)/hw_layer/microsecond_timer/microsecond_timer.cpp \ @@ -30,6 +26,7 @@ HW_LAYER_EMS_CPP = \ $(PROJECT_DIR)/hw_layer/sensors/hip9011.cpp \ $(PROJECT_DIR)/hw_layer/sensors/hip9011_logic.cpp \ $(PROJECT_DIR)/hw_layer/mc33816.cpp \ + $(PROJECT_DIR)/hw_layer/mc33816_data.cpp \ $(PROJECT_DIR)/hw_layer/stepper.cpp \ $(PROJECT_DIR)/hw_layer/stepper_dual_hbridge.cpp \ $(PROJECT_DIR)/hw_layer/servo.cpp \ @@ -37,6 +34,7 @@ HW_LAYER_EMS_CPP = \ $(PROJECT_DIR)/hw_layer/rtc_helper.cpp \ $(PROJECT_DIR)/hw_layer/cdm_ion_sense.cpp \ $(PROJECT_DIR)/hw_layer/debounce.cpp \ + $(PROJECT_DIR)/hw_layer/adc/mcp3208.cpp \ # diff --git a/firmware/hw_layer/mass_storage/mass_storage_device.cpp b/firmware/hw_layer/mass_storage/mass_storage_device.cpp index 38aafedf1a..d978caf1ad 100644 --- a/firmware/hw_layer/mass_storage/mass_storage_device.cpp +++ b/firmware/hw_layer/mass_storage/mass_storage_device.cpp @@ -188,7 +188,7 @@ void MassStorageController::attachLun(uint8_t lunIndex, scsiStart(&lun.target, &lun.config); } -extern "C" bool msd_request_hook_new(USBDriver *usbp) { +bool msd_request_hook_new(USBDriver *usbp) { /* check that the request is for interface 0.*/ if (MSD_SETUP_INDEX(usbp->setup) != 0) { return false; diff --git a/firmware/hw_layer/mc33816_data.c b/firmware/hw_layer/mc33816_data.cpp similarity index 99% rename from firmware/hw_layer/mc33816_data.c rename to firmware/hw_layer/mc33816_data.cpp index bb0ffcef4b..d6c5b1fa31 100644 --- a/firmware/hw_layer/mc33816_data.c +++ b/firmware/hw_layer/mc33816_data.cpp @@ -8,7 +8,9 @@ * see mc33816/rusefi/readme.md */ -#include "global.h" +#include "pch.h" + +#include "mc33816_data.h" #if EFI_MC33816 diff --git a/firmware/hw_layer/mmc_card.h b/firmware/hw_layer/mmc_card.h index ce39c1fe17..9c394800af 100644 --- a/firmware/hw_layer/mmc_card.h +++ b/firmware/hw_layer/mmc_card.h @@ -9,7 +9,6 @@ #pragma once -#ifdef __cplusplus #include "tunerstudio_io.h" #define DOT_MLG ".mlg" @@ -18,6 +17,7 @@ void initEarlyMmcCard(); void initMmcCard(); bool isSdCardAlive(void); -extern "C" -#endif void onUsbConnectedNotifyMmcI(void); + +struct USBDriver; +bool msd_request_hook_new(USBDriver *usbp); diff --git a/firmware/hw_layer/ports/cypress/flash_int.c b/firmware/hw_layer/ports/cypress/flash_int.cpp similarity index 99% rename from firmware/hw_layer/ports/cypress/flash_int.c rename to firmware/hw_layer/ports/cypress/flash_int.cpp index a0f817b788..f7231da5b8 100644 --- a/firmware/hw_layer/ports/cypress/flash_int.c +++ b/firmware/hw_layer/ports/cypress/flash_int.cpp @@ -5,7 +5,7 @@ * @author andreika */ -#include "global.h" +#include "pch.h" #if EFI_INTERNAL_FLASH diff --git a/firmware/hw_layer/ports/cypress/hw_ports.mk b/firmware/hw_layer/ports/cypress/hw_ports.mk index da5e9502b4..f99776dc3e 100644 --- a/firmware/hw_layer/ports/cypress/hw_ports.mk +++ b/firmware/hw_layer/ports/cypress/hw_ports.mk @@ -2,16 +2,14 @@ ifeq ($(CYPRESS_CONTRIB),) CYPRESS_CONTRIB = $(CHIBIOS_CONTRIB) endif -HW_LAYER_EGT = $(PROJECT_DIR)/hw_layer/ports/cypress/serial_over_usb/usbconfig.c \ - $(PROJECT_DIR)/hw_layer/ports/cypress/serial_over_usb/usbconsole.c - -HW_LAYER_EMS += $(PROJECT_DIR)/hw_layer/ports/cypress/flash_int.c - HW_LAYER_EMS_CPP += $(PROJECT_DIR)/hw_layer/ports/cypress/mpu_util.cpp \ $(PROJECT_DIR)/hw_layer/ports/cypress/cypress_pins.cpp \ $(PROJECT_DIR)/hw_layer/ports/cypress/cypress_common.cpp \ $(PROJECT_DIR)/hw_layer/ports/cypress/backup_ram.cpp \ $(PROJECT_DIR)/hw_layer/microsecond_timer/microsecond_timer_gpt.cpp \ + $(PROJECT_DIR)/hw_layer/ports/cypress/flash_int.cpp \ + $(PROJECT_DIR)/hw_layer/ports/cypress/serial_over_usb/usbconsole.cpp \ + $(PROJECT_DIR)/hw_layer/ports/cypress/serial_over_usb/usbconfig.cpp \ HW_INC += $(PROJECT_DIR)/hw_layer/ports/cypress/serial_over_usb diff --git a/firmware/hw_layer/ports/cypress/mpu_util.cpp b/firmware/hw_layer/ports/cypress/mpu_util.cpp index 89404389a5..bcf493a48d 100644 --- a/firmware/hw_layer/ports/cypress/mpu_util.cpp +++ b/firmware/hw_layer/ports/cypress/mpu_util.cpp @@ -12,7 +12,6 @@ #include "mpu_util.h" #include "flash_int.h" -#include "os_util.h" extern "C" { void _unhandled_exception(void); diff --git a/firmware/hw_layer/ports/cypress/serial_over_usb/usbconfig.c b/firmware/hw_layer/ports/cypress/serial_over_usb/usbconfig.cpp similarity index 100% rename from firmware/hw_layer/ports/cypress/serial_over_usb/usbconfig.c rename to firmware/hw_layer/ports/cypress/serial_over_usb/usbconfig.cpp diff --git a/firmware/hw_layer/ports/cypress/serial_over_usb/usbconfig.h b/firmware/hw_layer/ports/cypress/serial_over_usb/usbconfig.h index 01e18ed580..ab3141dae2 100644 --- a/firmware/hw_layer/ports/cypress/serial_over_usb/usbconfig.h +++ b/firmware/hw_layer/ports/cypress/serial_over_usb/usbconfig.h @@ -260,7 +260,4 @@ #endif //(USB_USE_PDL == 0) && (USB_USE_L3 == 0) -void UsbConfig_UsbInit(void); -void UsbConfig_SwitchMode(void); - #endif diff --git a/firmware/hw_layer/ports/cypress/serial_over_usb/usbconsole.c b/firmware/hw_layer/ports/cypress/serial_over_usb/usbconsole.cpp similarity index 98% rename from firmware/hw_layer/ports/cypress/serial_over_usb/usbconsole.c rename to firmware/hw_layer/ports/cypress/serial_over_usb/usbconsole.cpp index 6f88fb7f21..7136c6a957 100644 --- a/firmware/hw_layer/ports/cypress/serial_over_usb/usbconsole.c +++ b/firmware/hw_layer/ports/cypress/serial_over_usb/usbconsole.cpp @@ -1,5 +1,4 @@ -#include "global.h" -#include "os_access.h" +#include "pch.h" #if EFI_USB_SERIAL diff --git a/firmware/hw_layer/ports/cypress/serial_over_usb/usbconsole.h b/firmware/hw_layer/ports/cypress/serial_over_usb/usbconsole.h index c87a3acbb5..6b20587208 100644 --- a/firmware/hw_layer/ports/cypress/serial_over_usb/usbconsole.h +++ b/firmware/hw_layer/ports/cypress/serial_over_usb/usbconsole.h @@ -8,16 +8,7 @@ #ifndef USBCONSOLE_H_ #define USBCONSOLE_H_ -#ifdef __cplusplus -extern "C" -{ -#endif /* __cplusplus */ - void usb_serial_start(void); bool is_usb_serial_ready(void); -#ifdef __cplusplus -} -#endif /* __cplusplus */ - #endif /* USBCONSOLE_H_ */ diff --git a/firmware/hw_layer/ports/cypress/serial_over_usb/usbdescriptors.h b/firmware/hw_layer/ports/cypress/serial_over_usb/usbdescriptors.h index 22327e3f73..0f5021534b 100644 --- a/firmware/hw_layer/ports/cypress/serial_over_usb/usbdescriptors.h +++ b/firmware/hw_layer/ports/cypress/serial_over_usb/usbdescriptors.h @@ -159,9 +159,9 @@ const uint8_t au8ConfigDescriptor[53] = 0x00 ///bIntervall: Polling Intervall }; -const uint8_t au8ReportDescriptor0[1]; // Not used -const uint8_t au8ReportDescriptor1[1]; // Not used -const uint8_t au8ReportDescriptor2[1]; // Not used +const uint8_t au8ReportDescriptor0[1] = { 0 }; // Not used +const uint8_t au8ReportDescriptor1[1] = { 0 }; // Not used +const uint8_t au8ReportDescriptor2[1] = { 0 }; // Not used const stc_usbdevice_stringdescriptor_t pstcStringDescriptors[] = diff --git a/firmware/hw_layer/ports/kinetis/flash_int.c b/firmware/hw_layer/ports/kinetis/flash_int.cpp similarity index 99% rename from firmware/hw_layer/ports/kinetis/flash_int.c rename to firmware/hw_layer/ports/kinetis/flash_int.cpp index 86f8350941..ac29ab2c9b 100644 --- a/firmware/hw_layer/ports/kinetis/flash_int.c +++ b/firmware/hw_layer/ports/kinetis/flash_int.cpp @@ -5,7 +5,7 @@ * @author andreika */ -#include "global.h" +#include "pch.h" #if EFI_INTERNAL_FLASH diff --git a/firmware/hw_layer/ports/kinetis/hw_ports.mk b/firmware/hw_layer/ports/kinetis/hw_ports.mk index 1f4a9d8463..bb190f6214 100644 --- a/firmware/hw_layer/ports/kinetis/hw_ports.mk +++ b/firmware/hw_layer/ports/kinetis/hw_ports.mk @@ -2,8 +2,7 @@ ifeq ($(KINETIS_CONTRIB),) KINETIS_CONTRIB = $(CHIBIOS_CONTRIB) endif -HW_LAYER_EMS += $(PROJECT_DIR)/hw_layer/ports/kinetis/flash_int.c \ - $(KINETIS_CONTRIB)/os/hal/ports/KINETIS/KE1xF/fsl/fsl_ftfx_flexnvm.c \ +HW_LAYER_EMS += $(KINETIS_CONTRIB)/os/hal/ports/KINETIS/KE1xF/fsl/fsl_ftfx_flexnvm.c \ $(KINETIS_CONTRIB)/os/hal/ports/KINETIS/KE1xF/fsl/fsl_ftfx_controller.c HW_LAYER_EMS_CPP += $(PROJECT_DIR)/hw_layer/ports/kinetis/mpu_util.cpp \ @@ -12,5 +11,6 @@ HW_LAYER_EMS_CPP += $(PROJECT_DIR)/hw_layer/ports/kinetis/mpu_util.cpp \ $(PROJECT_DIR)/hw_layer/ports/kinetis/kinetis_common.cpp \ $(PROJECT_DIR)/hw_layer/trigger_input_comp.cpp \ $(PROJECT_DIR)/hw_layer/microsecond_timer/microsecond_timer_gpt.cpp \ + $(PROJECT_DIR)/hw_layer/ports/kinetis/flash_int.c \ MCU = cortex-m4 diff --git a/firmware/hw_layer/ports/kinetis/mpu_util.cpp b/firmware/hw_layer/ports/kinetis/mpu_util.cpp index 1e3b9e671a..ef44013e71 100644 --- a/firmware/hw_layer/ports/kinetis/mpu_util.cpp +++ b/firmware/hw_layer/ports/kinetis/mpu_util.cpp @@ -12,7 +12,6 @@ #include "mpu_util.h" #include "flash_int.h" -#include "os_util.h" void baseMCUInit(void) { } diff --git a/firmware/hw_layer/ports/stm32/flash_int.c b/firmware/hw_layer/ports/stm32/flash_int.cpp similarity index 99% rename from firmware/hw_layer/ports/stm32/flash_int.c rename to firmware/hw_layer/ports/stm32/flash_int.cpp index f3989c0f51..04a37e08d8 100644 --- a/firmware/hw_layer/ports/stm32/flash_int.c +++ b/firmware/hw_layer/ports/stm32/flash_int.cpp @@ -7,8 +7,7 @@ * @brief Lower-level code related to internal flash memory */ -#include "global.h" -#include "os_access.h" +#include "pch.h" #if EFI_INTERNAL_FLASH diff --git a/firmware/hw_layer/ports/stm32/serial_over_usb/usbcfg.c b/firmware/hw_layer/ports/stm32/serial_over_usb/usbcfg.cpp similarity index 99% rename from firmware/hw_layer/ports/stm32/serial_over_usb/usbcfg.c rename to firmware/hw_layer/ports/stm32/serial_over_usb/usbcfg.cpp index c5285c4f63..95dac8612d 100644 --- a/firmware/hw_layer/ports/stm32/serial_over_usb/usbcfg.c +++ b/firmware/hw_layer/ports/stm32/serial_over_usb/usbcfg.cpp @@ -15,12 +15,13 @@ limitations under the License. */ -#include "global.h" -#include "os_access.h" +#include "pch.h" #include "mmc_card.h" #if HAL_USE_SERIAL_USB +#include "usbcfg.h" + /* Virtual serial port over USB.*/ SerialUSBDriver SDU1; @@ -422,8 +423,6 @@ static void sof_handler(USBDriver *usbp) { osalSysUnlockFromISR(); } -bool msd_request_hook_new(USBDriver *usbp); - // We need a custom hook to handle both MSD and CDC at the same time static bool hybridRequestHook(USBDriver *usbp) { #if HAL_USE_USB_MSD diff --git a/firmware/hw_layer/ports/stm32/serial_over_usb/usbcfg.h b/firmware/hw_layer/ports/stm32/serial_over_usb/usbcfg.h index 837af0efe0..a6504c13d2 100644 --- a/firmware/hw_layer/ports/stm32/serial_over_usb/usbcfg.h +++ b/firmware/hw_layer/ports/stm32/serial_over_usb/usbcfg.h @@ -14,15 +14,10 @@ limitations under the License. */ -#ifndef USBCFG_H -#define USBCFG_H +#pragma once extern const USBConfig usbcfg; -extern SerialUSBConfig serusbcfg; +extern const SerialUSBConfig serusbcfg; extern SerialUSBDriver SDU1; -EXTERNC void usbPopulateSerialNumber(const uint8_t* serialNumber, size_t bytes); - -#endif /* USBCFG_H */ - -/** @} */ +void usbPopulateSerialNumber(const uint8_t* serialNumber, size_t bytes); diff --git a/firmware/hw_layer/ports/stm32/stm32_common.mk b/firmware/hw_layer/ports/stm32/stm32_common.mk index a91a4a475c..528e20f878 100644 --- a/firmware/hw_layer/ports/stm32/stm32_common.mk +++ b/firmware/hw_layer/ports/stm32/stm32_common.mk @@ -1,13 +1,13 @@ -HW_LAYER_EMS += $(PROJECT_DIR)/hw_layer/ports/stm32/serial_over_usb/usbcfg.c \ - $(PROJECT_DIR)/hw_layer/ports/stm32/flash_int.c - HW_LAYER_EMS_CPP += \ $(PROJECT_DIR)/hw_layer/ports/stm32/serial_over_usb/usbconsole.cpp \ $(PROJECT_DIR)/hw_layer/ports/stm32/stm32_pins.cpp \ $(PROJECT_DIR)/hw_layer/ports/stm32/stm32_common.cpp \ $(PROJECT_DIR)/hw_layer/ports/stm32/backup_ram.cpp \ $(PROJECT_DIR)/hw_layer/ports/stm32/microsecond_timer_stm32.cpp \ - $(PROJECT_DIR)/hw_layer/ports/stm32/osc_detector.cpp + $(PROJECT_DIR)/hw_layer/ports/stm32/osc_detector.cpp \ + $(PROJECT_DIR)/hw_layer/ports/stm32/flash_int.cpp \ + $(PROJECT_DIR)/hw_layer/ports/stm32/serial_over_usb/usbcfg.cpp \ + RUSEFIASM = $(PROJECT_DIR)/hw_layer/ports/stm32/rusEfiStartup.S diff --git a/firmware/hw_layer/ports/stm32/stm32h7/mpu_util.cpp b/firmware/hw_layer/ports/stm32/stm32h7/mpu_util.cpp index 13483978dd..d0ad9416cc 100644 --- a/firmware/hw_layer/ports/stm32/stm32h7/mpu_util.cpp +++ b/firmware/hw_layer/ports/stm32/stm32h7/mpu_util.cpp @@ -5,6 +5,8 @@ * @author Matthew Kennedy, (c) 2021 */ +#include "pch.h" + #include "flash_int.h" bool allowFlashWhileRunning() { diff --git a/firmware/hw_layer/rtc_helper.cpp b/firmware/hw_layer/rtc_helper.cpp index 9b67ac1eed..f4aaf67eda 100644 --- a/firmware/hw_layer/rtc_helper.cpp +++ b/firmware/hw_layer/rtc_helper.cpp @@ -11,7 +11,6 @@ #include #include #include "os_access.h" -#include "os_util.h" #include "rtc_helper.h" #include diff --git a/firmware/hw_layer/sensors/hip9011.cpp b/firmware/hw_layer/sensors/hip9011.cpp index e38e412d9d..7830bc9734 100644 --- a/firmware/hw_layer/sensors/hip9011.cpp +++ b/firmware/hw_layer/sensors/hip9011.cpp @@ -42,7 +42,6 @@ #if EFI_PROD_CODE #include "mpu_util.h" -#include "os_util.h" #endif #if EFI_HIP_9011 diff --git a/firmware/hw_layer/sensors/lps25.cpp b/firmware/hw_layer/sensors/lps25.cpp index e57e20e8ac..69e2d4445e 100644 --- a/firmware/hw_layer/sensors/lps25.cpp +++ b/firmware/hw_layer/sensors/lps25.cpp @@ -6,6 +6,8 @@ * @author Matthew Kennedy, (c) 2020 */ +#include "pch.h" + #include "lps25.h" static constexpr uint8_t addr = 0x5C; diff --git a/firmware/hw_layer/sensors/lps25.h b/firmware/hw_layer/sensors/lps25.h index e458a3e49d..6fbe7546c4 100644 --- a/firmware/hw_layer/sensors/lps25.h +++ b/firmware/hw_layer/sensors/lps25.h @@ -10,8 +10,6 @@ #include "i2c_bb.h" -#include "expected.h" - class Lps25 { public: // Returns true if the sensor was initialized successfully. diff --git a/firmware/main_hardfault.c b/firmware/main_hardfault.c index 74f4dd192f..70b933a599 100644 --- a/firmware/main_hardfault.c +++ b/firmware/main_hardfault.c @@ -6,7 +6,9 @@ * http://www.chibios.com/forum/viewtopic.php?t=2506 */ -#include "global.h" +#include "hal.h" + +#include /** * Executes the BKPT instruction that causes the debugger to stop. diff --git a/firmware/util/datalogging.cpp b/firmware/util/datalogging.cpp index cc34b48841..9fc1186716 100644 --- a/firmware/util/datalogging.cpp +++ b/firmware/util/datalogging.cpp @@ -37,7 +37,6 @@ #include "chmtx.h" #include "memstreams.h" #include "console_io.h" -#include "os_util.h" #endif // EFI_UNIT_TEST /** diff --git a/firmware/util/os_util.c b/firmware/util/os_util.cpp similarity index 95% rename from firmware/util/os_util.c rename to firmware/util/os_util.cpp index 804ee26382..20b68e0f73 100644 --- a/firmware/util/os_util.c +++ b/firmware/util/os_util.cpp @@ -1,5 +1,5 @@ /** - * @file os_util.c + * @file os_util.cpp * @brief Utility methods related to operating system usage * * @date Nov 15, 2012 @@ -20,8 +20,8 @@ */ #if !EFI_UNIT_TEST -#include "global.h" -#include "os_access.h" +#include "pch.h" + #include "os_util.h" void chVTSetAny(virtual_timer_t *vtp, systime_t time, vtfunc_t vtfunc, void *par) { diff --git a/firmware/util/os_util.h b/firmware/util/os_util.h index 4d1d502016..dbdef5c787 100644 --- a/firmware/util/os_util.h +++ b/firmware/util/os_util.h @@ -23,16 +23,8 @@ #define assertIsrContext(code) efiAssertVoid(code, isIsrContext(), "NOT_ISR") -#ifdef __cplusplus -extern "C" -{ -#endif /* __cplusplus */ - void chVTSetAny(virtual_timer_t *vtp, systime_t time, vtfunc_t vtfunc, void *par); -#ifdef __cplusplus -} void printHistogram(Logging *logging, histogram_s *histogram); -#endif /* __cplusplus */ #endif /* EFI_UNIT_TEST */ diff --git a/firmware/util/util.mk b/firmware/util/util.mk index 585fbbb9f6..458c2d4b0d 100644 --- a/firmware/util/util.mk +++ b/firmware/util/util.mk @@ -3,7 +3,6 @@ UTIL_DIR=$(PROJECT_DIR)/util UTILSRC = \ $(UTIL_DIR)/math/crc.c \ $(UTIL_DIR)/tinymt32.c \ - $(UTIL_DIR)/os_util.c \ UTILSRC_CPP = \ $(UTIL_DIR)/histogram.cpp \ @@ -18,6 +17,7 @@ UTILSRC_CPP = \ $(PROJECT_DIR)/util/cli_registry.cpp \ $(PROJECT_DIR)/util/efilib.cpp \ $(PROJECT_DIR)/util/timer.cpp \ + $(UTIL_DIR)/os_util.cpp \ UTIL_INC = \ diff --git a/simulator/Makefile b/simulator/Makefile index e0d41e191e..4a39ff5e2a 100644 --- a/simulator/Makefile +++ b/simulator/Makefile @@ -156,7 +156,6 @@ include $(PROJECT_DIR)/common.mk # C sources that can be compiled in ARM or THUMB mode depending on the global # setting. CSRC = $(ALLCSRC) \ - main.c # C++ sources that can be compiled in ARM or THUMB mode depending on the global # setting. @@ -170,7 +169,8 @@ CPPSRC = $(ALLCPPSRC) \ simulator/rusEfiFunctionalTest.cpp \ simulator/framework.cpp \ simulator/boards.cpp \ - $(TEST_SRC_CPP) + $(TEST_SRC_CPP) \ + main.cpp # List ASM source files here diff --git a/simulator/main.c b/simulator/main.cpp similarity index 97% rename from simulator/main.c rename to simulator/main.cpp index a4a960acac..e5746a390f 100644 --- a/simulator/main.c +++ b/simulator/main.cpp @@ -14,7 +14,7 @@ limitations under the License. */ -#include "global.h" +#include "pch.h" #include "chprintf.h" #include "rusEfiFunctionalTest.h" @@ -150,7 +150,7 @@ int main(int argc, char** argv) { printf("Running rusEFI simulator for %d seconds, then exiting.\n\n", timeoutSeconds); chSysLock(); - chVTSetI(&exitTimer, MY_US2ST(timeoutSeconds * 1e6), &exit, 0); + chVTSetI(&exitTimer, MY_US2ST(timeoutSeconds * 1e6), [](void*) { exit(0); }, 0); chSysUnlock(); }