automation around outputs section #197

This commit is contained in:
rusefillc 2021-11-27 12:28:59 -05:00
parent e41a9ab7b0
commit 412d804350
5 changed files with 99 additions and 77 deletions

View File

@ -62,57 +62,57 @@ uint16_t rpmAcceleration;;"RPM/s",1, 0, 0, 0, 0
uint8_t autoscale knockRetard;;"",{1/10}, 0, 0, 0, 0
uint8_t unused37;;"",1, 0, 0, 0, 0
uint16_t autoscale VBatt;;"",{1/@@PACK_MULT_VOLTAGE@@}, 0, 0, 0, 0
uint16_t autoscale VBatt;;"V",{1/@@PACK_MULT_VOLTAGE@@}, 0, 0, 0, 0
uint16_t autoscale oilPressure;;"",{1/@@PACK_MULT_PRESSURE@@}, 0, 0, 0, 0
uint16_t autoscale oilPressure;;"kPa",{1/@@PACK_MULT_PRESSURE@@}, 0, 0, 0, 0
uint16_t autoscale vvtPositionB1I;;"deg",{1/@@PACK_MULT_ANGLE@@}, 0, 0, 0, 0
uint16_t autoscale chargeAirMass;;"",{1/1000}, 0, 0, 0, 0
uint16_t autoscale crankingFuelMass;airmass in mg, 0-65 grams;"",{1/@@PACK_MULT_FUEL_MASS@@}, 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 currentTargetAfr;;"",{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;"",{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 fuelRunning;Total fuel with CLT IAT and TPS acceleration without injector lag corrections per cycle, as pulse per cycle;"",{1/@@PACK_MULT_FUEL_MASS@@}, 0, 0, 0, 0
uint16_t autoscale actualLastInjection;Actual last injection time - including all compensation and injection mode;"",{1/@@PACK_MULT_MS@@}, 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
uint8_t autoscale injectorDutyCycle;;"",{1/2}, 0, 0, 0, 0
uint8_t autoscale veValue;;"",{1/2}, 0, 0, 0, 0
uint16_t autoscale injectionOffset;;"",{1/@@PACK_MULT_ANGLE@@}, 0, 0, 0, 0
uint8_t autoscale injectorDutyCycle;;"%",{1/2}, 0, 0, 0, 0
uint8_t autoscale veValue;;"ratio",{1/2}, 0, 0, 0, 0
uint16_t autoscale injectionOffset;;"deg",{1/@@PACK_MULT_ANGLE@@}, 0, 0, 0, 0
uint16_t autoscale tCharge;;"",{1/@@PACK_MULT_TEMPERATURE@@}, 0, 0, 0, 0
uint16_t autoscale tCharge;;"deg C",{1/@@PACK_MULT_TEMPERATURE@@}, 0, 0, 0, 0
! Corrections
uint16_t autoscale injectorLagMs;;"",{1/@@PACK_MULT_MS@@}, 0, 0, 0, 0
uint16_t autoscale iatCorrection;;"",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 0
uint16_t autoscale cltCorrection;;"",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 0
uint16_t autoscale baroCorrection;;"",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 0
uint16_t autoscale currentEnginePhase;;"",1, 0, 0, 0, 0
uint16_t autoscale injectorLagMs;;"ms",{1/@@PACK_MULT_MS@@}, 0, 0, 0, 0
uint16_t autoscale iatCorrection;;"%",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 0
uint16_t autoscale cltCorrection;;"%",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 0
uint16_t autoscale baroCorrection;;"%",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 0
uint16_t autoscale currentEnginePhase;;"deg",1, 0, 0, 0, 0
! Wall model AE
uint16_t autoscale wallFuelAmount;;"",{1/@@PACK_MULT_FUEL_MASS@@}, 0, 0, 0, 0
uint16_t autoscale wallFuelCorrection;;"",{1/@@PACK_MULT_FUEL_MASS@@}, 0, 0, 0, 0
uint16_t autoscale wallFuelAmount;;"mg",{1/@@PACK_MULT_FUEL_MASS@@}, 0, 0, 0, 0
uint16_t autoscale wallFuelCorrection;;"mg",{1/@@PACK_MULT_FUEL_MASS@@}, 0, 0, 0, 0
uint16_t unused76;;"",1, 0, 0, 0, 0
uint16_t autoscale deltaTps;TPS acceleration enrichment;"",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 0
uint16_t autoscale deltaTps;TPS acceleration enrichment;"ratio",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 0
uint16_t unused80;;"",1, 0, 0, 0, 0
uint16_t autoscale tpsAccelFuel;;"",{1/@@PACK_MULT_MS@@}, 0, 0, 0, 0
uint16_t autoscale tpsAccelFuel;;"ms",{1/@@PACK_MULT_MS@@}, 0, 0, 0, 0
! Ignition
uint16_t autoscale ignitionAdvance;;"",{1/@@PACK_MULT_ANGLE@@}, 0, 0, 0, 0
uint16_t autoscale sparkDwell;;"",{1/@@PACK_MULT_MS@@}, 0, 0, 0, 0
uint16_t autoscale ignitionAdvance;;"deg",{1/@@PACK_MULT_ANGLE@@}, 0, 0, 0, 0
uint16_t autoscale sparkDwellValue;;"ms",{1/@@PACK_MULT_MS@@}, 0, 0, 0, 0
uint16_t autoscale coilDutyCycle;;"",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 0
uint16_t autoscale coilDutyCycle;;"%",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 0
! Idle & ETB
uint16_t autoscale idlePosition;;"",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 0
uint16_t autoscale etbTarget;;"",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 0
uint16_t autoscale etb1DutyCycle;;"",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 0
uint16_t autoscale etb1Error;;"",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 0
uint16_t autoscale idleAirValvePosition;;"%",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 0
uint16_t autoscale etbTarget;;"%",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 0
uint16_t autoscale etb1DutyCycle;;"%",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 0
uint16_t autoscale etb1Error;;"%",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 0
! Fuel system
uint16_t autoscale fuelTankLevel;;"",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 0
uint16_t autoscale fuelTankLevel;;"%",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 0
uint16_t autoscale totalFuelConsumption;;"",1, 0, 0, 0, 0
uint16_t autoscale fuelFlowRate;;"",{1/@@PACK_MULT_FUEL_FLOW@@}, 0, 0, 0, 0
uint16_t autoscale totalFuelConsumption;;"grams",1, 0, 0, 0, 0
uint16_t autoscale fuelFlowRate;;"gram/s",{1/@@PACK_MULT_FUEL_FLOW@@}, 0, 0, 0, 0
! Y axis values for selectable tables
uint16_t autoscale veTableYAxis;;"",{1/100}, 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 05:37:21 PST 2021
// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) console/binary/output_channels.txt Sat Nov 27 11:56:34 EST 2021
// by class com.rusefi.output.CHeaderConsumer
// begin
#pragma once
@ -194,10 +194,12 @@ struct ts_outputs_s {
*/
uint8_t unused37 = (uint8_t)0;
/**
V
* offset 38
*/
scaled_channel<uint16_t, 1000, 1> VBatt = (uint16_t)0;
/**
kPa
* offset 40
*/
scaled_channel<uint16_t, 30, 1> oilPressure = (uint16_t)0;
@ -207,74 +209,91 @@ struct ts_outputs_s {
*/
scaled_channel<uint16_t, 50, 1> vvtPositionB1I = (uint16_t)0;
/**
g
* offset 44
*/
scaled_channel<uint16_t, 1000, 1> chargeAirMass = (uint16_t)0;
/**
* airmass in mg, 0-65 grams
ms
* offset 46
*/
scaled_channel<uint16_t, 100, 1> crankingFuelMass = (uint16_t)0;
/**
ratio
* offset 48
*/
scaled_channel<uint16_t, 1000, 1> currentTargetAfr = (uint16_t)0;
/**
* This is the raw value we take from the fuel map or base fuel algorithm, before the corrections
mg
* offset 50
*/
scaled_channel<uint16_t, 100, 1> fuelBase = (uint16_t)0;
/**
* Total fuel with CLT IAT and TPS acceleration without injector lag corrections per cycle, as pulse per cycle
mg
* offset 52
*/
scaled_channel<uint16_t, 100, 1> fuelRunning = (uint16_t)0;
/**
* Actual last injection time - including all compensation and injection mode
ms
* offset 54
*/
scaled_channel<uint16_t, 300, 1> actualLastInjection = (uint16_t)0;
/**
%
* offset 56
*/
scaled_channel<uint8_t, 2, 1> injectorDutyCycle = (uint8_t)0;
/**
ratio
* offset 57
*/
scaled_channel<uint8_t, 2, 1> veValue = (uint8_t)0;
/**
deg
* offset 58
*/
scaled_channel<uint16_t, 50, 1> injectionOffset = (uint16_t)0;
/**
deg C
* offset 60
*/
scaled_channel<uint16_t, 100, 1> tCharge = (uint16_t)0;
/**
ms
* offset 62
*/
scaled_channel<uint16_t, 300, 1> injectorLagMs = (uint16_t)0;
/**
%
* offset 64
*/
scaled_channel<uint16_t, 100, 1> iatCorrection = (uint16_t)0;
/**
%
* offset 66
*/
scaled_channel<uint16_t, 100, 1> cltCorrection = (uint16_t)0;
/**
%
* offset 68
*/
scaled_channel<uint16_t, 100, 1> baroCorrection = (uint16_t)0;
/**
deg
* offset 70
*/
scaled_channel<uint16_t, 1, 1> currentEnginePhase = (uint16_t)0;
/**
mg
* offset 72
*/
scaled_channel<uint16_t, 100, 1> wallFuelAmount = (uint16_t)0;
/**
mg
* offset 74
*/
scaled_channel<uint16_t, 100, 1> wallFuelCorrection = (uint16_t)0;
@ -284,6 +303,7 @@ struct ts_outputs_s {
uint16_t unused76 = (uint16_t)0;
/**
* TPS acceleration enrichment
ratio
* offset 78
*/
scaled_channel<uint16_t, 100, 1> deltaTps = (uint16_t)0;
@ -292,46 +312,57 @@ struct ts_outputs_s {
*/
uint16_t unused80 = (uint16_t)0;
/**
ms
* offset 82
*/
scaled_channel<uint16_t, 300, 1> tpsAccelFuel = (uint16_t)0;
/**
deg
* offset 84
*/
scaled_channel<uint16_t, 50, 1> ignitionAdvance = (uint16_t)0;
/**
ms
* offset 86
*/
scaled_channel<uint16_t, 300, 1> sparkDwell = (uint16_t)0;
scaled_channel<uint16_t, 300, 1> sparkDwellValue = (uint16_t)0;
/**
%
* offset 88
*/
scaled_channel<uint16_t, 100, 1> coilDutyCycle = (uint16_t)0;
/**
%
* offset 90
*/
scaled_channel<uint16_t, 100, 1> idlePosition = (uint16_t)0;
scaled_channel<uint16_t, 100, 1> idleAirValvePosition = (uint16_t)0;
/**
%
* offset 92
*/
scaled_channel<uint16_t, 100, 1> etbTarget = (uint16_t)0;
/**
%
* offset 94
*/
scaled_channel<uint16_t, 100, 1> etb1DutyCycle = (uint16_t)0;
/**
%
* offset 96
*/
scaled_channel<uint16_t, 100, 1> etb1Error = (uint16_t)0;
/**
%
* offset 98
*/
scaled_channel<uint16_t, 100, 1> fuelTankLevel = (uint16_t)0;
/**
grams
* offset 100
*/
scaled_channel<uint16_t, 1, 1> totalFuelConsumption = (uint16_t)0;
/**
gram/s
* offset 102
*/
scaled_channel<uint16_t, 200, 1> fuelFlowRate = (uint16_t)0;
@ -640,4 +671,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 05:37:21 PST 2021
// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) console/binary/output_channels.txt Sat Nov 27 11:56:34 EST 2021

View File

@ -88,9 +88,9 @@ static constexpr LogField fields[] = {
{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},
{tsOutputChannels.sparkDwell, GAUGE_COIL_DWELL_TIME, "ms", 1},
{tsOutputChannels.sparkDwellValue, GAUGE_COIL_DWELL_TIME, "ms", 1},
{tsOutputChannels.coilDutyCycle, GAUGE_NAME_DWELL_DUTY, "%", 0},
{tsOutputChannels.idlePosition, GAUGE_NAME_IAC, "%", 1},
{tsOutputChannels.idleAirValvePosition, GAUGE_NAME_IAC, "%", 1},
{tsOutputChannels.etbTarget, GAUGE_NAME_ETB_TARGET, "%", 2},
{tsOutputChannels.etb1DutyCycle, GAUGE_NAME_ETB_DUTY, "%", 1},
{tsOutputChannels.etb1Error, GAUGE_NAME_ETB_ERROR, "%", 3},

View File

@ -628,7 +628,7 @@ static void updateIgnition(int rpm) {
// that's weird logic. also seems broken for two stroke?
tsOutputChannels.ignitionAdvance = timing > FOUR_STROKE_CYCLE_DURATION / 2 ? timing - FOUR_STROKE_CYCLE_DURATION : timing;
// 60
tsOutputChannels.sparkDwell = engine->engineState.sparkDwell;
tsOutputChannels.sparkDwellValue = engine->engineState.sparkDwell;
tsOutputChannels.coilDutyCycle = getCoilDutyCycle(rpm);
@ -761,7 +761,7 @@ void updateTunerStudioState(TunerStudioOutputChannels *tsOutputChannels) {
#endif /* EFI_MAX_31855 */
#if EFI_IDLE_CONTROL
tsOutputChannels->idlePosition = getIdlePosition();
tsOutputChannels->idleAirValvePosition = getIdlePosition();
#endif
tsOutputChannels->warningCounter = engine->engineState.warnings.warningCounter;

View File

@ -235,42 +235,31 @@ baroPressure = scalar, U16, 32, "kPa", 0.03333333333333333, 0
lambdaValue = scalar, U16, 34, "", 1.0E-4, 0
knockRetard = scalar, U08, 36, "", 0.1, 0
unused37 = scalar, U08, 37, "", 1, 0
VBatt = scalar, U16, 38, "V",{1/@@PACK_MULT_VOLTAGE@@}, 0.0
oilPressure = scalar, U16, 40, "kPa",{1/@@PACK_MULT_PRESSURE@@}, 0.0
vvtPositionB1I = scalar, S16, 42, "deg",{1/@@PACK_MULT_ANGLE@@}, 0
; 10 bit TPS ADC value (from 0 to 1023 in 5v scale)
;tpsADC2 = scalar, U16, 44, "ADC", 1, 0.0;
; fuel math
chargeAirMass = scalar, U16, 44, "g",0.001, 0
crankingFuelMs = scalar, U16, 46, "mg",{1/@@PACK_MULT_FUEL_MASS@@}, 0.0
currentTargetAfr= scalar, U16, 48, "ratio",{1/@@PACK_MULT_AFR@@}, 0
baseFuel = scalar, U16, 50, "mg",{1/@@PACK_MULT_FUEL_MASS@@}, 0
fuelRunning = scalar, U16, 52, "mg",{1/@@PACK_MULT_FUEL_MASS@@}, 0
actualLastInjection=scalar,U16, 54, "ms",{1/@@PACK_MULT_MS@@}, 0.0
injectorDutyCycle=scalar, U08, 56, "%", 0.5, 0
veValue = scalar, U08, 57, "ratio", 0.5, 0
injectionOffset = scalar, S16, 58, "deg",{1/@@PACK_MULT_ANGLE@@}, 0
tCharge = scalar, U16, 60, "deg C",{1/@@PACK_MULT_TEMPERATURE@@}, 0.0
; Corrections
injectorLagMs = scalar, U16, 62, "ms",{1/@@PACK_MULT_MS@@}, 0.0
iatCorrection = scalar, S16, 64, "%",{1/@@PACK_MULT_PERCENT@@}, 0
cltCorrection = scalar, S16, 66, "%",{1/@@PACK_MULT_PERCENT@@}, 0
baroCorrection = scalar, S16, 68, "%",{1/@@PACK_MULT_PERCENT@@}, 0
fuelPidCorrection=scalar, S16, 296, "%",{1/@@PACK_MULT_PERCENT@@}, 0
fuelPidCorrection2=scalar, S16, 298, "%",{1/@@PACK_MULT_PERCENT@@}, 0
; Wall model AE
wallFuelAmount = scalar, U16, 72, "mg",{1/@@PACK_MULT_FUEL_MASS@@}, 0
wallFuelCorrection=scalar, S16, 74, "mg",{1/@@PACK_MULT_FUEL_MASS@@}, 0
; TPS/load AE
unusedLoadDelta = scalar, S16, 76, "value",{1/@@PACK_MULT_PERCENT@@}, 0
deltaTps = scalar, S16, 78, "ratio",{1/@@PACK_MULT_PERCENT@@}, 0
unusedLoadAccelExtra=scalar,S16, 80, "value",{1/@@PACK_MULT_PERCENT@@}, 0
tpsAccelFuel = scalar, U16, 82, "ms",{1/@@PACK_MULT_MS@@}, 0
VBatt = scalar, U16, 38, "V", 0.001, 0
oilPressure = scalar, U16, 40, "kPa", 0.03333333333333333, 0
vvtPositionB1I = scalar, U16, 42, "deg", 0.02, 0
chargeAirMass = scalar, U16, 44, "g", 0.001, 0
crankingFuelMass = scalar, U16, 46, "ms", 0.01, 0
currentTargetAfr = scalar, U16, 48, "ratio", 0.001, 0
fuelBase = scalar, U16, 50, "mg", 0.01, 0
fuelRunning = scalar, U16, 52, "mg", 0.01, 0
actualLastInjection = scalar, U16, 54, "ms", 0.0033333333333333335, 0
injectorDutyCycle = scalar, U08, 56, "%", 0.5, 0
veValue = scalar, U08, 57, "ratio", 0.5, 0
injectionOffset = scalar, U16, 58, "deg", 0.02, 0
tCharge = scalar, U16, 60, "deg C", 0.01, 0
injectorLagMs = scalar, U16, 62, "ms", 0.0033333333333333335, 0
iatCorrection = scalar, U16, 64, "%", 0.01, 0
cltCorrection = scalar, U16, 66, "%", 0.01, 0
baroCorrection = scalar, U16, 68, "%", 0.01, 0
currentEnginePhase = scalar, U16, 70, "deg", 1, 0
currentEnginePhase = scalar, U16, 70, "deg", 1, 0
wallFuelAmount = scalar, U16, 72, "mg", 0.01, 0
wallFuelCorrection = scalar, U16, 74, "mg", 0.01, 0
unused76 = scalar, U16, 76, "", 1, 0
deltaTps = scalar, U16, 78, "ratio", 0.01, 0
unused80 = scalar, U16, 80, "", 1, 0
tpsAccelFuel = scalar, U16, 82, "ms", 0.0033333333333333335, 0
; Ignition
ignitionAdvance = scalar, S16, 84, "deg",{1/@@PACK_MULT_ANGLE@@}, 0.0
@ -407,6 +396,9 @@ unused37 = scalar, U08, 37, "", 1, 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
vvtTargetB1I = scalar, S08, 314, "deg", 1, 0
vvtTargetB1E = scalar, S08, 315, "deg", 1, 0
vvtTargetB2I = scalar, S08, 316, "deg", 1, 0
@ -418,7 +410,6 @@ unused37 = scalar, U08, 37, "", 1, 0
rawTps2Primary = scalar, U16, 302, "V",{1/@@PACK_MULT_VOLTAGE@@}, 0.0
rawTps2Secondary = scalar, U16, 304, "V",{1/@@PACK_MULT_VOLTAGE@@}, 0.0
currentEnginePhase = scalar, U16, 70, "deg", 1, 0
;
; see TunerStudioOutputChannels struct
;
@ -3764,7 +3755,7 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@\x00\x31\x00\x00"
field = "Trailing Pin 4", trailingCoilPins4
dialog = parkingLot, "Experimental/Broken"
field = "mapCamDetectionAnglePosition", mapCapDetectionAnglePosition
field = "mapCamDetectionAnglePosition", mapCamDetectionAnglePosition
field = "mapCamDetectionThreshold", mapCamDetectionThreshold
field = "#System hacks"
field = "Global fuel correction", globalFuelCorrection