fome-fw/firmware/controllers/sensors/maf.cpp

57 lines
1.4 KiB
C++

#include "main.h"
#include "engine.h"
#include "adc_inputs.h"
#include "maf.h"
EXTERN_ENGINE
;
float getMaf(DECLARE_ENGINE_PARAMETER_F) {
return getMafT(engineConfiguration);
}
/**
* @return kg/hour value
*/
float getRealMaf(DECLARE_ENGINE_PARAMETER_F) {
int mafAdc = getAdcValue(engineConfiguration->mafAdcChannel);
/**
* here we drop from 12 bit ADC to 8 bit index
*/
return engine->mafDecodingLookup[mafAdc >> 4];
}
void setBosch0280218037(engine_configuration_s *engineConfiguration) {
int i = 0;
engineConfiguration->mafDecoding[i] = -34.5;
engineConfiguration->mafDecodingBins[i++] = 0;
engineConfiguration->mafDecoding[i] = -6;
engineConfiguration->mafDecodingBins[i++] = 0.78125;
engineConfiguration->mafDecoding[i] = 10.5;
engineConfiguration->mafDecodingBins[i++] = 1.38671875;
engineConfiguration->mafDecoding[i] = 105.3;
engineConfiguration->mafDecodingBins[i++] = 2.91015625;
engineConfiguration->mafDecoding[i] = 387.5;
engineConfiguration->mafDecodingBins[i++] = 4.2578125;
engineConfiguration->mafDecoding[i] = 738;
engineConfiguration->mafDecodingBins[i++] = 4.98046875;
/**
* unrealistic values just to make binary search happy
*/
while (i < MAF_DECODING_COUNT) {
engineConfiguration->mafDecoding[i] = 200;
engineConfiguration->mafDecodingBins[i] = 10 + i;
i++;
}
}
void setBosch0280218004(engine_configuration_s *engineConfiguration) {
}