automation around outputs section #197

This commit is contained in:
rusefillc 2021-11-27 13:36:37 -05:00
parent eacba66f80
commit edb10af9f4
6 changed files with 161 additions and 149 deletions

View File

@ -68,10 +68,10 @@ uint16_t rpmAcceleration;;"RPM/s",1, 0, 0, 0, 0
uint16_t autoscale vvtPositionB1I;;"deg",{1/@@PACK_MULT_ANGLE@@}, 0, 0, 0, 0
uint16_t autoscale chargeAirMass;;"g",{1/1000}, 0, 0, 0, 0
uint16_t autoscale crankingFuelMass;airmass in mg, 0-65 grams;"ms",{1/@@PACK_MULT_FUEL_MASS@@}, 0, 0, 0, 0
uint16_t autoscale crankingFuelMs;airmass in mg, 0-65 grams;"ms",{1/@@PACK_MULT_FUEL_MASS@@}, 0, 0, 0, 0
uint16_t autoscale currentTargetAfr;;"ratio",{1/@@PACK_MULT_AFR@@}, 0, 0, 0, 0
uint16_t autoscale fuelBase;This is the raw value we take from the fuel map or base fuel algorithm, before the corrections;"mg",{1/@@PACK_MULT_FUEL_MASS@@}, 0, 0, 0, 0
uint16_t autoscale baseFuel;This is the raw value we take from the fuel map or base fuel algorithm, before the corrections;"mg",{1/@@PACK_MULT_FUEL_MASS@@}, 0, 0, 0, 0
uint16_t autoscale fuelRunning;Total fuel with CLT IAT and TPS acceleration without injector lag corrections per cycle, as pulse per cycle;"mg",{1/@@PACK_MULT_FUEL_MASS@@}, 0, 0, 0, 0
uint16_t autoscale actualLastInjection;Actual last injection time - including all compensation and injection mode;"ms",{1/@@PACK_MULT_MS@@}, 0, 0, 0, 0
@ -177,64 +177,64 @@ uint16_t rpmAcceleration;;"RPM/s",1, 0, 0, 0, 0
uint16_t autoscale accelerationX;;"G",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 0
uint16_t autoscale accelerationY;;"G",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 0
uint16_t[EGT_CHANNEL_COUNT] egtValues;;"deg C", 1, 0, 0, 0, 0
uint16_t[EGT_CHANNEL_COUNT iterate] egt;;"deg C", 1, 0, 0, 0, 0
uint16_t autoscale TPS2Value;;"%",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 0
uint16_t autoscale rawTps1Primary;;"",{1/@@PACK_MULT_VOLTAGE@@}, 0, 0, 0, 0
uint16_t autoscale rawPpsPrimary;;"",{1/@@PACK_MULT_VOLTAGE@@}, 0, 0, 0, 0
uint16_t autoscale rawClt;;"",{1/@@PACK_MULT_VOLTAGE@@}, 0, 0, 0, 0
uint16_t autoscale rawIat;;"",{1/@@PACK_MULT_VOLTAGE@@}, 0, 0, 0, 0
uint16_t autoscale rawOilPressure;;"",{1/@@PACK_MULT_VOLTAGE@@}, 0, 0, 0, 0
uint16_t autoscale rawTps1Primary;;"V",{1/@@PACK_MULT_VOLTAGE@@}, 0, 0, 0, 0
uint16_t autoscale rawPpsPrimary;;"V",{1/@@PACK_MULT_VOLTAGE@@}, 0, 0, 0, 0
uint16_t autoscale rawClt;;"V",{1/@@PACK_MULT_VOLTAGE@@}, 0, 0, 0, 0
uint16_t autoscale rawIat;;"V",{1/@@PACK_MULT_VOLTAGE@@}, 0, 0, 0, 0
uint16_t autoscale rawOilPressure;;"V",{1/@@PACK_MULT_VOLTAGE@@}, 0, 0, 0, 0
uint16_t autoscale tuneCrc16;;"crc16", 1, 0, 0, 0, 0
uint8_t autoscale unusedAt246;;"", 1, 0, 0, 0, 0
uint8_t autoscale tcuCurrentGear;;"", 1, 0, 0, 0, 0
uint8_t autoscale tcuCurrentGear;;"gear", 1, 0, 0, 0, 0
uint16_t autoscale rawPpsSecondary;;"",{1/@@PACK_MULT_VOLTAGE@@}, 0, 0, 0, 0
uint16_t autoscale rawPpsSecondary;;"V",{1/@@PACK_MULT_VOLTAGE@@}, 0, 0, 0, 0
uint8_t[12] autoscale knockLevels;;"",1, 0, 0, 0, 0
uint8_t[12 iterate] autoscale knock;;"",1, 0, 0, 0, 0
uint8_t autoscale tcuDesiredGear;;"",1, 0, 0, 0, 0
uint8_t autoscale flexPercent;;"",{1/2}, 0, 0, 0, 0
uint8_t autoscale tcuDesiredGear;;"gear",1, 0, 0, 0, 0
uint8_t autoscale flexPercent;;"%",{1/2}, 0, 0, 0, 0
uint16_t autoscale rawIdlePositionSensor;;"",{1/@@PACK_MULT_VOLTAGE@@}, 0, 0, 0, 0
uint16_t autoscale rawWastegatePositionSensor;;"",{1/@@PACK_MULT_VOLTAGE@@}, 0, 0, 0, 0
uint16_t autoscale rawIdlePositionSensor;;"V",{1/@@PACK_MULT_VOLTAGE@@}, 0, 0, 0, 0
uint16_t autoscale rawWastegatePositionSensor;;"V",{1/@@PACK_MULT_VOLTAGE@@}, 0, 0, 0, 0
uint16_t autoscale wastegatePosition;;"",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 0
uint16_t autoscale idlePositionSensor;;"",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 0
uint16_t autoscale wastegatePosition;;"%",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 0
uint16_t autoscale idlePositionSensor;;"%",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 0
uint16_t autoscale rawLowFuelPressure;;"",{1/@@PACK_MULT_VOLTAGE@@}, 0, 0, 0, 0
uint16_t autoscale rawHighFuelPressure;;"",{1/@@PACK_MULT_VOLTAGE@@}, 0, 0, 0, 0
uint16_t autoscale rawLowFuelPressure;;"V",{1/@@PACK_MULT_VOLTAGE@@}, 0, 0, 0, 0
uint16_t autoscale rawHighFuelPressure;;"V",{1/@@PACK_MULT_VOLTAGE@@}, 0, 0, 0, 0
uint16_t autoscale lowFuelPressure;;"",{1/@@PACK_MULT_PRESSURE@@}, 0, 0, 0, 0
uint16_t autoscale highFuelPressure;;"",{1/@@PACK_MULT_HIGH_PRESSURE@@}, 0, 0, 0, 0
uint16_t autoscale lowFuelPressure;;"kpa",{1/@@PACK_MULT_PRESSURE@@}, 0, 0, 0, 0
uint16_t autoscale highFuelPressure;;"bar",{1/@@PACK_MULT_HIGH_PRESSURE@@}, 0, 0, 0, 0
uint16_t autoscale targetLambda;;"",{1/@@PACK_MULT_LAMBDA@@}, 0, 0, 0, 0
uint16_t autoscale airFuelRatio;;"",{1/@@PACK_MULT_AFR@@}, 0, 0, 0, 0
uint16_t autoscale AFRValue;;"AFR",{1/@@PACK_MULT_AFR@@}, 0, 0, 0, 0
uint16_t autoscale VssAcceleration;;"",{1/@@PACK_MULT_MS@@}, 0, 0, 0, 0
uint16_t autoscale VssAcceleration;;"m/s2",{1/@@PACK_MULT_MS@@}, 0, 0, 0, 0
uint16_t autoscale lambda2;;"",{1/@@PACK_MULT_LAMBDA@@}, 0, 0, 0, 0
uint16_t autoscale airFuelRatio2;;"",{1/@@PACK_MULT_AFR@@}, 0, 0, 0, 0
uint16_t autoscale AFRValue2;;"AFR",{1/@@PACK_MULT_AFR@@}, 0, 0, 0, 0
uint16_t autoscale vvtPositionB1E;;"deg",{1/@@PACK_MULT_ANGLE@@}, 0, 0, 0, 0
uint16_t autoscale vvtPositionB2I;;"deg",{1/@@PACK_MULT_ANGLE@@}, 0, 0, 0, 0
uint16_t autoscale vvtPositionB2E;;"deg",{1/@@PACK_MULT_ANGLE@@}, 0, 0, 0, 0
uint16_t[2] autoscale fuelTrim;;"",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 0
uint16_t[2 iterate] autoscale fuelPidCorrection;;"%",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 0
uint16_t autoscale rawTps1Secondary;;"",{1/@@PACK_MULT_VOLTAGE@@}, 0, 0, 0, 0
uint16_t autoscale rawTps2Primary;;"",{1/@@PACK_MULT_VOLTAGE@@}, 0, 0, 0, 0
uint16_t autoscale rawTps1Secondary;;"V",{1/@@PACK_MULT_VOLTAGE@@}, 0, 0, 0, 0
uint16_t autoscale rawTps2Primary;;"V",{1/@@PACK_MULT_VOLTAGE@@}, 0, 0, 0, 0
uint16_t autoscale rawTps2Secondary;;"",{1/@@PACK_MULT_VOLTAGE@@}, 0, 0, 0, 0
uint16_t autoscale rawTps2Secondary;;"V",{1/@@PACK_MULT_VOLTAGE@@}, 0, 0, 0, 0
uint16_t knockCount;;"",1, 0, 0, 0, 0
uint16_t autoscale accelerationZ;;"G",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 0
uint16_t autoscale accelerationRoll;;"",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 0
uint16_t autoscale accelerationYaw;;"",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 0
uint8_t[4] autoscale vvtTargets;;"",1, 0, 0, 0, 0
uint16_t turboSpeed;;"",1, 0, 0, 0, 0
uint8_t[4 iterate] autoscale vvtTargets;;"deg",1, 0, 0, 0, 0
uint16_t turboSpeed;;"hz",1, 0, 0, 0, 0
! we have some unused bytes to allow compatible TS changes
uint8_t[18] unusedAtTheEnd;;"",1, 0, 0, 0, 0

View File

@ -1,4 +1,4 @@
// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) console/binary/output_channels.txt Sat Nov 27 13:01:48 EST 2021
// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) console/binary/output_channels.txt Sat Nov 27 13:29:54 EST 2021
// by class com.rusefi.output.CHeaderConsumer
// begin
#pragma once
@ -219,7 +219,7 @@ struct ts_outputs_s {
ms
* offset 46
*/
scaled_channel<uint16_t, 100, 1> crankingFuelMass = (uint16_t)0;
scaled_channel<uint16_t, 100, 1> crankingFuelMs = (uint16_t)0;
/**
ratio
* offset 48
@ -230,7 +230,7 @@ struct ts_outputs_s {
mg
* offset 50
*/
scaled_channel<uint16_t, 100, 1> fuelBase = (uint16_t)0;
scaled_channel<uint16_t, 100, 1> baseFuel = (uint16_t)0;
/**
* Total fuel with CLT IAT and TPS acceleration without injector lag corrections per cycle, as pulse per cycle
mg
@ -526,29 +526,34 @@ struct ts_outputs_s {
deg C
* offset 216
*/
uint16_t egtValues[EGT_CHANNEL_COUNT];
uint16_t egt[EGT_CHANNEL_COUNT];
/**
%
* offset 232
*/
scaled_channel<uint16_t, 100, 1> TPS2Value = (uint16_t)0;
/**
V
* offset 234
*/
scaled_channel<uint16_t, 1000, 1> rawTps1Primary = (uint16_t)0;
/**
V
* offset 236
*/
scaled_channel<uint16_t, 1000, 1> rawPpsPrimary = (uint16_t)0;
/**
V
* offset 238
*/
scaled_channel<uint16_t, 1000, 1> rawClt = (uint16_t)0;
/**
V
* offset 240
*/
scaled_channel<uint16_t, 1000, 1> rawIat = (uint16_t)0;
/**
V
* offset 242
*/
scaled_channel<uint16_t, 1000, 1> rawOilPressure = (uint16_t)0;
@ -562,54 +567,66 @@ struct ts_outputs_s {
*/
scaled_channel<uint8_t, 1, 1> unusedAt246 = (uint8_t)0;
/**
gear
* offset 247
*/
scaled_channel<uint8_t, 1, 1> tcuCurrentGear = (uint8_t)0;
/**
V
* offset 248
*/
scaled_channel<uint16_t, 1000, 1> rawPpsSecondary = (uint16_t)0;
/**
* offset 250
*/
scaled_channel<uint8_t, 1, 1> knockLevels[12];
scaled_channel<uint8_t, 1, 1> knock[12];
/**
gear
* offset 262
*/
scaled_channel<uint8_t, 1, 1> tcuDesiredGear = (uint8_t)0;
/**
%
* offset 263
*/
scaled_channel<uint8_t, 2, 1> flexPercent = (uint8_t)0;
/**
V
* offset 264
*/
scaled_channel<uint16_t, 1000, 1> rawIdlePositionSensor = (uint16_t)0;
/**
V
* offset 266
*/
scaled_channel<uint16_t, 1000, 1> rawWastegatePositionSensor = (uint16_t)0;
/**
%
* offset 268
*/
scaled_channel<uint16_t, 100, 1> wastegatePosition = (uint16_t)0;
/**
%
* offset 270
*/
scaled_channel<uint16_t, 100, 1> idlePositionSensor = (uint16_t)0;
/**
V
* offset 272
*/
scaled_channel<uint16_t, 1000, 1> rawLowFuelPressure = (uint16_t)0;
/**
V
* offset 274
*/
scaled_channel<uint16_t, 1000, 1> rawHighFuelPressure = (uint16_t)0;
/**
kpa
* offset 276
*/
scaled_channel<uint16_t, 30, 1> lowFuelPressure = (uint16_t)0;
/**
bar
* offset 278
*/
scaled_channel<uint16_t, 10, 1> highFuelPressure = (uint16_t)0;
@ -618,10 +635,12 @@ struct ts_outputs_s {
*/
scaled_channel<uint16_t, 10000, 1> targetLambda = (uint16_t)0;
/**
AFR
* offset 282
*/
scaled_channel<uint16_t, 1000, 1> airFuelRatio = (uint16_t)0;
scaled_channel<uint16_t, 1000, 1> AFRValue = (uint16_t)0;
/**
m/s2
* offset 284
*/
scaled_channel<uint16_t, 300, 1> VssAcceleration = (uint16_t)0;
@ -630,9 +649,10 @@ struct ts_outputs_s {
*/
scaled_channel<uint16_t, 10000, 1> lambda2 = (uint16_t)0;
/**
AFR
* offset 288
*/
scaled_channel<uint16_t, 1000, 1> airFuelRatio2 = (uint16_t)0;
scaled_channel<uint16_t, 1000, 1> AFRValue2 = (uint16_t)0;
/**
deg
* offset 290
@ -649,18 +669,22 @@ struct ts_outputs_s {
*/
scaled_channel<uint16_t, 50, 1> vvtPositionB2E = (uint16_t)0;
/**
%
* offset 296
*/
scaled_channel<uint16_t, 100, 1> fuelTrim[2];
scaled_channel<uint16_t, 100, 1> fuelPidCorrection[2];
/**
V
* offset 300
*/
scaled_channel<uint16_t, 1000, 1> rawTps1Secondary = (uint16_t)0;
/**
V
* offset 302
*/
scaled_channel<uint16_t, 1000, 1> rawTps2Primary = (uint16_t)0;
/**
V
* offset 304
*/
scaled_channel<uint16_t, 1000, 1> rawTps2Secondary = (uint16_t)0;
@ -682,10 +706,12 @@ struct ts_outputs_s {
*/
scaled_channel<uint16_t, 100, 1> accelerationYaw = (uint16_t)0;
/**
deg
* offset 314
*/
scaled_channel<uint8_t, 1, 1> vvtTargets[4];
/**
hz
* offset 318
*/
uint16_t turboSpeed = (uint16_t)0;
@ -703,4 +729,4 @@ struct ts_outputs_s {
};
// end
// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) console/binary/output_channels.txt Sat Nov 27 13:01:48 EST 2021
// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) console/binary/output_channels.txt Sat Nov 27 13:29:54 EST 2021

View File

@ -31,8 +31,8 @@ static constexpr LogField fields[] = {
{tsOutputChannels.TPS2Value, GAUGE_NAME_TPS2, "%", 2},
{tsOutputChannels.throttlePedalPosition, GAUGE_NAME_THROTTLE_PEDAL, "%", 2},
{tsOutputChannels.MAPValue, GAUGE_NAME_MAP, "kPa", 1},
{tsOutputChannels.airFuelRatio, GAUGE_NAME_AFR, "afr", 2},
{tsOutputChannels.airFuelRatio2, GAUGE_NAME_AFR2, "afr", 2},
{tsOutputChannels.AFRValue, GAUGE_NAME_AFR, "afr", 2},
{tsOutputChannels.AFRValue2, GAUGE_NAME_AFR2, "afr", 2},
{tsOutputChannels.lambdaValue, GAUGE_NAME_LAMBDA, "", 3},
{tsOutputChannels.lambda2, GAUGE_NAME_LAMBDA2, "", 3},
{tsOutputChannels.warningCounter, GAUGE_NAME_WARNING_COUNTER, "", 0},
@ -76,15 +76,15 @@ static constexpr LogField fields[] = {
{tsOutputChannels.chargeAirMass, GAUGE_NAME_AIR_MASS, "g", 3},
{tsOutputChannels.currentTargetAfr, GAUGE_NAME_TARGET_AFR, "afr", 2},
{tsOutputChannels.targetLambda, GAUGE_NAME_TARGET_LAMBDA, "", 3},
{tsOutputChannels.fuelBase, GAUGE_NAME_FUEL_BASE, "ms", 3},
{tsOutputChannels.baseFuel, GAUGE_NAME_FUEL_BASE, "ms", 3},
{tsOutputChannels.fuelRunning, GAUGE_NAME_FUEL_RUNNING, "ms", 3},
{tsOutputChannels.actualLastInjection, GAUGE_NAME_FUEL_LAST_INJECTION, "ms", 3},
{tsOutputChannels.injectorDutyCycle, GAUGE_NAME_FUEL_INJ_DUTY, "%", 0},
{tsOutputChannels.veValue, GAUGE_NAME_FUEL_VE, "%", 1},
{tsOutputChannels.tCharge, GAUGE_NAME_TCHARGE, "C", 1},
{tsOutputChannels.injectorLagMs, GAUGE_NAME_INJECTOR_LAG, "ms", 3},
{tsOutputChannels.fuelTrim[0], GAUGE_NAME_FUEL_TRIM, "%", 2},
{tsOutputChannels.fuelTrim[1], GAUGE_NAME_FUEL_TRIM_2, "%", 2},
{tsOutputChannels.fuelPidCorrection[0], GAUGE_NAME_FUEL_TRIM, "%", 2},
{tsOutputChannels.fuelPidCorrection[1], GAUGE_NAME_FUEL_TRIM_2, "%", 2},
{tsOutputChannels.wallFuelCorrection, GAUGE_NAME_FUEL_WALL_CORRECTION, "ms", 3},
{tsOutputChannels.tpsAccelFuel, GAUGE_NAME_FUEL_TPS_EXTRA, "ms", 3},
{tsOutputChannels.ignitionAdvance, GAUGE_NAME_TIMING_ADVANCE, "deg", 1},
@ -104,18 +104,18 @@ static constexpr LogField fields[] = {
{tsOutputChannels.fuelFlowRate, GAUGE_NAME_FUEL_FLOW, "g/s", 3},
{tsOutputChannels.totalFuelConsumption, GAUGE_NAME_FUEL_CONSUMPTION, "g", 1},
{tsOutputChannels.knockLevel, GAUGE_NAME_KNOCK_LEVEL, "dBv", 0},
{tsOutputChannels.knockLevels[0], GAUGE_NAME_KNOCK_1, "dBv", 0},
{tsOutputChannels.knockLevels[1], GAUGE_NAME_KNOCK_2, "dBv", 0},
{tsOutputChannels.knockLevels[2], GAUGE_NAME_KNOCK_3, "dBv", 0},
{tsOutputChannels.knockLevels[3], GAUGE_NAME_KNOCK_4, "dBv", 0},
{tsOutputChannels.knockLevels[4], GAUGE_NAME_KNOCK_5, "dBv", 0},
{tsOutputChannels.knockLevels[5], GAUGE_NAME_KNOCK_6, "dBv", 0},
{tsOutputChannels.knockLevels[6], GAUGE_NAME_KNOCK_7, "dBv", 0},
{tsOutputChannels.knockLevels[7], GAUGE_NAME_KNOCK_8, "dBv", 0},
{tsOutputChannels.knockLevels[8], GAUGE_NAME_KNOCK_9, "dBv", 0},
{tsOutputChannels.knockLevels[9], GAUGE_NAME_KNOCK_10, "dBv", 0},
{tsOutputChannels.knockLevels[10], GAUGE_NAME_KNOCK_11, "dBv", 0},
{tsOutputChannels.knockLevels[11], GAUGE_NAME_KNOCK_12, "dBv", 0},
{tsOutputChannels.knock[0], GAUGE_NAME_KNOCK_1, "dBv", 0},
{tsOutputChannels.knock[1], GAUGE_NAME_KNOCK_2, "dBv", 0},
{tsOutputChannels.knock[2], GAUGE_NAME_KNOCK_3, "dBv", 0},
{tsOutputChannels.knock[3], GAUGE_NAME_KNOCK_4, "dBv", 0},
{tsOutputChannels.knock[4], GAUGE_NAME_KNOCK_5, "dBv", 0},
{tsOutputChannels.knock[5], GAUGE_NAME_KNOCK_6, "dBv", 0},
{tsOutputChannels.knock[6], GAUGE_NAME_KNOCK_7, "dBv", 0},
{tsOutputChannels.knock[7], GAUGE_NAME_KNOCK_8, "dBv", 0},
{tsOutputChannels.knock[8], GAUGE_NAME_KNOCK_9, "dBv", 0},
{tsOutputChannels.knock[9], GAUGE_NAME_KNOCK_10, "dBv", 0},
{tsOutputChannels.knock[10], GAUGE_NAME_KNOCK_11, "dBv", 0},
{tsOutputChannels.knock[11], GAUGE_NAME_KNOCK_12, "dBv", 0},
};
static constexpr uint16_t computeFieldsRecordLength() {

View File

@ -491,11 +491,11 @@ static void updateThrottles() {
static void updateLambda() {
float lambdaValue = Sensor::getOrZero(SensorType::Lambda1);
tsOutputChannels.lambdaValue = lambdaValue;
tsOutputChannels.airFuelRatio = lambdaValue * engine->engineState.stoichiometricRatio;
tsOutputChannels.AFRValue = lambdaValue * engine->engineState.stoichiometricRatio;
float lambda2Value = Sensor::getOrZero(SensorType::Lambda2);
tsOutputChannels.lambda2 = lambda2Value;
tsOutputChannels.airFuelRatio2 = lambda2Value * engine->engineState.stoichiometricRatio;
tsOutputChannels.AFRValue2 = lambda2Value * engine->engineState.stoichiometricRatio;
}
static void updateFuelSensors() {
@ -581,8 +581,8 @@ static void updateFuelCorrections() {
tsOutputChannels.iatCorrection = engine->engineState.running.intakeTemperatureCoefficient;
tsOutputChannels.cltCorrection = engine->engineState.running.coolantTemperatureCoefficient;
tsOutputChannels.fuelTrim[0] = 100.0f * (engine->stftCorrection[0] - 1.0f);
tsOutputChannels.fuelTrim[1] = 100.0f * (engine->stftCorrection[1] - 1.0f);
tsOutputChannels.fuelPidCorrection[0] = 100.0f * (engine->stftCorrection[0] - 1.0f);
tsOutputChannels.fuelPidCorrection[1] = 100.0f * (engine->stftCorrection[1] - 1.0f);
tsOutputChannels.injectorLagMs = engine->engineState.running.injectorLag;
}
@ -597,7 +597,7 @@ static void updateFuelLoads() {
static void updateFuelResults() {
tsOutputChannels.chargeAirMass = engine->engineState.sd.airMassInOneCylinder;
tsOutputChannels.fuelBase = engine->engineState.baseFuel * 1000; // Convert grams to mg
tsOutputChannels.baseFuel = engine->engineState.baseFuel * 1000; // Convert grams to mg
tsOutputChannels.fuelRunning = engine->engineState.running.fuel;
tsOutputChannels.actualLastInjection = engine->actualLastInjection[0];
@ -620,7 +620,7 @@ static void updateFuelInfo() {
tsOutputChannels.currentTargetAfr = engine->engineState.targetAFR;
tsOutputChannels.targetLambda = engine->engineState.targetLambda;
tsOutputChannels.crankingFuelMass = engine->engineState.cranking.fuel;
tsOutputChannels.crankingFuelMs = engine->engineState.cranking.fuel;
}
static void updateIgnition(int rpm) {
@ -757,7 +757,7 @@ void updateTunerStudioState(TunerStudioOutputChannels *tsOutputChannels) {
#if EFI_MAX_31855
for (int i = 0; i < EGT_CHANNEL_COUNT; i++)
tsOutputChannels->egtValues[i] = getEgtValue(i);
tsOutputChannels->egt[i] = getEgtValue(i);
#endif /* EFI_MAX_31855 */
#if EFI_IDLE_CONTROL

View File

@ -51,7 +51,7 @@ bool KnockController::onKnockSenseCompleted(uint8_t cylinderIndex, float dbv, ef
#if EFI_TUNER_STUDIO
// Pass through per-cylinder peak detector
float cylPeak = peakDetectors[cylinderIndex].detect(dbv, lastKnockTime);
tsOutputChannels.knockLevels[cylinderIndex] = roundf(cylPeak);
tsOutputChannels.knock[cylinderIndex] = roundf(cylPeak);
// Pass through all-cylinders peak detector
tsOutputChannels.knockLevel = allCylinderPeakDetector.detect(dbv, lastKnockTime);

View File

@ -305,83 +305,69 @@ debugIntField4 = scalar, U16, 208, "val", 1, 0
debugIntField5 = scalar, U16, 210, "val", 1, 0
accelerationX = scalar, U16, 212, "G", 0.01, 0
accelerationY = scalar, U16, 214, "G", 0.01, 0
; egt
egt1 = scalar, S16, 216, "deg C", 1, 0
egt2 = scalar, S16, 218, "deg C", 1, 0
egt3 = scalar, S16, 220, "deg C", 1, 0
egt4 = scalar, S16, 222, "deg C", 1, 0
egt5 = scalar, S16, 224, "deg C", 1, 0
egt6 = scalar, S16, 226, "deg C", 1, 0
egt7 = scalar, S16, 228, "deg C", 1, 0
egt8 = scalar, S16, 230, "deg C", 1, 0
TPS2Value = scalar, S16, 232, "%",{1/@@PACK_MULT_PERCENT@@}, 0
rawTps1Primary = scalar, U16, 234, "V",{1/@@PACK_MULT_VOLTAGE@@}, 0.0
rawPpsPrimary = scalar, U16, 236, "V",{1/@@PACK_MULT_VOLTAGE@@}, 0.0
rawClt = scalar, U16, 238, "V",{1/@@PACK_MULT_VOLTAGE@@}, 0.0
rawIat = scalar, U16, 240, "V",{1/@@PACK_MULT_VOLTAGE@@}, 0.0
rawOilPressure = scalar, U16, 242, "V",{1/@@PACK_MULT_VOLTAGE@@}, 0.0
; we use this to match logs to tunes
tuneCrc16 = scalar, U16, 244, "crc16", 1, 0
; Transmission
tcuCurrentGear = scalar, S08, 247, "gear", 1, 0
rawPpsSecondary = scalar, U16, 248, "V",{1/@@PACK_MULT_VOLTAGE@@}, 0.0
knock1 = scalar, S08, 250, "dbv", 1, 0
knock2 = scalar, S08, 251, "dbv", 1, 0
knock3 = scalar, S08, 252, "dbv", 1, 0
knock4 = scalar, S08, 253, "dbv", 1, 0
knock5 = scalar, S08, 254, "dbv", 1, 0
knock6 = scalar, S08, 255, "dbv", 1, 0
knock7 = scalar, S08, 256, "dbv", 1, 0
knock8 = scalar, S08, 257, "dbv", 1, 0
knock9 = scalar, S08, 258, "dbv", 1, 0
knock10 = scalar,S08, 259, "dbv", 1, 0
knock11 = scalar,S08, 260, "dbv", 1, 0
knock12 = scalar,S08, 261, "dbv", 1, 0
tcuDesiredGear = scalar, S08, 262, "gear", 1, 0
flexPercent = scalar, U08, 263, "%", 0.5, 0
rawIdlePositionSensor = scalar, U16, 264, "V",{1/@@PACK_MULT_VOLTAGE@@}, 0.0
rawWastegatePosition = scalar, U16, 266, "V",{1/@@PACK_MULT_VOLTAGE@@}, 0.0
wastegatePositionSensor = scalar, S16, 268, "%",{1/@@PACK_MULT_PERCENT@@}, 0
idlePositionSensor = scalar, S16, 270, "%",{1/@@PACK_MULT_PERCENT@@}, 0
rawLowFuelPressure = scalar, U16, 272, "V",{1/@@PACK_MULT_VOLTAGE@@}, 0
rawHighFuelPressure = scalar, U16, 274, "V",{1/@@PACK_MULT_VOLTAGE@@}, 0
lowFuelPressure = scalar, S16, 276, "kpa", {1/@@PACK_MULT_PRESSURE@@}, 0
highFuelPressure = scalar, S16, 278, "bar", {1/@@PACK_MULT_HIGH_PRESSURE@@}, 0
targetLambda = scalar, U16, 280, "",{1/@@PACK_MULT_LAMBDA@@}, 0.0
AFRValue = scalar, U16, 282, "AFR",{1/@@PACK_MULT_AFR@@}, 0.0
VssAcceleration = scalar, S16, 284, "m/s2", {1/@@PACK_MULT_MS@@}, 0.0
lambdaValue2 = scalar, U16, 286, "",{1/@@PACK_MULT_LAMBDA@@}, 0.0
AFRValue2 = scalar, U16, 288, "AFR",{1/@@PACK_MULT_AFR@@}, 0.0
vvtPositionB1E=scalar,S16, 290, "deg",{1/@@PACK_MULT_ANGLE@@}, 0
vvtPositionB2I=scalar,S16, 292, "deg",{1/@@PACK_MULT_ANGLE@@}, 0
vvtPositionB2E=scalar,S16, 294, "deg",{1/@@PACK_MULT_ANGLE@@}, 0
fuelPidCorrection=scalar, S16, 296, "%",{1/@@PACK_MULT_PERCENT@@}, 0
fuelPidCorrection2=scalar, S16, 298, "%",{1/@@PACK_MULT_PERCENT@@}, 0
accelerationZ = scalar, S16, 308, "G", {1/@@PACK_MULT_PERCENT@@}, 0
accelerationRoll= scalar, S16, 310, "G", {1/@@PACK_MULT_PERCENT@@}, 0
accelerationYaw = scalar, S16, 312, "G", {1/@@PACK_MULT_PERCENT@@}, 0
vvtTargetB1I = scalar, S08, 314, "deg", 1, 0
vvtTargetB1E = scalar, S08, 315, "deg", 1, 0
vvtTargetB2I = scalar, S08, 316, "deg", 1, 0
vvtTargetB2E = scalar, S08, 317, "deg", 1, 0
turboSpeed = scalar, U16, 318, "hz", 1, 0
rawTps1Secondary = scalar, U16, 300, "V",{1/@@PACK_MULT_VOLTAGE@@}, 0.0
rawTps2Primary = scalar, U16, 302, "V",{1/@@PACK_MULT_VOLTAGE@@}, 0.0
rawTps2Secondary = scalar, U16, 304, "V",{1/@@PACK_MULT_VOLTAGE@@}, 0.0
knockCount = scalar, U16, 306, "count", 1, 0
egt1 = scalar, U16, 216, "deg C", 1, 0
egt2 = scalar, U16, 218, "deg C", 1, 0
egt3 = scalar, U16, 220, "deg C", 1, 0
egt4 = scalar, U16, 222, "deg C", 1, 0
egt5 = scalar, U16, 224, "deg C", 1, 0
egt6 = scalar, U16, 226, "deg C", 1, 0
egt7 = scalar, U16, 228, "deg C", 1, 0
egt8 = scalar, U16, 230, "deg C", 1, 0
TPS2Value = scalar, U16, 232, "%", 0.01, 0
rawTps1Primary = scalar, U16, 234, "V", 0.001, 0
rawPpsPrimary = scalar, U16, 236, "V", 0.001, 0
rawClt = scalar, U16, 238, "V", 0.001, 0
rawIat = scalar, U16, 240, "V", 0.001, 0
rawOilPressure = scalar, U16, 242, "V", 0.001, 0
tuneCrc16 = scalar, U16, 244, "crc16", 1, 0
unusedAt246 = scalar, U08, 246, "", 1, 0
tcuCurrentGear = scalar, U08, 247, "gear", 1, 0
rawPpsSecondary = scalar, U16, 248, "V", 0.001, 0
knock1 = scalar, U08, 250, "", 1, 0
knock2 = scalar, U08, 251, "", 1, 0
knock3 = scalar, U08, 252, "", 1, 0
knock4 = scalar, U08, 253, "", 1, 0
knock5 = scalar, U08, 254, "", 1, 0
knock6 = scalar, U08, 255, "", 1, 0
knock7 = scalar, U08, 256, "", 1, 0
knock8 = scalar, U08, 257, "", 1, 0
knock9 = scalar, U08, 258, "", 1, 0
knock10 = scalar, U08, 259, "", 1, 0
knock11 = scalar, U08, 260, "", 1, 0
knock12 = scalar, U08, 261, "", 1, 0
tcuDesiredGear = scalar, U08, 262, "gear", 1, 0
flexPercent = scalar, U08, 263, "%", 0.5, 0
rawIdlePositionSensor = scalar, U16, 264, "V", 0.001, 0
rawWastegatePositionSensor = scalar, U16, 266, "V", 0.001, 0
wastegatePosition = scalar, U16, 268, "%", 0.01, 0
idlePositionSensor = scalar, U16, 270, "%", 0.01, 0
rawLowFuelPressure = scalar, U16, 272, "V", 0.001, 0
rawHighFuelPressure = scalar, U16, 274, "V", 0.001, 0
lowFuelPressure = scalar, U16, 276, "kpa", 0.03333333333333333, 0
highFuelPressure = scalar, U16, 278, "bar", 0.1, 0
targetLambda = scalar, U16, 280, "", 1.0E-4, 0
airFuelRatio = scalar, U16, 282, "AFR", 0.001, 0
AFRValue = scalar, U16, 282, "AFR", 0.001, 0
VssAcceleration = scalar, U16, 284, "m/s2", 0.0033333333333333335, 0
lambda2 = scalar, U16, 286, "", 1.0E-4, 0
AFRValue2 = scalar, U16, 288, "AFR", 0.001, 0
vvtPositionB1E = scalar, U16, 290, "deg", 0.02, 0
vvtPositionB2I = scalar, U16, 292, "deg", 0.02, 0
vvtPositionB2E = scalar, U16, 294, "deg", 0.02, 0
fuelPidCorrection1 = scalar, U16, 296, "%", 0.01, 0
fuelPidCorrection2 = scalar, U16, 298, "%", 0.01, 0
rawTps1Secondary = scalar, U16, 300, "V", 0.001, 0
rawTps2Primary = scalar, U16, 302, "V", 0.001, 0
rawTps2Secondary = scalar, U16, 304, "V", 0.001, 0
knockCount = scalar, U16, 306, "", 1, 0
accelerationZ = scalar, U16, 308, "G", 0.01, 0
accelerationRoll = scalar, U16, 310, "", 0.01, 0
accelerationYaw = scalar, U16, 312, "", 0.01, 0
vvtTargets1 = scalar, U08, 314, "deg", 1, 0
vvtTargets2 = scalar, U08, 315, "deg", 1, 0
vvtTargets3 = scalar, U08, 316, "deg", 1, 0
vvtTargets4 = scalar, U08, 317, "deg", 1, 0
turboSpeed = scalar, U16, 318, "hz", 1, 0
;
; see TunerStudioOutputChannels struct
@ -1074,10 +1060,10 @@ gaugeCategory = VVT
vvtPositionB1EGauge = vvtPositionB1E, @@GAUGE_NAME_VVT_B1E@@, "deg", -60, 60, -60, -60, 60, 60, 1, 1
vvtPositionB2IGauge = vvtPositionB2I, @@GAUGE_NAME_VVT_B2I@@, "deg", -60, 60, -60, -60, 60, 60, 1, 1
vvtPositionB2EGauge = vvtPositionB2E, @@GAUGE_NAME_VVT_B2E@@, "deg", -60, 60, -60, -60, 60, 60, 1, 1
vvtTargetB1IGauge = vvtTargetB1I, @@GAUGE_NAME_VVT_TARGET_B1I@@, "deg", -60, 60, -60, -60, 60, 60, 0, 0
vvtTargetB1EGauge = vvtTargetB1E, @@GAUGE_NAME_VVT_TARGET_B1E@@, "deg", -60, 60, -60, -60, 60, 60, 0, 0
vvtTargetB2IGauge = vvtTargetB2I, @@GAUGE_NAME_VVT_TARGET_B2I@@, "deg", -60, 60, -60, -60, 60, 60, 0, 0
vvtTargetB2EGauge = vvtTargetB2E, @@GAUGE_NAME_VVT_TARGET_B2E@@, "deg", -60, 60, -60, -60, 60, 60, 0, 0
vvtTargets1Gauge = vvtTargets1, @@GAUGE_NAME_VVT_TARGET_B1I@@, "deg", -60, 60, -60, -60, 60, 60, 0, 0
vvtTargets2Gauge = vvtTargets2, @@GAUGE_NAME_VVT_TARGET_B1E@@, "deg", -60, 60, -60, -60, 60, 60, 0, 0
vvtTargets3Gauge = vvtTargets3, @@GAUGE_NAME_VVT_TARGET_B2I@@, "deg", -60, 60, -60, -60, 60, 60, 0, 0
vvtTargets4Gauge = vvtTargets4, @@GAUGE_NAME_VVT_TARGET_B2E@@, "deg", -60, 60, -60, -60, 60, 60, 0, 0
gaugeCategory = Ignition
ignadvGauge = ignitionAdvance, "Ignition timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1
@ -1346,10 +1332,10 @@ gaugeCategory = DynoView
entry = vvtPositionB1E, @@GAUGE_NAME_VVT_B1E@@, float, "%.1f"
entry = vvtPositionB2I, @@GAUGE_NAME_VVT_B2I@@, float, "%.1f"
entry = vvtPositionB2E, @@GAUGE_NAME_VVT_B2E@@, float, "%.1f"
entry = vvtTargetB1I, @@GAUGE_NAME_VVT_TARGET_B1I@@, int, "%d"
entry = vvtTargetB1E, @@GAUGE_NAME_VVT_TARGET_B1E@@, int, "%d"
entry = vvtTargetB2I, @@GAUGE_NAME_VVT_TARGET_B2I@@, int, "%d"
entry = vvtTargetB2E, @@GAUGE_NAME_VVT_TARGET_B2E@@, int, "%d"
entry = vvtTargets1, @@GAUGE_NAME_VVT_TARGET_B1I@@, int, "%d"
entry = vvtTargets2, @@GAUGE_NAME_VVT_TARGET_B1E@@, int, "%d"
entry = vvtTargets3, @@GAUGE_NAME_VVT_TARGET_B2I@@, int, "%d"
entry = vvtTargets4, @@GAUGE_NAME_VVT_TARGET_B2E@@, int, "%d"
entry = injectionOffset, "injOffset" , float, "%.2F"
; is there a way to log parameter? entry = debugMode, "debugMode",int,"%d"