From 74ce2aa556e9a7c76b6cc2c8bb0a344191d8141d Mon Sep 17 00:00:00 2001 From: rusEfi Date: Wed, 31 Dec 2014 17:03:34 -0600 Subject: [PATCH] auto-sync --- firmware/config/stm32f0egt/efifeatures.h | 2 +- firmware/config/stm32f0egt/global.h | 9 + firmware/config/stm32f0egt/halconf.h | 2 +- firmware/config/stm32f0egt/mcuconf.h | 2 +- firmware/config/stm32f0egt/mpu_util.h | 3 + firmware/egt2can.cpp | 25 +- firmware/hw_layer/hardware.h | 4 + firmware/hw_layer/max31855.cpp | 5 +- firmware/iar_egt/build.bat | 5 + firmware/iar_egt/ch.ewd | 2601 +++++++++++++++++ firmware/iar_egt/ch.ewp | 3282 ++++++++++++++++++++++ firmware/iar_egt/ch.eww | 10 + firmware/iar_egt/ch.icf | 44 + firmware/iar_egt/flash.bat | 1 + 14 files changed, 5986 insertions(+), 9 deletions(-) create mode 100644 firmware/config/stm32f0egt/global.h create mode 100644 firmware/config/stm32f0egt/mpu_util.h create mode 100644 firmware/iar_egt/build.bat create mode 100644 firmware/iar_egt/ch.ewd create mode 100644 firmware/iar_egt/ch.ewp create mode 100644 firmware/iar_egt/ch.eww create mode 100644 firmware/iar_egt/ch.icf create mode 100644 firmware/iar_egt/flash.bat diff --git a/firmware/config/stm32f0egt/efifeatures.h b/firmware/config/stm32f0egt/efifeatures.h index 68d2c6929e..0666abf013 100644 --- a/firmware/config/stm32f0egt/efifeatures.h +++ b/firmware/config/stm32f0egt/efifeatures.h @@ -1,7 +1,7 @@ /** * @file efifeatures.h * - * @brief In this header we can configure which firmware modules are used. + * @brief In this header we can configure which modules are used for EGT2CAN firmware. * * @date Dec 23, 2014 * @author Andrey Belomutskiy, (c) 2012-2014 diff --git a/firmware/config/stm32f0egt/global.h b/firmware/config/stm32f0egt/global.h new file mode 100644 index 0000000000..ed5ab093ba --- /dev/null +++ b/firmware/config/stm32f0egt/global.h @@ -0,0 +1,9 @@ + +#define EXTERN_ENGINE + +// this stuff is about ChibiOS 2.6 > Migration +typedef VirtualTimer virtual_timer_t; +typedef EventListener event_listener_t; +typedef Thread thread_t; + +#define THD_WORKING_AREA WORKING_AREA diff --git a/firmware/config/stm32f0egt/halconf.h b/firmware/config/stm32f0egt/halconf.h index 012ec4aa14..aa407e3b46 100644 --- a/firmware/config/stm32f0egt/halconf.h +++ b/firmware/config/stm32f0egt/halconf.h @@ -139,7 +139,7 @@ * @brief Enables the SPI subsystem. */ #if !defined(HAL_USE_SPI) || defined(__DOXYGEN__) -#define HAL_USE_SPI FALSE +#define HAL_USE_SPI TRUE #endif /** diff --git a/firmware/config/stm32f0egt/mcuconf.h b/firmware/config/stm32f0egt/mcuconf.h index 3d3b94c983..9064f94e23 100644 --- a/firmware/config/stm32f0egt/mcuconf.h +++ b/firmware/config/stm32f0egt/mcuconf.h @@ -129,7 +129,7 @@ /* * SPI driver system settings. */ -#define STM32_SPI_USE_SPI1 FALSE +#define STM32_SPI_USE_SPI1 TRUE #define STM32_SPI_USE_SPI2 FALSE #define STM32_SPI_SPI1_DMA_PRIORITY 1 #define STM32_SPI_SPI2_DMA_PRIORITY 1 diff --git a/firmware/config/stm32f0egt/mpu_util.h b/firmware/config/stm32f0egt/mpu_util.h new file mode 100644 index 0000000000..878eb44b0e --- /dev/null +++ b/firmware/config/stm32f0egt/mpu_util.h @@ -0,0 +1,3 @@ + + +#define baseHardwareInit() {} \ No newline at end of file diff --git a/firmware/egt2can.cpp b/firmware/egt2can.cpp index 0aa19db106..b5b2344df7 100644 --- a/firmware/egt2can.cpp +++ b/firmware/egt2can.cpp @@ -1,13 +1,14 @@ #include "main.h" +#include "engine_configuration.h" +#include "max31855.h" + +egt_cs_array_t max31855_cs; int main_loop_started; void firmwareError(const char *fmt, ...) { -} - - /* * Blue LED blinker thread, times are in milliseconds. */ @@ -43,6 +44,16 @@ static msg_t Thread2(void *arg) { } +void initSpiCs(SPIConfig *spiConfig, brain_pin_e csPin) { + spiConfig->end_cb = NULL; +// ioportid_t port = getHwPort(csPin); +// ioportmask_t pin = getHwPin(csPin); +// spiConfig->ssport = port; +// spiConfig->sspad = pin; +// mySetPadMode("chip select", port, pin, PAL_STM32_MODE_OUTPUT); +} + + void runRusEfi(void) { @@ -60,16 +71,20 @@ void runRusEfi(void) { chThdCreateStatic(waThread1, sizeof(waThread1), NORMALPRIO, Thread1, NULL); chThdCreateStatic(waThread2, sizeof(waThread2), NORMALPRIO, Thread2, NULL); + initMax31855(NULL, max31855_cs); + /* * Normal main() thread activity, in this demo it does nothing except * sleeping in a loop and check the button state, when the button is * pressed the test procedure is launched with output on the serial * driver 1. */ - while (TRUE) { + while (true) { // if (palReadPad(GPIOA, GPIOA_BUTTON)) // TestThread(&SD1); - chThdSleepMilliseconds(500); + chThdSleepMilliseconds(50); + + printPending(); } diff --git a/firmware/hw_layer/hardware.h b/firmware/hw_layer/hardware.h index 773a8aaa20..7e2ea23b7d 100644 --- a/firmware/hw_layer/hardware.h +++ b/firmware/hw_layer/hardware.h @@ -52,8 +52,12 @@ void unlockSpi(void); #define GET_BOARD_TEST_MODE_VALUE() (!palReadPad(getHwPort(boardConfiguration->boardTestModeJumperPin), getHwPin(boardConfiguration->boardTestModeJumperPin))) #ifdef __cplusplus + +#if EFI_PROD_CODE #include "engine.h" void initHardware(Logging *logging, Engine *engine); +#endif /* EFI_PROD_CODE */ + #endif /* __cplusplus */ #endif /* HARDWARE_H_ */ diff --git a/firmware/hw_layer/max31855.cpp b/firmware/hw_layer/max31855.cpp index d1c6901cc8..ffd9ec717a 100644 --- a/firmware/hw_layer/max31855.cpp +++ b/firmware/hw_layer/max31855.cpp @@ -14,8 +14,9 @@ #include "max31855.h" -#if EFI_PROD_CODE #include "hardware.h" + +#if EFI_PROD_CODE #include "settings.h" #include "pin_repository.h" #endif /* EFI_PROD_CODE */ @@ -147,7 +148,9 @@ void initMax31855(SPIDriver *drv, egt_cs_array_t max31855_cs) { addConsoleAction("egtread", (Void) egtRead); +#if EFI_PROD_CODE turnOnSpi(SPI_DEVICE_3); +#endif /* EFI_PROD_CODE */ for (int i = 0; i < MAX31855_CS_COUNT; i++) { if (max31855_cs[i] != GPIO_UNASSIGNED) { diff --git a/firmware/iar_egt/build.bat b/firmware/iar_egt/build.bat new file mode 100644 index 0000000000..943829d8eb --- /dev/null +++ b/firmware/iar_egt/build.bat @@ -0,0 +1,5 @@ +cd .. +call update_version.bat +cd iar +iarbuild ch.ewp -clean Debug +iarbuild ch.ewp -build Debug diff --git a/firmware/iar_egt/ch.ewd b/firmware/iar_egt/ch.ewd new file mode 100644 index 0000000000..c01694ea3e --- /dev/null +++ b/firmware/iar_egt/ch.ewd @@ -0,0 +1,2601 @@ + + + + 2 + + Debug + + ARM + + 1 + + C-SPY + 2 + + 25 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + CMSISDAP_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + $TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + + + Release + + ARM + + 0 + + C-SPY + 2 + + 25 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 0 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + + CMSISDAP_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 0 + + + + + + + + + IJET_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 15 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 0 + + + + + + + + XDS100_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + $TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + + + + diff --git a/firmware/iar_egt/ch.ewp b/firmware/iar_egt/ch.ewp new file mode 100644 index 0000000000..aa6cf27155 --- /dev/null +++ b/firmware/iar_egt/ch.ewp @@ -0,0 +1,3282 @@ + + + + 2 + + Debug + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + Release + + ARM + + 0 + + General + 3 + + 21 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 0 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 0 + + + + + + + BILINK + 0 + + + + + config + + engines + + $PROJ_DIR$\..\config\engines\audi_aan.cpp + + + $PROJ_DIR$\..\config\engines\audi_aan.h + + + $PROJ_DIR$\..\config\engines\bmw_e34.cpp + + + $PROJ_DIR$\..\config\engines\bmw_e34.h + + + $PROJ_DIR$\..\config\engines\citroenBerlingoTU3JP.cpp + + + $PROJ_DIR$\..\config\engines\citroenBerlingoTU3JP.h + + + $PROJ_DIR$\..\config\engines\dodge_neon.cpp + + + $PROJ_DIR$\..\config\engines\dodge_neon.h + + + $PROJ_DIR$\..\config\engines\engines.h + + + $PROJ_DIR$\..\config\engines\ford_1995_inline_6.cpp + + + $PROJ_DIR$\..\config\engines\ford_1995_inline_6.h + + + $PROJ_DIR$\..\config\engines\ford_aspire.cpp + + + $PROJ_DIR$\..\config\engines\ford_aspire.h + + + $PROJ_DIR$\..\config\engines\ford_fiesta.cpp + + + $PROJ_DIR$\..\config\engines\ford_fiesta.h + + + $PROJ_DIR$\..\config\engines\GY6_139QMB.cpp + + + $PROJ_DIR$\..\config\engines\GY6_139QMB.h + + + $PROJ_DIR$\..\config\engines\honda_accord.cpp + + + $PROJ_DIR$\..\config\engines\honda_accord.h + + + $PROJ_DIR$\..\config\engines\mazda_323.cpp + + + $PROJ_DIR$\..\config\engines\mazda_323.h + + + $PROJ_DIR$\..\config\engines\mazda_miata.cpp + + + $PROJ_DIR$\..\config\engines\mazda_miata.h + + + $PROJ_DIR$\..\config\engines\mazda_miata_nb.cpp + + + $PROJ_DIR$\..\config\engines\mazda_miata_nb.h + + + $PROJ_DIR$\..\config\engines\MiniCooperR50.cpp + + + $PROJ_DIR$\..\config\engines\MiniCooperR50.h + + + $PROJ_DIR$\..\config\engines\mitsubishi.cpp + + + $PROJ_DIR$\..\config\engines\mitsubishi.h + + + $PROJ_DIR$\..\config\engines\nissan_primera.cpp + + + $PROJ_DIR$\..\config\engines\nissan_primera.h + + + $PROJ_DIR$\..\config\engines\rover_v8.cpp + + + $PROJ_DIR$\..\config\engines\rover_v8.h + + + $PROJ_DIR$\..\config\engines\saturn_ion.cpp + + + $PROJ_DIR$\..\config\engines\saturn_ion.h + + + $PROJ_DIR$\..\config\engines\snow_blower.cpp + + + $PROJ_DIR$\..\config\engines\snow_blower.h + + + $PROJ_DIR$\..\config\engines\subaru.cpp + + + $PROJ_DIR$\..\config\engines\subaru.h + + + $PROJ_DIR$\..\config\engines\test_engine.cpp + + + $PROJ_DIR$\..\config\engines\test_engine.h + + + + stm32f4ems + + $PROJ_DIR$\..\config\stm32f4ems\chconf.h + + + $PROJ_DIR$\..\config\stm32f4ems\efifeatures.h + + + $PROJ_DIR$\..\config\stm32f4ems\halconf.h + + + $PROJ_DIR$\..\config\stm32f4ems\mcuconf.h + + + + + console + + tunerstudio + + $PROJ_DIR$\..\console\tunerstudio\tunerstudio.cpp + + + $PROJ_DIR$\..\console\tunerstudio\tunerstudio.h + + + $PROJ_DIR$\..\console\tunerstudio\tunerstudio_algo.cpp + + + $PROJ_DIR$\..\console\tunerstudio\tunerstudio_algo.h + + + $PROJ_DIR$\..\console\tunerstudio\tunerstudio_configuration.h + + + + $PROJ_DIR$\..\console\console_io.c + + + $PROJ_DIR$\..\console\console_io.h + + + $PROJ_DIR$\..\console\eficonsole.c + + + $PROJ_DIR$\..\console\eficonsole.h + + + $PROJ_DIR$\..\console\status_loop.cpp + + + $PROJ_DIR$\..\console\status_loop.h + + + + console_util + + $PROJ_DIR$\..\console_util\datalogging.c + + + $PROJ_DIR$\..\console_util\datalogging.h + + + $PROJ_DIR$\..\console_util\rfiutil.c + + + $PROJ_DIR$\..\console_util\rfiutil.h + + + + controllers + + algo + + $PROJ_DIR$\..\controllers\algo\accel_enrichment.cpp + + + $PROJ_DIR$\..\controllers\algo\accel_enrichment.h + + + $PROJ_DIR$\..\controllers\algo\advance_map.cpp + + + $PROJ_DIR$\..\controllers\algo\advance_map.h + + + $PROJ_DIR$\..\controllers\algo\algo.cpp + + + $PROJ_DIR$\..\controllers\algo\algo.h + + + $PROJ_DIR$\..\controllers\algo\auto_generated_enums.cpp + + + $PROJ_DIR$\..\controllers\algo\auto_generated_enums.h + + + $PROJ_DIR$\..\controllers\algo\can_header.h + + + $PROJ_DIR$\..\controllers\algo\ec2.h + + + $PROJ_DIR$\..\controllers\algo\engine.cpp + + + $PROJ_DIR$\..\controllers\algo\engine.h + + + $PROJ_DIR$\..\controllers\algo\engine_configuration.cpp + + + $PROJ_DIR$\..\controllers\algo\engine_configuration.h + + + $PROJ_DIR$\..\controllers\algo\engine_state.h + + + $PROJ_DIR$\..\controllers\algo\error_handling.h + + + $PROJ_DIR$\..\controllers\algo\event_registry.cpp + + + $PROJ_DIR$\..\controllers\algo\event_registry.h + + + $PROJ_DIR$\..\controllers\algo\fuel_math.cpp + + + $PROJ_DIR$\..\controllers\algo\fuel_math.h + + + $PROJ_DIR$\..\controllers\algo\idle_controller.cpp + + + $PROJ_DIR$\..\controllers\algo\idle_controller.h + + + $PROJ_DIR$\..\controllers\algo\io_pins.h + + + $PROJ_DIR$\..\controllers\algo\main_trigger_callback.h + + + $PROJ_DIR$\..\controllers\algo\malfunction_central.c + + + $PROJ_DIR$\..\controllers\algo\malfunction_central.h + + + $PROJ_DIR$\..\controllers\algo\map_adjuster.c + + + $PROJ_DIR$\..\controllers\algo\map_adjuster.h + + + $PROJ_DIR$\..\controllers\algo\nmea.c + + + $PROJ_DIR$\..\controllers\algo\nmea.h + + + $PROJ_DIR$\..\controllers\algo\obd_error_codes.h + + + $PROJ_DIR$\..\controllers\algo\OutputSignalArray.cpp + + + $PROJ_DIR$\..\controllers\algo\OutputSignalList.h + + + $PROJ_DIR$\..\controllers\algo\rusefi_enums.h + + + $PROJ_DIR$\..\controllers\algo\signal_executor.cpp + + + $PROJ_DIR$\..\controllers\algo\signal_executor.h + + + $PROJ_DIR$\..\controllers\algo\wave_chart.cpp + + + $PROJ_DIR$\..\controllers\algo\wave_chart.h + + + + core + + $PROJ_DIR$\..\controllers\core\avg_values.c + + + $PROJ_DIR$\..\controllers\core\avg_values.h + + + $PROJ_DIR$\..\controllers\core\EfiWave.cpp + + + $PROJ_DIR$\..\controllers\core\EfiWave.h + + + $PROJ_DIR$\..\controllers\core\fsio_core.cpp + + + $PROJ_DIR$\..\controllers\core\fsio_core.h + + + $PROJ_DIR$\..\controllers\core\fsio_impl.cpp + + + $PROJ_DIR$\..\controllers\core\fsio_impl.h + + + $PROJ_DIR$\..\controllers\core\interpolation.cpp + + + $PROJ_DIR$\..\controllers\core\interpolation.h + + + $PROJ_DIR$\..\controllers\core\signal_filtering.c + + + $PROJ_DIR$\..\controllers\core\signal_filtering.h + + + $PROJ_DIR$\..\controllers\core\table_helper.cpp + + + $PROJ_DIR$\..\controllers\core\table_helper.h + + + + math + + $PROJ_DIR$\..\controllers\math\efitime.h + + + $PROJ_DIR$\..\controllers\math\engine_math.cpp + + + $PROJ_DIR$\..\controllers\math\engine_math.h + + + $PROJ_DIR$\..\controllers\math\speed_density.cpp + + + $PROJ_DIR$\..\controllers\math\speed_density.h + + + + sensors + + $PROJ_DIR$\..\controllers\sensors\allsensors.cpp + + + $PROJ_DIR$\..\controllers\sensors\allsensors.h + + + $PROJ_DIR$\..\controllers\sensors\ego.cpp + + + $PROJ_DIR$\..\controllers\sensors\ego.h + + + $PROJ_DIR$\..\controllers\sensors\maf.cpp + + + $PROJ_DIR$\..\controllers\sensors\maf.h + + + $PROJ_DIR$\..\controllers\sensors\map.cpp + + + $PROJ_DIR$\..\controllers\sensors\map.h + + + $PROJ_DIR$\..\controllers\sensors\sensor_types.h + + + $PROJ_DIR$\..\controllers\sensors\thermistors.cpp + + + $PROJ_DIR$\..\controllers\sensors\thermistors.h + + + $PROJ_DIR$\..\controllers\sensors\tps.cpp + + + $PROJ_DIR$\..\controllers\sensors\tps.h + + + $PROJ_DIR$\..\controllers\sensors\voltage.cpp + + + $PROJ_DIR$\..\controllers\sensors\voltage.h + + + + system + + $PROJ_DIR$\..\controllers\system\efiGpio.cpp + + + $PROJ_DIR$\..\controllers\system\efiGpio.h + + + $PROJ_DIR$\..\controllers\system\event_queue.cpp + + + $PROJ_DIR$\..\controllers\system\event_queue.h + + + $PROJ_DIR$\..\controllers\system\pwm_generator_logic.cpp + + + $PROJ_DIR$\..\controllers\system\pwm_generator_logic.h + + + $PROJ_DIR$\..\controllers\system\scheduler.h + + + $PROJ_DIR$\..\controllers\system\signal_executor_sleep.c + + + $PROJ_DIR$\..\controllers\system\signal_executor_sleep.h + + + $PROJ_DIR$\..\controllers\system\SingleTimerExecutor.cpp + + + $PROJ_DIR$\..\controllers\system\SingleTimerExecutor.h + + + + trigger + + $PROJ_DIR$\..\controllers\trigger\main_trigger_callback.cpp + + + $PROJ_DIR$\..\controllers\trigger\rpm_calculator.cpp + + + $PROJ_DIR$\..\controllers\trigger\rpm_calculator.h + + + $PROJ_DIR$\..\controllers\trigger\trigger_bmw.cpp + + + $PROJ_DIR$\..\controllers\trigger\trigger_bmw.h + + + $PROJ_DIR$\..\controllers\trigger\trigger_central.cpp + + + $PROJ_DIR$\..\controllers\trigger\trigger_central.h + + + $PROJ_DIR$\..\controllers\trigger\trigger_chrysler.cpp + + + $PROJ_DIR$\..\controllers\trigger\trigger_chrysler.h + + + $PROJ_DIR$\..\controllers\trigger\trigger_decoder.cpp + + + $PROJ_DIR$\..\controllers\trigger\trigger_decoder.h + + + $PROJ_DIR$\..\controllers\trigger\trigger_emulator_algo.cpp + + + $PROJ_DIR$\..\controllers\trigger\trigger_emulator_algo.h + + + $PROJ_DIR$\..\controllers\trigger\trigger_gm.cpp + + + $PROJ_DIR$\..\controllers\trigger\trigger_gm.h + + + $PROJ_DIR$\..\controllers\trigger\trigger_mazda.cpp + + + $PROJ_DIR$\..\controllers\trigger\trigger_mazda.h + + + $PROJ_DIR$\..\controllers\trigger\trigger_mitsubishi.cpp + + + $PROJ_DIR$\..\controllers\trigger\trigger_mitsubishi.h + + + $PROJ_DIR$\..\controllers\trigger\trigger_structure.cpp + + + $PROJ_DIR$\..\controllers\trigger\trigger_structure.h + + + + $PROJ_DIR$\..\controllers\alternatorController.cpp + + + $PROJ_DIR$\..\controllers\alternatorController.h + + + $PROJ_DIR$\..\controllers\electronic_throttle.cpp + + + $PROJ_DIR$\..\controllers\electronic_throttle.h + + + $PROJ_DIR$\..\controllers\engine_controller.cpp + + + $PROJ_DIR$\..\controllers\engine_controller.h + + + $PROJ_DIR$\..\controllers\algo\enum_strings.cpp + + + $PROJ_DIR$\..\controllers\algo\enum_strings.h + + + $PROJ_DIR$\..\controllers\error_handling.c + + + $PROJ_DIR$\..\controllers\flash_main.cpp + + + $PROJ_DIR$\..\controllers\flash_main.h + + + $PROJ_DIR$\..\controllers\idle_thread.cpp + + + $PROJ_DIR$\..\controllers\idle_thread.h + + + $PROJ_DIR$\..\controllers\ignition_central.c + + + $PROJ_DIR$\..\controllers\ignition_central.h + + + $PROJ_DIR$\..\controllers\injector_central.cpp + + + $PROJ_DIR$\..\controllers\injector_central.h + + + $PROJ_DIR$\..\controllers\lcd_controller.cpp + + + $PROJ_DIR$\..\controllers\lcd_controller.h + + + $PROJ_DIR$\..\controllers\malfunction_indicator.cpp + + + $PROJ_DIR$\..\controllers\malfunction_indicator.h + + + $PROJ_DIR$\..\controllers\map_averaging.cpp + + + $PROJ_DIR$\..\controllers\map_averaging.h + + + $PROJ_DIR$\..\controllers\map_multiplier_thread.cpp + + + $PROJ_DIR$\..\controllers\map_multiplier_thread.h + + + $PROJ_DIR$\..\controllers\obd2viaCAN.c + + + $PROJ_DIR$\..\controllers\PwmTester.cpp + + + $PROJ_DIR$\..\controllers\PwmTester.h + + + $PROJ_DIR$\..\controllers\settings.cpp + + + $PROJ_DIR$\..\controllers\settings.h + + + + emulation + + hw_layer + + $PROJ_DIR$\..\emulation\hw_layer\poten.c + + + $PROJ_DIR$\..\emulation\hw_layer\poten.h + + + + test + + $PROJ_DIR$\..\emulation\test\test.c + + + $PROJ_DIR$\..\emulation\test\test.h + + + $PROJ_DIR$\..\emulation\test\testbmk.c + + + $PROJ_DIR$\..\emulation\test\testbmk.h + + + + $PROJ_DIR$\..\emulation\analog_chart.cpp + + + $PROJ_DIR$\..\emulation\analog_chart.h + + + $PROJ_DIR$\..\emulation\engine_emulator.cpp + + + $PROJ_DIR$\..\emulation\engine_emulator.h + + + $PROJ_DIR$\..\emulation\rfi_perftest.cpp + + + $PROJ_DIR$\..\emulation\rfi_perftest.h + + + $PROJ_DIR$\..\emulation\trigger_emulator.cpp + + + $PROJ_DIR$\..\emulation\trigger_emulator.h + + + $PROJ_DIR$\..\emulation\wave_analyzer.cpp + + + $PROJ_DIR$\..\emulation\wave_analyzer.h + + + + ext + + $PROJ_DIR$\..\chibios\ext\fatfs\src\option\ccsbcs.c + + + $PROJ_DIR$\..\ext\diskio.h + + + $PROJ_DIR$\..\chibios\ext\fatfs\src\ff.c + + + $PROJ_DIR$\..\ext\ff.h + + + $PROJ_DIR$\..\ext\ffconf.h + + + $PROJ_DIR$\..\ext\integer.h + + + + hw_layer + + algo + + $PROJ_DIR$\..\hw_layer\algo\adc_math.h + + + + lcd + + $PROJ_DIR$\..\hw_layer\lcd\lcd_HD44780.c + + + $PROJ_DIR$\..\hw_layer\lcd\lcd_HD44780.h + + + + serial_over_usb + + $PROJ_DIR$\..\hw_layer\serial_over_usb\usbcfg.c + + + $PROJ_DIR$\..\hw_layer\serial_over_usb\usbcfg.h + + + $PROJ_DIR$\..\hw_layer\serial_over_usb\usbconsole.c + + + $PROJ_DIR$\..\hw_layer\serial_over_usb\usbconsole.h + + + + stm32f4 + + $PROJ_DIR$\..\hw_layer\stm32f4\mpu_util.cpp + + + $PROJ_DIR$\..\hw_layer\stm32f4\mpu_util.h + + + + $PROJ_DIR$\..\hw_layer\adc_external.h + + + $PROJ_DIR$\..\hw_layer\adc_inputs.cpp + + + $PROJ_DIR$\..\hw_layer\adc_inputs.h + + + $PROJ_DIR$\..\hw_layer\AdcConfiguration.h + + + $PROJ_DIR$\..\hw_layer\board_test.cpp + + + $PROJ_DIR$\..\hw_layer\board_test.h + + + $PROJ_DIR$\..\hw_layer\can_hw.cpp + + + $PROJ_DIR$\..\hw_layer\can_hw.h + + + $PROJ_DIR$\..\hw_layer\flash.c + + + $PROJ_DIR$\..\hw_layer\flash.h + + + $PROJ_DIR$\..\hw_layer\gpio_helper.c + + + $PROJ_DIR$\..\hw_layer\gpio_helper.h + + + $PROJ_DIR$\..\hw_layer\hardware.cpp + + + $PROJ_DIR$\..\hw_layer\hardware.h + + + $PROJ_DIR$\..\hw_layer\HIP9011.cpp + + + $PROJ_DIR$\..\hw_layer\HIP9011.h + + + $PROJ_DIR$\..\hw_layer\io_pins.c + + + $PROJ_DIR$\..\hw_layer\max31855.c + + + $PROJ_DIR$\..\hw_layer\max31855.h + + + $PROJ_DIR$\..\hw_layer\mcp3208.c + + + $PROJ_DIR$\..\hw_layer\mcp3208.h + + + $PROJ_DIR$\..\hw_layer\microsecond_timer.c + + + $PROJ_DIR$\..\hw_layer\microsecond_timer.h + + + $PROJ_DIR$\..\hw_layer\mmc_card.c + + + $PROJ_DIR$\..\hw_layer\mmc_card.h + + + $PROJ_DIR$\..\hw_layer\neo6m.c + + + $PROJ_DIR$\..\hw_layer\neo6m.h + + + $PROJ_DIR$\..\hw_layer\pin_repository.c + + + $PROJ_DIR$\..\hw_layer\pin_repository.h + + + $PROJ_DIR$\..\hw_layer\pwm_generator.cpp + + + $PROJ_DIR$\..\hw_layer\pwm_generator.h + + + $PROJ_DIR$\..\hw_layer\rtc_helper.c + + + $PROJ_DIR$\..\hw_layer\rtc_helper.h + + + $PROJ_DIR$\..\hw_layer\stepper.cpp + + + $PROJ_DIR$\..\hw_layer\stepper.h + + + $PROJ_DIR$\..\hw_layer\stm32f4xx_specific.h + + + $PROJ_DIR$\..\hw_layer\trigger_input.cpp + + + $PROJ_DIR$\..\hw_layer\trigger_input.h + + + $PROJ_DIR$\..\hw_layer\vehicle_speed.cpp + + + $PROJ_DIR$\..\hw_layer\vehicle_speed.h + + + $PROJ_DIR$\..\hw_layer\wave_analyzer_hw.c + + + $PROJ_DIR$\..\hw_layer\wave_analyzer_hw.h + + + + os + + board + + $PROJ_DIR$\..\chibios\boards\ST_STM32F4_DISCOVERY\board.c + + + $PROJ_DIR$\..\chibios\boards\ST_STM32F4_DISCOVERY\board.h + + + + hal + + include + + $PROJ_DIR$\..\chibios\os\hal\include\adc.h + + + $PROJ_DIR$\..\chibios\os\hal\include\can.h + + + $PROJ_DIR$\..\chibios\os\hal\include\ext.h + + + $PROJ_DIR$\..\chibios\os\hal\include\gpt.h + + + $PROJ_DIR$\..\chibios\os\hal\include\hal.h + + + $PROJ_DIR$\..\chibios\os\hal\include\i2c.h + + + $PROJ_DIR$\..\chibios\os\hal\include\icu.h + + + $PROJ_DIR$\..\chibios\os\hal\include\mac.h + + + $PROJ_DIR$\..\chibios\os\hal\include\mii.h + + + $PROJ_DIR$\..\chibios\os\hal\include\mmc_spi.h + + + $PROJ_DIR$\..\chibios\os\hal\include\pal.h + + + $PROJ_DIR$\..\chibios\os\hal\include\pwm.h + + + $PROJ_DIR$\..\chibios\os\hal\include\rtc.h + + + $PROJ_DIR$\..\chibios\os\hal\include\sdc.h + + + $PROJ_DIR$\..\chibios\os\hal\include\serial.h + + + $PROJ_DIR$\..\chibios\os\hal\include\serial_usb.h + + + $PROJ_DIR$\..\chibios\os\hal\include\spi.h + + + $PROJ_DIR$\..\chibios\os\hal\include\uart.h + + + $PROJ_DIR$\..\chibios\os\hal\include\usb.h + + + $PROJ_DIR$\..\chibios\os\hal\include\usb_cdc.h + + + + src + + $PROJ_DIR$\..\chibios\os\hal\src\adc.c + + + $PROJ_DIR$\..\chibios\os\hal\src\can.c + + + $PROJ_DIR$\..\chibios\os\hal\src\ext.c + + + $PROJ_DIR$\..\chibios\os\hal\platforms\STM32\ext_lld.c + + + $PROJ_DIR$\..\chibios\os\hal\platforms\STM32F4xx\ext_lld_isr.c + + + $PROJ_DIR$\..\chibios\os\hal\src\gpt.c + + + $PROJ_DIR$\..\chibios\os\hal\src\hal.c + + + $PROJ_DIR$\..\chibios\os\hal\src\i2c.c + + + $PROJ_DIR$\..\chibios\os\hal\src\icu.c + + + $PROJ_DIR$\..\chibios\os\hal\src\mac.c + + + $PROJ_DIR$\..\chibios\os\hal\src\mmc_spi.c + + + $PROJ_DIR$\..\chibios\os\hal\src\mmcsd.c + + + $PROJ_DIR$\..\chibios\os\hal\src\pal.c + + + $PROJ_DIR$\..\chibios\os\hal\src\pwm.c + + + $PROJ_DIR$\..\chibios\os\hal\src\rtc.c + + + $PROJ_DIR$\..\chibios\os\hal\src\sdc.c + + + $PROJ_DIR$\..\chibios\os\hal\src\serial.c + + + $PROJ_DIR$\..\chibios\os\hal\src\serial_usb.c + + + $PROJ_DIR$\..\chibios\os\hal\src\spi.c + + + $PROJ_DIR$\..\chibios\os\hal\src\uart.c + + + $PROJ_DIR$\..\chibios\os\hal\src\usb.c + + + + + kernel + + include + + $PROJ_DIR$\..\chibios\os\kernel\include\ch.h + + + $PROJ_DIR$\..\chibios\os\kernel\include\chcond.h + + + $PROJ_DIR$\..\chibios\os\kernel\include\chdebug.h + + + $PROJ_DIR$\..\chibios\os\kernel\include\chdynamic.h + + + $PROJ_DIR$\..\chibios\os\kernel\include\chevents.h + + + $PROJ_DIR$\..\chibios\os\kernel\include\chheap.h + + + $PROJ_DIR$\..\chibios\os\kernel\include\chinline.h + + + $PROJ_DIR$\..\chibios\os\kernel\include\chioch.h + + + $PROJ_DIR$\..\chibios\os\kernel\include\chlists.h + + + $PROJ_DIR$\..\chibios\os\kernel\include\chmboxes.h + + + $PROJ_DIR$\..\chibios\os\kernel\include\chmemcore.h + + + $PROJ_DIR$\..\chibios\os\kernel\include\chmempools.h + + + $PROJ_DIR$\..\chibios\os\kernel\include\chmsg.h + + + $PROJ_DIR$\..\chibios\os\kernel\include\chmtx.h + + + $PROJ_DIR$\..\chibios\os\kernel\include\chqueues.h + + + $PROJ_DIR$\..\chibios\os\kernel\include\chregistry.h + + + $PROJ_DIR$\..\chibios\os\kernel\include\chschd.h + + + $PROJ_DIR$\..\chibios\os\kernel\include\chsem.h + + + $PROJ_DIR$\..\chibios\os\kernel\include\chstreams.h + + + $PROJ_DIR$\..\chibios\os\kernel\include\chsys.h + + + $PROJ_DIR$\..\chibios\os\kernel\include\chthreads.h + + + $PROJ_DIR$\..\chibios\os\kernel\include\chvt.h + + + + src + + $PROJ_DIR$\..\chibios\os\kernel\src\chcond.c + + + $PROJ_DIR$\..\chibios\os\kernel\src\chdebug.c + + + $PROJ_DIR$\..\chibios\os\kernel\src\chdynamic.c + + + $PROJ_DIR$\..\chibios\os\kernel\src\chevents.c + + + $PROJ_DIR$\..\chibios\os\kernel\src\chheap.c + + + $PROJ_DIR$\..\chibios\os\kernel\src\chlists.c + + + $PROJ_DIR$\..\chibios\os\kernel\src\chmboxes.c + + + $PROJ_DIR$\..\chibios\os\kernel\src\chmemcore.c + + + $PROJ_DIR$\..\chibios\os\kernel\src\chmempools.c + + + $PROJ_DIR$\..\chibios\os\kernel\src\chmsg.c + + + $PROJ_DIR$\..\chibios\os\kernel\src\chmtx.c + + + $PROJ_DIR$\..\chibios\os\kernel\src\chqueues.c + + + $PROJ_DIR$\..\chibios\os\kernel\src\chregistry.c + + + $PROJ_DIR$\..\chibios\os\kernel\src\chschd.c + + + $PROJ_DIR$\..\chibios\os\kernel\src\chsem.c + + + $PROJ_DIR$\..\chibios\os\kernel\src\chsys.c + + + $PROJ_DIR$\..\chibios\os\kernel\src\chthreads.c + + + $PROJ_DIR$\..\chibios\os\kernel\src\chvt.c + + + + + platform + + $PROJ_DIR$\..\chibios\os\hal\platforms\STM32F4xx\adc_lld.c + + + $PROJ_DIR$\..\chibios\os\hal\platforms\STM32F4xx\adc_lld.h + + + $PROJ_DIR$\..\chibios\os\hal\platforms\STM32\can_lld.c + + + $PROJ_DIR$\..\chibios\os\hal\platforms\STM32\can_lld.h + + + $PROJ_DIR$\..\chibios\os\hal\platforms\STM32\TIMv1\gpt_lld.c + + + $PROJ_DIR$\..\chibios\os\hal\platforms\STM32\TIMv1\gpt_lld.h + + + $PROJ_DIR$\..\chibios\os\hal\platforms\STM32F4xx\hal_lld.c + + + $PROJ_DIR$\..\chibios\os\hal\platforms\STM32F4xx\hal_lld.h + + + $PROJ_DIR$\..\chibios\os\hal\platforms\STM32\I2Cv1\i2c_lld.c + + + $PROJ_DIR$\..\chibios\os\hal\platforms\STM32\I2Cv1\i2c_lld.h + + + $PROJ_DIR$\..\chibios\os\hal\platforms\STM32\TIMv1\icu_lld.c + + + $PROJ_DIR$\..\chibios\os\hal\platforms\STM32\TIMv1\icu_lld.h + + + $PROJ_DIR$\..\chibios\os\hal\platforms\STM32\GPIOv2\pal_lld.c + + + $PROJ_DIR$\..\chibios\os\hal\platforms\STM32\GPIOv2\pal_lld.h + + + $PROJ_DIR$\..\chibios\os\hal\platforms\STM32\TIMv1\pwm_lld.c + + + $PROJ_DIR$\..\chibios\os\hal\platforms\STM32\TIMv1\pwm_lld.h + + + $PROJ_DIR$\..\chibios\os\hal\platforms\STM32\RTCv2\rtc_lld.c + + + $PROJ_DIR$\..\chibios\os\hal\platforms\STM32\RTCv2\rtc_lld.h + + + $PROJ_DIR$\..\chibios\os\hal\platforms\STM32\USARTv1\serial_lld.c + + + $PROJ_DIR$\..\chibios\os\hal\platforms\STM32\USARTv1\serial_lld.h + + + $PROJ_DIR$\..\chibios\os\hal\platforms\STM32\SPIv1\spi_lld.c + + + $PROJ_DIR$\..\chibios\os\hal\platforms\STM32\SPIv1\spi_lld.h + + + $PROJ_DIR$\..\chibios\os\hal\platforms\STM32F4xx\stm32_dma.c + + + $PROJ_DIR$\..\chibios\os\hal\platforms\STM32F4xx\stm32_dma.h + + + $PROJ_DIR$\..\chibios\os\hal\platforms\STM32\OTGv1\stm32_otg.h + + + $PROJ_DIR$\..\chibios\os\hal\platforms\STM32F4xx\stm32_rcc.h + + + $PROJ_DIR$\..\chibios\os\hal\platforms\STM32\TIMv1\stm32_tim.h + + + $PROJ_DIR$\..\chibios\os\hal\platforms\STM32F4xx\stm32f4xx.h + + + $PROJ_DIR$\..\chibios\os\hal\platforms\STM32\OTGv1\usb_lld.c + + + $PROJ_DIR$\..\chibios\os\hal\platforms\STM32\OTGv1\usb_lld.h + + + + port + + STM32F4xx + + $PROJ_DIR$\..\chibios\os\ports\IAR\ARMCMx\STM32F4xx\cmparams.h + + + $PROJ_DIR$\..\chibios\os\ports\IAR\ARMCMx\STM32F4xx\vectors.s + + + + $PROJ_DIR$\..\chibios\os\ports\IAR\ARMCMx\chcore.c + + + $PROJ_DIR$\..\chibios\os\ports\IAR\ARMCMx\chcore.h + + + $PROJ_DIR$\..\chibios\os\ports\IAR\ARMCMx\chcore_v7m.c + + + $PROJ_DIR$\..\chibios\os\ports\IAR\ARMCMx\chcore_v7m.h + + + $PROJ_DIR$\..\chibios\os\ports\IAR\ARMCMx\chcoreasm_v7m.s + + + $PROJ_DIR$\..\chibios\os\ports\IAR\ARMCMx\chtypes.h + + + $PROJ_DIR$\..\chibios\os\ports\IAR\ARMCMx\cstartup.s + + + $PROJ_DIR$\..\chibios\os\ports\common\ARMCMx\nvic.c + + + $PROJ_DIR$\..\chibios\os\ports\common\ARMCMx\nvic.h + + + + various + + $PROJ_DIR$\..\chibios\os\various\chprintf.c + + + $PROJ_DIR$\..\chibios\os\various\chprintf.h + + + $PROJ_DIR$\..\chibios\os\various\fatfs_bindings\fatfs_diskio.c + + + $PROJ_DIR$\..\chibios\os\various\fatfs_bindings\fatfs_syscall.c + + + $PROJ_DIR$\..\chibios\os\various\memstreams.c + + + $PROJ_DIR$\..\chibios\os\various\memstreams.h + + + + + util + + $PROJ_DIR$\..\util\cli_registry.c + + + $PROJ_DIR$\..\util\cli_registry.h + + + $PROJ_DIR$\..\util\crc.c + + + $PROJ_DIR$\..\util\crc.h + + + $PROJ_DIR$\..\util\cyclic_buffer.cpp + + + $PROJ_DIR$\..\util\cyclic_buffer.h + + + $PROJ_DIR$\..\util\data_buffer.c + + + $PROJ_DIR$\..\util\data_buffer.h + + + $PROJ_DIR$\..\util\efilib.cpp + + + $PROJ_DIR$\..\util\efilib.h + + + $PROJ_DIR$\..\util\efilib2.cpp + + + $PROJ_DIR$\..\util\efilib2.h + + + $PROJ_DIR$\..\util\histogram.c + + + $PROJ_DIR$\..\util\histogram.h + + + $PROJ_DIR$\..\util\listener_array.cpp + + + $PROJ_DIR$\..\util\listener_array.h + + + $PROJ_DIR$\..\util\LocalVersionHolder.cpp + + + $PROJ_DIR$\..\util\LocalVersionHolder.h + + + + $PROJ_DIR$\..\chconf.h + + + $PROJ_DIR$\..\global.h + + + $PROJ_DIR$\..\halconf.h + + + $PROJ_DIR$\..\main.cpp + + + $PROJ_DIR$\..\main.h + + + $PROJ_DIR$\..\mcuconf.h + + + $PROJ_DIR$\..\rusefi.cpp + + + $PROJ_DIR$\..\rusefi.h + + + $PROJ_DIR$\..\svnversion.h + + + + diff --git a/firmware/iar_egt/ch.eww b/firmware/iar_egt/ch.eww new file mode 100644 index 0000000000..7eb2089077 --- /dev/null +++ b/firmware/iar_egt/ch.eww @@ -0,0 +1,10 @@ + + + + + $WS_DIR$\ch.ewp + + + + + diff --git a/firmware/iar_egt/ch.icf b/firmware/iar_egt/ch.icf new file mode 100644 index 0000000000..63f48eb13f --- /dev/null +++ b/firmware/iar_egt/ch.icf @@ -0,0 +1,44 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x08000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; +define symbol __ICFEDIT_region_ROM_end__ = 0x0803FFFF; +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF; +define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000; +define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 0x400; +define symbol __ICFEDIT_size_heap__ = 0x400; +/**** End of ICF editor section. ###ICF###*/ + +/* Size of the IRQ Stack (Main Stack).*/ +define symbol __ICFEDIT_size_irqstack__ = 0x1000; + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; +define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ {section CSTACK}; +define block IRQSTACK with alignment = 8, size = __ICFEDIT_size_irqstack__ {}; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ {}; +define block SYSHEAP with alignment = 8 {section SYSHEAP}; +define block DATABSS with alignment = 8 {readwrite, zeroinit}; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +keep { section .intvec }; + +place at address mem:__ICFEDIT_intvec_start__ {section .intvec}; +place in ROM_region {readonly}; +place at start of RAM_region {block IRQSTACK}; +place in RAM_region {block DATABSS, block HEAP}; +place in RAM_region {block SYSHEAP}; +/* todo place in RAM_region {section .ram}; */ +place at end of RAM_region {block CSTACK}; +place in CCMRAM_region {section .ccm}; diff --git a/firmware/iar_egt/flash.bat b/firmware/iar_egt/flash.bat new file mode 100644 index 0000000000..06a5b394cd --- /dev/null +++ b/firmware/iar_egt/flash.bat @@ -0,0 +1 @@ +st-link_cli -c SWD ur -P Debug\Exe\iar.hex -Rst -Run