rusefi-1/win32_functional_tests/simulator/boards.cpp

63 lines
1.6 KiB
C++
Raw Normal View History

2014-08-29 07:52:33 -07:00
/**
2015-01-13 19:04:02 -08:00
* @file board.cpp
2014-08-29 07:52:33 -07:00
*
* @date Nov 15, 2013
2015-01-12 16:05:46 -08:00
* @author Andrey Belomutskiy, (c) 2012-2015
2014-08-29 07:52:33 -07:00
*/
#include "main.h"
#include "boards.h"
#include "engine_configuration.h"
#include "adc_math.h"
2015-01-13 19:04:02 -08:00
static LoggingWithStorage logger;
2014-08-29 07:52:33 -07:00
extern engine_configuration_s *engineConfiguration;
static float fakeAdcValues[16];
int getAdcValue(int hwChannel) {
return fakeAdcValues[hwChannel];
}
static void setVoltage(int hwChannel, float voltage) {
scheduleMsg(&logger, "fake voltage: channel %d value %f", hwChannel, voltage);
fakeAdcValues[hwChannel] = voltsToAdc(voltage);
}
static void setCltVoltage(float voltage) {
setVoltage(engineConfiguration->cltAdcChannel, voltage);
}
static void setIatVoltage(float voltage) {
setVoltage(engineConfiguration->iatAdcChannel, voltage);
}
static void setMafVoltage(float voltage) {
setVoltage(engineConfiguration->mafAdcChannel, voltage);
}
static void setAfrVoltage(float voltage) {
setVoltage(engineConfiguration->afrSensor.afrAdcChannel, voltage);
}
static void setTpsVoltage(float voltage) {
setVoltage(engineConfiguration->tpsAdcChannel, voltage);
}
static void setMapVoltage(float voltage) {
setVoltage(engineConfiguration->map.sensor.hwChannel, voltage);
}
void initFakeBoard(void) {
initLogging(&logger, "simulator board");
addConsoleActionF("set_mock_clt_voltage", setCltVoltage);
addConsoleActionF("set_mock_iat_voltage", setIatVoltage);
addConsoleActionF("set_mock_maf_voltage", setMafVoltage);
addConsoleActionF("set_mock_afr_voltage", setAfrVoltage);
addConsoleActionF("set_mock_tps_voltage", setTpsVoltage);
addConsoleActionF("set_mock_map_voltage", setMapVoltage);
}