diff --git a/firmware/.cproject b/firmware/.cproject
index dd8479e4e5..3e38fcaf78 100644
--- a/firmware/.cproject
+++ b/firmware/.cproject
@@ -152,7 +152,7 @@
-
+
diff --git a/firmware/Makefile b/firmware/Makefile
index 7bc25d8a08..1e44ccc93f 100644
--- a/firmware/Makefile
+++ b/firmware/Makefile
@@ -106,8 +106,7 @@ include $(PROJECT_DIR)/console_util/console_util.mk
# Define linker script file here
-LDSCRIPT= config/system/STM32F407xG_CCM.ld
-#LDSCRIPT= $(PORTLD)/STM32F407xG_CCM.ld
+LDSCRIPT= config/stm32f4ems/STM32F407xG_CCM.ld
# C sources that can be compiled in ARM or THUMB mode depending on the global
# setting.
@@ -183,9 +182,7 @@ INCDIR = $(PORTINC) $(KERNINC) $(TESTINC) \
$(CHCPPINC) \
$(CHIBIOS)/os/various \
config/stm32f4ems \
- config/system \
config/engines \
- config/boards \
config \
chibios/os/various \
ext \
diff --git a/firmware/config/boards/arro_board.h b/firmware/config/boards/arro_board.h
deleted file mode 100644
index bdfa986eb1..0000000000
--- a/firmware/config/boards/arro_board.h
+++ /dev/null
@@ -1,213 +0,0 @@
-/**
- * @file arro_board.h
- *
- * This file contents a configuration of default ecu board. Pinout and other.
- * TODO: most of the pins should get configurable
- *
- *
- * @date Nov 14, 2013
- * @author Andrey Belomutskiy, (c) 2012-2014
- * @author frig
- *
- * This file is part of rusEfi - see http://rusefi.com
- *
- * rusEfi is free software; you can redistribute it and/or modify it under the terms of
- * the GNU General Public License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * rusEfi is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along with this program.
- * If not, see .
- */
-#ifndef ARRO_BOARD_H_
-#define ARRO_BOARD_H_
-
-
-#define STM32_ICU_USE_TIM1 TRUE // wave input
-#define STM32_ICU_USE_TIM2 TRUE // primary position sensor
-#define STM32_ICU_USE_TIM3 TRUE // secondary position sensor
-#define STM32_ICU_USE_TIM4 FALSE
-#define STM32_ICU_USE_TIM5 FALSE
-#define STM32_ICU_USE_TIM8 FALSE
-#define STM32_ICU_USE_TIM9 TRUE // wave input
-
-// todo: switch to continues ADC conversion for slow ADC?
-#define EFI_INTERNAL_SLOW_ADC_PWM &PWMD8
-// todo: switch to continues ADC conversion for fast ADC?
-#define EFI_INTERNAL_FAST_ADC_PWM &PWMD4
-
-
-#define STM32_PWM_USE_TIM1 FALSE
-#define STM32_PWM_USE_TIM2 FALSE
-#define STM32_PWM_USE_TIM3 FALSE
-//
-#define STM32_PWM_USE_TIM4 TRUE // fast adc
-#define STM32_PWM_USE_TIM5 FALSE
-#define STM32_PWM_USE_TIM8 TRUE // slow adc
-#define STM32_PWM_USE_TIM9 FALSE
-
-#define STM32_SPI_USE_SPI1 TRUE
-#define STM32_SPI_USE_SPI2 TRUE // external ADC
-#define STM32_SPI_USE_SPI3 TRUE // potentiometer
-
-#define STM32_CAN_USE_CAN1 TRUE
-#define STM32_CAN_USE_CAN2 TRUE
-
-#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 5)
-#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
-
-#define EFI_CAN_DEVICE CAND2
-#define EFI_CAN_RX_AF 9
-#define EFI_CAN_TX_AF 9
-
-//#define EFI_CAN_DEVICE CAND1
-//#define EFI_CAN_RX_AF 9
-//#define EFI_CAN_TX_AF 9
-
-/**
- * This section is for bottom-left corner SPI
- */
-//#define SPI_CS1_PORT GPIOE
-//#define SPI_CS1_PIN 13
-//#define SPI_CS2_PORT GPIOE
-//#define SPI_CS2_PIN 14
-//#define SPI_CS3_PORT GPIOE
-//#define SPI_CS3_PIN 15
-//#define SPI_CS4_PORT GPIOD
-//#define SPI_CS4_PIN 10
-//#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
-
-
-/**
- * This section is for right-side center SPI
- */
-// this is pointing into the sky for now - conflict with I2C
-#define SPI_CS2_PORT GPIOH
-// this is pointing into the sky for now - conflict with I2C
-#define SPI_CS2_PIN 0
-#define SPI_CS4_PORT GPIOD
-#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
-
-#define EFI_I2C_SCL_PORT GPIOB
-#define EFI_I2C_SCL_PIN 6
-#define EFI_I2C_SDA_PORT GPIOB
-#define EFI_I2C_SDA_PIN 7
-#define EFI_I2C_AF 4
-
-/**
- * Patched version of ChibiOS/RT support extra details in the system error messages
- */
-#define EFI_CUSTOM_PANIC_METHOD TRUE
-
-#define ADC_CHANNEL_VREF ADC_CHANNEL_IN14
-
-/**
- * currently ChibiOS uses only first and second channels of each timer for input capture
- *
- * So, our options are:
- *
- * TIM2_CH1
- * PA5
- *
- * TIM4_CH1
- * PB6
- * PD12
- *
- * TIM9_CH1
- * PE5
- */
-
-//#define ETB_CONTROL_LINE_1_PORT GPIOE
-//#define ETB_CONTROL_LINE_1_PIN 0
-//
-//#define ETB_CONTROL_LINE_2_PORT GPIOB
-//#define ETB_CONTROL_LINE_2_PIN 8
-
-//#define CONSOLE_PORT GPIOB
-//#define CONSOLE_TX_PIN 10
-//#define CONSOLE_RX_PIN 11
-
-/**
- * Here we define the pinout for the human-readable protocol via UART, TunerStudio pinout is defined separately
- */
-//#define EFI_CONSOLE_TX_PORT GPIOD
-//#define EFI_CONSOLE_TX_PIN 8
-//#define EFI_CONSOLE_RX_PORT GPIOD
-//#define EFI_CONSOLE_RX_PIN 9
-//#define EFI_CONSOLE_AF 7
-
-#define EFI_CONSOLE_UART_DEVICE (&SD3)
-
-#define EFI_CONSOLE_TX_PORT GPIOC
-#define EFI_CONSOLE_TX_PIN 10
-#define EFI_CONSOLE_RX_PORT GPIOC
-#define EFI_CONSOLE_RX_PIN 11
-#define EFI_CONSOLE_AF 7
-
-//#define TS_SERIAL_TX_PORT GPIOD
-//#define TS_SERIAL_TX_PIN 8
-//#define TS_SERIAL_RX_PORT GPIOD
-//#define TS_SERIAL_RX_PIN 9
-//#define TS_SERIAL_AF 7
-
-#define TS_SERIAL_TX_PORT GPIOC
-#define TS_SERIAL_TX_PIN 10
-#define TS_SERIAL_RX_PORT GPIOC
-#define TS_SERIAL_RX_PIN 11
-#define TS_SERIAL_AF 7
-
-#define LED_WARNING_PORT GPIOD
-#define LED_WARNING_PIN GPIOD_LED3
-
-#define LED_RUNNING_STATUS_PORT GPIOD
-#define LED_RUNNING_STATUS_PIN GPIOD_LED4
-
-#define LED_ERROR_PORT GPIOD
-#define LED_ERROR_PIN GPIOD_LED5
-
-#define LED_COMMUNICATION_PORT GPIOD
-#define LED_COMMUNICATION_PIN GPIOD_LED6
-
-// USART1 -> check defined STM32_SERIAL_USE_USART1
-// For GPS we have USART1. We can start with PB7 USART1_RX and PB6 USART1_TX
-#define GPS_SERIAL_DEVICE &SD1
-#define GPS_SERIAL_SPEED 38400
-
-#define CONSOLE_MODE_SWITCH_PORT GPIOB
-#define CONSOLE_MODE_SWITCH_PIN 1
-
-#define CONFIG_RESET_SWITCH_PORT GPIOD
-#define CONFIG_RESET_SWITCH_PIN 6
-
-#endif /*ARRO_BOARD_H_*/
diff --git a/firmware/config/boards/boards.h b/firmware/config/boards/boards.h
deleted file mode 100644
index f11dd22757..0000000000
--- a/firmware/config/boards/boards.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
- * @file board.h
- * Board configuration. Only general confuration, and including custom configs
- *
- * @date Nov 14, 2013
- * @author Andrey Belomutskiy, (c) 2012-2014
- * @author frig
- *
- * This file is part of rusEfi - see http://rusefi.com
- *
- * rusEfi is free software; you can redistribute it and/or modify it under the terms of
- * the GNU General Public License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * rusEfi is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along with this program.
- * If not, see .
- */
-#ifndef BOARD_H_
-#define BOARD_H_
-
-#define EFI_BOARD_ARRO TRUE
-
-#if EFI_BOARD_ARRO
-#include "arro_board.h"
-#endif
-
-#endif /*BOARD_H_*/
diff --git a/firmware/config/system/STM32F407xG_CCM.ld b/firmware/config/stm32f4ems/STM32F407xG_CCM.ld
similarity index 100%
rename from firmware/config/system/STM32F407xG_CCM.ld
rename to firmware/config/stm32f4ems/STM32F407xG_CCM.ld
diff --git a/firmware/config/system/chconf.h b/firmware/config/stm32f4ems/chconf.h
similarity index 100%
rename from firmware/config/system/chconf.h
rename to firmware/config/stm32f4ems/chconf.h
diff --git a/firmware/config/stm32f4ems/efifeatures.h b/firmware/config/stm32f4ems/efifeatures.h
index e7a627952d..faba2c1bf0 100644
--- a/firmware/config/stm32f4ems/efifeatures.h
+++ b/firmware/config/stm32f4ems/efifeatures.h
@@ -145,4 +145,164 @@
#define EFI_MAP_AVERAGING TRUE
//#define EFI_MAP_AVERAGING FALSE
+// todo: most of this should become configurable
+
+// todo: switch to continues ADC conversion for slow ADC?
+#define EFI_INTERNAL_SLOW_ADC_PWM &PWMD8
+// todo: switch to continues ADC conversion for fast ADC?
+#define EFI_INTERNAL_FAST_ADC_PWM &PWMD4
+
+#define EFI_CAN_DEVICE CAND2
+#define EFI_CAN_RX_AF 9
+#define EFI_CAN_TX_AF 9
+
+//#define EFI_CAN_DEVICE CAND1
+//#define EFI_CAN_RX_AF 9
+//#define EFI_CAN_TX_AF 9
+
+/**
+ * This section is for bottom-left corner SPI
+ */
+//#define SPI_CS1_PORT GPIOE
+//#define SPI_CS1_PIN 13
+//#define SPI_CS2_PORT GPIOE
+//#define SPI_CS2_PIN 14
+//#define SPI_CS3_PORT GPIOE
+//#define SPI_CS3_PIN 15
+//#define SPI_CS4_PORT GPIOD
+//#define SPI_CS4_PIN 10
+//#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
+
+
+/**
+ * This section is for right-side center SPI
+ */
+// this is pointing into the sky for now - conflict with I2C
+#define SPI_CS2_PORT GPIOH
+// this is pointing into the sky for now - conflict with I2C
+#define SPI_CS2_PIN 0
+#define SPI_CS4_PORT GPIOD
+#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
+
+#define EFI_I2C_SCL_PORT GPIOB
+#define EFI_I2C_SCL_PIN 6
+#define EFI_I2C_SDA_PORT GPIOB
+#define EFI_I2C_SDA_PIN 7
+#define EFI_I2C_AF 4
+
+/**
+ * Patched version of ChibiOS/RT support extra details in the system error messages
+ */
+#define EFI_CUSTOM_PANIC_METHOD TRUE
+
+#define ADC_CHANNEL_VREF ADC_CHANNEL_IN14
+
+/**
+ * currently ChibiOS uses only first and second channels of each timer for input capture
+ *
+ * So, our options are:
+ *
+ * TIM2_CH1
+ * PA5
+ *
+ * TIM4_CH1
+ * PB6
+ * PD12
+ *
+ * TIM9_CH1
+ * PE5
+ */
+
+//#define ETB_CONTROL_LINE_1_PORT GPIOE
+//#define ETB_CONTROL_LINE_1_PIN 0
+//
+//#define ETB_CONTROL_LINE_2_PORT GPIOB
+//#define ETB_CONTROL_LINE_2_PIN 8
+
+//#define CONSOLE_PORT GPIOB
+//#define CONSOLE_TX_PIN 10
+//#define CONSOLE_RX_PIN 11
+
+/**
+ * Here we define the pinout for the human-readable protocol via UART, TunerStudio pinout is defined separately
+ */
+//#define EFI_CONSOLE_TX_PORT GPIOD
+//#define EFI_CONSOLE_TX_PIN 8
+//#define EFI_CONSOLE_RX_PORT GPIOD
+//#define EFI_CONSOLE_RX_PIN 9
+//#define EFI_CONSOLE_AF 7
+
+#define EFI_CONSOLE_UART_DEVICE (&SD3)
+
+#define EFI_CONSOLE_TX_PORT GPIOC
+#define EFI_CONSOLE_TX_PIN 10
+#define EFI_CONSOLE_RX_PORT GPIOC
+#define EFI_CONSOLE_RX_PIN 11
+#define EFI_CONSOLE_AF 7
+
+//#define TS_SERIAL_TX_PORT GPIOD
+//#define TS_SERIAL_TX_PIN 8
+//#define TS_SERIAL_RX_PORT GPIOD
+//#define TS_SERIAL_RX_PIN 9
+//#define TS_SERIAL_AF 7
+
+#define TS_SERIAL_TX_PORT GPIOC
+#define TS_SERIAL_TX_PIN 10
+#define TS_SERIAL_RX_PORT GPIOC
+#define TS_SERIAL_RX_PIN 11
+#define TS_SERIAL_AF 7
+
+#define LED_WARNING_PORT GPIOD
+#define LED_WARNING_PIN GPIOD_LED3
+
+#define LED_RUNNING_STATUS_PORT GPIOD
+#define LED_RUNNING_STATUS_PIN GPIOD_LED4
+
+#define LED_ERROR_PORT GPIOD
+#define LED_ERROR_PIN GPIOD_LED5
+
+#define LED_COMMUNICATION_PORT GPIOD
+#define LED_COMMUNICATION_PIN GPIOD_LED6
+
+// USART1 -> check defined STM32_SERIAL_USE_USART1
+// For GPS we have USART1. We can start with PB7 USART1_RX and PB6 USART1_TX
+#define GPS_SERIAL_DEVICE &SD1
+#define GPS_SERIAL_SPEED 38400
+
+#define CONSOLE_MODE_SWITCH_PORT GPIOB
+#define CONSOLE_MODE_SWITCH_PIN 1
+
+#define CONFIG_RESET_SWITCH_PORT GPIOD
+#define CONFIG_RESET_SWITCH_PIN 6
+
+
+
#endif /* EFIFEATURES_H_ */
diff --git a/firmware/config/system/halconf.h b/firmware/config/stm32f4ems/halconf.h
similarity index 100%
rename from firmware/config/system/halconf.h
rename to firmware/config/stm32f4ems/halconf.h
diff --git a/firmware/config/system/mcuconf.h b/firmware/config/stm32f4ems/mcuconf.h
similarity index 89%
rename from firmware/config/system/mcuconf.h
rename to firmware/config/stm32f4ems/mcuconf.h
index 37b1ab2686..a216c12770 100644
--- a/firmware/config/system/mcuconf.h
+++ b/firmware/config/stm32f4ems/mcuconf.h
@@ -30,7 +30,6 @@
#define STM32F4xx_MCUCONF
-#include "boards.h"
#include "efifeatures.h"
#include "rusefi_enums.h"
@@ -97,6 +96,8 @@
/*
* CAN driver system settings.
*/
+#define STM32_CAN_USE_CAN1 TRUE
+#define STM32_CAN_USE_CAN2 TRUE
#define STM32_CAN_CAN1_IRQ_PRIORITY 11
#define STM32_CAN_CAN2_IRQ_PRIORITY 11
@@ -152,6 +153,8 @@
#define STM32_I2C_USE_I2C1 TRUE
#define STM32_I2C_USE_I2C2 FALSE
#define STM32_I2C_USE_I2C3 FALSE
+#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 5)
+#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
#define STM32_I2C_I2C2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7)
#define STM32_I2C_I2C3_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
@@ -169,6 +172,14 @@
/*
* ICU driver system settings.
*/
+#define STM32_ICU_USE_TIM1 TRUE // wave input
+#define STM32_ICU_USE_TIM2 TRUE // primary position sensor
+#define STM32_ICU_USE_TIM3 TRUE // secondary position sensor
+#define STM32_ICU_USE_TIM4 FALSE
+#define STM32_ICU_USE_TIM5 FALSE
+#define STM32_ICU_USE_TIM8 FALSE
+#define STM32_ICU_USE_TIM9 TRUE // wave input
+
#define STM32_ICU_TIM1_IRQ_PRIORITY 3
#define STM32_ICU_TIM2_IRQ_PRIORITY 3
#define STM32_ICU_TIM3_IRQ_PRIORITY 3
@@ -188,6 +199,14 @@
#define STM32_MAC_ETH1_IRQ_PRIORITY 13
#define STM32_MAC_IP_CHECKSUM_OFFLOAD 0
+#define STM32_PWM_USE_TIM1 FALSE
+#define STM32_PWM_USE_TIM2 FALSE
+#define STM32_PWM_USE_TIM3 FALSE
+#define STM32_PWM_USE_TIM4 TRUE // fast adc
+#define STM32_PWM_USE_TIM5 FALSE
+#define STM32_PWM_USE_TIM8 TRUE // slow adc
+#define STM32_PWM_USE_TIM9 FALSE
+
/*
* PWM driver system settings.
*/
@@ -219,6 +238,9 @@
/*
* SPI driver system settings.
*/
+#define STM32_SPI_USE_SPI1 TRUE
+#define STM32_SPI_USE_SPI2 TRUE // external ADC
+#define STM32_SPI_USE_SPI3 TRUE // potentiometer
#define STM32_SPI_SPI1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 0)
#define STM32_SPI_SPI1_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 3)
#define STM32_SPI_SPI2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 3)
diff --git a/firmware/console/console_io.h b/firmware/console/console_io.h
index 121a750352..e2de8ffc58 100644
--- a/firmware/console/console_io.h
+++ b/firmware/console/console_io.h
@@ -19,7 +19,6 @@
#endif
#include "efifeatures.h"
-#include "boards.h"
#define GET_CONSOLE_MODE_VALUE() palReadPad(CONSOLE_MODE_SWITCH_PORT, CONSOLE_MODE_SWITCH_PIN)
#define SHOULD_INGORE_FLASH() (palReadPad(CONFIG_RESET_SWITCH_PORT, CONFIG_RESET_SWITCH_PIN) == 0)
diff --git a/firmware/controllers/electronic_throttle.cpp b/firmware/controllers/electronic_throttle.cpp
index 6f63ace347..478a5c5e5a 100644
--- a/firmware/controllers/electronic_throttle.cpp
+++ b/firmware/controllers/electronic_throttle.cpp
@@ -23,7 +23,6 @@
#include "main.h"
#include "electronic_throttle.h"
-#include "boards.h"
#include "pin_repository.h"
#include "idle_controller.h"
#include "tps.h"
diff --git a/firmware/controllers/sensors/ego.cpp b/firmware/controllers/sensors/ego.cpp
index d92375cf77..9713802959 100644
--- a/firmware/controllers/sensors/ego.cpp
+++ b/firmware/controllers/sensors/ego.cpp
@@ -1,7 +1,6 @@
#include "main.h"
#include "engine_configuration.h"
#include "interpolation.h"
-#include "boards.h"
#include "adc_inputs.h"
#include "engine.h"
diff --git a/firmware/controllers/sensors/maf.cpp b/firmware/controllers/sensors/maf.cpp
index 6ec60b916d..df60ddc5cc 100644
--- a/firmware/controllers/sensors/maf.cpp
+++ b/firmware/controllers/sensors/maf.cpp
@@ -1,5 +1,4 @@
#include "main.h"
-#include "boards.h"
#include "engine.h"
#include "adc_inputs.h"
#include "maf.h"
diff --git a/firmware/controllers/sensors/map.cpp b/firmware/controllers/sensors/map.cpp
index e323f515dc..d955b4fdb0 100644
--- a/firmware/controllers/sensors/map.cpp
+++ b/firmware/controllers/sensors/map.cpp
@@ -1,5 +1,4 @@
#include "main.h"
-#include "boards.h"
#include "engine_configuration.h"
#include "engine_math.h"
#include "adc_inputs.h"
diff --git a/firmware/controllers/sensors/tps.cpp b/firmware/controllers/sensors/tps.cpp
index 82a24a1e0f..311d48b1f2 100644
--- a/firmware/controllers/sensors/tps.cpp
+++ b/firmware/controllers/sensors/tps.cpp
@@ -1,5 +1,4 @@
#include "main.h"
-#include "boards.h"
#include "tps.h"
#include "engine_configuration.h"
#include "interpolation.h"
diff --git a/firmware/controllers/sensors/voltage.cpp b/firmware/controllers/sensors/voltage.cpp
index a1e4808ee9..13131de747 100644
--- a/firmware/controllers/sensors/voltage.cpp
+++ b/firmware/controllers/sensors/voltage.cpp
@@ -8,7 +8,6 @@
*/
#include "main.h"
-#include "boards.h"
#include "engine_configuration.h"
#include "adc_inputs.h"
#include "voltage.h"
diff --git a/firmware/main.h b/firmware/main.h
index 563d466a1a..d67abcd0c8 100644
--- a/firmware/main.h
+++ b/firmware/main.h
@@ -24,7 +24,6 @@ extern "C"
#include "efifeatures.h"
#include "efitime.h"
-#include "boards.h"
#include "rusefi_enums.h"
#include "enum_strings.h"
diff --git a/firmware/svnversion.h b/firmware/svnversion.h
index c004ef3d5d..6c26853d32 100644
--- a/firmware/svnversion.h
+++ b/firmware/svnversion.h
@@ -1,5 +1,5 @@
// This file was generated by Version2Header
-// Thu Dec 18 08:42:54 EST 2014
+// Tue Dec 23 15:27:13 EST 2014
#ifndef VCS_VERSION
-#define VCS_VERSION "5826"
+#define VCS_VERSION "5874"
#endif