From cd00d0d362ca1933d50c47bf4beb4beda54a1f3d Mon Sep 17 00:00:00 2001 From: rusEfi Date: Thu, 25 Dec 2014 18:03:21 -0600 Subject: [PATCH] auto-sync --- firmware/config/engines/dodge_neon.cpp | 2 +- firmware/config/stm32f4ems/efifeatures.h | 19 ----------- .../tunerstudio/tunerstudio_configuration.h | 2 +- .../controllers/algo/engine_configuration.cpp | 12 +++++++ .../controllers/algo/engine_configuration.h | 24 +++++++++++--- firmware/controllers/flash_main.cpp | 1 - firmware/controllers/flash_main.h | 2 +- firmware/hw_layer/hardware.cpp | 32 ++++++++++--------- 8 files changed, 51 insertions(+), 43 deletions(-) diff --git a/firmware/config/engines/dodge_neon.cpp b/firmware/config/engines/dodge_neon.cpp index a5ea89b451..a0758e8990 100644 --- a/firmware/config/engines/dodge_neon.cpp +++ b/firmware/config/engines/dodge_neon.cpp @@ -314,7 +314,7 @@ void setDodgeNeonNGCEngineConfiguration(engine_configuration_s *engineConfigurat #endif engineConfiguration->cylinderBore = 87.5; - engineConfiguration->isCanEnabled = true; +// engineConfiguration->isCanEnabled = true; boardConfiguration->canTxPin = GPIOB_6; boardConfiguration->canRxPin = GPIOB_12; engineConfiguration->canWriteEnabled = true; diff --git a/firmware/config/stm32f4ems/efifeatures.h b/firmware/config/stm32f4ems/efifeatures.h index 98a0317ba0..9d3ad78001 100644 --- a/firmware/config/stm32f4ems/efifeatures.h +++ b/firmware/config/stm32f4ems/efifeatures.h @@ -186,21 +186,8 @@ //#define SPI_SD_MODULE_PORT GPIOD //#define SPI_SD_MODULE_PIN 11 -#define EFI_SPI1_SCK_PORT GPIOB -#define EFI_SPI1_SCK_PIN 3 -#define EFI_SPI1_MISO_PORT GPIOB -#define EFI_SPI1_MISO_PIN 4 -#define EFI_SPI1_MOSI_PORT GPIOB -#define EFI_SPI1_MOSI_PIN 5 #define EFI_SPI1_AF 5 - -#define EFI_SPI2_SCK_PORT GPIOB -#define EFI_SPI2_SCK_PIN 13 -#define EFI_SPI2_MISO_PORT GPIOB -#define EFI_SPI2_MISO_PIN 14 -#define EFI_SPI2_MOSI_PORT GPIOB -#define EFI_SPI2_MOSI_PIN 15 #define EFI_SPI2_AF 5 @@ -215,12 +202,6 @@ #define SPI_CS4_PIN 3 #define SPI_SD_MODULE_PORT GPIOD #define SPI_SD_MODULE_PIN 4 -#define EFI_SPI3_SCK_PORT GPIOB -#define EFI_SPI3_SCK_PIN 3 -#define EFI_SPI3_MISO_PORT GPIOB -#define EFI_SPI3_MISO_PIN 4 -#define EFI_SPI3_MOSI_PORT GPIOB -#define EFI_SPI3_MOSI_PIN 5 #define EFI_SPI3_AF 6 #define MMC_CARD_SPI SPID3 diff --git a/firmware/console/tunerstudio/tunerstudio_configuration.h b/firmware/console/tunerstudio/tunerstudio_configuration.h index 8571dc8aca..5aa61bd27b 100644 --- a/firmware/console/tunerstudio/tunerstudio_configuration.h +++ b/firmware/console/tunerstudio/tunerstudio_configuration.h @@ -14,7 +14,7 @@ /** * this is used to confirm that firmware and TunerStudio are using the same rusefi.ini version */ -#define TS_FILE_VERSION 20141103 +#define TS_FILE_VERSION 20141225 #define PAGE_0_SIZE 10008 #define TS_OUTPUT_SIZE 116 diff --git a/firmware/controllers/algo/engine_configuration.cpp b/firmware/controllers/algo/engine_configuration.cpp index 298960bfbe..6a78d06607 100644 --- a/firmware/controllers/algo/engine_configuration.cpp +++ b/firmware/controllers/algo/engine_configuration.cpp @@ -485,6 +485,18 @@ void setDefaultConfiguration(engine_configuration_s *engineConfiguration, board_ boardConfiguration->is_enabled_spi_2 = false; boardConfiguration->is_enabled_spi_3 = true; + boardConfiguration->spi1mosiPin = GPIOB_5; + boardConfiguration->spi1misoPin = GPIOB_4; + boardConfiguration->spi1sckPin = GPIOB_3; + + boardConfiguration->spi2mosiPin = GPIOB_15; + boardConfiguration->spi2misoPin = GPIOB_14; + boardConfiguration->spi2sckPin = GPIOB_13; + + boardConfiguration->spi3mosiPin = GPIOB_5; + boardConfiguration->spi3misoPin = GPIOB_4; + boardConfiguration->spi3sckPin = GPIOB_3; + boardConfiguration->isSdCardEnabled = false; boardConfiguration->isFastAdcEnabled = false; boardConfiguration->isEngineControlEnabled = true; diff --git a/firmware/controllers/algo/engine_configuration.h b/firmware/controllers/algo/engine_configuration.h index aef8ffc713..aff9e156a5 100644 --- a/firmware/controllers/algo/engine_configuration.h +++ b/firmware/controllers/algo/engine_configuration.h @@ -246,7 +246,17 @@ typedef struct { brain_pin_e hip9011OutPin; float fsio_setting[LE_COMMAND_COUNT]; - int unusedbs[22]; + brain_pin_e spi1mosiPin; + brain_pin_e spi1misoPin; + brain_pin_e spi1sckPin; + brain_pin_e spi2mosiPin; + brain_pin_e spi2misoPin; + brain_pin_e spi2sckPin; + brain_pin_e spi3mosiPin; + brain_pin_e spi3misoPin; + brain_pin_e spi3sckPin; + + int unusedbs[13]; le_formula_t le_formulas[LE_COMMAND_COUNT]; @@ -397,8 +407,7 @@ typedef struct { */ float fanOffTemperature; - int canReadEnabled; - int canWriteEnabled; + int unusedTwoInts[2]; // offset 968 can_nbc_e canNbcType; // offset 972 @@ -436,6 +445,7 @@ typedef struct { spi_device_e hip9011SpiDevice; adc_channel_e vbattAdcChannel; + // offset 1060 float globalFuelCorrection; // todo: merge with channel settings, use full-scale Thermistor! @@ -473,6 +483,7 @@ typedef struct { board_configuration_s bc; + // offset 6280 /** * @see isMapAveragingEnabled */ @@ -483,8 +494,11 @@ typedef struct { bool_t useConstantDwellDuringCranking : 1; // bit 3 bool_t isDigitalChartEnabled : 1; // bit 4 bool_t isCanEnabled : 1; // bit 5 - // that's the next 32 bit field - int hasCltSensor; + bool_t hasCltSensor : 1; // bit 6 + bool_t canReadEnabled : 1; // bit 7 + bool_t canWriteEnabled : 1; // bit 8 + + int unused6284; idle_mode_e idleMode; diff --git a/firmware/controllers/flash_main.cpp b/firmware/controllers/flash_main.cpp index 37cf04de5d..1eec913e6b 100644 --- a/firmware/controllers/flash_main.cpp +++ b/firmware/controllers/flash_main.cpp @@ -16,7 +16,6 @@ #if EFI_INTERNAL_FLASH - #include "engine_controller.h" #include "datalogging.h" diff --git a/firmware/controllers/flash_main.h b/firmware/controllers/flash_main.h index 415be12a7d..b01d8247d0 100644 --- a/firmware/controllers/flash_main.h +++ b/firmware/controllers/flash_main.h @@ -12,7 +12,7 @@ #include "engine_configuration.h" #include "engine.h" -#define FLASH_DATA_VERSION 5590 +#define FLASH_DATA_VERSION 5932 void readFromFlash(void); void initFlash(Engine *engine); diff --git a/firmware/hw_layer/hardware.cpp b/firmware/hw_layer/hardware.cpp index 771690d6a9..dd69757d31 100644 --- a/firmware/hw_layer/hardware.cpp +++ b/firmware/hw_layer/hardware.cpp @@ -40,7 +40,7 @@ #include "engine_configuration.h" #include "ec2.h" -extern engine_configuration2_s * engineConfiguration2; +EXTERN_ENGINE; extern bool hasFirmwareErrorFlag; static StepperMotor iacMotor; @@ -50,12 +50,14 @@ static Mutex spiMtx; #if HAL_USE_SPI || defined(__DOXYGEN__) static bool isSpiInitialized[5] = { false, false, false, false, false }; -static void initSpiModule(SPIDriver *driver, ioportid_t sckPort, ioportmask_t sckPin, ioportid_t misoPort, - ioportmask_t misoPin, ioportid_t mosiPort, ioportmask_t mosiPin, int af) { - mySetPadMode("SPI clock", sckPort, sckPin, PAL_MODE_ALTERNATE(af)); +static void initSpiModule(SPIDriver *driver, brain_pin_e sck, brain_pin_e miso, + brain_pin_e mosi, int af) { - mySetPadMode("SPI master out", mosiPort, mosiPin, PAL_MODE_ALTERNATE(af)); - mySetPadMode("SPI master in ", misoPort, misoPin, PAL_MODE_ALTERNATE(af)); + + mySetPadMode("SPI clock", getHwPort(sck), getHwPin(sck), PAL_MODE_ALTERNATE(af)); + + mySetPadMode("SPI master out", getHwPort(mosi), getHwPin(mosi), PAL_MODE_ALTERNATE(af)); + mySetPadMode("SPI master in ", getHwPort(miso), getHwPin(miso), PAL_MODE_ALTERNATE(af)); } /** @@ -78,9 +80,9 @@ void turnOnSpi(spi_device_e device) { #if STM32_SPI_USE_SPI1 // scheduleMsg(&logging, "Turning on SPI1 pins"); initSpiModule(&SPID1, - EFI_SPI1_SCK_PORT, EFI_SPI1_SCK_PIN, - EFI_SPI1_MISO_PORT, EFI_SPI1_MISO_PIN, - EFI_SPI1_MOSI_PORT, EFI_SPI1_MOSI_PIN, + boardConfiguration->spi1sckPin, + boardConfiguration->spi1misoPin, + boardConfiguration->spi1mosiPin, EFI_SPI1_AF); #endif } @@ -88,9 +90,9 @@ void turnOnSpi(spi_device_e device) { #if STM32_SPI_USE_SPI2 // scheduleMsg(&logging, "Turning on SPI2 pins"); initSpiModule(&SPID2, - EFI_SPI2_SCK_PORT, EFI_SPI2_SCK_PIN, - EFI_SPI2_MISO_PORT, EFI_SPI2_MISO_PIN, - EFI_SPI2_MOSI_PORT, EFI_SPI2_MOSI_PIN, + boardConfiguration->spi2sckPin, + boardConfiguration->spi2misoPin, + boardConfiguration->spi2mosiPin, EFI_SPI2_AF); #endif } @@ -98,9 +100,9 @@ void turnOnSpi(spi_device_e device) { #if STM32_SPI_USE_SPI3 // scheduleMsg(&logging, "Turning on SPI3 pins"); initSpiModule(&SPID3, - EFI_SPI3_SCK_PORT, EFI_SPI3_SCK_PIN, - EFI_SPI3_MISO_PORT, EFI_SPI3_MISO_PIN, - EFI_SPI3_MOSI_PORT, EFI_SPI3_MOSI_PIN, + boardConfiguration->spi3sckPin, + boardConfiguration->spi3misoPin, + boardConfiguration->spi3mosiPin, EFI_SPI3_AF); #endif }