automation around outputs section #197

This commit is contained in:
rusefillc 2021-11-26 20:46:30 -05:00
parent 973a4a24fb
commit 6ff42cc031
5 changed files with 29 additions and 16 deletions

View File

@ -140,4 +140,11 @@ uint16_t rpmAcceleration;;"",1, 0, 0, 0, 0
! The ECU simply has to sequentially set a mode/value, wait briefly, then repeat until all the values
! it wants to send have been sent.
float autoscale calibrationValue;;"", 1, 0, 0, 0, 0
uint8_t autoscale calibrationMode;;"", 1, 0, 0, 0, 0
uint8_t autoscale padding;;"", 1, 0, 0, 0, 0
! Values used for load axes for fuel/ign tables
! These may or may not be the same value, depending on mode
uint16_t autoscale fuelingLoad;;"",{1/100}, 0, 0, 0, 0
end_struct

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 Fri Nov 26 18:55:26 EST 2021
// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) console/binary/output_channels.txt Fri Nov 26 19:33:53 EST 2021
// by class com.rusefi.output.CHeaderConsumer
// begin
#pragma once
@ -350,8 +350,20 @@ struct ts_outputs_s {
* offset 128
*/
scaled_channel<float, 1, 1> calibrationValue = (float)0;
/** total size 132*/
/**
* offset 132
*/
scaled_channel<uint8_t, 1, 1> calibrationMode = (uint8_t)0;
/**
* offset 133
*/
scaled_channel<uint8_t, 1, 1> padding = (uint8_t)0;
/**
* offset 134
*/
scaled_channel<uint16_t, 100, 1> fuelingLoad = (uint16_t)0;
/** total size 136*/
};
// end
// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) console/binary/output_channels.txt Fri Nov 26 18:55:26 EST 2021
// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) console/binary/output_channels.txt Fri Nov 26 19:33:53 EST 2021

View File

@ -44,12 +44,6 @@ enum class TsCalMode : uint8_t {
struct TunerStudioOutputChannels : ts_outputs_s {
/* see also [OutputChannels] in rusefi.input */
TsCalMode calibrationMode; // 132
uint8_t padding[1]; // 133
// Values used for load axes for fuel/ign tables
// These may or may not be the same value, depending on mode
scaled_channel<uint16_t, 100> fuelingLoad; // 134
scaled_channel<uint16_t, 100> ignitionLoad; // 136
// we want a hash of engineMake+engineCode+vehicleName in the log file in order to match TS logs to rusEFI Online tune

View File

@ -414,7 +414,7 @@ expected<percent_t> EtbController::getClosedLoopAutotune(percent_t target, perce
m_autotuneCounter++;
// Multiplex 3 signals on to the {mode, value} format
tsOutputChannels.calibrationMode = static_cast<TsCalMode>(m_autotuneCurrentParam + 3);
tsOutputChannels.calibrationMode = (uint8_t)static_cast<TsCalMode>(m_autotuneCurrentParam + 3);
switch (m_autotuneCurrentParam) {
case 0:
@ -635,21 +635,21 @@ struct EtbImpl final : public EtbController {
}
// Write out the learned values to TS, waiting briefly after setting each to let TS grab it
tsOutputChannels.calibrationMode = functionToCalModePriMax(myFunction);
tsOutputChannels.calibrationMode = (uint8_t)functionToCalModePriMax(myFunction);
tsOutputChannels.calibrationValue = primaryMax * TPS_TS_CONVERSION;
chThdSleepMilliseconds(500);
tsOutputChannels.calibrationMode = functionToCalModePriMin(myFunction);
tsOutputChannels.calibrationMode = (uint8_t)functionToCalModePriMin(myFunction);
tsOutputChannels.calibrationValue = primaryMin * TPS_TS_CONVERSION;
chThdSleepMilliseconds(500);
tsOutputChannels.calibrationMode = functionToCalModeSecMax(myFunction);
tsOutputChannels.calibrationMode = (uint8_t)functionToCalModeSecMax(myFunction);
tsOutputChannels.calibrationValue = secondaryMax * TPS_TS_CONVERSION;
chThdSleepMilliseconds(500);
tsOutputChannels.calibrationMode = functionToCalModeSecMin(myFunction);
tsOutputChannels.calibrationMode = (uint8_t)functionToCalModeSecMin(myFunction);
tsOutputChannels.calibrationValue = secondaryMin * TPS_TS_CONVERSION;
chThdSleepMilliseconds(500);
tsOutputChannels.calibrationMode = TsCalMode::None;
tsOutputChannels.calibrationMode = (uint8_t)TsCalMode::None;
m_isAutocal = false;
return;

View File

@ -379,7 +379,7 @@ static void handleCommandX14(uint16_t index) {
case 0x10:
engine->etbAutoTune = false;
#if EFI_TUNER_STUDIO
tsOutputChannels.calibrationMode = TsCalMode::None;
tsOutputChannels.calibrationMode = (uint8_t)TsCalMode::None;
#endif // EFI_TUNER_STUDIO
return;
#endif