This commit is contained in:
Andrey 2022-11-27 09:24:56 -05:00
commit 87d28856e1
52 changed files with 175 additions and 103 deletions

View File

@ -28,6 +28,9 @@ Release template (copy/paste this for new release):
## Unreleased
### Breaking Changes
- SD logging rate is now set with hz instead of ms period #4553
## November 2022 Release - "Day 267"
### Added

View File

@ -11,6 +11,7 @@
*/
#include "pch.h"
#include "electronic_throttle.h"
#include "hellen_meta.h"
#include "defaults.h"

View File

@ -121,9 +121,9 @@ static void runCommands() {
if (chThdShouldTerminateX() || (baudIdx == efi::size(baudRates))) {
if (baudIdx == efi::size(baudRates)) {
efiPrintf("Failed to find current BT module baudrate");
return;
}
tsChannel->start(engineConfiguration->tunerStudioSerialSpeed);
return;
}
efiPrintf("Restarting at %d", baudRates[baudIdx]);
@ -192,14 +192,17 @@ static void runCommands() {
chThdSleepMilliseconds(10); // safety
tsChannel->start(baudRates[setBaudIdx]);
chsnprintf(tmp, sizeof(tmp), "AT+NAME=%s\r\n", btName);
if (btModuleType == BLUETOOTH_HC_05)
chsnprintf(tmp, sizeof(tmp), "AT+NAME=%s\r\n", btName);
else
chsnprintf(tmp, sizeof(tmp), "AT+NAME%s\r\n", btName);
btWrite(tmp);
if (btWaitOk() != 0) {
goto cmdFailed;
}
if (btModuleType == BLUETOOTH_JDY_3x) {
/* BLE broadcast name */
chsnprintf(tmp, sizeof(tmp), "AT+NAMB=%s\r\n", btName);
chsnprintf(tmp, sizeof(tmp), "AT+NAMB%s\r\n", btName);
btWrite(tmp);
if (btWaitOk() != 0) {
goto cmdFailed;
@ -308,10 +311,12 @@ void bluetoothStart(bluetooth_module_e moduleType, const char *baudRate, const c
// 3) check pin code
if (strlen(pinCode) != 4) {
efiPrintf("Wrong <pincode> parameter! 4 digits expected! %s", usage);
return;
}
for (int i = 0; i < 4; i++) {
if (!isdigit(pinCode[i])) {
efiPrintf("<pincode> should contain digits only %s", usage);
return;
}
}

View File

@ -498,7 +498,6 @@ expected<percent_t> EtbController::getClosedLoop(percent_t target, percent_t obs
m_shouldResetPid = false;
}
// Only allow autotune with stopped engine, and on the first throttle
if (m_isAutotune) {
return getClosedLoopAutotune(target, observation);
} else {
@ -569,6 +568,7 @@ void EtbController::update() {
m_pid.iTermMin = engineConfiguration->etb_iTermMin;
m_pid.iTermMax = engineConfiguration->etb_iTermMax;
// Only allow autotune with stopped engine, and on the first throttle
// Update local state about autotune
m_isAutotune = Sensor::getOrZero(SensorType::Rpm) == 0
&& engine->etbAutoTune

View File

@ -83,6 +83,7 @@ private:
DcMotor *m_motor = nullptr;
Pid m_pid;
bool m_shouldResetPid = false;
// todo: rename to m_targetErrorAccumulator
ErrorAccumulator m_errorAccumulator;
// Pedal -> target map

View File

@ -481,7 +481,7 @@ static void setDefaultEngineConfiguration() {
// Don't enable, but set default address
engineConfiguration->verboseCanBaseAddress = CAN_DEFAULT_BASE;
engineConfiguration->sdCardPeriodMs = 50;
engineConfiguration->sdCardLogFrequency = 50;
engineConfiguration->mapMinBufferLength = 1;
engineConfiguration->vvtActivationDelayMs = 6000;

View File

@ -2,5 +2,5 @@
// was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer
//
#define SIGNATURE_HASH snap_22113
#define TS_SIGNATURE "rusEFI 2022.11.27.48way.snap_22113"
#define SIGNATURE_HASH snap_38624
#define TS_SIGNATURE "rusEFI 2022.11.27.48way.snap_38624"

View File

@ -2,5 +2,5 @@
// was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer
//
#define SIGNATURE_HASH snap_24110
#define TS_SIGNATURE "rusEFI 2022.11.27.all.snap_24110"
#define SIGNATURE_HASH snap_40623
#define TS_SIGNATURE "rusEFI 2022.11.27.all.snap_40623"

View File

@ -2,5 +2,5 @@
// was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer
//
#define SIGNATURE_HASH snap_49986
#define TS_SIGNATURE "rusEFI 2022.11.27.alphax-2chan.snap_49986"
#define SIGNATURE_HASH snap_963
#define TS_SIGNATURE "rusEFI 2022.11.27.alphax-2chan.snap_963"

View File

@ -2,5 +2,5 @@
// was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer
//
#define SIGNATURE_HASH snap_40353
#define TS_SIGNATURE "rusEFI 2022.11.27.alphax-4chan.snap_40353"
#define SIGNATURE_HASH snap_23840
#define TS_SIGNATURE "rusEFI 2022.11.27.alphax-4chan.snap_23840"

View File

@ -2,5 +2,5 @@
// was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer
//
#define SIGNATURE_HASH snap_43785
#define TS_SIGNATURE "rusEFI 2022.11.27.atlas.snap_43785"
#define SIGNATURE_HASH snap_27528
#define TS_SIGNATURE "rusEFI 2022.11.27.atlas.snap_27528"

View File

@ -2,5 +2,5 @@
// was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer
//
#define SIGNATURE_HASH snap_4055
#define TS_SIGNATURE "rusEFI 2022.11.27.core8.snap_4055"
#define SIGNATURE_HASH snap_53078
#define TS_SIGNATURE "rusEFI 2022.11.27.core8.snap_53078"

View File

@ -2,5 +2,5 @@
// was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat by SignatureConsumer
//
#define SIGNATURE_HASH snap_24110
#define TS_SIGNATURE "rusEFI 2022.11.27.cypress.snap_24110"
#define SIGNATURE_HASH snap_40623
#define TS_SIGNATURE "rusEFI 2022.11.27.cypress.snap_40623"

View File

@ -2,5 +2,5 @@
// was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer
//
#define SIGNATURE_HASH snap_24110
#define TS_SIGNATURE "rusEFI 2022.11.27.f407-discovery.snap_24110"
#define SIGNATURE_HASH snap_40623
#define TS_SIGNATURE "rusEFI 2022.11.27.f407-discovery.snap_40623"

View File

@ -2,5 +2,5 @@
// was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer
//
#define SIGNATURE_HASH snap_24110
#define TS_SIGNATURE "rusEFI 2022.11.27.f429-discovery.snap_24110"
#define SIGNATURE_HASH snap_40623
#define TS_SIGNATURE "rusEFI 2022.11.27.f429-discovery.snap_40623"

View File

@ -2,5 +2,5 @@
// was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer
//
#define SIGNATURE_HASH snap_41706
#define TS_SIGNATURE "rusEFI 2022.11.27.frankenso_na6.snap_41706"
#define SIGNATURE_HASH snap_25195
#define TS_SIGNATURE "rusEFI 2022.11.27.frankenso_na6.snap_25195"

View File

@ -2,5 +2,5 @@
// was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer
//
#define SIGNATURE_HASH snap_6353
#define TS_SIGNATURE "rusEFI 2022.11.27.harley81.snap_6353"
#define SIGNATURE_HASH snap_55376
#define TS_SIGNATURE "rusEFI 2022.11.27.harley81.snap_55376"

View File

@ -2,5 +2,5 @@
// was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer
//
#define SIGNATURE_HASH snap_15658
#define TS_SIGNATURE "rusEFI 2022.11.27.hellen-gm-e67.snap_15658"
#define SIGNATURE_HASH snap_64939
#define TS_SIGNATURE "rusEFI 2022.11.27.hellen-gm-e67.snap_64939"

View File

@ -2,5 +2,5 @@
// was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer
//
#define SIGNATURE_HASH snap_28642
#define TS_SIGNATURE "rusEFI 2022.11.27.hellen-nb1.snap_28642"
#define SIGNATURE_HASH snap_44899
#define TS_SIGNATURE "rusEFI 2022.11.27.hellen-nb1.snap_44899"

View File

@ -2,5 +2,5 @@
// was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer
//
#define SIGNATURE_HASH snap_21330
#define TS_SIGNATURE "rusEFI 2022.11.27.hellen121nissan.snap_21330"
#define SIGNATURE_HASH snap_37843
#define TS_SIGNATURE "rusEFI 2022.11.27.hellen121nissan.snap_37843"

View File

@ -2,5 +2,5 @@
// was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer
//
#define SIGNATURE_HASH snap_51507
#define TS_SIGNATURE "rusEFI 2022.11.27.hellen121vag.snap_51507"
#define SIGNATURE_HASH snap_2482
#define TS_SIGNATURE "rusEFI 2022.11.27.hellen121vag.snap_2482"

View File

@ -2,5 +2,5 @@
// was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer
//
#define SIGNATURE_HASH snap_8981
#define TS_SIGNATURE "rusEFI 2022.11.27.hellen128.snap_8981"
#define SIGNATURE_HASH snap_58260
#define TS_SIGNATURE "rusEFI 2022.11.27.hellen128.snap_58260"

View File

@ -2,5 +2,5 @@
// was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer
//
#define SIGNATURE_HASH snap_25805
#define TS_SIGNATURE "rusEFI 2022.11.27.hellen154hyundai.snap_25805"
#define SIGNATURE_HASH snap_42060
#define TS_SIGNATURE "rusEFI 2022.11.27.hellen154hyundai.snap_42060"

View File

@ -2,5 +2,5 @@
// was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer
//
#define SIGNATURE_HASH snap_20645
#define TS_SIGNATURE "rusEFI 2022.11.27.hellen72.snap_20645"
#define SIGNATURE_HASH snap_36900
#define TS_SIGNATURE "rusEFI 2022.11.27.hellen72.snap_36900"

View File

@ -2,5 +2,5 @@
// was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer
//
#define SIGNATURE_HASH snap_34340
#define TS_SIGNATURE "rusEFI 2022.11.27.hellen81.snap_34340"
#define SIGNATURE_HASH snap_18085
#define TS_SIGNATURE "rusEFI 2022.11.27.hellen81.snap_18085"

View File

@ -2,5 +2,5 @@
// was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer
//
#define SIGNATURE_HASH snap_19938
#define TS_SIGNATURE "rusEFI 2022.11.27.hellen88bmw.snap_19938"
#define SIGNATURE_HASH snap_36195
#define TS_SIGNATURE "rusEFI 2022.11.27.hellen88bmw.snap_36195"

View File

@ -2,5 +2,5 @@
// was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer
//
#define SIGNATURE_HASH snap_61209
#define TS_SIGNATURE "rusEFI 2022.11.27.hellenNA6.snap_61209"
#define SIGNATURE_HASH snap_12184
#define TS_SIGNATURE "rusEFI 2022.11.27.hellenNA6.snap_12184"

View File

@ -2,5 +2,5 @@
// was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer
//
#define SIGNATURE_HASH snap_61382
#define TS_SIGNATURE "rusEFI 2022.11.27.hellenNA8_96.snap_61382"
#define SIGNATURE_HASH snap_12103
#define TS_SIGNATURE "rusEFI 2022.11.27.hellenNA8_96.snap_12103"

View File

@ -2,5 +2,5 @@
// was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat by SignatureConsumer
//
#define SIGNATURE_HASH snap_64738
#define TS_SIGNATURE "rusEFI 2022.11.27.kin.snap_64738"
#define SIGNATURE_HASH snap_15459
#define TS_SIGNATURE "rusEFI 2022.11.27.kin.snap_15459"

View File

@ -2,5 +2,5 @@
// was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer
//
#define SIGNATURE_HASH snap_14638
#define TS_SIGNATURE "rusEFI 2022.11.27.mre_f4.snap_14638"
#define SIGNATURE_HASH snap_63919
#define TS_SIGNATURE "rusEFI 2022.11.27.mre_f4.snap_63919"

View File

@ -2,5 +2,5 @@
// was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer
//
#define SIGNATURE_HASH snap_14638
#define TS_SIGNATURE "rusEFI 2022.11.27.mre_f7.snap_14638"
#define SIGNATURE_HASH snap_63919
#define TS_SIGNATURE "rusEFI 2022.11.27.mre_f7.snap_63919"

View File

@ -2,5 +2,5 @@
// was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer
//
#define SIGNATURE_HASH snap_34760
#define TS_SIGNATURE "rusEFI 2022.11.27.prometheus_405.snap_34760"
#define SIGNATURE_HASH snap_18249
#define TS_SIGNATURE "rusEFI 2022.11.27.prometheus_405.snap_18249"

View File

@ -2,5 +2,5 @@
// was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer
//
#define SIGNATURE_HASH snap_34760
#define TS_SIGNATURE "rusEFI 2022.11.27.prometheus_469.snap_34760"
#define SIGNATURE_HASH snap_18249
#define TS_SIGNATURE "rusEFI 2022.11.27.prometheus_469.snap_18249"

View File

@ -2,5 +2,5 @@
// was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer
//
#define SIGNATURE_HASH snap_39256
#define TS_SIGNATURE "rusEFI 2022.11.27.proteus_f4.snap_39256"
#define SIGNATURE_HASH snap_23001
#define TS_SIGNATURE "rusEFI 2022.11.27.proteus_f4.snap_23001"

View File

@ -2,5 +2,5 @@
// was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer
//
#define SIGNATURE_HASH snap_39256
#define TS_SIGNATURE "rusEFI 2022.11.27.proteus_f7.snap_39256"
#define SIGNATURE_HASH snap_23001
#define TS_SIGNATURE "rusEFI 2022.11.27.proteus_f7.snap_23001"

View File

@ -2,5 +2,5 @@
// was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer
//
#define SIGNATURE_HASH snap_39256
#define TS_SIGNATURE "rusEFI 2022.11.27.proteus_h7.snap_39256"
#define SIGNATURE_HASH snap_23001
#define TS_SIGNATURE "rusEFI 2022.11.27.proteus_h7.snap_23001"

View File

@ -2,5 +2,5 @@
// was generated automatically by rusEFI tool ConfigDefinition.jar based on config/boards/subaru_eg33/config/gen_subaru_config.sh by SignatureConsumer
//
#define SIGNATURE_HASH snap_34804
#define TS_SIGNATURE "rusEFI 2022.11.27.subaru_eg33_f7.snap_34804"
#define SIGNATURE_HASH snap_18293
#define TS_SIGNATURE "rusEFI 2022.11.27.subaru_eg33_f7.snap_18293"

View File

@ -2,5 +2,5 @@
// was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer
//
#define SIGNATURE_HASH snap_36986
#define TS_SIGNATURE "rusEFI 2022.11.27.tdg-pdm8.snap_36986"
#define SIGNATURE_HASH snap_20731
#define TS_SIGNATURE "rusEFI 2022.11.27.tdg-pdm8.snap_20731"

View File

@ -97,7 +97,7 @@ public:
bool allowTriggerInput() const;
// Other subsystems call these APIs to indicate a problem has occured
// Other subsystems call these APIs to indicate a problem has occurred
void etbProblem();
void fatalError();

View File

@ -114,6 +114,7 @@ static plain_get_float_s getF_plain[] = {
{"oilPressure.v2", &engineConfiguration->oilPressure.v2},
{"oilPressure.value2", &engineConfiguration->oilPressure.value2},
{"auxFrequencyFilter", &engineConfiguration->auxFrequencyFilter},
{"etbDutyThreshold", &engineConfiguration->etbDutyThreshold},
{"highPressureFuel.v1", &engineConfiguration->highPressureFuel.v1},
{"highPressureFuel.value1", &engineConfiguration->highPressureFuel.value1},
{"highPressureFuel.v2", &engineConfiguration->highPressureFuel.v2},
@ -145,6 +146,7 @@ static plain_get_float_s getF_plain[] = {
{"auxLinear2.v2", &engineConfiguration->auxLinear2.v2},
{"auxLinear2.value2", &engineConfiguration->auxLinear2.value2},
{"etbMinimumPosition", &engineConfiguration->etbMinimumPosition},
{"etbDutyShutdownThreshold", &engineConfiguration->etbDutyShutdownThreshold},
};
plain_get_float_s * findFloat(const char *name) {
@ -410,8 +412,8 @@ float getConfigValueByName(const char *name) {
return engineConfiguration->stoichRatioSecondary;
if (strEqualCaseInsensitive(name, "etbMaximumPosition"))
return engineConfiguration->etbMaximumPosition;
if (strEqualCaseInsensitive(name, "sdCardPeriodMs"))
return engineConfiguration->sdCardPeriodMs;
if (strEqualCaseInsensitive(name, "sdCardLogFrequency"))
return engineConfiguration->sdCardLogFrequency;
if (strEqualCaseInsensitive(name, "mapMinBufferLength"))
return engineConfiguration->mapMinBufferLength;
if (strEqualCaseInsensitive(name, "idlePidDeactivationTpsThreshold"))
@ -1499,9 +1501,9 @@ void setConfigValueByName(const char *name, float value) {
engineConfiguration->etbMaximumPosition = (int)value;
return;
}
if (strEqualCaseInsensitive(name, "sdCardPeriodMs"))
if (strEqualCaseInsensitive(name, "sdCardLogFrequency"))
{
engineConfiguration->sdCardPeriodMs = (int)value;
engineConfiguration->sdCardLogFrequency = (int)value;
return;
}
if (strEqualCaseInsensitive(name, "mapMinBufferLength"))

View File

@ -540,10 +540,15 @@ static THD_FUNCTION(MMCmonThread, arg) {
return;
}
auto period = engineConfiguration->sdCardPeriodMs;
if (period > 0) {
chThdSleepMilliseconds(period);
auto freq = engineConfiguration->sdCardLogFrequency;
if (freq > 250) {
freq = 250;
} else if (freq < 1) {
freq = 1;
}
auto period = 1e6 / freq;
chThdSleepMicroseconds((int)period);
}
}

View File

@ -93,7 +93,7 @@
! Any time an incompatible change is made to the configuration format stored in flash,
! update this string to the current date! It is required to also update TS_SIGNATURE above
! when this happens.
#define FLASH_DATA_VERSION 10015
#define FLASH_DATA_VERSION 10016
! this offset is part of console compatibility mechanism, please DO NOT change this offset
#define TS_FILE_VERSION_OFFSET 124
@ -834,7 +834,7 @@ output_pin_e acFanPin;Optional Radiator Fan used with A/C
custom uart_device_e 1 bits, U08, @OFFSET@, [0:1], "Off", "UART1", "UART2", "UART3"
int16_t sdCardPeriodMs;SD card logging period, in milliseconds;"ms", 1, 0, 0, 30000, 0
uint16_t sdCardLogFrequency;Rate the ECU will log to the SD card, in hz (log lines per second).;"hz", 1, 0, 1, 250, 0
adc_channel_e idlePositionSensor;
Gpio debugMapAveraging;
output_pin_e starterRelayDisablePin;
@ -1349,7 +1349,7 @@ custom stepper_num_micro_steps_e 1 bits, U08, @OFFSET@, [0:3], @@stepper_num_mic
int8_t launchFuelAdderPercent
int8_t[3 iterate] sorryUnused
int8_t[4 iterate] sorryUnusedF
float etbDutyThreshold
int16_t coastingFuelCutRpmHigh;This sets the RPM above which fuel cut is active.;"rpm", 1, 0, 0, 5000, 0
int16_t coastingFuelCutRpmLow;This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle;"rpm", 1, 0, 0, 5000, 0
@ -1537,7 +1537,8 @@ uint16_t tuneHidingKey;;"", 1, 0, 0, 20000, 0
#define HIGH_SPEED_COUNT 32
uint16_t[HIGH_SPEED_COUNT] highSpeedOffsets;;"", 1.0000, 0.00000,0.00,65535, 0, noMsqSave
uint8_t[160] mainUnusedEnd;;"units", 1, 0, 0, 1, 0
float etbDutyShutdownThreshold
uint8_t[156] mainUnusedEnd;;"units", 1, 0, 0, 1, 0
! end of engine_configuration_s
end_struct

View File

@ -1570,13 +1570,13 @@ menuDialog = main
groupMenu = "VE blend tables"
groupChildMenu = veBlend1Cfg, "Adder 1 bias", 0, {isInjectionEnabled}
groupChildMenu = veBlend1Table, "Ignition adder 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 }
groupChildMenu = veBlend1Table, "VE adder 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 }
groupChildMenu = veBlend2Cfg, "Adder 2 bias", 0, {isInjectionEnabled}
groupChildMenu = veBlend2Table, "Ignition adder 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 }
groupChildMenu = veBlend2Table, "VE adder 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 }
groupChildMenu = veBlend3Cfg, "Adder 3 bias", 0, {isInjectionEnabled}
groupChildMenu = veBlend3Table, "Ignition adder 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 }
groupChildMenu = veBlend3Table, "VE adder 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 }
groupChildMenu = veBlend4Cfg, "Adder 4 bias", 0, {isInjectionEnabled}
groupChildMenu = veBlend4Table, "Ignition adder 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 }
groupChildMenu = veBlend4Table, "VE adder 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 }
subMenu = tChargeSettings, "Charge temperature estimation", 0, {isInjectionEnabled == 1}
subMenu = baroCorrTbl, "Barometric pressure correction", 0, {isInjectionEnabled == 1 && fuelAlgorithm == @@engine_load_mode_e_LM_SPEED_DENSITY@@}
@ -2360,34 +2360,82 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_
panel = multisparkDwellParams
dialog = ignAdder1Cfg, "Ignition adder 1 config"
field = "#The bias table controls how much of the blend table"
field = "#is mixed in to the base ignition table. For example, a value of"
field = "#+10 in the table, with 50 as the current bias will result"
field = "#in 5.0 degrees of ignition timing added."
field = "#The X axis of the bias table is controlled by the selected blend"
field = "#parameter below."
field = "Blend parameter", ignBlends1_blendParameter
panel = ignAdder1Bias
dialog = ignAdder2Cfg, "Ignition adder 2 config"
field = "#The bias table controls how much of the blend table"
field = "#is mixed in to the base ignition table. For example, a value of"
field = "#+10 in the table, with 50 as the current bias will result"
field = "#in 5.0 degrees of ignition timing added."
field = "#The X axis of the bias table is controlled by the selected blend"
field = "#parameter below."
field = "Blend parameter", ignBlends2_blendParameter
panel = ignAdder2Bias
dialog = ignAdder3Cfg, "Ignition adder 3 config"
field = "#The bias table controls how much of the blend table"
field = "#is mixed in to the base ignition table. For example, a value of"
field = "#+10 in the table, with 50 as the current bias will result"
field = "#in 5.0 degrees of ignition timing added."
field = "#The X axis of the bias table is controlled by the selected blend"
field = "#parameter below."
field = "Blend parameter", ignBlends3_blendParameter
panel = ignAdder3Bias
dialog = ignAdder4Cfg, "Ignition adder 4 config"
field = "#The bias table controls how much of the blend table"
field = "#is mixed in to the base ignition table. For example, a value of"
field = "#+10 in the table, with 50 as the current bias will result"
field = "#in 5.0 degrees of ignition timing added."
field = "#The X axis of the bias table is controlled by the selected blend"
field = "#parameter below."
field = "Blend parameter", ignBlends4_blendParameter
panel = ignAdder4Bias
dialog = veBlend1Cfg, "VE blend 1 config"
field = "#The bias table controls how much of the blend table"
field = "#is mixed in to the VE table. For example, a value of"
field = "#+10 in the table, with 50 as the current bias will result"
field = "#in +5.0 added to the VE."
field = "#The X axis of the bias table is controlled by the selected blend"
field = "#parameter below."
field = "Blend parameter", veBlends1_blendParameter
panel = veBlend2Bias
dialog = veBlend2Cfg, "VE blend 2 config"
field = "#The bias table controls how much of the blend table"
field = "#is mixed in to the VE table. For example, a value of"
field = "#+10 in the table, with 50 as the current bias will result"
field = "#in +5.0 added to the VE."
field = "#The X axis of the bias table is controlled by the selected blend"
field = "#parameter below."
field = "Blend parameter", veBlends2_blendParameter
panel = veBlend2Bias
dialog = veBlend3Cfg, "VE blend 3 config"
field = "#The bias table controls how much of the blend table"
field = "#is mixed in to the VE table. For example, a value of"
field = "#+10 in the table, with 50 as the current bias will result"
field = "#in +5.0 added to the VE."
field = "#The X axis of the bias table is controlled by the selected blend"
field = "#parameter below."
field = "Blend parameter", veBlends3_blendParameter
panel = veBlend3Bias
dialog = veBlend4Cfg, "VE blend 4 config"
field = "#The bias table controls how much of the blend table"
field = "#is mixed in to the VE table. For example, a value of"
field = "#+10 in the table, with 50 as the current bias will result"
field = "#in +5.0 added to the VE."
field = "#The X axis of the bias table is controlled by the selected blend"
field = "#parameter below."
field = "Blend parameter", veBlends4_blendParameter
panel = veBlend4Bias
@ -2436,7 +2484,7 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_
field = "Secondary sensor", tps1_2AdcChannel, {tps1_1AdcChannel != @@ADC_CHANNEL_NONE@@}
field = "Secondary min", tps1SecondaryMin, {tps1_2AdcChannel != @@ADC_CHANNEL_NONE@@}
field = "Secondary max", tps1SecondaryMax, {tps1_2AdcChannel != @@ADC_CHANNEL_NONE@@}
commandButton = "Auto Calibrate ETB 1", cmb_etb_auto_calibrate, {tps1_2AdcChannel != @@ADC_CHANNEL_NONE@@ && throttlePedalPositionAdcChannel != @@ADC_CHANNEL_NONE@@}
commandButton = "Auto Calibrate ETB 1", cmb_etb_auto_calibrate, { etb1configured == 1}
dialog = tpsNum2, "Throttle Body #2"
field = "Primary sensor", tps2_1AdcChannel
@ -2445,7 +2493,7 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_
field = "Secondary sensor", tps2_2AdcChannel, {tps2_1AdcChannel != @@ADC_CHANNEL_NONE@@}
field = "Secondary min", tps2SecondaryMin, {tps2_2AdcChannel != @@ADC_CHANNEL_NONE@@}
field = "Secondary max", tps2SecondaryMax, {tps2_2AdcChannel != @@ADC_CHANNEL_NONE@@}
commandButton = "Auto Calibrate ETB 2", cmb_etb_auto_calibrate_2, {tps2_1AdcChannel != @@ADC_CHANNEL_NONE@@ && tps2_2AdcChannel != @@ADC_CHANNEL_NONE@@ && throttlePedalPositionAdcChannel != @@ADC_CHANNEL_NONE@@}
commandButton = "Auto Calibrate ETB 2", cmb_etb_auto_calibrate_2, { etb2configured == 1}
dialog = tpsLimits, "TPS Limits"
field = "TPS minimum valid value", tpsErrorDetectionTooLow, {tps1_1AdcChannel != @@ADC_CHANNEL_NONE@@}
@ -3485,7 +3533,7 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_
field = "Enable SD Card", isSdCardEnabled
field = "CS Pin", sdCardCsPin @@if_ts_show_sd_pins
field = "SPI", sdCardSpiDevice @@if_ts_show_sd_pins
field = "Write Period", sdCardPeriodMs
field = "SD logger rate", sdCardLogFrequency
dialog = gpsReceiver, "GPS Receiver"
field = "gps RX", gps_rx_pin
@ -4137,6 +4185,8 @@ dialog = tcuControls, "Transmission Settings"
field = "boardUseD4PullDown", boardUseD4PullDown
field = "boardUseD5PullDown", boardUseD5PullDown
field = "SENT input 1", sentInputPins1
field = "etbDutyThreshold", etbDutyThreshold
field = "etbDutyShutdownThreshold", etbDutyShutdownThreshold
dialog = parkingLot, "Experimental/Broken"
field = "I understand ECU Locking", yesUnderstandLocking

View File

@ -19,7 +19,10 @@ public:
void reset();
private:
// more or less threshold parameter
float m_ignoreError = 0;
float m_errorIntegral = 0;
// time parameter
float m_dt = 0;
// current state
float m_errorIntegral = 0;
};

View File

@ -1,6 +1,6 @@
package com.rusefi.config.generated;
// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/actuators/ac_control.txt Sat Nov 26 05:37:37 UTC 2022
// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/actuators/ac_control.txt Sun Nov 27 13:14:50 UTC 2022
// by class com.rusefi.output.FileJavaFieldsConsumer
import com.rusefi.config.*;
@ -100,7 +100,7 @@ public class AcControl {
public static final int ETB_BIAS_CURVE_LENGTH = 8;
public static final int ETB_COUNT = 2;
public static final int ETB_HW_MAX_FREQUENCY = 3000;
public static final int FLASH_DATA_VERSION = 10015;
public static final int FLASH_DATA_VERSION = 10016;
public static final int FUEL_LEVEL_TABLE_COUNT = 8;
public static final int FUEL_LOAD_COUNT = 16;
public static final int FUEL_RPM_COUNT = 16;

View File

@ -1,6 +1,6 @@
package com.rusefi.config.generated;
// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/actuators/boost_control.txt Sat Nov 26 05:37:37 UTC 2022
// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/actuators/boost_control.txt Sun Nov 27 13:14:50 UTC 2022
// by class com.rusefi.output.FileJavaFieldsConsumer
import com.rusefi.config.*;
@ -100,7 +100,7 @@ public class BoostControl {
public static final int ETB_BIAS_CURVE_LENGTH = 8;
public static final int ETB_COUNT = 2;
public static final int ETB_HW_MAX_FREQUENCY = 3000;
public static final int FLASH_DATA_VERSION = 10015;
public static final int FLASH_DATA_VERSION = 10016;
public static final int FUEL_LEVEL_TABLE_COUNT = 8;
public static final int FUEL_LOAD_COUNT = 16;
public static final int FUEL_RPM_COUNT = 16;

View File

@ -1,6 +1,6 @@
package com.rusefi.config.generated;
// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/algo/engine_state.txt Sat Nov 26 05:37:37 UTC 2022
// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/algo/engine_state.txt Sun Nov 27 13:14:50 UTC 2022
// by class com.rusefi.output.FileJavaFieldsConsumer
import com.rusefi.config.*;
@ -100,7 +100,7 @@ public class EngineState {
public static final int ETB_BIAS_CURVE_LENGTH = 8;
public static final int ETB_COUNT = 2;
public static final int ETB_HW_MAX_FREQUENCY = 3000;
public static final int FLASH_DATA_VERSION = 10015;
public static final int FLASH_DATA_VERSION = 10016;
public static final int FUEL_LEVEL_TABLE_COUNT = 8;
public static final int FUEL_LOAD_COUNT = 16;
public static final int FUEL_RPM_COUNT = 16;

View File

@ -1,6 +1,6 @@
package com.rusefi.config.generated;
// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/algo/fuel/fuel_computer.txt Sat Nov 26 05:37:37 UTC 2022
// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/algo/fuel/fuel_computer.txt Sun Nov 27 13:14:50 UTC 2022
// by class com.rusefi.output.FileJavaFieldsConsumer
import com.rusefi.config.*;
@ -100,7 +100,7 @@ public class FuelComputer {
public static final int ETB_BIAS_CURVE_LENGTH = 8;
public static final int ETB_COUNT = 2;
public static final int ETB_HW_MAX_FREQUENCY = 3000;
public static final int FLASH_DATA_VERSION = 10015;
public static final int FLASH_DATA_VERSION = 10016;
public static final int FUEL_LEVEL_TABLE_COUNT = 8;
public static final int FUEL_LOAD_COUNT = 16;
public static final int FUEL_RPM_COUNT = 16;

View File

@ -1,6 +1,6 @@
package com.rusefi.config.generated;
// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/trigger\trigger_state.txt Sat Nov 26 00:29:02 EST 2022
// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/trigger/trigger_state.txt Sun Nov 27 13:14:51 UTC 2022
// by class com.rusefi.output.FileJavaFieldsConsumer
import com.rusefi.config.*;
@ -100,7 +100,7 @@ public class TriggerState {
public static final int ETB_BIAS_CURVE_LENGTH = 8;
public static final int ETB_COUNT = 2;
public static final int ETB_HW_MAX_FREQUENCY = 3000;
public static final int FLASH_DATA_VERSION = 10015;
public static final int FLASH_DATA_VERSION = 10016;
public static final int FUEL_LEVEL_TABLE_COUNT = 8;
public static final int FUEL_LOAD_COUNT = 16;
public static final int FUEL_RPM_COUNT = 16;

View File

@ -1,6 +1,6 @@
package com.rusefi.config.generated;
// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/trigger/trigger_state_primary.txt Sat Nov 26 05:37:37 UTC 2022
// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/trigger/trigger_state_primary.txt Sun Nov 27 13:14:51 UTC 2022
// by class com.rusefi.output.FileJavaFieldsConsumer
import com.rusefi.config.*;
@ -100,7 +100,7 @@ public class TriggerStatePrimary {
public static final int ETB_BIAS_CURVE_LENGTH = 8;
public static final int ETB_COUNT = 2;
public static final int ETB_HW_MAX_FREQUENCY = 3000;
public static final int FLASH_DATA_VERSION = 10015;
public static final int FLASH_DATA_VERSION = 10016;
public static final int FUEL_LEVEL_TABLE_COUNT = 8;
public static final int FUEL_LOAD_COUNT = 16;
public static final int FUEL_RPM_COUNT = 16;

View File

@ -1,6 +1,6 @@
package com.rusefi.config.generated;
// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) console/binary/output_channels.txt Sat Nov 26 16:22:20 UTC 2022
// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) console/binary/output_channels.txt Sun Nov 27 13:14:50 UTC 2022
// by class com.rusefi.output.FileJavaFieldsConsumer
import com.rusefi.config.*;
@ -100,7 +100,7 @@ public class TsOutputs {
public static final int ETB_BIAS_CURVE_LENGTH = 8;
public static final int ETB_COUNT = 2;
public static final int ETB_HW_MAX_FREQUENCY = 3000;
public static final int FLASH_DATA_VERSION = 10015;
public static final int FLASH_DATA_VERSION = 10016;
public static final int FUEL_LEVEL_TABLE_COUNT = 8;
public static final int FUEL_LOAD_COUNT = 16;
public static final int FUEL_RPM_COUNT = 16;

View File

@ -1,3 +1,4 @@
# Default ignored files
/shelf/
/workspace.xml
uiDesigner.xml