diff --git a/firmware/development/logic_analyzer.cpp b/firmware/development/logic_analyzer.cpp index afe88cfbe8..e994fa72ec 100644 --- a/firmware/development/logic_analyzer.cpp +++ b/firmware/development/logic_analyzer.cpp @@ -120,7 +120,7 @@ static void initWave(const char *name, int index) { reader->hw->setPeriodCallback((VoidInt)(void*) waIcuPeriodCallback, (void*) reader); } - print("wave%d input on %s\r\n", index, hwPortname(brainPin)); + scheduleMsg(logger, "wave%d input on %s", index, hwPortname(brainPin)); } WaveReader::WaveReader() { @@ -221,21 +221,24 @@ void initWaveAnalyzer(Logging *sharedLogger) { return; } + addConsoleAction("waveinfo", showWaveInfo); +} + +void startLogicAnalyzerPins() { initWave(PROTOCOL_WA_CHANNEL_1, 0); initWave(PROTOCOL_WA_CHANNEL_2, 1); initWave(PROTOCOL_WA_CHANNEL_3, 2); initWave(PROTOCOL_WA_CHANNEL_4, 3); - - addConsoleAction("waveinfo", showWaveInfo); - } -void startLogicAnalyzerPins(void) { +void stopLogicAnalyzerPins() { + for (int index = 0; index < LOGIC_ANALYZER_CHANNEL_COUNT; index++) { + brain_pin_e brainPin = CONFIG(logicAnalyzerPins)[index]; -} - -void stopLogicAnalyzerPins(void) { + if (brainPin != GPIO_UNASSIGNED) { + } + } } #endif /* EFI_LOGIC_ANALYZER */ diff --git a/firmware/development/logic_analyzer.h b/firmware/development/logic_analyzer.h index 3495cfd2b8..77fd912227 100644 --- a/firmware/development/logic_analyzer.h +++ b/firmware/development/logic_analyzer.h @@ -51,8 +51,8 @@ public: }; void initWaveAnalyzer(Logging *sharedLogger); -void startLogicAnalyzerPins(void); -void stopLogicAnalyzerPins(void); +void startLogicAnalyzerPins(); +void stopLogicAnalyzerPins(); void printWave(Logging *logging); void showWaveInfo(void); diff --git a/firmware/hw_layer/hardware.cpp b/firmware/hw_layer/hardware.cpp index 634659795d..211a354816 100644 --- a/firmware/hw_layer/hardware.cpp +++ b/firmware/hw_layer/hardware.cpp @@ -23,6 +23,7 @@ #include "yaw_rate_sensor.h" #include "pin_repository.h" #include "max31855.h" +#include "logic_analyzer.h" #include "smart_gpio.h" #include "accelerometer.h" #include "eficonsole.h" @@ -343,6 +344,10 @@ void applyNewHardwareSettings(void) { stopVSSPins(); #endif /* EFI_VEHICLE_SPEED */ +#if EFI_LOGIC_ANALYZER + stopLogicAnalyzerPins(); +#endif /* EFI_LOGIC_ANALYZER */ + #if EFI_AUX_PID stopAuxPins(); #endif /* EFI_AUX_PID */ @@ -420,6 +425,9 @@ void applyNewHardwareSettings(void) { #if EFI_BOOST_CONTROL startBoostPin(); #endif +#if EFI_LOGIC_ANALYZER + startLogicAnalyzerPins(); +#endif /* EFI_LOGIC_ANALYZER */ #if EFI_AUX_PID startAuxPins(); #endif /* EFI_AUX_PID */