diff --git a/firmware/config/boards/microrusefi/board.mk b/firmware/config/boards/microrusefi/board.mk index 74812256b3..1c83f3aa99 100644 --- a/firmware/config/boards/microrusefi/board.mk +++ b/firmware/config/boards/microrusefi/board.mk @@ -31,6 +31,12 @@ DDEFS += $(VAR_DEF_ENGINE_TYPE) # This board can capture SENT DDEFS += -DEFI_SENT_SUPPORT=TRUE +# This board has LIN/K-line interface +DDEFS += -DEFI_KLINE=TRUE +DDEFS += -DKLINE_SERIAL_DEVICE_RX=Gpio::D9 -DKLINE_SERIAL_DEVICE_TX=Gpio::D8 +DDEFS += -DKLINE_SERIAL_DEVICE=SD3 +DDEFS += -DSTM32_SERIAL_USE_USART3=TRUE + # We are running on microRusEFI hardware! DDEFS += -DHW_MICRO_RUSEFI=1 diff --git a/firmware/hw_layer/kline.cpp b/firmware/hw_layer/kline.cpp index 05eb0af542..fd7fa5559d 100644 --- a/firmware/hw_layer/kline.cpp +++ b/firmware/hw_layer/kline.cpp @@ -3,7 +3,7 @@ #include "hellen_meta.h" #ifdef EFI_KLINE -static SerialDriver* const klDriver = KLINE_SERIAL_DEVICE; +static SerialDriver* const klDriver = &KLINE_SERIAL_DEVICE; static THD_WORKING_AREA(klThreadStack, UTILITY_THREAD_STACK_SIZE); static int totalBytes = 0; diff --git a/firmware/hw_layer/kline.h b/firmware/hw_layer/kline.h index 447fd38841..491885f029 100644 --- a/firmware/hw_layer/kline.h +++ b/firmware/hw_layer/kline.h @@ -1,9 +1,15 @@ #pragma once -#define KLINE_SERIAL_DEVICE (&SD2) +#ifndef KLINE_SERIAL_DEVICE +#define KLINE_SERIAL_DEVICE SD2 +#endif +#ifndef KLINE_SERIAL_DEVICE_RX #define KLINE_SERIAL_DEVICE_RX H144_UART2_RX +#endif +#ifndef KLINE_SERIAL_DEVICE_TX #define KLINE_SERIAL_DEVICE_TX H144_UART2_TX +#endif // The standard transmission rate #define KLINE_BAUD_RATE 10400