ETB target is using integer values #945

refactoring - ADC mocking is a mess
This commit is contained in:
rusefi 2019-09-22 17:19:08 -04:00
parent bce63b112a
commit 5a43153541
3 changed files with 37 additions and 27 deletions

View File

@ -75,7 +75,7 @@
#if ! EFI_UNIT_TEST
#include "init.h"
#endif
#endif /* EFI_UNIT_TEST */
#if EFI_PROD_CODE
#include "pwm_generator.h"
@ -96,7 +96,7 @@
void mostCommonInitEngineController(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX) {
#if !EFI_UNIT_TEST
initSensors();
#endif
#endif /* EFI_UNIT_TEST */
initSensors(sharedLogger PASS_ENGINE_PARAMETER_SUFFIX);
@ -593,39 +593,40 @@ static void setFloat(const char *offsetStr, const char *valueStr) {
getFloat(offset);
onConfigurationChanged();
}
#endif /* EFI_UNIT_TEST */
#if EFI_ENABLE_MOCK_ADC
void setMockCltVoltage(float voltage DECLARE_ENGINE_PARAMETER_SUFFIX) {
setMockVoltage(engineConfiguration->clt.adcChannel, voltage);
setMockVoltage(engineConfiguration->clt.adcChannel, voltage PASS_ENGINE_PARAMETER_SUFFIX);
}
void setMockIatVoltage(float voltage DECLARE_ENGINE_PARAMETER_SUFFIX) {
setMockVoltage(engineConfiguration->iat.adcChannel, voltage);
setMockVoltage(engineConfiguration->iat.adcChannel, voltage PASS_ENGINE_PARAMETER_SUFFIX);
}
void setMockMafVoltage(float voltage DECLARE_ENGINE_PARAMETER_SUFFIX) {
setMockVoltage(engineConfiguration->mafAdcChannel, voltage);
setMockVoltage(engineConfiguration->mafAdcChannel, voltage PASS_ENGINE_PARAMETER_SUFFIX);
}
void setMockAfrVoltage(float voltage) {
setMockVoltage(engineConfiguration->afr.hwChannel, voltage);
void setMockAfrVoltage(float voltage DECLARE_ENGINE_PARAMETER_SUFFIX) {
setMockVoltage(engineConfiguration->afr.hwChannel, voltage PASS_ENGINE_PARAMETER_SUFFIX);
}
void setMockThrottlePedalSensorVoltage(float voltage) {
setMockVoltage(engineConfiguration->throttlePedalPositionAdcChannel, voltage);
void setMockThrottlePedalSensorVoltage(float voltage DECLARE_ENGINE_PARAMETER_SUFFIX) {
setMockVoltage(engineConfiguration->throttlePedalPositionAdcChannel, voltage PASS_ENGINE_PARAMETER_SUFFIX);
}
void setMockThrottlePositionSensorVoltage(float voltage) {
setMockVoltage(engineConfiguration->tps1_1AdcChannel, voltage);
void setMockThrottlePositionSensorVoltage(float voltage DECLARE_ENGINE_PARAMETER_SUFFIX) {
setMockVoltage(engineConfiguration->tps1_1AdcChannel, voltage PASS_ENGINE_PARAMETER_SUFFIX);
}
void setMockMapVoltage(float voltage) {
setMockVoltage(engineConfiguration->map.sensor.hwChannel, voltage);
void setMockMapVoltage(float voltage DECLARE_ENGINE_PARAMETER_SUFFIX) {
setMockVoltage(engineConfiguration->map.sensor.hwChannel, voltage PASS_ENGINE_PARAMETER_SUFFIX);
}
void setMockVBattVoltage(float voltage) {
setMockVoltage(engineConfiguration->vbattAdcChannel, voltage);
void setMockVBattVoltage(float voltage DECLARE_ENGINE_PARAMETER_SUFFIX) {
setMockVoltage(engineConfiguration->vbattAdcChannel, voltage PASS_ENGINE_PARAMETER_SUFFIX);
}
static void initMockVoltage(void) {
@ -641,6 +642,9 @@ static void initMockVoltage(void) {
#endif /* EFI_ENABLE_MOCK_ADC */
#if !EFI_UNIT_TEST
static void initConfigActions(void) {
addConsoleActionSS("set_float", (VoidCharPtrCharPtr) setFloat);
addConsoleActionII("set_int", (VoidIntInt) setInt);

View File

@ -23,15 +23,15 @@ void mostCommonInitEngineController(Logging *sharedLogger DECLARE_ENGINE_PARAMET
void setMockVoltage(int hwChannel, float voltage DECLARE_ENGINE_PARAMETER_SUFFIX);
#endif
void setMockVBattVoltage(float voltage);
void setMockMapVoltage(float voltage);
void setMockVBattVoltage(float voltage DECLARE_ENGINE_PARAMETER_SUFFIX);
void setMockMapVoltage(float voltage DECLARE_ENGINE_PARAMETER_SUFFIX);
// throttle body sensor
void setMockThrottlePositionSensorVoltage(float voltage);
void setMockThrottlePedalSensorVoltage(float voltage);
void setMockAfrVoltage(float voltage);
void setMockMafVoltage(float voltage);
void setMockIatVoltage(float voltage);
void setMockCltVoltage(float voltage);
void setMockThrottlePositionSensorVoltage(float voltage DECLARE_ENGINE_PARAMETER_SUFFIX);
void setMockThrottlePedalSensorVoltage(float voltage DECLARE_ENGINE_PARAMETER_SUFFIX);
void setMockAfrVoltage(float voltage DECLARE_ENGINE_PARAMETER_SUFFIX);
void setMockMafVoltage(float voltage DECLARE_ENGINE_PARAMETER_SUFFIX);
void setMockIatVoltage(float voltage DECLARE_ENGINE_PARAMETER_SUFFIX);
void setMockCltVoltage(float voltage DECLARE_ENGINE_PARAMETER_SUFFIX);
void printCurrentState(Logging *logging, int seconds, const char *engineTypeName, const char *firmwareBuildId);

View File

@ -6,28 +6,34 @@
*/
#include "boards.h"
#include "engine.h"
// todo: migrate to engine->engineState.mockAdcState
float testMafValue = 0;
float testCltValue = 0;
float testIatValue = 0;
float getVoltageDivided(const char *msg, adc_channel_e channel DECLARE_ENGINE_PARAMETER_SUFFIX) {
switch(channel) {
float getVoltageDivided(const char *msg, adc_channel_e hwChannel DECLARE_ENGINE_PARAMETER_SUFFIX) {
switch(hwChannel) {
case TEST_MAF_CHANNEL:
return testMafValue;
case TEST_CLT_CHANNEL:
return testCltValue;
//return adcToVolts(engine->engineState.mockAdcState.getMockAdcValue(hwChannel));
case TEST_IAT_CHANNEL:
return testIatValue;
//return adcToVolts(engine->engineState.mockAdcState.getMockAdcValue(hwChannel));
}
return 0;
}
float getVoltage(const char *msg, adc_channel_e channel DECLARE_ENGINE_PARAMETER_SUFFIX) {
float getVoltage(const char *msg, adc_channel_e hwChannel DECLARE_ENGINE_PARAMETER_SUFFIX) {
if (engine->engineState.mockAdcState.hasMockAdc[hwChannel])
return adcToVolts(engine->engineState.mockAdcState.getMockAdcValue(hwChannel) * engineConfiguration->analogInputDividerCoefficient);
return 0;
}
int getAdcValue(const char *msg, adc_channel_e channel) {
int getAdcValue(const char *msg, adc_channel_e hwChannel) {
return 0;
}