5V-compatible adcVcc + trigger_input_comp + Kinetis COMP driver impr. (#1036)
* adcVcc is not only for 3V STM32 * update ini files * Kinetis: improve COMP driver * Improve trigger_input_comp.cpp (hysteresis)
This commit is contained in:
parent
1d817e9768
commit
3b352f6a3a
|
@ -112,8 +112,12 @@ void comp_lld_init(void) {
|
|||
static void comp_lld_irq_handler(COMPDriver *compp) {
|
||||
if (compp->config->cb != NULL)
|
||||
compp->config->cb(compp);
|
||||
// clear flags to continue
|
||||
ACMP_ClearStatusFlags(compp->reg, kACMP_OutputRisingEventFlag | kACMP_OutputFallingEventFlag);
|
||||
|
||||
/* Add for ARM errata 838869, affects Cortex-M4, Cortex-M4F Store immediate overlapping
|
||||
exception return operation might vector to incorrect interrupt */
|
||||
#if defined __CORTEX_M && (__CORTEX_M == 4U)
|
||||
__DSB();
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -156,9 +160,10 @@ OSAL_IRQ_HANDLER(KINETIS_COMP2_IRQ_VECTOR) {
|
|||
void comp_lld_channel_enable(COMPDriver *compp, uint32_t channel) {
|
||||
osalDbgAssert(channel <= 7, "invalid channel number");
|
||||
memset(&compp->acmpChannelCfg, 0, sizeof(compp->acmpChannelCfg));
|
||||
compp->acmpChannelCfg.positivePortInput = kACMP_PortInputFromDAC;
|
||||
compp->acmpChannelCfg.negativePortInput = kACMP_PortInputFromMux;
|
||||
compp->acmpChannelCfg.minusMuxInput = channel;
|
||||
compp->acmpChannelCfg.positivePortInput = kACMP_PortInputFromMux;
|
||||
compp->acmpChannelCfg.plusMuxInput = channel;
|
||||
compp->acmpChannelCfg.negativePortInput = kACMP_PortInputFromDAC;
|
||||
compp->acmpChannelCfg.minusMuxInput = 0U;
|
||||
ACMP_SetChannelConfig(compp->reg, &compp->acmpChannelCfg);
|
||||
}
|
||||
|
||||
|
@ -183,8 +188,6 @@ void comp_lld_channel_disable(COMPDriver *compp, uint32_t channel) {
|
|||
* @notapi
|
||||
*/
|
||||
void comp_lld_set_dac_value(COMPDriver *compp, uint32_t value) {
|
||||
memset(&compp->acmpDacCfg, 0, sizeof(compp->acmpDacCfg));
|
||||
compp->acmpDacCfg.referenceVoltageSource = kACMP_VrefSourceVin1; // connected to VDDA on KE1xF
|
||||
compp->acmpDacCfg.DACValue = value;
|
||||
ACMP_SetDACConfig(compp->reg, &compp->acmpDacCfg);
|
||||
}
|
||||
|
@ -200,8 +203,23 @@ void comp_lld_start(COMPDriver *compp) {
|
|||
ACMP_GetDefaultConfig(&compp->acmpCfg);
|
||||
if (compp->config->output_mode == COMP_OUTPUT_INVERTED)
|
||||
compp->acmpCfg.enableInvertOutput = true;
|
||||
compp->acmpCfg.enableHighSpeed = true;
|
||||
compp->acmpCfg.useUnfilteredOutput = true; //false;
|
||||
compp->acmpCfg.hysteresisMode = kACMP_HysteresisLevel2; // L1=~16mV, L2=~32mV
|
||||
|
||||
ACMP_Init(compp->reg, &compp->acmpCfg);
|
||||
compp->irq_mask = 0;
|
||||
|
||||
#if 0
|
||||
acmp_filter_config_t filterCfg = { 0 };
|
||||
filterCfg.filterCount = 2U;
|
||||
filterCfg.filterPeriod = 2U;
|
||||
filterCfg.enableSample = false;
|
||||
ACMP_SetFilterConfig(compp->reg, &filterCfg);
|
||||
#endif
|
||||
|
||||
memset(&compp->acmpDacCfg, 0, sizeof(compp->acmpDacCfg));
|
||||
compp->acmpDacCfg.referenceVoltageSource = kACMP_VrefSourceVin1; // connected to VDDA on KE1xF
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -249,7 +267,10 @@ void comp_lld_disable(COMPDriver *compp) {
|
|||
}
|
||||
|
||||
uint32_t comp_lld_get_status(COMPDriver *compp) {
|
||||
return ACMP_GetStatusFlags(compp->reg);
|
||||
uint32_t status = ACMP_GetStatusFlags(compp->reg);
|
||||
// clear flags to continue
|
||||
ACMP_ClearStatusFlags(compp->reg, status);
|
||||
return status;
|
||||
}
|
||||
|
||||
#endif /* HAL_USE_COMP */
|
||||
|
|
|
@ -23,25 +23,36 @@ EXTERN_ENGINE
|
|||
;
|
||||
static Logging *logger;
|
||||
|
||||
static int centeredDacValue = 127;
|
||||
|
||||
static const int dacNoiseDeltaMin = 1; // = 5V * 1/256 (8-bit DAC) = ~20mV
|
||||
static const int dacNoiseDeltaMax = 15; // = ~300mV
|
||||
|
||||
// todo: interpolate between min and max depending on the signal level (adaptive hysteresis)
|
||||
static const int dacNoiseDelta = dacNoiseDeltaMax;
|
||||
|
||||
static void comp_shaft_callback(COMPDriver *comp) {
|
||||
bool isRising = (comp_lld_get_status(comp) & COMP_IRQ_RISING) != 0;
|
||||
uint32_t status = comp_lld_get_status(comp);
|
||||
int isPrimary = (comp == EFI_COMP_PRIMARY_DEVICE);
|
||||
if (!isPrimary && !TRIGGER_SHAPE(needSecondTriggerInput)) {
|
||||
return;
|
||||
}
|
||||
trigger_event_e signal;
|
||||
if (isRising) {
|
||||
if (status & COMP_IRQ_RISING) {
|
||||
signal = isPrimary ? (engineConfiguration->invertPrimaryTriggerSignal ? SHAFT_PRIMARY_FALLING : SHAFT_PRIMARY_RISING) :
|
||||
(engineConfiguration->invertSecondaryTriggerSignal ? SHAFT_SECONDARY_FALLING : SHAFT_SECONDARY_RISING);
|
||||
} else {
|
||||
hwHandleShaftSignal(signal);
|
||||
// shift the threshold down a little bit to avoid false-triggering (threshold hysteresis)
|
||||
comp_lld_set_dac_value(comp, centeredDacValue - dacNoiseDelta);
|
||||
}
|
||||
|
||||
if (status & COMP_IRQ_FALLING) {
|
||||
signal = isPrimary ? (engineConfiguration->invertPrimaryTriggerSignal ? SHAFT_PRIMARY_RISING : SHAFT_PRIMARY_FALLING) :
|
||||
(engineConfiguration->invertSecondaryTriggerSignal ? SHAFT_SECONDARY_RISING : SHAFT_SECONDARY_FALLING);
|
||||
hwHandleShaftSignal(signal);
|
||||
// shift the threshold up a little bit to avoid false-triggering (threshold hysteresis)
|
||||
comp_lld_set_dac_value(comp, centeredDacValue + dacNoiseDelta);
|
||||
}
|
||||
hwHandleShaftSignal(signal);
|
||||
|
||||
#ifdef EFI_TRIGGER_DEBUG_BLINK
|
||||
__blink(1);
|
||||
#endif
|
||||
}
|
||||
|
||||
// todo: add cam support?
|
||||
|
@ -74,13 +85,9 @@ void turnOnTriggerInputPins(Logging *sharedLogger) {
|
|||
void startTriggerInputPins(void) {
|
||||
//efiAssertVoid(CUSTOM_ERR_, !isCompEnabled, "isCompEnabled");
|
||||
|
||||
const float vRef = 5.0f;
|
||||
const float vSensorRef = 2.5f; // 2.5V resistor divider
|
||||
// when VR sensor is silent, there's still some noise around vRef, so we need a small threshold to avoid false triggering
|
||||
const float noSignalThreshold = 0.05f;
|
||||
|
||||
const int maxDacValue = 255;
|
||||
const int vDac = (int)(int)efiRound(maxDacValue * (vSensorRef - noSignalThreshold) / vRef, 1.0f);
|
||||
constexpr float vSensorRef = 2.5f; // 2.5V resistor divider; todo: migrate to settings?
|
||||
constexpr float maxDacValue = 255.0f;
|
||||
centeredDacValue = (int)efiRound(maxDacValue / engineConfiguration->adcVcc * vSensorRef, 1.0f);
|
||||
|
||||
int channel = EFI_COMP_TRIGGER_CHANNEL; // todo: use getInputCaptureChannel(hwPin);
|
||||
|
||||
|
@ -89,7 +96,7 @@ void startTriggerInputPins(void) {
|
|||
|
||||
// no generic hal support for extended COMP configuration, so we use hal_lld layer...
|
||||
osalSysLock();
|
||||
comp_lld_set_dac_value(EFI_COMP_PRIMARY_DEVICE, vDac);
|
||||
comp_lld_set_dac_value(EFI_COMP_PRIMARY_DEVICE, centeredDacValue);
|
||||
comp_lld_channel_enable(EFI_COMP_PRIMARY_DEVICE, channel);
|
||||
osalSysUnlock();
|
||||
|
||||
|
|
|
@ -460,7 +460,7 @@ custom spi_device_e 1 bits,U32, @OFFSET@, [0:2], "Off", "SPI1", "SPI2", "SPI3"
|
|||
|
||||
float globalFuelCorrection;set global_fuel_correction X;"coef", 1, 0.0, 0, 1000.0, 2
|
||||
|
||||
float adcVcc;; "volts", 1, 0.0, 0, 4.0, 3
|
||||
float adcVcc;; "volts", 1, 0.0, 0, 6.0, 3
|
||||
float maxKnockSubDeg;maximum total number of degrees to subtract from ignition advance\nwhen knocking
|
||||
brain_input_pin_e[CAM_INPUTS_COUNT iterate] camInputs;+Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts.\nTODO #660
|
||||
|
||||
|
|
|
@ -214,7 +214,7 @@ page = 1
|
|||
high_fuel_pressure_sensor_2 = bits, U08, 542, [0:4] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "Disabled", "PB12", "PB13", "PC14", "PC15", "PC16", "PC17", "PD3", "PD4", "PE2", "PE6", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
|
||||
mafAdcChannel = bits, U08, 543, [0:4] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "Disabled", "PB12", "PB13", "PC14", "PC15", "PC16", "PC17", "PD3", "PD4", "PE2", "PE6", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
|
||||
globalFuelCorrection = scalar, F32, 544, "coef", 1, 0.0, 0, 1000.0, 2
|
||||
adcVcc = scalar, F32, 548, "volts", 1, 0.0, 0, 4.0, 3
|
||||
adcVcc = scalar, F32, 548, "volts", 1, 0.0, 0, 6.0, 3
|
||||
;no TS info - skipping maxKnockSubDeg offset 552
|
||||
camInputs1 = bits, U08, 556, [0:7], "NONE", "INVALID", "INVALID", "PA1", "PA2", "PA3", "INVALID", "PA5", "PA6", "PA7", "PA8", "PA9", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PA15", "INVALID", "INVALID", "INVALID", "PB3", "PB4", "PB5", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PC6", "PC7", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PE5", "PE6", "INVALID", "INVALID", "PE9", "INVALID", "PE11", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
|
||||
camInputs2 = bits, U08, 557, [0:7], "NONE", "INVALID", "INVALID", "PA1", "PA2", "PA3", "INVALID", "PA5", "PA6", "PA7", "PA8", "PA9", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PA15", "INVALID", "INVALID", "INVALID", "PB3", "PB4", "PB5", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PC6", "PC7", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PE5", "PE6", "INVALID", "INVALID", "PE9", "INVALID", "PE11", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
|
||||
|
@ -3229,7 +3229,7 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
|||
commandButton = "Reinit", cmd_tle8888_init
|
||||
|
||||
dialog = connection, "", yAxis
|
||||
field = "STM32 vRef voltage", adcVcc
|
||||
field = "ADC vRef voltage", adcVcc
|
||||
panel = tsPort
|
||||
panel = canBus
|
||||
panel = sdCard
|
||||
|
|
|
@ -2214,7 +2214,7 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
|||
commandButton = "Reinit", cmd_tle8888_init
|
||||
|
||||
dialog = connection, "", yAxis
|
||||
field = "STM32 vRef voltage", adcVcc
|
||||
field = "ADC vRef voltage", adcVcc
|
||||
panel = tsPort
|
||||
panel = canBus
|
||||
panel = sdCard
|
||||
|
|
|
@ -214,7 +214,7 @@ page = 1
|
|||
high_fuel_pressure_sensor_2 = bits, U08, 542, [0:4] "Analog 3O","Analog 3L","Analog 3M","Analog 3J","Analog 3I","INVALID","Analog 3H","Analog 3G","INVALID","INVALID","INVALID","Analog 3P","Analog 3Q","Analog 3N","Analog VBatt","Analog 3E","NONE","INVALID","INVALID","INVALID"
|
||||
mafAdcChannel = bits, U08, 543, [0:4] "Analog 3O","Analog 3L","Analog 3M","Analog 3J","Analog 3I","INVALID","Analog 3H","Analog 3G","INVALID","INVALID","INVALID","Analog 3P","Analog 3Q","Analog 3N","Analog VBatt","Analog 3E","NONE","INVALID","INVALID","INVALID"
|
||||
globalFuelCorrection = scalar, F32, 544, "coef", 1, 0.0, 0, 1000.0, 2
|
||||
adcVcc = scalar, F32, 548, "volts", 1, 0.0, 0, 4.0, 3
|
||||
adcVcc = scalar, F32, 548, "volts", 1, 0.0, 0, 6.0, 3
|
||||
;no TS info - skipping maxKnockSubDeg offset 552
|
||||
camInputs1 = bits, U08, 556, [0:7], "NONE", "INVALID", "INVALID", "PA1", "PA2", "PA3", "INVALID", "PA5", "PA6", "PA7", "PA8", "PA9", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PA15", "INVALID", "INVALID", "INVALID", "PB3", "PB4", "PB5", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PC6", "PC7", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PE5", "PE6", "INVALID", "INVALID", "PE9", "INVALID", "PE11", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
|
||||
camInputs2 = bits, U08, 557, [0:7], "NONE", "INVALID", "INVALID", "PA1", "PA2", "PA3", "INVALID", "PA5", "PA6", "PA7", "PA8", "PA9", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PA15", "INVALID", "INVALID", "INVALID", "PB3", "PB4", "PB5", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PC6", "PC7", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PE5", "PE6", "INVALID", "INVALID", "PE9", "INVALID", "PE11", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
|
||||
|
@ -3229,7 +3229,7 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
|||
commandButton = "Reinit", cmd_tle8888_init
|
||||
|
||||
dialog = connection, "", yAxis
|
||||
field = "STM32 vRef voltage", adcVcc
|
||||
field = "ADC vRef voltage", adcVcc
|
||||
panel = tsPort
|
||||
panel = canBus
|
||||
panel = sdCard
|
||||
|
|
|
@ -214,7 +214,7 @@ page = 1
|
|||
high_fuel_pressure_sensor_2 = bits, U08, 542, [0:4] "PA2", "PA3", "INVALID", "PD3", "INVALID", "INVALID", "INVALID", "PB12", "PB13", "INVALID", "PE2", "INVALID", "PC14", "PC15", "PC16", "PC17", "Disabled", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
|
||||
mafAdcChannel = bits, U08, 543, [0:4] "PA2", "PA3", "INVALID", "PD3", "INVALID", "INVALID", "INVALID", "PB12", "PB13", "INVALID", "PE2", "INVALID", "PC14", "PC15", "PC16", "PC17", "Disabled", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
|
||||
globalFuelCorrection = scalar, F32, 544, "coef", 1, 0.0, 0, 1000.0, 2
|
||||
adcVcc = scalar, F32, 548, "volts", 1, 0.0, 0, 4.0, 3
|
||||
adcVcc = scalar, F32, 548, "volts", 1, 0.0, 0, 6.0, 3
|
||||
;no TS info - skipping maxKnockSubDeg offset 552
|
||||
camInputs1 = bits, U08, 556, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "N/A", "N/A", "PA10", "PA11", "PA12", "PA13", "N/A", "N/A", "N/A", "N/A", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "N/A", "N/A", "N/A", "N/A", "PB12", "PB13", "N/A", "N/A", "N/A", "N/A", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "N/A", "N/A", "N/A", "N/A", "PC14", "PC15", "PC16", "PC17", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "PD15", "PD16", "N/A", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A"
|
||||
camInputs2 = bits, U08, 557, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "N/A", "N/A", "PA10", "PA11", "PA12", "PA13", "N/A", "N/A", "N/A", "N/A", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "N/A", "N/A", "N/A", "N/A", "PB12", "PB13", "N/A", "N/A", "N/A", "N/A", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "N/A", "N/A", "N/A", "N/A", "PC14", "PC15", "PC16", "PC17", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "PD15", "PD16", "N/A", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A"
|
||||
|
@ -3229,7 +3229,7 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
|||
commandButton = "Reinit", cmd_tle8888_init
|
||||
|
||||
dialog = connection, "", yAxis
|
||||
field = "STM32 vRef voltage", adcVcc
|
||||
field = "ADC vRef voltage", adcVcc
|
||||
panel = tsPort
|
||||
panel = canBus
|
||||
panel = sdCard
|
||||
|
|
|
@ -214,7 +214,7 @@ page = 1
|
|||
high_fuel_pressure_sensor_2 = bits, U08, 542, [0:4] "18 - AN temp 1","23 - AN temp 2","24 - AN temp 3","22 - AN temp 4","28 - AN volt 10","INVALID","26 - AN volt 2","31 - AN volt 3","36 - AN volt 8","40 - AN volt 9","27 - AN volt 1","Battery Sense","19 - AN volt 4","20 - AN volt 5","32 - AN volt 6","30 - AN volt 7","NONE","INVALID","INVALID","INVALID"
|
||||
mafAdcChannel = bits, U08, 543, [0:4] "18 - AN temp 1","23 - AN temp 2","24 - AN temp 3","22 - AN temp 4","28 - AN volt 10","INVALID","26 - AN volt 2","31 - AN volt 3","36 - AN volt 8","40 - AN volt 9","27 - AN volt 1","Battery Sense","19 - AN volt 4","20 - AN volt 5","32 - AN volt 6","30 - AN volt 7","NONE","INVALID","INVALID","INVALID"
|
||||
globalFuelCorrection = scalar, F32, 544, "coef", 1, 0.0, 0, 1000.0, 2
|
||||
adcVcc = scalar, F32, 548, "volts", 1, 0.0, 0, 4.0, 3
|
||||
adcVcc = scalar, F32, 548, "volts", 1, 0.0, 0, 6.0, 3
|
||||
;no TS info - skipping maxKnockSubDeg offset 552
|
||||
camInputs1 = bits, U08, 556, [0:7], "NONE","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","25 - Hall Cam","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","45 - VR/Hall Crank","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID"
|
||||
camInputs2 = bits, U08, 557, [0:7], "NONE","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","25 - Hall Cam","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","45 - VR/Hall Crank","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID"
|
||||
|
@ -3213,7 +3213,7 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
|||
commandButton = "Reinit", cmd_tle8888_init
|
||||
|
||||
dialog = connection, "", yAxis
|
||||
field = "STM32 vRef voltage", adcVcc
|
||||
field = "ADC vRef voltage", adcVcc
|
||||
panel = tsPort
|
||||
panel = canBus
|
||||
panel = sdCard
|
||||
|
|
|
@ -214,7 +214,7 @@ page = 1
|
|||
high_fuel_pressure_sensor_2 = bits, U08, 542, [0:4] "Analog 3O","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","NONE","INVALID","INVALID","INVALID"
|
||||
mafAdcChannel = bits, U08, 543, [0:4] "Analog 3O","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","NONE","INVALID","INVALID","INVALID"
|
||||
globalFuelCorrection = scalar, F32, 544, "coef", 1, 0.0, 0, 1000.0, 2
|
||||
adcVcc = scalar, F32, 548, "volts", 1, 0.0, 0, 4.0, 3
|
||||
adcVcc = scalar, F32, 548, "volts", 1, 0.0, 0, 6.0, 3
|
||||
;no TS info - skipping maxKnockSubDeg offset 552
|
||||
camInputs1 = bits, U08, 556, [0:7], "NONE", "INVALID", "INVALID", "PA1", "PA2", "PA3", "INVALID", "PA5", "PA6", "PA7", "PA8", "PA9", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PA15", "INVALID", "INVALID", "INVALID", "PB3", "PB4", "PB5", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PC6", "PC7", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PE5", "PE6", "INVALID", "INVALID", "PE9", "INVALID", "PE11", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
|
||||
camInputs2 = bits, U08, 557, [0:7], "NONE", "INVALID", "INVALID", "PA1", "PA2", "PA3", "INVALID", "PA5", "PA6", "PA7", "PA8", "PA9", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PA15", "INVALID", "INVALID", "INVALID", "PB3", "PB4", "PB5", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PC6", "PC7", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PE5", "PE6", "INVALID", "INVALID", "PE9", "INVALID", "PE11", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
|
||||
|
@ -3225,7 +3225,7 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
|||
commandButton = "Reinit", cmd_tle8888_init
|
||||
|
||||
dialog = connection, "", yAxis
|
||||
field = "STM32 vRef voltage", adcVcc
|
||||
field = "ADC vRef voltage", adcVcc
|
||||
panel = tsPort
|
||||
panel = canBus
|
||||
panel = sdCard
|
||||
|
|
Loading…
Reference in New Issue