From 8863f8127fb157900833f0398f34d3b6931f239b Mon Sep 17 00:00:00 2001 From: rusEfi Date: Sat, 23 Jan 2016 02:01:34 -0500 Subject: [PATCH] auto-sync --- firmware/config/stm32f4ems/efifeatures.h | 5 +++++ firmware/development/engine_sniffer.cpp | 15 +++++++++++++++ firmware/development/engine_sniffer.h | 13 +++++++++++++ win32_functional_tests/simulator/boards.cpp | 7 ++++--- 4 files changed, 37 insertions(+), 3 deletions(-) diff --git a/firmware/config/stm32f4ems/efifeatures.h b/firmware/config/stm32f4ems/efifeatures.h index c715fea732..0535d98f78 100644 --- a/firmware/config/stm32f4ems/efifeatures.h +++ b/firmware/config/stm32f4ems/efifeatures.h @@ -31,6 +31,11 @@ #define EFI_ENABLE_ASSERTS TRUE #endif /* EFI_ENABLE_ASSERTS */ +#if !defined(EFI_ENABLE_MOCK_ADC) || defined(__DOXYGEN__) + #define EFI_ENABLE_MOCK_ADC TRUE +#endif /* EFI_ENABLE_MOCK_ADC */ + + //#define EFI_UART_ECHO_TEST_MODE TRUE #define EFI_USE_UART_FOR_CONSOLE FALSE diff --git a/firmware/development/engine_sniffer.cpp b/firmware/development/engine_sniffer.cpp index 8193b6b363..ea49ff6aa4 100644 --- a/firmware/development/engine_sniffer.cpp +++ b/firmware/development/engine_sniffer.cpp @@ -26,6 +26,21 @@ #include "main.h" #include "engine_sniffer.h" +#include "adc_math.h" + +MockAdcState::MockAdcState() { + memset(hasMockAdc, 0, sizeof(hasMockAdc)); +} + +void MockAdcState::setMockVoltage(int hwChannel, float voltage) { + fakeAdcValues[hwChannel] = voltsToAdc(voltage); + hasMockAdc[hwChannel] = true; +} + +int MockAdcState::getMockAdcValue(int hwChannel) { + return fakeAdcValues[hwChannel]; +} + #if EFI_ENGINE_SNIFFER || defined(__DOXYGEN__) diff --git a/firmware/development/engine_sniffer.h b/firmware/development/engine_sniffer.h index 2678629ed7..0fcef43c5b 100644 --- a/firmware/development/engine_sniffer.h +++ b/firmware/development/engine_sniffer.h @@ -11,6 +11,19 @@ #include "global.h" +#define MOCK_ADC_SIZE 16 + +class MockAdcState { +public: + MockAdcState(); + bool hasMockAdc[MOCK_ADC_SIZE]; + int fakeAdcValues[MOCK_ADC_SIZE]; + + void setMockVoltage(int hwChannel, float voltage); + int getMockAdcValue(int hwChannel); +}; + + #if EFI_ENGINE_SNIFFER || defined(__DOXYGEN__) #include "datalogging.h" diff --git a/win32_functional_tests/simulator/boards.cpp b/win32_functional_tests/simulator/boards.cpp index 9dcc72c829..a39c04309f 100644 --- a/win32_functional_tests/simulator/boards.cpp +++ b/win32_functional_tests/simulator/boards.cpp @@ -9,19 +9,20 @@ #include "boards.h" #include "engine_configuration.h" #include "adc_math.h" +#include "engine_sniffer.h" static LoggingWithStorage logger("simulator board"); extern engine_configuration_s *engineConfiguration; -static float fakeAdcValues[16]; +MockAdcState mockAdcState; int getAdcValue(const char *msg, int hwChannel) { - return fakeAdcValues[hwChannel]; + return mockAdcState.getMockAdcValue(hwChannel); } static void setVoltage(int hwChannel, float voltage) { scheduleMsg(&logger, "fake voltage: channel %d value %f", hwChannel, voltage); - fakeAdcValues[hwChannel] = voltsToAdc(voltage); + mockAdcState.setMockVoltage(hwChannel, voltage); } static void setCltVoltage(float voltage) {