rusEFI
The most advanced open source ECU
|
Low level ADC code.
rusEfi uses two ADC devices on the same 16 pins at the moment. Two ADC devices are used in order to distinguish between fast and slow devices. The idea is that but only having few channels in 'fast' mode we can sample those faster?
Slow ADC group is used for IAT, CLT, AFR, VBATT etc - this one is currently sampled at 500Hz
Fast ADC group is used for MAP, MAF HIP - this one is currently sampled at 10KHz We need frequent MAP for map_averaging.cpp
10KHz equals one measurement every 3.6 degrees at 6000 RPM
PS: analog muxes allow to double number of analog inputs oh, and ADC3 is dedicated for knock
Definition in file adc_inputs_onchip.cpp.
Functions | |
float | adcGetRawVoltage (const char *msg, adc_channel_e hwChannel) |
float | adcGetScaledVoltage (const char *msg, adc_channel_e hwChannel) |
static void | fastAdcDoneCB (ADCDriver *adcp) |
static void | fastAdcErrorCB (ADCDriver *, adcerror_t err) |
static void | fastAdcStartTrigger (GPTDriver *) |
Variables | |
static ADCConversionGroup | adcgrpcfgFast |
static volatile NO_CACHE adcsample_t | fastAdcSampleBuf [ADC_BUF_DEPTH_FAST *ADC_MAX_CHANNELS_COUNT] |
AdcDevice fastAdc & | ADC_FAST_DEVICE |
static efitick_t | lastTick = 0 |
static const PWMConfig | pwmcfg |
static const GPTConfig | fast_adc_config |
float adcGetRawVoltage | ( | const char * | msg, |
adc_channel_e | hwChannel | ||
) |
Definition at line 33 of file adc_inputs_onchip.cpp.
Referenced by adcGetScaledVoltage(), printAdcChannedReport(), AdcSubscription::PrintInfo(), printMAPInfo(), and AdcSubscription::UpdateSubscribers().
float adcGetScaledVoltage | ( | const char * | msg, |
adc_channel_e | hwChannel | ||
) |
Definition at line 38 of file adc_inputs_onchip.cpp.
Referenced by getAfr(), printAdcChannedReport(), and updateRawSensors().
|
static |
Definition at line 142 of file adc_inputs_onchip.cpp.
|
static |
Definition at line 156 of file adc_inputs_onchip.cpp.
|
static |
Definition at line 186 of file adc_inputs_onchip.cpp.
Definition at line 138 of file adc_inputs_onchip.cpp.
Referenced by AdcDevice::startConversionI().
|
static |
Definition at line 80 of file adc_inputs_onchip.cpp.
Referenced by portInitAdc().
|
static |
Definition at line 198 of file adc_inputs_onchip.cpp.
Referenced by AdcDevice::init().
|
static |
Definition at line 136 of file adc_inputs_onchip.cpp.
|
static |
Definition at line 140 of file adc_inputs_onchip.cpp.
Referenced by fastAdcDoneCB().
|
static |
Definition at line 167 of file adc_inputs_onchip.cpp.
Referenced by AdcDevice::init().