From ab6ad0fa0a055915b6e2644445b6d3ca73a505c9 Mon Sep 17 00:00:00 2001 From: Andrei Date: Tue, 2 May 2017 20:34:01 +0300 Subject: [PATCH] BOARDSRC_CPP (and compatibility issues) pull request --- firmware/Makefile | 1 + firmware/config/boards/ST_STM32F4/board.mk | 1 + firmware/config/stm32f0egt/efifeatures.h | 2 ++ firmware/config/stm32f4ems/efifeatures.h | 4 ++++ firmware/console/binary/tunerstudio_io.cpp | 14 ++++++++++---- firmware/hw_layer/joystick.cpp | 2 ++ firmware/hw_layer/rtc_helper.cpp | 2 ++ 7 files changed, 22 insertions(+), 4 deletions(-) diff --git a/firmware/Makefile b/firmware/Makefile index 1a8ec69c54..5b220d9ad7 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -176,6 +176,7 @@ CPPSRC = $(CHCPPSRC) \ $(DEV_SRC_CPP) \ $(CONTROLLERS_ALGO_SRC_CPP) \ $(SYSTEMSRC_CPP) \ + $(BOARDSRC_CPP) \ $(ENGINES_SRC_CPP) \ $(HW_LAYER_EMS_CPP) \ $(HW_SENSORS_SRC) \ diff --git a/firmware/config/boards/ST_STM32F4/board.mk b/firmware/config/boards/ST_STM32F4/board.mk index 3f6f71c3a6..cd52bf6250 100644 --- a/firmware/config/boards/ST_STM32F4/board.mk +++ b/firmware/config/boards/ST_STM32F4/board.mk @@ -1,5 +1,6 @@ # List of all the board related files. BOARDSRC = $(PROJECT_DIR)/config/boards/ST_STM32F4/board.c +BOARDSRC_CPP = # Required include directories BOARDINC = $(PROJECT_DIR)/config/boards/ST_STM32F4 diff --git a/firmware/config/stm32f0egt/efifeatures.h b/firmware/config/stm32f0egt/efifeatures.h index 2d927ff73d..67feff44f0 100644 --- a/firmware/config/stm32f0egt/efifeatures.h +++ b/firmware/config/stm32f0egt/efifeatures.h @@ -18,6 +18,8 @@ #define EFI_CONSOLE_UART_DEVICE (&SD1) +#define TS_SERIAL_UART_DEVICE (&SD3) + #define EFI_CONSOLE_TX_PORT GPIOC #define EFI_CONSOLE_TX_PIN 10 #define EFI_CONSOLE_RX_PORT GPIOC diff --git a/firmware/config/stm32f4ems/efifeatures.h b/firmware/config/stm32f4ems/efifeatures.h index de0b8e5777..59af3a0736 100644 --- a/firmware/config/stm32f4ems/efifeatures.h +++ b/firmware/config/stm32f4ems/efifeatures.h @@ -243,6 +243,10 @@ #define EFI_CONSOLE_UART_DEVICE (&SD3) #endif +#ifndef TS_SERIAL_UART_DEVICE +#define TS_SERIAL_UART_DEVICE (&SD3) +#endif + // todo: start using consoleSerialTxPin? Not sure #ifndef EFI_CONSOLE_TX_PORT #define EFI_CONSOLE_TX_PORT GPIOC diff --git a/firmware/console/binary/tunerstudio_io.cpp b/firmware/console/binary/tunerstudio_io.cpp index 380305f87a..de76cf5678 100644 --- a/firmware/console/binary/tunerstudio_io.cpp +++ b/firmware/console/binary/tunerstudio_io.cpp @@ -21,10 +21,13 @@ extern LoggingWithStorage tsLogger; #include "pin_repository.h" #include "usbconsole.h" #include "map_averaging.h" + +#if HAL_USE_SERIAL_USB || defined(__DOXYGEN__) extern SerialUSBDriver SDU1; #define CONSOLE_DEVICE &SDU1 - -#define TS_SERIAL_UART_DEVICE &SD3 +#else +#define CONSOLE_DEVICE TS_SERIAL_UART_DEVICE +#endif static SerialConfig tsSerialConfig = { 0, 0, USART_CR2_STOP1_BITS | USART_CR2_LINEN, 0 }; @@ -56,10 +59,13 @@ void startTsPort(void) { BaseChannel * getTsSerialDevice(void) { #if EFI_PROD_CODE || defined(__DOXYGEN__) +#if EFI_USB_SERIAL || defined(__DOXYGEN__) if (isCommandLineConsoleOverTTL()) { // if console uses UART then TS uses USB - return (BaseChannel *) &SDU1; - } else { + return (BaseChannel *) CONSOLE_DEVICE; + } else +#endif + { return (BaseChannel *) TS_SERIAL_UART_DEVICE; } #else diff --git a/firmware/hw_layer/joystick.cpp b/firmware/hw_layer/joystick.cpp index ab9322ac5c..352b7a1445 100644 --- a/firmware/hw_layer/joystick.cpp +++ b/firmware/hw_layer/joystick.cpp @@ -58,6 +58,8 @@ static void extCallback(EXTDriver *extp, expchannel_t channel) { } #if EFI_HD44780_LCD || defined(__DOXYGEN__) onJoystick(button); +#else + UNUSED(button); #endif } diff --git a/firmware/hw_layer/rtc_helper.cpp b/firmware/hw_layer/rtc_helper.cpp index 87355e5679..99a0839ad6 100644 --- a/firmware/hw_layer/rtc_helper.cpp +++ b/firmware/hw_layer/rtc_helper.cpp @@ -41,6 +41,8 @@ static time_t GetTimeUnixSec(void) { rtcGetTime(&RTCD1, ×pec); rtcConvertDateTimeToStructTm(×pec, &tim, NULL); return mktime(&tim); +#else + return (time_t)0; #endif }