From 296d8d1584e77f1e73d01ecf92b1140de041ce1f Mon Sep 17 00:00:00 2001 From: rusEfi Date: Fri, 21 Apr 2017 23:05:48 -0400 Subject: [PATCH] bugfix: speed sensor input under ChibiOS 3.0 was broken --- firmware/hw_layer/digital_input_hw.cpp | 1 + firmware/hw_layer/trigger_input.cpp | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/firmware/hw_layer/digital_input_hw.cpp b/firmware/hw_layer/digital_input_hw.cpp index cacea9bc55..3406d8e909 100644 --- a/firmware/hw_layer/digital_input_hw.cpp +++ b/firmware/hw_layer/digital_input_hw.cpp @@ -211,6 +211,7 @@ void startInputDriver(digital_input_s *hw, bool isActiveHigh) { } wave_icucfg.channel = getInputCaptureChannel(hw->brainPin); efiIcuStart(driver, &wave_icucfg); + icuStartCapture(driver); // this would change state from READY to WAITING icuEnableNotifications(driver); } hw->started = true; diff --git a/firmware/hw_layer/trigger_input.cpp b/firmware/hw_layer/trigger_input.cpp index a3c2d78150..04e8835ae2 100644 --- a/firmware/hw_layer/trigger_input.cpp +++ b/firmware/hw_layer/trigger_input.cpp @@ -123,7 +123,7 @@ static ICUDriver *turnOnTriggerInputPin(const char *msg, brain_pin_e hwPin, ICUC efiIcuStart(driver, icucfg); if (driver->state == ICU_READY) { - icuStartCapture(driver); + icuStartCapture(driver); // this would change state from READY to WAITING icuEnableNotifications(driver); } else { // we would be here for example if same pin is used for multiple input capture purposes