Merge branch 'master' of https://github.com/rusefi/rusefi
This commit is contained in:
commit
56baa8dc18
|
@ -986,6 +986,7 @@
|
|||
#define GAUGE_NAME_AFR "Air/Fuel Ratio"
|
||||
#define GAUGE_NAME_AIR_FLOW "MAF air flow"
|
||||
#define GAUGE_NAME_AIR_MASS "air mass"
|
||||
#define GAUGE_NAME_BARO_PRESSURE "Barometric pressure"
|
||||
#define GAUGE_NAME_CPU_TEMP "CPU Temperature"
|
||||
#define GAUGE_NAME_DEBUG_F1 "debug f1"
|
||||
#define GAUGE_NAME_DEBUG_F2 "debug f2: iTerm"
|
||||
|
@ -2268,6 +2269,8 @@
|
|||
#define ts_show_hip9011 true
|
||||
#define ts_show_joystick true
|
||||
#define ts_show_lcd true
|
||||
#define ts_show_main_relay true
|
||||
#define ts_show_main_relay_microRusEFI_message false
|
||||
#define ts_show_sd_card true
|
||||
#define ts_show_spi true
|
||||
#define ts_show_trigger_comparator true
|
||||
|
|
|
@ -11,3 +11,5 @@
|
|||
#define ts_show_sd_card true
|
||||
#define ts_show_can_pins false
|
||||
#define ts_show_tunerstudio_port false
|
||||
#define ts_show_main_relay false
|
||||
#define ts_show_main_relay_microRusEFI_message true
|
||||
|
|
|
@ -37,7 +37,6 @@
|
|||
#define BOARD_NAME "STM32 Nucleo144-F746ZI for RusEFI"
|
||||
|
||||
#define EFI_USB_AF 10U
|
||||
#define EFI_USB_SERIAL_ID GPIOA_10
|
||||
#define EFI_USB_SERIAL_DM GPIOA_11
|
||||
#define EFI_USB_SERIAL_DP GPIOA_12
|
||||
|
||||
|
|
|
@ -37,7 +37,6 @@
|
|||
#define BOARD_NAME "STM32 Nucleo144-F767ZI for RusEFI"
|
||||
|
||||
#define EFI_USB_AF 10U
|
||||
#define EFI_USB_SERIAL_ID GPIOA_10
|
||||
#define EFI_USB_SERIAL_DM GPIOA_11
|
||||
#define EFI_USB_SERIAL_DP GPIOA_12
|
||||
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
#define BOARD_NAME "STM32F407 for RusEFI"
|
||||
|
||||
#define EFI_USB_AF 10U
|
||||
#define EFI_USB_SERIAL_ID GPIOA_10
|
||||
#define EFI_USB_SERIAL_DM GPIOA_11
|
||||
#define EFI_USB_SERIAL_DP GPIOA_12
|
||||
|
||||
|
|
|
@ -128,8 +128,8 @@ void setToyota_2jz_vics(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->debugMode = DBG_VVT;
|
||||
|
||||
// todo: these magic values would be hardcoded once we find out proper magic values
|
||||
engineConfiguration->fsio_setting[14] = -90;
|
||||
engineConfiguration->fsio_setting[15] = +90;
|
||||
engineConfiguration->fsio_setting[14] = 175 - 45;
|
||||
engineConfiguration->fsio_setting[15] = 175 + 45;
|
||||
|
||||
engineConfiguration->auxPidPins[0] = GPIOE_3; // VVT solenoid control
|
||||
|
||||
|
|
|
@ -129,30 +129,22 @@ static int logFileLineIndex = 0;
|
|||
|
||||
static void reportSensorF(Logging *log, const char *caption, const char *units, float value,
|
||||
int precision) {
|
||||
bool isLogFileFormatting = true;
|
||||
|
||||
if (!isLogFileFormatting) {
|
||||
#if EFI_PROD_CODE || EFI_SIMULATOR
|
||||
debugFloat(log, caption, value, precision);
|
||||
#endif /* EFI_PROD_CODE || EFI_SIMULATOR */
|
||||
} else {
|
||||
|
||||
#if EFI_FILE_LOGGING
|
||||
if (logFileLineIndex == 0) {
|
||||
append(log, caption);
|
||||
append(log, TAB);
|
||||
} else if (logFileLineIndex == 1) {
|
||||
append(log, units);
|
||||
append(log, TAB);
|
||||
} else {
|
||||
appendFloat(log, value, precision);
|
||||
append(log, TAB);
|
||||
}
|
||||
#else
|
||||
UNUSED(log);UNUSED(caption);UNUSED(units);UNUSED(value);
|
||||
UNUSED(precision);
|
||||
#endif /* EFI_FILE_LOGGING */
|
||||
if (logFileLineIndex == 0) {
|
||||
append(log, caption);
|
||||
append(log, TAB);
|
||||
} else if (logFileLineIndex == 1) {
|
||||
append(log, units);
|
||||
append(log, TAB);
|
||||
} else {
|
||||
appendFloat(log, value, precision);
|
||||
append(log, TAB);
|
||||
}
|
||||
#else
|
||||
UNUSED(log);UNUSED(caption);UNUSED(units);UNUSED(value);
|
||||
UNUSED(precision);
|
||||
#endif /* EFI_FILE_LOGGING */
|
||||
}
|
||||
|
||||
static void reportSensorI(Logging *log, const char *caption, const char *units, int value) {
|
||||
|
|
|
@ -130,8 +130,6 @@ static void cylinderCleanupControl(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
#endif
|
||||
}
|
||||
|
||||
static efitick_t tle8888CrankingResetTime = 0;
|
||||
|
||||
void Engine::periodicSlowCallback(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
||||
ScopePerf perf(PE::EnginePeriodicSlowCallback);
|
||||
|
||||
|
@ -152,6 +150,8 @@ void Engine::periodicSlowCallback(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
standardAirCharge = getStandardAirCharge(PASS_ENGINE_PARAMETER_SIGNATURE);
|
||||
|
||||
#if (BOARD_TLE8888_COUNT > 0)
|
||||
static efitick_t tle8888CrankingResetTime = 0;
|
||||
|
||||
if (CONFIG(useTLE8888_cranking_hack) && ENGINE(rpmCalculator).isCranking(PASS_ENGINE_PARAMETER_SIGNATURE)) {
|
||||
efitick_t nowNt = getTimeNowNt();
|
||||
if (nowNt - tle8888CrankingResetTime > MS2NT(300)) {
|
||||
|
|
|
@ -2083,7 +2083,7 @@ typedef enum {
|
|||
CUSTOM_NO_ETB_FOR_IDLE = 6723,
|
||||
CUSTOM_ERR_6724 = 6724,
|
||||
CUSTOM_ERR_6725 = 6725,
|
||||
CUSTOM_ERR_6726 = 6726,
|
||||
CUSTOM_ERR_VVT_OUT_OF_RANGE = 6726,
|
||||
CUSTOM_ERR_6727 = 6727,
|
||||
CUSTOM_ERR_6728 = 6728,
|
||||
CUSTOM_ERR_6729 = 6729,
|
||||
|
|
|
@ -717,6 +717,6 @@ int getRusEfiVersion(void) {
|
|||
if (initBootloader() != 0)
|
||||
return 123;
|
||||
#endif /* EFI_BOOTLOADER_INCLUDE_CODE */
|
||||
return 20200514;
|
||||
return 20200515;
|
||||
}
|
||||
#endif /* EFI_UNIT_TEST */
|
||||
|
|
|
@ -986,6 +986,7 @@
|
|||
#define GAUGE_NAME_AFR "Air/Fuel Ratio"
|
||||
#define GAUGE_NAME_AIR_FLOW "MAF air flow"
|
||||
#define GAUGE_NAME_AIR_MASS "air mass"
|
||||
#define GAUGE_NAME_BARO_PRESSURE "Barometric pressure"
|
||||
#define GAUGE_NAME_CPU_TEMP "CPU Temperature"
|
||||
#define GAUGE_NAME_DEBUG_F1 "debug f1"
|
||||
#define GAUGE_NAME_DEBUG_F2 "debug f2: iTerm"
|
||||
|
@ -2268,6 +2269,8 @@
|
|||
#define ts_show_hip9011 true
|
||||
#define ts_show_joystick true
|
||||
#define ts_show_lcd true
|
||||
#define ts_show_main_relay true
|
||||
#define ts_show_main_relay_microRusEFI_message false
|
||||
#define ts_show_sd_card true
|
||||
#define ts_show_spi true
|
||||
#define ts_show_trigger_comparator false
|
||||
|
|
|
@ -255,12 +255,6 @@ void NamedOutputPin::setLow() {
|
|||
// turn off the output
|
||||
setValue(false);
|
||||
|
||||
#if EFI_DEFAILED_LOGGING
|
||||
// systime_t after = getTimeNowUs();
|
||||
// debugInt(&signal->logging, "a_time", after - signal->hi_time);
|
||||
// scheduleLogging(&signal->logging);
|
||||
#endif /* EFI_DEFAILED_LOGGING */
|
||||
|
||||
#if EFI_ENGINE_SNIFFER
|
||||
addEngineSnifferEvent(getShortName(), PROTOCOL_ES_DOWN);
|
||||
#endif /* EFI_ENGINE_SNIFFER */
|
||||
|
|
|
@ -32,7 +32,8 @@ public:
|
|||
OutputPin();
|
||||
/**
|
||||
* initializes pin & registers it in pin repository
|
||||
* todo: add a comment explaining why outputMode POINTER not VALUE?
|
||||
* outputMode being a pointer allow us to change configuration (for example invert logical pin) in configuration and get resuts applied
|
||||
* away, or at least I hope that's why
|
||||
*/
|
||||
void initPin(const char *msg, brain_pin_e brainPin, const pin_output_mode_e *outputMode);
|
||||
/**
|
||||
|
|
|
@ -41,16 +41,11 @@ WaveChart waveChart;
|
|||
#endif /* EFI_ENGINE_SNIFFER */
|
||||
|
||||
trigger_central_s::trigger_central_s() : hwEventCounters() {
|
||||
|
||||
static_assert(TRIGGER_TYPE_60_2 == TT_TOOTHED_WHEEL_60_2, "One we will have one source of this magic constant");
|
||||
static_assert(TRIGGER_TYPE_36_1 == TT_TOOTHED_WHEEL_36_1, "One we will have one source of this magic constant");
|
||||
|
||||
|
||||
|
||||
static_assert(TRIGGER_TYPE_60_2 == TT_TOOTHED_WHEEL_60_2, "One day we will have one source of this magic constant");
|
||||
static_assert(TRIGGER_TYPE_36_1 == TT_TOOTHED_WHEEL_36_1, "One day we will have one source of this magic constant");
|
||||
}
|
||||
|
||||
TriggerCentral::TriggerCentral() : trigger_central_s() {
|
||||
|
||||
clearCallbacks(&triggerListeneres);
|
||||
triggerState.resetTriggerState();
|
||||
noiseFilter.resetAccumSignalData();
|
||||
|
@ -105,6 +100,14 @@ void hwHandleVvtCamSignal(trigger_value_e front, efitick_t nowNt DECLARE_ENGINE_
|
|||
|
||||
if (!CONFIG(displayLogicLevelsInEngineSniffer)) {
|
||||
addEngineSnifferEvent(PROTOCOL_VVT_NAME, front == TV_RISE ? PROTOCOL_ES_UP : PROTOCOL_ES_DOWN);
|
||||
|
||||
#if EFI_TOOTH_LOGGER
|
||||
if (front == TV_RISE) {
|
||||
LogTriggerTooth(SHAFT_SECONDARY_RISING, nowNt PASS_ENGINE_PARAMETER_SUFFIX);
|
||||
} else {
|
||||
LogTriggerTooth(SHAFT_SECONDARY_FALLING, nowNt PASS_ENGINE_PARAMETER_SUFFIX);
|
||||
}
|
||||
#endif /* EFI_TOOTH_LOGGER */
|
||||
}
|
||||
|
||||
|
||||
|
@ -160,7 +163,9 @@ void hwHandleVvtCamSignal(trigger_value_e front, efitick_t nowNt DECLARE_ENGINE_
|
|||
|
||||
switch(engineConfiguration->vvtMode) {
|
||||
case VVT_2JZ:
|
||||
if (currentPosition < engineConfiguration->fsio_setting[14] || currentPosition > engineConfiguration->fsio_setting[15]) {
|
||||
// we do not know if we are in sync or out of sync, so we have to be looking for both possibilities
|
||||
if ((currentPosition < engineConfiguration->fsio_setting[14] || currentPosition > engineConfiguration->fsio_setting[15]) &&
|
||||
(currentPosition < engineConfiguration->fsio_setting[14] + 360 || currentPosition > engineConfiguration->fsio_setting[15] + 360)) {
|
||||
// outside of the expected range
|
||||
return;
|
||||
}
|
||||
|
@ -203,7 +208,12 @@ void hwHandleVvtCamSignal(trigger_value_e front, efitick_t nowNt DECLARE_ENGINE_
|
|||
|
||||
tc->vvtSyncTimeNt = nowNt;
|
||||
|
||||
// we do NOT clamp VVT position into the [0, engineCycle) range - we expect vvtOffset to be configured so that
|
||||
// it's not necessary
|
||||
tc->vvtPosition = engineConfiguration->vvtOffset - currentPosition;
|
||||
if (tc->vvtPosition < 0 || tc->vvtPosition > ENGINE(engineCycle)) {
|
||||
warning(CUSTOM_ERR_VVT_OUT_OF_RANGE, "Please adjust vvtOffset since position %f", tc->vvtPosition);
|
||||
}
|
||||
|
||||
switch (engineConfiguration->vvtMode) {
|
||||
case VVT_FIRST_HALF:
|
||||
|
|
|
@ -442,8 +442,6 @@ public:
|
|||
}
|
||||
};
|
||||
|
||||
static char errorMsgBuff[_MAX_FILLER + 2];
|
||||
|
||||
void addChannel(const char *name, adc_channel_e setting, adc_channel_mode_e mode) {
|
||||
if (setting == EFI_ADC_NONE) {
|
||||
return;
|
||||
|
|
|
@ -314,17 +314,18 @@ static int tle6240_wake_driver(struct tle6240_priv *chip)
|
|||
{
|
||||
(void)chip;
|
||||
|
||||
if (isIsrContext()) {
|
||||
// this is for normal runtime
|
||||
int wasLocked = lockAnyContext();
|
||||
chSemSignalI(&tle6240_wake);
|
||||
if (!wasLocked) {
|
||||
unlockAnyContext();
|
||||
}
|
||||
} else {
|
||||
// this is for start-up to not hang up
|
||||
chSemSignal(&tle6240_wake);
|
||||
/* Entering a reentrant critical zone.*/
|
||||
syssts_t sts = chSysGetStatusAndLockX();
|
||||
chSemSignalI(&tle6240_wake);
|
||||
if (!port_is_isr_context()) {
|
||||
/**
|
||||
* chSemSignalI above requires rescheduling
|
||||
* interrupt handlers have implicit rescheduling
|
||||
*/
|
||||
chSchRescheduleS();
|
||||
}
|
||||
/* Leaving the critical zone.*/
|
||||
chSysRestoreStatusX(sts);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -40,7 +40,6 @@ void usb_serial_start(void) {
|
|||
usbConnectBus(serusbcfg.usbp);
|
||||
|
||||
#if HAL_USE_SERIAL
|
||||
efiSetPadMode("USB ID", EFI_USB_SERIAL_ID, PAL_MODE_ALTERNATE(EFI_USB_AF));
|
||||
efiSetPadMode("USB DM", EFI_USB_SERIAL_DM, PAL_MODE_ALTERNATE(EFI_USB_AF));
|
||||
efiSetPadMode("USB DP", EFI_USB_SERIAL_DP, PAL_MODE_ALTERNATE(EFI_USB_AF));
|
||||
/*
|
||||
|
|
|
@ -1431,6 +1431,8 @@ end_struct
|
|||
#define GAUGE_NAME_ACCEL_Y "Acceleration: Y"
|
||||
#define GAUGE_NAME_ACCEL_Z "Acceleration: Z"
|
||||
|
||||
#define GAUGE_NAME_BARO_PRESSURE "Barometric pressure"
|
||||
|
||||
#define GAUGE_NAME_ECU_TEMPERATURE "ECU temperature"
|
||||
|
||||
|
||||
|
@ -1551,6 +1553,8 @@ end_struct
|
|||
|
||||
! some board files override this value using prepend file
|
||||
#define ts_show_hip9011 true
|
||||
#define ts_show_main_relay true
|
||||
#define ts_show_main_relay_microRusEFI_message false
|
||||
#define ts_show_cj125 true
|
||||
#define ts_show_etb true
|
||||
#define ts_show_etb_pins true
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
// This file was generated by Version2Header
|
||||
// Fri Apr 24 12:30:26 EDT 2020
|
||||
// Sat May 16 01:51:18 EDT 2020
|
||||
|
||||
|
||||
#ifndef GIT_HASH
|
||||
#define GIT_HASH "24ecb69e28eec77f5722fcafcf17b14464a10bca"
|
||||
#define GIT_HASH "c9409ce69379772e2b3cac3016518e56abf97851"
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef VCS_VERSION
|
||||
#define VCS_VERSION "22343"
|
||||
#define VCS_VERSION "22876"
|
||||
#endif
|
||||
|
|
|
@ -89,7 +89,7 @@ enable2ndByteCanID = false
|
|||
|
||||
; see PAGE_0_SIZE in C source code
|
||||
; CONFIG_DEFINITION_START
|
||||
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Thu May 14 23:44:58 EDT 2020
|
||||
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Fri May 15 16:34:17 EDT 2020
|
||||
|
||||
pageSize = 20000
|
||||
page = 1
|
||||
|
@ -1651,19 +1651,19 @@ page = 1
|
|||
; https://rusefi.com/wiki/index.php?title=Manual:Debug_fields
|
||||
; 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
||||
; Alternator TPS Acceleration Warmup-Pid Idle Engine Load Acc Trigger Counters VVT Cranking Ignition Timing ETB PID CJ125 CAN TLE8888 Boost Start Launcher ETB Autotune
|
||||
debugFieldF1List = bits, U08, [0:7], "Controller Output", "From TPS", "", "Controller Output", "Idle output", "Channel 1 Rise Counter", "", "", "Event Position","", "Ign IAT Corr", "", "", "", "", "", "", "ETB Controller Output", "", "", "df1", "df1", "22df1", "", "23:df1", "CJ125: output", "", "", "", "", "", "", "", "", "", "", "Boost Open Loop Duty", "S unused" "", "Osc Amplitude"
|
||||
debugFieldF2List = bits, U08, [0:7], "I-Term", "To TPS", "", "I-Term", "Idle df2", "Channel 2 Rise Counter", "", "", "Ratio", "", "Ign CLT Corr", "", "", "", "", "", "", "ETB I-Term", "", "", "df2", "df2", "22df2", "", "23:df2", "CJ125: i-term", "", "", "", "", "", "", "", "", "", "", "Boost Closed Loop Duty","S unused" "", "Duty Amplitude"
|
||||
debugFieldF3List = bits, U08, [0:7], "Previous Error", "Current TPS<>TPS", "", "", "Idle df3", "ICU sum", "", "", "", "", "Ign FSIO Adj", "", "", "", "", "", "", "ETB err", "", "", "df3", "df3", "22df3", "", "23:df3", "CJ125: err", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Tu"
|
||||
debugFieldF4List = bits, U08, [0:7], "I Gain", "Extra Fuel", "", "", "Idle df4", "VVT rise", "", "", "", "", "Ign PID Adj", "", "", "", "", "", "", "ETB I setting", "", "", "df4", "df4", "22df4", "", "23:df4", "CJ125: UA", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Ku"
|
||||
debugFieldF5List = bits, U08, [0:7], "D Gain", "df5", "df5", "df5", "Idle df5", "VVT fall", "df5", "", "", "", "", "", "", "", "", "", "", "ETB D setting", "df5", "df5", "df5", "df5", "22df5", "", "23:df5", "CJ125: UR", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Kp"
|
||||
debugFieldF6List = bits, U08, [0:7], "D Term", "", "", "", "Idle df6", "Current Gap", "", "", "", "", "", "", "", "", "", "", "", "ETB df6", "", "", "df6", "df6", "22df6", "", "23:df6", "cj: f7", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Ki"
|
||||
debugFieldF7List = bits, U08, [0:7], "Max-Value", "", "", "", "Idle df7", "", "", "", "", "", "", "", "", "", "", "", "", "ETB df7", "", "", "df7", "df7", "22df7", "", "23:df7", "cj: f7", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Kd"
|
||||
debugFieldF1List = bits, U08, [0:7], "Controller Output", "From TPS", "", "Controller Output", "Idle output", "Channel 1 Rise Counter", "", "", "VVT Event Position","", "Ign IAT Corr", "", "", "", "", "", "", "ETB Controller Output", "", "", "df1", "df1", "22df1", "", "23:df1", "CJ125: output", "", "", "", "", "", "", "", "", "", "", "Boost Open Loop Duty", "S unused" "", "Osc Amplitude"
|
||||
debugFieldF2List = bits, U08, [0:7], "I-Term", "To TPS", "", "I-Term", "Idle df2", "Channel 2 Rise Counter", "", "", "VVT Ratio", "", "Ign CLT Corr", "", "", "", "", "", "", "ETB I-Term", "", "", "df2", "df2", "22df2", "", "23:df2", "CJ125: i-term", "", "", "", "", "", "", "", "", "", "", "Boost Closed Loop Duty","S unused" "", "Duty Amplitude"
|
||||
debugFieldF3List = bits, U08, [0:7], "Previous Error", "Current TPS<>TPS", "", "", "Idle df3", "ICU sum", "", "", "", "", "Ign FSIO Adj", "", "", "", "", "", "", "ETB err", "", "", "df3", "df3", "22df3", "", "23:df3", "CJ125: err", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Tu"
|
||||
debugFieldF4List = bits, U08, [0:7], "I Gain", "Extra Fuel", "", "", "Idle df4", "VVT rise", "", "", "", "", "Ign PID Adj", "", "", "", "", "", "", "ETB I setting", "", "", "df4", "df4", "22df4", "", "23:df4", "CJ125: UA", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Ku"
|
||||
debugFieldF5List = bits, U08, [0:7], "D Gain", "df5", "df5", "df5", "Idle df5", "VVT fall", "df5", "", "", "", "", "", "", "", "", "", "", "ETB D setting", "df5", "df5", "df5", "df5", "22df5", "", "23:df5", "CJ125: UR", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Kp"
|
||||
debugFieldF6List = bits, U08, [0:7], "D Term", "", "", "", "Idle df6", "Current Gap", "", "", "", "", "", "", "", "", "", "", "", "ETB df6", "", "", "df6", "df6", "22df6", "", "23:df6", "cj: f7", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Ki"
|
||||
debugFieldF7List = bits, U08, [0:7], "Max-Value", "", "", "", "Idle df7", "", "", "", "", "", "", "", "", "", "", "", "", "ETB df7", "", "", "df7", "df7", "22df7", "", "23:df7", "cj: f7", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Kd"
|
||||
|
||||
debugFieldI1List = bits, U08, [0:7], "P-Gain", "", "", "", "Idle di1", "Channel 1 Fall Counter", "", "", "Sync Counter", "", "Multispark Count", "", "", "", "", "", "", "ETB P-Gain", "", "", "di1", "di1", "22di1", "", "23:di1", "CJ125: state", "read count","", "", "", "", "SPI Counter", "", "", "", "", "", "Start Count" "", ""
|
||||
debugFieldI2List = bits, U08, [0:7], "Offset", "", "", "", "Idle di2", "Channel 2 Fall Counter", "", "", "", "", "", "", "", "", "", "", "", "ETB di2", "", "", "di2", "di2", "22di2", "", "23:di2", "", "", "", "", "", "", "Latest Transmit","", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI3List = bits, U08, [0:7], "", "", "", "", "Idle di3", "Cycle Index", "", "", "", "", "", "", "", "", "", "", "", "ETB di3", "", "", "di3", "di3", "22di3", "", "23:di3", "", "", "", "", "", "", "Latest Received","", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI4List = bits, U08, [0:7], "", "", "", "", "Idle di4", "Cycle Cnt 1", "", "", "", "", "", "", "", "", "", "", "", "ETB di4", "", "", "di4", "di4", "22di4", "", "23:di4", "", "", "", "", "", "", "Init Count", "", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI5List = bits, U08, [0:7], "", "", "", "", "Idle di5", "Cycle Cnt 2", "", "", "", "", "", "", "", "", "", "di5", "di5", "ETB di5", "di5", "di5", "di5", "di5", "22di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "S di5" "", ""
|
||||
debugFieldI1List = bits, U08, [0:7], "P-Gain", "", "", "", "Idle di1", "Channel 1 Fall Counter", "", "", "VVT Sync Counter", "", "Multispark Count", "", "", "", "", "", "", "ETB P-Gain", "", "", "di1", "di1", "22di1", "", "23:di1", "CJ125: state", "read count","", "", "", "", "SPI Counter", "", "", "", "", "", "Start Count" "", ""
|
||||
debugFieldI2List = bits, U08, [0:7], "Offset", "", "", "", "Idle di2", "Channel 2 Fall Counter", "", "", "", "", "", "", "", "", "", "", "", "ETB di2", "", "", "di2", "di2", "22di2", "", "23:di2", "", "", "", "", "", "", "Latest Transmit","", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI3List = bits, U08, [0:7], "", "", "", "", "Idle di3", "Cycle Index", "", "", "", "", "", "", "", "", "", "", "", "ETB di3", "", "", "di3", "di3", "22di3", "", "23:di3", "", "", "", "", "", "", "Latest Received","", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI4List = bits, U08, [0:7], "", "", "", "", "Idle di4", "Cycle Cnt 1", "", "", "", "", "", "", "", "", "", "", "", "ETB di4", "", "", "di4", "di4", "22di4", "", "23:di4", "", "", "", "", "", "", "Init Count", "", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI5List = bits, U08, [0:7], "", "", "", "", "Idle di5", "Cycle Cnt 2", "", "", "", "", "", "", "", "", "", "di5", "di5", "ETB di5", "di5", "di5", "di5", "di5", "22di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "S di5" "", ""
|
||||
|
||||
[ConstantsExtensions]
|
||||
; defaultValue is used to provide TunerStudio with a value to use in the case of
|
||||
|
@ -2509,7 +2509,7 @@ menuDialog = main
|
|||
subMenu = std_separator
|
||||
|
||||
# Digital outputs
|
||||
subMenu = mainRelay, "Main relay"
|
||||
subMenu = mainRelayDialog, "Main relay"
|
||||
subMenu = starterRelay, "Starter Disable relay"
|
||||
subMenu = fuelPump, "Fuel pump & rail"
|
||||
subMenu = fanSetting, "Fan"
|
||||
|
@ -3589,7 +3589,7 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
|||
|
||||
|
||||
; Controller->Actuator Outputs
|
||||
dialog = mainRelay, "Main relay output"
|
||||
dialog = mainRelayDialog, "Main relay output"
|
||||
field = "Pin", mainRelayPin
|
||||
field = "Pin mode", mainRelayPinMode
|
||||
|
||||
|
|
|
@ -391,19 +391,19 @@ enable2ndByteCanID = false
|
|||
; https://rusefi.com/wiki/index.php?title=Manual:Debug_fields
|
||||
; 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
||||
; Alternator TPS Acceleration Warmup-Pid Idle Engine Load Acc Trigger Counters VVT Cranking Ignition Timing ETB PID CJ125 CAN TLE8888 Boost Start Launcher ETB Autotune
|
||||
debugFieldF1List = bits, U08, [0:7], "Controller Output", "From TPS", "", "Controller Output", "Idle output", "Channel 1 Rise Counter", "", "", "Event Position","", "Ign IAT Corr", "", "", "", "", "", "", "ETB Controller Output", "", "", "df1", "df1", "22df1", "", "23:df1", "CJ125: output", "", "", "", "", "", "", "", "", "", "", "Boost Open Loop Duty", "S unused" "", "Osc Amplitude"
|
||||
debugFieldF2List = bits, U08, [0:7], "I-Term", "To TPS", "", "I-Term", "Idle df2", "Channel 2 Rise Counter", "", "", "Ratio", "", "Ign CLT Corr", "", "", "", "", "", "", "ETB I-Term", "", "", "df2", "df2", "22df2", "", "23:df2", "CJ125: i-term", "", "", "", "", "", "", "", "", "", "", "Boost Closed Loop Duty","S unused" "", "Duty Amplitude"
|
||||
debugFieldF3List = bits, U08, [0:7], "Previous Error", "Current TPS<>TPS", "", "", "Idle df3", "ICU sum", "", "", "", "", "Ign FSIO Adj", "", "", "", "", "", "", "ETB err", "", "", "df3", "df3", "22df3", "", "23:df3", "CJ125: err", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Tu"
|
||||
debugFieldF4List = bits, U08, [0:7], "I Gain", "Extra Fuel", "", "", "Idle df4", "VVT rise", "", "", "", "", "Ign PID Adj", "", "", "", "", "", "", "ETB I setting", "", "", "df4", "df4", "22df4", "", "23:df4", "CJ125: UA", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Ku"
|
||||
debugFieldF5List = bits, U08, [0:7], "D Gain", "df5", "df5", "df5", "Idle df5", "VVT fall", "df5", "", "", "", "", "", "", "", "", "", "", "ETB D setting", "df5", "df5", "df5", "df5", "22df5", "", "23:df5", "CJ125: UR", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Kp"
|
||||
debugFieldF6List = bits, U08, [0:7], "D Term", "", "", "", "Idle df6", "Current Gap", "", "", "", "", "", "", "", "", "", "", "", "ETB df6", "", "", "df6", "df6", "22df6", "", "23:df6", "cj: f7", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Ki"
|
||||
debugFieldF7List = bits, U08, [0:7], "Max-Value", "", "", "", "Idle df7", "", "", "", "", "", "", "", "", "", "", "", "", "ETB df7", "", "", "df7", "df7", "22df7", "", "23:df7", "cj: f7", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Kd"
|
||||
debugFieldF1List = bits, U08, [0:7], "Controller Output", "From TPS", "", "Controller Output", "Idle output", "Channel 1 Rise Counter", "", "", "VVT Event Position","", "Ign IAT Corr", "", "", "", "", "", "", "ETB Controller Output", "", "", "df1", "df1", "22df1", "", "23:df1", "CJ125: output", "", "", "", "", "", "", "", "", "", "", "Boost Open Loop Duty", "S unused" "", "Osc Amplitude"
|
||||
debugFieldF2List = bits, U08, [0:7], "I-Term", "To TPS", "", "I-Term", "Idle df2", "Channel 2 Rise Counter", "", "", "VVT Ratio", "", "Ign CLT Corr", "", "", "", "", "", "", "ETB I-Term", "", "", "df2", "df2", "22df2", "", "23:df2", "CJ125: i-term", "", "", "", "", "", "", "", "", "", "", "Boost Closed Loop Duty","S unused" "", "Duty Amplitude"
|
||||
debugFieldF3List = bits, U08, [0:7], "Previous Error", "Current TPS<>TPS", "", "", "Idle df3", "ICU sum", "", "", "", "", "Ign FSIO Adj", "", "", "", "", "", "", "ETB err", "", "", "df3", "df3", "22df3", "", "23:df3", "CJ125: err", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Tu"
|
||||
debugFieldF4List = bits, U08, [0:7], "I Gain", "Extra Fuel", "", "", "Idle df4", "VVT rise", "", "", "", "", "Ign PID Adj", "", "", "", "", "", "", "ETB I setting", "", "", "df4", "df4", "22df4", "", "23:df4", "CJ125: UA", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Ku"
|
||||
debugFieldF5List = bits, U08, [0:7], "D Gain", "df5", "df5", "df5", "Idle df5", "VVT fall", "df5", "", "", "", "", "", "", "", "", "", "", "ETB D setting", "df5", "df5", "df5", "df5", "22df5", "", "23:df5", "CJ125: UR", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Kp"
|
||||
debugFieldF6List = bits, U08, [0:7], "D Term", "", "", "", "Idle df6", "Current Gap", "", "", "", "", "", "", "", "", "", "", "", "ETB df6", "", "", "df6", "df6", "22df6", "", "23:df6", "cj: f7", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Ki"
|
||||
debugFieldF7List = bits, U08, [0:7], "Max-Value", "", "", "", "Idle df7", "", "", "", "", "", "", "", "", "", "", "", "", "ETB df7", "", "", "df7", "df7", "22df7", "", "23:df7", "cj: f7", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Kd"
|
||||
|
||||
debugFieldI1List = bits, U08, [0:7], "P-Gain", "", "", "", "Idle di1", "Channel 1 Fall Counter", "", "", "Sync Counter", "", "Multispark Count", "", "", "", "", "", "", "ETB P-Gain", "", "", "di1", "di1", "22di1", "", "23:di1", "CJ125: state", "read count","", "", "", "", "SPI Counter", "", "", "", "", "", "Start Count" "", ""
|
||||
debugFieldI2List = bits, U08, [0:7], "Offset", "", "", "", "Idle di2", "Channel 2 Fall Counter", "", "", "", "", "", "", "", "", "", "", "", "ETB di2", "", "", "di2", "di2", "22di2", "", "23:di2", "", "", "", "", "", "", "Latest Transmit","", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI3List = bits, U08, [0:7], "", "", "", "", "Idle di3", "Cycle Index", "", "", "", "", "", "", "", "", "", "", "", "ETB di3", "", "", "di3", "di3", "22di3", "", "23:di3", "", "", "", "", "", "", "Latest Received","", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI4List = bits, U08, [0:7], "", "", "", "", "Idle di4", "Cycle Cnt 1", "", "", "", "", "", "", "", "", "", "", "", "ETB di4", "", "", "di4", "di4", "22di4", "", "23:di4", "", "", "", "", "", "", "Init Count", "", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI5List = bits, U08, [0:7], "", "", "", "", "Idle di5", "Cycle Cnt 2", "", "", "", "", "", "", "", "", "", "di5", "di5", "ETB di5", "di5", "di5", "di5", "di5", "22di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "S di5" "", ""
|
||||
debugFieldI1List = bits, U08, [0:7], "P-Gain", "", "", "", "Idle di1", "Channel 1 Fall Counter", "", "", "VVT Sync Counter", "", "Multispark Count", "", "", "", "", "", "", "ETB P-Gain", "", "", "di1", "di1", "22di1", "", "23:di1", "CJ125: state", "read count","", "", "", "", "SPI Counter", "", "", "", "", "", "Start Count" "", ""
|
||||
debugFieldI2List = bits, U08, [0:7], "Offset", "", "", "", "Idle di2", "Channel 2 Fall Counter", "", "", "", "", "", "", "", "", "", "", "", "ETB di2", "", "", "di2", "di2", "22di2", "", "23:di2", "", "", "", "", "", "", "Latest Transmit","", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI3List = bits, U08, [0:7], "", "", "", "", "Idle di3", "Cycle Index", "", "", "", "", "", "", "", "", "", "", "", "ETB di3", "", "", "di3", "di3", "22di3", "", "23:di3", "", "", "", "", "", "", "Latest Received","", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI4List = bits, U08, [0:7], "", "", "", "", "Idle di4", "Cycle Cnt 1", "", "", "", "", "", "", "", "", "", "", "", "ETB di4", "", "", "di4", "di4", "22di4", "", "23:di4", "", "", "", "", "", "", "Init Count", "", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI5List = bits, U08, [0:7], "", "", "", "", "Idle di5", "Cycle Cnt 2", "", "", "", "", "", "", "", "", "", "di5", "di5", "ETB di5", "di5", "di5", "di5", "di5", "22di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "S di5" "", ""
|
||||
|
||||
[ConstantsExtensions]
|
||||
; defaultValue is used to provide TunerStudio with a value to use in the case of
|
||||
|
@ -960,8 +960,8 @@ gaugeCategory = Sensors - Extra 1
|
|||
VSSGauge = vehicleSpeedKph, "Vehicle speed", "kmh", 0, 200, 0, 1, 3, 4, 1, 1
|
||||
accelerationXGauge = accelerationX, @@GAUGE_NAME_ACCEL_X@@, "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1
|
||||
accelerationYGauge = accelerationY, @@GAUGE_NAME_ACCEL_Y@@, "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1
|
||||
atmPresCGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0
|
||||
vvtPositionGauge = vvtPosition, "VVT position", "deg", 0, 100, 0, 0, 720, 720, 0, 0
|
||||
atmPresCGauge = baroPressure, @@GAUGE_NAME_BARO_PRESSURE@@, "kPa", 0, 1024, 0, 0, 0, 0, 0, 0
|
||||
vvtPositionGauge = vvtPosition, @@GAUGE_NAME_VVT@@, "deg", 0, 100, 0, 0, 720, 720, 0, 0
|
||||
internalMcuTemperatureGauge = internalMcuTemperature, @@GAUGE_NAME_ECU_TEMPERATURE@@, "C", 0, 100, 0, 0, 75, 100, 0, 0
|
||||
OilPressGauge = oilPressure, "Oil Pressure", "kPa", 0, 750, 35, 75, 550, 700, 0, 0
|
||||
idleAirValvePositionGauge = idleAirValvePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1
|
||||
|
@ -1249,7 +1249,7 @@ menuDialog = main
|
|||
subMenu = std_separator
|
||||
|
||||
# Digital outputs
|
||||
subMenu = mainRelay, "Main relay"
|
||||
subMenu = mainRelayDialog, "Main relay"
|
||||
subMenu = starterRelay, "Starter Disable relay"
|
||||
subMenu = fuelPump, "Fuel pump & rail"
|
||||
subMenu = fanSetting, "Fan"
|
||||
|
@ -2319,9 +2319,10 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
|||
|
||||
|
||||
; Controller->Actuator Outputs
|
||||
dialog = mainRelay, "Main relay output"
|
||||
field = "Pin", mainRelayPin
|
||||
field = "Pin mode", mainRelayPinMode
|
||||
dialog = mainRelayDialog, "Main relay output"
|
||||
field = "microRusEFI main relay control is hard wired on pin #29"@@if_ts_show_main_relay_microRusEFI_message
|
||||
field = "Pin", mainRelayPin@@if_ts_show_main_relay
|
||||
field = "Pin mode", mainRelayPinMode@@if_ts_show_main_relay
|
||||
|
||||
dialog = starterRelay, "Starter relay output"
|
||||
field = "Pin", starterRelayDisablePin
|
||||
|
|
|
@ -89,7 +89,7 @@ enable2ndByteCanID = false
|
|||
|
||||
; see PAGE_0_SIZE in C source code
|
||||
; CONFIG_DEFINITION_START
|
||||
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Thu May 14 23:45:33 EDT 2020
|
||||
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Fri May 15 16:34:25 EDT 2020
|
||||
|
||||
pageSize = 20000
|
||||
page = 1
|
||||
|
@ -1651,19 +1651,19 @@ page = 1
|
|||
; https://rusefi.com/wiki/index.php?title=Manual:Debug_fields
|
||||
; 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
||||
; Alternator TPS Acceleration Warmup-Pid Idle Engine Load Acc Trigger Counters VVT Cranking Ignition Timing ETB PID CJ125 CAN TLE8888 Boost Start Launcher ETB Autotune
|
||||
debugFieldF1List = bits, U08, [0:7], "Controller Output", "From TPS", "", "Controller Output", "Idle output", "Channel 1 Rise Counter", "", "", "Event Position","", "Ign IAT Corr", "", "", "", "", "", "", "ETB Controller Output", "", "", "df1", "df1", "22df1", "", "23:df1", "CJ125: output", "", "", "", "", "", "", "", "", "", "", "Boost Open Loop Duty", "S unused" "", "Osc Amplitude"
|
||||
debugFieldF2List = bits, U08, [0:7], "I-Term", "To TPS", "", "I-Term", "Idle df2", "Channel 2 Rise Counter", "", "", "Ratio", "", "Ign CLT Corr", "", "", "", "", "", "", "ETB I-Term", "", "", "df2", "df2", "22df2", "", "23:df2", "CJ125: i-term", "", "", "", "", "", "", "", "", "", "", "Boost Closed Loop Duty","S unused" "", "Duty Amplitude"
|
||||
debugFieldF3List = bits, U08, [0:7], "Previous Error", "Current TPS<>TPS", "", "", "Idle df3", "ICU sum", "", "", "", "", "Ign FSIO Adj", "", "", "", "", "", "", "ETB err", "", "", "df3", "df3", "22df3", "", "23:df3", "CJ125: err", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Tu"
|
||||
debugFieldF4List = bits, U08, [0:7], "I Gain", "Extra Fuel", "", "", "Idle df4", "VVT rise", "", "", "", "", "Ign PID Adj", "", "", "", "", "", "", "ETB I setting", "", "", "df4", "df4", "22df4", "", "23:df4", "CJ125: UA", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Ku"
|
||||
debugFieldF5List = bits, U08, [0:7], "D Gain", "df5", "df5", "df5", "Idle df5", "VVT fall", "df5", "", "", "", "", "", "", "", "", "", "", "ETB D setting", "df5", "df5", "df5", "df5", "22df5", "", "23:df5", "CJ125: UR", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Kp"
|
||||
debugFieldF6List = bits, U08, [0:7], "D Term", "", "", "", "Idle df6", "Current Gap", "", "", "", "", "", "", "", "", "", "", "", "ETB df6", "", "", "df6", "df6", "22df6", "", "23:df6", "cj: f7", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Ki"
|
||||
debugFieldF7List = bits, U08, [0:7], "Max-Value", "", "", "", "Idle df7", "", "", "", "", "", "", "", "", "", "", "", "", "ETB df7", "", "", "df7", "df7", "22df7", "", "23:df7", "cj: f7", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Kd"
|
||||
debugFieldF1List = bits, U08, [0:7], "Controller Output", "From TPS", "", "Controller Output", "Idle output", "Channel 1 Rise Counter", "", "", "VVT Event Position","", "Ign IAT Corr", "", "", "", "", "", "", "ETB Controller Output", "", "", "df1", "df1", "22df1", "", "23:df1", "CJ125: output", "", "", "", "", "", "", "", "", "", "", "Boost Open Loop Duty", "S unused" "", "Osc Amplitude"
|
||||
debugFieldF2List = bits, U08, [0:7], "I-Term", "To TPS", "", "I-Term", "Idle df2", "Channel 2 Rise Counter", "", "", "VVT Ratio", "", "Ign CLT Corr", "", "", "", "", "", "", "ETB I-Term", "", "", "df2", "df2", "22df2", "", "23:df2", "CJ125: i-term", "", "", "", "", "", "", "", "", "", "", "Boost Closed Loop Duty","S unused" "", "Duty Amplitude"
|
||||
debugFieldF3List = bits, U08, [0:7], "Previous Error", "Current TPS<>TPS", "", "", "Idle df3", "ICU sum", "", "", "", "", "Ign FSIO Adj", "", "", "", "", "", "", "ETB err", "", "", "df3", "df3", "22df3", "", "23:df3", "CJ125: err", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Tu"
|
||||
debugFieldF4List = bits, U08, [0:7], "I Gain", "Extra Fuel", "", "", "Idle df4", "VVT rise", "", "", "", "", "Ign PID Adj", "", "", "", "", "", "", "ETB I setting", "", "", "df4", "df4", "22df4", "", "23:df4", "CJ125: UA", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Ku"
|
||||
debugFieldF5List = bits, U08, [0:7], "D Gain", "df5", "df5", "df5", "Idle df5", "VVT fall", "df5", "", "", "", "", "", "", "", "", "", "", "ETB D setting", "df5", "df5", "df5", "df5", "22df5", "", "23:df5", "CJ125: UR", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Kp"
|
||||
debugFieldF6List = bits, U08, [0:7], "D Term", "", "", "", "Idle df6", "Current Gap", "", "", "", "", "", "", "", "", "", "", "", "ETB df6", "", "", "df6", "df6", "22df6", "", "23:df6", "cj: f7", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Ki"
|
||||
debugFieldF7List = bits, U08, [0:7], "Max-Value", "", "", "", "Idle df7", "", "", "", "", "", "", "", "", "", "", "", "", "ETB df7", "", "", "df7", "df7", "22df7", "", "23:df7", "cj: f7", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Kd"
|
||||
|
||||
debugFieldI1List = bits, U08, [0:7], "P-Gain", "", "", "", "Idle di1", "Channel 1 Fall Counter", "", "", "Sync Counter", "", "Multispark Count", "", "", "", "", "", "", "ETB P-Gain", "", "", "di1", "di1", "22di1", "", "23:di1", "CJ125: state", "read count","", "", "", "", "SPI Counter", "", "", "", "", "", "Start Count" "", ""
|
||||
debugFieldI2List = bits, U08, [0:7], "Offset", "", "", "", "Idle di2", "Channel 2 Fall Counter", "", "", "", "", "", "", "", "", "", "", "", "ETB di2", "", "", "di2", "di2", "22di2", "", "23:di2", "", "", "", "", "", "", "Latest Transmit","", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI3List = bits, U08, [0:7], "", "", "", "", "Idle di3", "Cycle Index", "", "", "", "", "", "", "", "", "", "", "", "ETB di3", "", "", "di3", "di3", "22di3", "", "23:di3", "", "", "", "", "", "", "Latest Received","", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI4List = bits, U08, [0:7], "", "", "", "", "Idle di4", "Cycle Cnt 1", "", "", "", "", "", "", "", "", "", "", "", "ETB di4", "", "", "di4", "di4", "22di4", "", "23:di4", "", "", "", "", "", "", "Init Count", "", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI5List = bits, U08, [0:7], "", "", "", "", "Idle di5", "Cycle Cnt 2", "", "", "", "", "", "", "", "", "", "di5", "di5", "ETB di5", "di5", "di5", "di5", "di5", "22di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "S di5" "", ""
|
||||
debugFieldI1List = bits, U08, [0:7], "P-Gain", "", "", "", "Idle di1", "Channel 1 Fall Counter", "", "", "VVT Sync Counter", "", "Multispark Count", "", "", "", "", "", "", "ETB P-Gain", "", "", "di1", "di1", "22di1", "", "23:di1", "CJ125: state", "read count","", "", "", "", "SPI Counter", "", "", "", "", "", "Start Count" "", ""
|
||||
debugFieldI2List = bits, U08, [0:7], "Offset", "", "", "", "Idle di2", "Channel 2 Fall Counter", "", "", "", "", "", "", "", "", "", "", "", "ETB di2", "", "", "di2", "di2", "22di2", "", "23:di2", "", "", "", "", "", "", "Latest Transmit","", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI3List = bits, U08, [0:7], "", "", "", "", "Idle di3", "Cycle Index", "", "", "", "", "", "", "", "", "", "", "", "ETB di3", "", "", "di3", "di3", "22di3", "", "23:di3", "", "", "", "", "", "", "Latest Received","", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI4List = bits, U08, [0:7], "", "", "", "", "Idle di4", "Cycle Cnt 1", "", "", "", "", "", "", "", "", "", "", "", "ETB di4", "", "", "di4", "di4", "22di4", "", "23:di4", "", "", "", "", "", "", "Init Count", "", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI5List = bits, U08, [0:7], "", "", "", "", "Idle di5", "Cycle Cnt 2", "", "", "", "", "", "", "", "", "", "di5", "di5", "ETB di5", "di5", "di5", "di5", "di5", "22di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "S di5" "", ""
|
||||
|
||||
[ConstantsExtensions]
|
||||
; defaultValue is used to provide TunerStudio with a value to use in the case of
|
||||
|
@ -2509,7 +2509,7 @@ menuDialog = main
|
|||
subMenu = std_separator
|
||||
|
||||
# Digital outputs
|
||||
subMenu = mainRelay, "Main relay"
|
||||
subMenu = mainRelayDialog, "Main relay"
|
||||
subMenu = starterRelay, "Starter Disable relay"
|
||||
subMenu = fuelPump, "Fuel pump & rail"
|
||||
subMenu = fanSetting, "Fan"
|
||||
|
@ -3589,7 +3589,7 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
|||
|
||||
|
||||
; Controller->Actuator Outputs
|
||||
dialog = mainRelay, "Main relay output"
|
||||
dialog = mainRelayDialog, "Main relay output"
|
||||
field = "Pin", mainRelayPin
|
||||
field = "Pin mode", mainRelayPinMode
|
||||
|
||||
|
|
|
@ -89,7 +89,7 @@ enable2ndByteCanID = false
|
|||
|
||||
; see PAGE_0_SIZE in C source code
|
||||
; CONFIG_DEFINITION_START
|
||||
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kineris_gen_config.bat integration/rusefi_config.txt Thu May 14 20:41:28 EDT 2020
|
||||
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kineris_gen_config.bat integration/rusefi_config.txt Fri May 15 21:04:28 EDT 2020
|
||||
|
||||
pageSize = 20000
|
||||
page = 1
|
||||
|
@ -855,7 +855,7 @@ page = 1
|
|||
storageMode = bits, U32, 2260, [0:7], "Auto", "Always", "Never"
|
||||
narrowToWideOxygenBins = array, F32, 2264, [8], "V", 1, 0, -10.0, 10.0, 3
|
||||
narrowToWideOxygen = array, F32, 2296, [8], "ratio", 1, 0, -40.0, 40.0, 2
|
||||
vvtMode = bits, U32, 2328, [0:7], "First half", "Second half", "2GZ", "Miata NB2", "mode4", "mode5", "mode6", "mode7"
|
||||
vvtMode = bits, U32, 2328, [0:7], "Inactive", "Second half", "2GZ", "Miata NB2", "First half", "mode5", "mode6", "mode7"
|
||||
;no TS info - skipping unusedOldBiquad offset 2332
|
||||
cltTimingBins = array, F32, 2352, [8], "C", 1, 0, -100.0, 250.0, 1
|
||||
cltTimingExtra = array, F32, 2384, [8], "degree", 1, 0, -400.0, 400.0, 0
|
||||
|
@ -1651,19 +1651,19 @@ page = 1
|
|||
; https://rusefi.com/wiki/index.php?title=Manual:Debug_fields
|
||||
; 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
||||
; Alternator TPS Acceleration Warmup-Pid Idle Engine Load Acc Trigger Counters VVT Cranking Ignition Timing ETB PID CJ125 CAN TLE8888 Boost Start Launcher ETB Autotune
|
||||
debugFieldF1List = bits, U08, [0:7], "Controller Output", "From TPS", "", "Controller Output", "Idle output", "Channel 1 Rise Counter", "", "", "Event Position","", "Ign IAT Corr", "", "", "", "", "", "", "ETB Controller Output", "", "", "df1", "df1", "22df1", "", "23:df1", "CJ125: output", "", "", "", "", "", "", "", "", "", "", "Boost Open Loop Duty", "S unused" "", "Osc Amplitude"
|
||||
debugFieldF2List = bits, U08, [0:7], "I-Term", "To TPS", "", "I-Term", "Idle df2", "Channel 2 Rise Counter", "", "", "Ratio", "", "Ign CLT Corr", "", "", "", "", "", "", "ETB I-Term", "", "", "df2", "df2", "22df2", "", "23:df2", "CJ125: i-term", "", "", "", "", "", "", "", "", "", "", "Boost Closed Loop Duty","S unused" "", "Duty Amplitude"
|
||||
debugFieldF3List = bits, U08, [0:7], "Previous Error", "Current TPS<>TPS", "", "", "Idle df3", "ICU sum", "", "", "", "", "Ign FSIO Adj", "", "", "", "", "", "", "ETB err", "", "", "df3", "df3", "22df3", "", "23:df3", "CJ125: err", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Tu"
|
||||
debugFieldF4List = bits, U08, [0:7], "I Gain", "Extra Fuel", "", "", "Idle df4", "VVT rise", "", "", "", "", "Ign PID Adj", "", "", "", "", "", "", "ETB I setting", "", "", "df4", "df4", "22df4", "", "23:df4", "CJ125: UA", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Ku"
|
||||
debugFieldF5List = bits, U08, [0:7], "D Gain", "df5", "df5", "df5", "Idle df5", "VVT fall", "df5", "", "", "", "", "", "", "", "", "", "", "ETB D setting", "df5", "df5", "df5", "df5", "22df5", "", "23:df5", "CJ125: UR", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Kp"
|
||||
debugFieldF6List = bits, U08, [0:7], "D Term", "", "", "", "Idle df6", "Current Gap", "", "", "", "", "", "", "", "", "", "", "", "ETB df6", "", "", "df6", "df6", "22df6", "", "23:df6", "cj: f7", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Ki"
|
||||
debugFieldF7List = bits, U08, [0:7], "Max-Value", "", "", "", "Idle df7", "", "", "", "", "", "", "", "", "", "", "", "", "ETB df7", "", "", "df7", "df7", "22df7", "", "23:df7", "cj: f7", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Kd"
|
||||
debugFieldF1List = bits, U08, [0:7], "Controller Output", "From TPS", "", "Controller Output", "Idle output", "Channel 1 Rise Counter", "", "", "VVT Event Position","", "Ign IAT Corr", "", "", "", "", "", "", "ETB Controller Output", "", "", "df1", "df1", "22df1", "", "23:df1", "CJ125: output", "", "", "", "", "", "", "", "", "", "", "Boost Open Loop Duty", "S unused" "", "Osc Amplitude"
|
||||
debugFieldF2List = bits, U08, [0:7], "I-Term", "To TPS", "", "I-Term", "Idle df2", "Channel 2 Rise Counter", "", "", "VVT Ratio", "", "Ign CLT Corr", "", "", "", "", "", "", "ETB I-Term", "", "", "df2", "df2", "22df2", "", "23:df2", "CJ125: i-term", "", "", "", "", "", "", "", "", "", "", "Boost Closed Loop Duty","S unused" "", "Duty Amplitude"
|
||||
debugFieldF3List = bits, U08, [0:7], "Previous Error", "Current TPS<>TPS", "", "", "Idle df3", "ICU sum", "", "", "", "", "Ign FSIO Adj", "", "", "", "", "", "", "ETB err", "", "", "df3", "df3", "22df3", "", "23:df3", "CJ125: err", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Tu"
|
||||
debugFieldF4List = bits, U08, [0:7], "I Gain", "Extra Fuel", "", "", "Idle df4", "VVT rise", "", "", "", "", "Ign PID Adj", "", "", "", "", "", "", "ETB I setting", "", "", "df4", "df4", "22df4", "", "23:df4", "CJ125: UA", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Ku"
|
||||
debugFieldF5List = bits, U08, [0:7], "D Gain", "df5", "df5", "df5", "Idle df5", "VVT fall", "df5", "", "", "", "", "", "", "", "", "", "", "ETB D setting", "df5", "df5", "df5", "df5", "22df5", "", "23:df5", "CJ125: UR", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Kp"
|
||||
debugFieldF6List = bits, U08, [0:7], "D Term", "", "", "", "Idle df6", "Current Gap", "", "", "", "", "", "", "", "", "", "", "", "ETB df6", "", "", "df6", "df6", "22df6", "", "23:df6", "cj: f7", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Ki"
|
||||
debugFieldF7List = bits, U08, [0:7], "Max-Value", "", "", "", "Idle df7", "", "", "", "", "", "", "", "", "", "", "", "", "ETB df7", "", "", "df7", "df7", "22df7", "", "23:df7", "cj: f7", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Kd"
|
||||
|
||||
debugFieldI1List = bits, U08, [0:7], "P-Gain", "", "", "", "Idle di1", "Channel 1 Fall Counter", "", "", "Sync Counter", "", "Multispark Count", "", "", "", "", "", "", "ETB P-Gain", "", "", "di1", "di1", "22di1", "", "23:di1", "CJ125: state", "read count","", "", "", "", "SPI Counter", "", "", "", "", "", "Start Count" "", ""
|
||||
debugFieldI2List = bits, U08, [0:7], "Offset", "", "", "", "Idle di2", "Channel 2 Fall Counter", "", "", "", "", "", "", "", "", "", "", "", "ETB di2", "", "", "di2", "di2", "22di2", "", "23:di2", "", "", "", "", "", "", "Latest Transmit","", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI3List = bits, U08, [0:7], "", "", "", "", "Idle di3", "Cycle Index", "", "", "", "", "", "", "", "", "", "", "", "ETB di3", "", "", "di3", "di3", "22di3", "", "23:di3", "", "", "", "", "", "", "Latest Received","", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI4List = bits, U08, [0:7], "", "", "", "", "Idle di4", "Cycle Cnt 1", "", "", "", "", "", "", "", "", "", "", "", "ETB di4", "", "", "di4", "di4", "22di4", "", "23:di4", "", "", "", "", "", "", "Init Count", "", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI5List = bits, U08, [0:7], "", "", "", "", "Idle di5", "Cycle Cnt 2", "", "", "", "", "", "", "", "", "", "di5", "di5", "ETB di5", "di5", "di5", "di5", "di5", "22di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "S di5" "", ""
|
||||
debugFieldI1List = bits, U08, [0:7], "P-Gain", "", "", "", "Idle di1", "Channel 1 Fall Counter", "", "", "VVT Sync Counter", "", "Multispark Count", "", "", "", "", "", "", "ETB P-Gain", "", "", "di1", "di1", "22di1", "", "23:di1", "CJ125: state", "read count","", "", "", "", "SPI Counter", "", "", "", "", "", "Start Count" "", ""
|
||||
debugFieldI2List = bits, U08, [0:7], "Offset", "", "", "", "Idle di2", "Channel 2 Fall Counter", "", "", "", "", "", "", "", "", "", "", "", "ETB di2", "", "", "di2", "di2", "22di2", "", "23:di2", "", "", "", "", "", "", "Latest Transmit","", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI3List = bits, U08, [0:7], "", "", "", "", "Idle di3", "Cycle Index", "", "", "", "", "", "", "", "", "", "", "", "ETB di3", "", "", "di3", "di3", "22di3", "", "23:di3", "", "", "", "", "", "", "Latest Received","", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI4List = bits, U08, [0:7], "", "", "", "", "Idle di4", "Cycle Cnt 1", "", "", "", "", "", "", "", "", "", "", "", "ETB di4", "", "", "di4", "di4", "22di4", "", "23:di4", "", "", "", "", "", "", "Init Count", "", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI5List = bits, U08, [0:7], "", "", "", "", "Idle di5", "Cycle Cnt 2", "", "", "", "", "", "", "", "", "", "di5", "di5", "ETB di5", "di5", "di5", "di5", "di5", "22di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "S di5" "", ""
|
||||
|
||||
[ConstantsExtensions]
|
||||
; defaultValue is used to provide TunerStudio with a value to use in the case of
|
||||
|
@ -2509,7 +2509,7 @@ menuDialog = main
|
|||
subMenu = std_separator
|
||||
|
||||
# Digital outputs
|
||||
subMenu = mainRelay, "Main relay"
|
||||
subMenu = mainRelayDialog, "Main relay"
|
||||
subMenu = starterRelay, "Starter Disable relay"
|
||||
subMenu = fuelPump, "Fuel pump & rail"
|
||||
subMenu = fanSetting, "Fan"
|
||||
|
@ -3590,7 +3590,7 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
|||
|
||||
|
||||
; Controller->Actuator Outputs
|
||||
dialog = mainRelay, "Main relay output"
|
||||
dialog = mainRelayDialog, "Main relay output"
|
||||
field = "Pin", mainRelayPin
|
||||
field = "Pin mode", mainRelayPinMode
|
||||
|
||||
|
|
|
@ -89,7 +89,7 @@ enable2ndByteCanID = false
|
|||
|
||||
; see PAGE_0_SIZE in C source code
|
||||
; CONFIG_DEFINITION_START
|
||||
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Thu May 14 23:04:50 EDT 2020
|
||||
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Fri May 15 16:34:21 EDT 2020
|
||||
|
||||
pageSize = 20000
|
||||
page = 1
|
||||
|
@ -1651,19 +1651,19 @@ page = 1
|
|||
; https://rusefi.com/wiki/index.php?title=Manual:Debug_fields
|
||||
; 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
||||
; Alternator TPS Acceleration Warmup-Pid Idle Engine Load Acc Trigger Counters VVT Cranking Ignition Timing ETB PID CJ125 CAN TLE8888 Boost Start Launcher ETB Autotune
|
||||
debugFieldF1List = bits, U08, [0:7], "Controller Output", "From TPS", "", "Controller Output", "Idle output", "Channel 1 Rise Counter", "", "", "Event Position","", "Ign IAT Corr", "", "", "", "", "", "", "ETB Controller Output", "", "", "df1", "df1", "22df1", "", "23:df1", "CJ125: output", "", "", "", "", "", "", "", "", "", "", "Boost Open Loop Duty", "S unused" "", "Osc Amplitude"
|
||||
debugFieldF2List = bits, U08, [0:7], "I-Term", "To TPS", "", "I-Term", "Idle df2", "Channel 2 Rise Counter", "", "", "Ratio", "", "Ign CLT Corr", "", "", "", "", "", "", "ETB I-Term", "", "", "df2", "df2", "22df2", "", "23:df2", "CJ125: i-term", "", "", "", "", "", "", "", "", "", "", "Boost Closed Loop Duty","S unused" "", "Duty Amplitude"
|
||||
debugFieldF3List = bits, U08, [0:7], "Previous Error", "Current TPS<>TPS", "", "", "Idle df3", "ICU sum", "", "", "", "", "Ign FSIO Adj", "", "", "", "", "", "", "ETB err", "", "", "df3", "df3", "22df3", "", "23:df3", "CJ125: err", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Tu"
|
||||
debugFieldF4List = bits, U08, [0:7], "I Gain", "Extra Fuel", "", "", "Idle df4", "VVT rise", "", "", "", "", "Ign PID Adj", "", "", "", "", "", "", "ETB I setting", "", "", "df4", "df4", "22df4", "", "23:df4", "CJ125: UA", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Ku"
|
||||
debugFieldF5List = bits, U08, [0:7], "D Gain", "df5", "df5", "df5", "Idle df5", "VVT fall", "df5", "", "", "", "", "", "", "", "", "", "", "ETB D setting", "df5", "df5", "df5", "df5", "22df5", "", "23:df5", "CJ125: UR", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Kp"
|
||||
debugFieldF6List = bits, U08, [0:7], "D Term", "", "", "", "Idle df6", "Current Gap", "", "", "", "", "", "", "", "", "", "", "", "ETB df6", "", "", "df6", "df6", "22df6", "", "23:df6", "cj: f7", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Ki"
|
||||
debugFieldF7List = bits, U08, [0:7], "Max-Value", "", "", "", "Idle df7", "", "", "", "", "", "", "", "", "", "", "", "", "ETB df7", "", "", "df7", "df7", "22df7", "", "23:df7", "cj: f7", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Kd"
|
||||
debugFieldF1List = bits, U08, [0:7], "Controller Output", "From TPS", "", "Controller Output", "Idle output", "Channel 1 Rise Counter", "", "", "VVT Event Position","", "Ign IAT Corr", "", "", "", "", "", "", "ETB Controller Output", "", "", "df1", "df1", "22df1", "", "23:df1", "CJ125: output", "", "", "", "", "", "", "", "", "", "", "Boost Open Loop Duty", "S unused" "", "Osc Amplitude"
|
||||
debugFieldF2List = bits, U08, [0:7], "I-Term", "To TPS", "", "I-Term", "Idle df2", "Channel 2 Rise Counter", "", "", "VVT Ratio", "", "Ign CLT Corr", "", "", "", "", "", "", "ETB I-Term", "", "", "df2", "df2", "22df2", "", "23:df2", "CJ125: i-term", "", "", "", "", "", "", "", "", "", "", "Boost Closed Loop Duty","S unused" "", "Duty Amplitude"
|
||||
debugFieldF3List = bits, U08, [0:7], "Previous Error", "Current TPS<>TPS", "", "", "Idle df3", "ICU sum", "", "", "", "", "Ign FSIO Adj", "", "", "", "", "", "", "ETB err", "", "", "df3", "df3", "22df3", "", "23:df3", "CJ125: err", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Tu"
|
||||
debugFieldF4List = bits, U08, [0:7], "I Gain", "Extra Fuel", "", "", "Idle df4", "VVT rise", "", "", "", "", "Ign PID Adj", "", "", "", "", "", "", "ETB I setting", "", "", "df4", "df4", "22df4", "", "23:df4", "CJ125: UA", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Ku"
|
||||
debugFieldF5List = bits, U08, [0:7], "D Gain", "df5", "df5", "df5", "Idle df5", "VVT fall", "df5", "", "", "", "", "", "", "", "", "", "", "ETB D setting", "df5", "df5", "df5", "df5", "22df5", "", "23:df5", "CJ125: UR", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Kp"
|
||||
debugFieldF6List = bits, U08, [0:7], "D Term", "", "", "", "Idle df6", "Current Gap", "", "", "", "", "", "", "", "", "", "", "", "ETB df6", "", "", "df6", "df6", "22df6", "", "23:df6", "cj: f7", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Ki"
|
||||
debugFieldF7List = bits, U08, [0:7], "Max-Value", "", "", "", "Idle df7", "", "", "", "", "", "", "", "", "", "", "", "", "ETB df7", "", "", "df7", "df7", "22df7", "", "23:df7", "cj: f7", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Kd"
|
||||
|
||||
debugFieldI1List = bits, U08, [0:7], "P-Gain", "", "", "", "Idle di1", "Channel 1 Fall Counter", "", "", "Sync Counter", "", "Multispark Count", "", "", "", "", "", "", "ETB P-Gain", "", "", "di1", "di1", "22di1", "", "23:di1", "CJ125: state", "read count","", "", "", "", "SPI Counter", "", "", "", "", "", "Start Count" "", ""
|
||||
debugFieldI2List = bits, U08, [0:7], "Offset", "", "", "", "Idle di2", "Channel 2 Fall Counter", "", "", "", "", "", "", "", "", "", "", "", "ETB di2", "", "", "di2", "di2", "22di2", "", "23:di2", "", "", "", "", "", "", "Latest Transmit","", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI3List = bits, U08, [0:7], "", "", "", "", "Idle di3", "Cycle Index", "", "", "", "", "", "", "", "", "", "", "", "ETB di3", "", "", "di3", "di3", "22di3", "", "23:di3", "", "", "", "", "", "", "Latest Received","", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI4List = bits, U08, [0:7], "", "", "", "", "Idle di4", "Cycle Cnt 1", "", "", "", "", "", "", "", "", "", "", "", "ETB di4", "", "", "di4", "di4", "22di4", "", "23:di4", "", "", "", "", "", "", "Init Count", "", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI5List = bits, U08, [0:7], "", "", "", "", "Idle di5", "Cycle Cnt 2", "", "", "", "", "", "", "", "", "", "di5", "di5", "ETB di5", "di5", "di5", "di5", "di5", "22di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "S di5" "", ""
|
||||
debugFieldI1List = bits, U08, [0:7], "P-Gain", "", "", "", "Idle di1", "Channel 1 Fall Counter", "", "", "VVT Sync Counter", "", "Multispark Count", "", "", "", "", "", "", "ETB P-Gain", "", "", "di1", "di1", "22di1", "", "23:di1", "CJ125: state", "read count","", "", "", "", "SPI Counter", "", "", "", "", "", "Start Count" "", ""
|
||||
debugFieldI2List = bits, U08, [0:7], "Offset", "", "", "", "Idle di2", "Channel 2 Fall Counter", "", "", "", "", "", "", "", "", "", "", "", "ETB di2", "", "", "di2", "di2", "22di2", "", "23:di2", "", "", "", "", "", "", "Latest Transmit","", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI3List = bits, U08, [0:7], "", "", "", "", "Idle di3", "Cycle Index", "", "", "", "", "", "", "", "", "", "", "", "ETB di3", "", "", "di3", "di3", "22di3", "", "23:di3", "", "", "", "", "", "", "Latest Received","", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI4List = bits, U08, [0:7], "", "", "", "", "Idle di4", "Cycle Cnt 1", "", "", "", "", "", "", "", "", "", "", "", "ETB di4", "", "", "di4", "di4", "22di4", "", "23:di4", "", "", "", "", "", "", "Init Count", "", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI5List = bits, U08, [0:7], "", "", "", "", "Idle di5", "Cycle Cnt 2", "", "", "", "", "", "", "", "", "", "di5", "di5", "ETB di5", "di5", "di5", "di5", "di5", "22di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "S di5" "", ""
|
||||
|
||||
[ConstantsExtensions]
|
||||
; defaultValue is used to provide TunerStudio with a value to use in the case of
|
||||
|
@ -2509,7 +2509,7 @@ menuDialog = main
|
|||
subMenu = std_separator
|
||||
|
||||
# Digital outputs
|
||||
subMenu = mainRelay, "Main relay"
|
||||
subMenu = mainRelayDialog, "Main relay"
|
||||
subMenu = starterRelay, "Starter Disable relay"
|
||||
subMenu = fuelPump, "Fuel pump & rail"
|
||||
subMenu = fanSetting, "Fan"
|
||||
|
@ -3569,9 +3569,8 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
|||
|
||||
|
||||
; Controller->Actuator Outputs
|
||||
dialog = mainRelay, "Main relay output"
|
||||
field = "Pin", mainRelayPin
|
||||
field = "Pin mode", mainRelayPinMode
|
||||
dialog = mainRelayDialog, "Main relay output"
|
||||
field = "microRusEFI main relay control is hard wired on pin #29"
|
||||
|
||||
dialog = starterRelay, "Starter relay output"
|
||||
field = "Pin", starterRelayDisablePin
|
||||
|
|
|
@ -89,7 +89,7 @@ enable2ndByteCanID = false
|
|||
|
||||
; see PAGE_0_SIZE in C source code
|
||||
; CONFIG_DEFINITION_START
|
||||
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Thu May 14 23:45:56 EDT 2020
|
||||
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Fri May 15 16:34:28 EDT 2020
|
||||
|
||||
pageSize = 20000
|
||||
page = 1
|
||||
|
@ -1651,19 +1651,19 @@ page = 1
|
|||
; https://rusefi.com/wiki/index.php?title=Manual:Debug_fields
|
||||
; 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
||||
; Alternator TPS Acceleration Warmup-Pid Idle Engine Load Acc Trigger Counters VVT Cranking Ignition Timing ETB PID CJ125 CAN TLE8888 Boost Start Launcher ETB Autotune
|
||||
debugFieldF1List = bits, U08, [0:7], "Controller Output", "From TPS", "", "Controller Output", "Idle output", "Channel 1 Rise Counter", "", "", "Event Position","", "Ign IAT Corr", "", "", "", "", "", "", "ETB Controller Output", "", "", "df1", "df1", "22df1", "", "23:df1", "CJ125: output", "", "", "", "", "", "", "", "", "", "", "Boost Open Loop Duty", "S unused" "", "Osc Amplitude"
|
||||
debugFieldF2List = bits, U08, [0:7], "I-Term", "To TPS", "", "I-Term", "Idle df2", "Channel 2 Rise Counter", "", "", "Ratio", "", "Ign CLT Corr", "", "", "", "", "", "", "ETB I-Term", "", "", "df2", "df2", "22df2", "", "23:df2", "CJ125: i-term", "", "", "", "", "", "", "", "", "", "", "Boost Closed Loop Duty","S unused" "", "Duty Amplitude"
|
||||
debugFieldF3List = bits, U08, [0:7], "Previous Error", "Current TPS<>TPS", "", "", "Idle df3", "ICU sum", "", "", "", "", "Ign FSIO Adj", "", "", "", "", "", "", "ETB err", "", "", "df3", "df3", "22df3", "", "23:df3", "CJ125: err", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Tu"
|
||||
debugFieldF4List = bits, U08, [0:7], "I Gain", "Extra Fuel", "", "", "Idle df4", "VVT rise", "", "", "", "", "Ign PID Adj", "", "", "", "", "", "", "ETB I setting", "", "", "df4", "df4", "22df4", "", "23:df4", "CJ125: UA", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Ku"
|
||||
debugFieldF5List = bits, U08, [0:7], "D Gain", "df5", "df5", "df5", "Idle df5", "VVT fall", "df5", "", "", "", "", "", "", "", "", "", "", "ETB D setting", "df5", "df5", "df5", "df5", "22df5", "", "23:df5", "CJ125: UR", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Kp"
|
||||
debugFieldF6List = bits, U08, [0:7], "D Term", "", "", "", "Idle df6", "Current Gap", "", "", "", "", "", "", "", "", "", "", "", "ETB df6", "", "", "df6", "df6", "22df6", "", "23:df6", "cj: f7", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Ki"
|
||||
debugFieldF7List = bits, U08, [0:7], "Max-Value", "", "", "", "Idle df7", "", "", "", "", "", "", "", "", "", "", "", "", "ETB df7", "", "", "df7", "df7", "22df7", "", "23:df7", "cj: f7", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Kd"
|
||||
debugFieldF1List = bits, U08, [0:7], "Controller Output", "From TPS", "", "Controller Output", "Idle output", "Channel 1 Rise Counter", "", "", "VVT Event Position","", "Ign IAT Corr", "", "", "", "", "", "", "ETB Controller Output", "", "", "df1", "df1", "22df1", "", "23:df1", "CJ125: output", "", "", "", "", "", "", "", "", "", "", "Boost Open Loop Duty", "S unused" "", "Osc Amplitude"
|
||||
debugFieldF2List = bits, U08, [0:7], "I-Term", "To TPS", "", "I-Term", "Idle df2", "Channel 2 Rise Counter", "", "", "VVT Ratio", "", "Ign CLT Corr", "", "", "", "", "", "", "ETB I-Term", "", "", "df2", "df2", "22df2", "", "23:df2", "CJ125: i-term", "", "", "", "", "", "", "", "", "", "", "Boost Closed Loop Duty","S unused" "", "Duty Amplitude"
|
||||
debugFieldF3List = bits, U08, [0:7], "Previous Error", "Current TPS<>TPS", "", "", "Idle df3", "ICU sum", "", "", "", "", "Ign FSIO Adj", "", "", "", "", "", "", "ETB err", "", "", "df3", "df3", "22df3", "", "23:df3", "CJ125: err", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Tu"
|
||||
debugFieldF4List = bits, U08, [0:7], "I Gain", "Extra Fuel", "", "", "Idle df4", "VVT rise", "", "", "", "", "Ign PID Adj", "", "", "", "", "", "", "ETB I setting", "", "", "df4", "df4", "22df4", "", "23:df4", "CJ125: UA", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Ku"
|
||||
debugFieldF5List = bits, U08, [0:7], "D Gain", "df5", "df5", "df5", "Idle df5", "VVT fall", "df5", "", "", "", "", "", "", "", "", "", "", "ETB D setting", "df5", "df5", "df5", "df5", "22df5", "", "23:df5", "CJ125: UR", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Kp"
|
||||
debugFieldF6List = bits, U08, [0:7], "D Term", "", "", "", "Idle df6", "Current Gap", "", "", "", "", "", "", "", "", "", "", "", "ETB df6", "", "", "df6", "df6", "22df6", "", "23:df6", "cj: f7", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Ki"
|
||||
debugFieldF7List = bits, U08, [0:7], "Max-Value", "", "", "", "Idle df7", "", "", "", "", "", "", "", "", "", "", "", "", "ETB df7", "", "", "df7", "df7", "22df7", "", "23:df7", "cj: f7", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Kd"
|
||||
|
||||
debugFieldI1List = bits, U08, [0:7], "P-Gain", "", "", "", "Idle di1", "Channel 1 Fall Counter", "", "", "Sync Counter", "", "Multispark Count", "", "", "", "", "", "", "ETB P-Gain", "", "", "di1", "di1", "22di1", "", "23:di1", "CJ125: state", "read count","", "", "", "", "SPI Counter", "", "", "", "", "", "Start Count" "", ""
|
||||
debugFieldI2List = bits, U08, [0:7], "Offset", "", "", "", "Idle di2", "Channel 2 Fall Counter", "", "", "", "", "", "", "", "", "", "", "", "ETB di2", "", "", "di2", "di2", "22di2", "", "23:di2", "", "", "", "", "", "", "Latest Transmit","", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI3List = bits, U08, [0:7], "", "", "", "", "Idle di3", "Cycle Index", "", "", "", "", "", "", "", "", "", "", "", "ETB di3", "", "", "di3", "di3", "22di3", "", "23:di3", "", "", "", "", "", "", "Latest Received","", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI4List = bits, U08, [0:7], "", "", "", "", "Idle di4", "Cycle Cnt 1", "", "", "", "", "", "", "", "", "", "", "", "ETB di4", "", "", "di4", "di4", "22di4", "", "23:di4", "", "", "", "", "", "", "Init Count", "", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI5List = bits, U08, [0:7], "", "", "", "", "Idle di5", "Cycle Cnt 2", "", "", "", "", "", "", "", "", "", "di5", "di5", "ETB di5", "di5", "di5", "di5", "di5", "22di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "S di5" "", ""
|
||||
debugFieldI1List = bits, U08, [0:7], "P-Gain", "", "", "", "Idle di1", "Channel 1 Fall Counter", "", "", "VVT Sync Counter", "", "Multispark Count", "", "", "", "", "", "", "ETB P-Gain", "", "", "di1", "di1", "22di1", "", "23:di1", "CJ125: state", "read count","", "", "", "", "SPI Counter", "", "", "", "", "", "Start Count" "", ""
|
||||
debugFieldI2List = bits, U08, [0:7], "Offset", "", "", "", "Idle di2", "Channel 2 Fall Counter", "", "", "", "", "", "", "", "", "", "", "", "ETB di2", "", "", "di2", "di2", "22di2", "", "23:di2", "", "", "", "", "", "", "Latest Transmit","", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI3List = bits, U08, [0:7], "", "", "", "", "Idle di3", "Cycle Index", "", "", "", "", "", "", "", "", "", "", "", "ETB di3", "", "", "di3", "di3", "22di3", "", "23:di3", "", "", "", "", "", "", "Latest Received","", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI4List = bits, U08, [0:7], "", "", "", "", "Idle di4", "Cycle Cnt 1", "", "", "", "", "", "", "", "", "", "", "", "ETB di4", "", "", "di4", "di4", "22di4", "", "23:di4", "", "", "", "", "", "", "Init Count", "", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI5List = bits, U08, [0:7], "", "", "", "", "Idle di5", "Cycle Cnt 2", "", "", "", "", "", "", "", "", "", "di5", "di5", "ETB di5", "di5", "di5", "di5", "di5", "22di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "S di5" "", ""
|
||||
|
||||
[ConstantsExtensions]
|
||||
; defaultValue is used to provide TunerStudio with a value to use in the case of
|
||||
|
@ -2509,7 +2509,7 @@ menuDialog = main
|
|||
subMenu = std_separator
|
||||
|
||||
# Digital outputs
|
||||
subMenu = mainRelay, "Main relay"
|
||||
subMenu = mainRelayDialog, "Main relay"
|
||||
subMenu = starterRelay, "Starter Disable relay"
|
||||
subMenu = fuelPump, "Fuel pump & rail"
|
||||
subMenu = fanSetting, "Fan"
|
||||
|
@ -3585,7 +3585,7 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
|||
|
||||
|
||||
; Controller->Actuator Outputs
|
||||
dialog = mainRelay, "Main relay output"
|
||||
dialog = mainRelayDialog, "Main relay output"
|
||||
field = "Pin", mainRelayPin
|
||||
field = "Pin mode", mainRelayPinMode
|
||||
|
||||
|
|
|
@ -89,7 +89,7 @@ enable2ndByteCanID = false
|
|||
|
||||
; see PAGE_0_SIZE in C source code
|
||||
; CONFIG_DEFINITION_START
|
||||
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Thu May 14 23:46:05 EDT 2020
|
||||
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Fri May 15 16:34:31 EDT 2020
|
||||
|
||||
pageSize = 20000
|
||||
page = 1
|
||||
|
@ -1651,19 +1651,19 @@ page = 1
|
|||
; https://rusefi.com/wiki/index.php?title=Manual:Debug_fields
|
||||
; 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
||||
; Alternator TPS Acceleration Warmup-Pid Idle Engine Load Acc Trigger Counters VVT Cranking Ignition Timing ETB PID CJ125 CAN TLE8888 Boost Start Launcher ETB Autotune
|
||||
debugFieldF1List = bits, U08, [0:7], "Controller Output", "From TPS", "", "Controller Output", "Idle output", "Channel 1 Rise Counter", "", "", "Event Position","", "Ign IAT Corr", "", "", "", "", "", "", "ETB Controller Output", "", "", "df1", "df1", "22df1", "", "23:df1", "CJ125: output", "", "", "", "", "", "", "", "", "", "", "Boost Open Loop Duty", "S unused" "", "Osc Amplitude"
|
||||
debugFieldF2List = bits, U08, [0:7], "I-Term", "To TPS", "", "I-Term", "Idle df2", "Channel 2 Rise Counter", "", "", "Ratio", "", "Ign CLT Corr", "", "", "", "", "", "", "ETB I-Term", "", "", "df2", "df2", "22df2", "", "23:df2", "CJ125: i-term", "", "", "", "", "", "", "", "", "", "", "Boost Closed Loop Duty","S unused" "", "Duty Amplitude"
|
||||
debugFieldF3List = bits, U08, [0:7], "Previous Error", "Current TPS<>TPS", "", "", "Idle df3", "ICU sum", "", "", "", "", "Ign FSIO Adj", "", "", "", "", "", "", "ETB err", "", "", "df3", "df3", "22df3", "", "23:df3", "CJ125: err", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Tu"
|
||||
debugFieldF4List = bits, U08, [0:7], "I Gain", "Extra Fuel", "", "", "Idle df4", "VVT rise", "", "", "", "", "Ign PID Adj", "", "", "", "", "", "", "ETB I setting", "", "", "df4", "df4", "22df4", "", "23:df4", "CJ125: UA", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Ku"
|
||||
debugFieldF5List = bits, U08, [0:7], "D Gain", "df5", "df5", "df5", "Idle df5", "VVT fall", "df5", "", "", "", "", "", "", "", "", "", "", "ETB D setting", "df5", "df5", "df5", "df5", "22df5", "", "23:df5", "CJ125: UR", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Kp"
|
||||
debugFieldF6List = bits, U08, [0:7], "D Term", "", "", "", "Idle df6", "Current Gap", "", "", "", "", "", "", "", "", "", "", "", "ETB df6", "", "", "df6", "df6", "22df6", "", "23:df6", "cj: f7", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Ki"
|
||||
debugFieldF7List = bits, U08, [0:7], "Max-Value", "", "", "", "Idle df7", "", "", "", "", "", "", "", "", "", "", "", "", "ETB df7", "", "", "df7", "df7", "22df7", "", "23:df7", "cj: f7", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Kd"
|
||||
debugFieldF1List = bits, U08, [0:7], "Controller Output", "From TPS", "", "Controller Output", "Idle output", "Channel 1 Rise Counter", "", "", "VVT Event Position","", "Ign IAT Corr", "", "", "", "", "", "", "ETB Controller Output", "", "", "df1", "df1", "22df1", "", "23:df1", "CJ125: output", "", "", "", "", "", "", "", "", "", "", "Boost Open Loop Duty", "S unused" "", "Osc Amplitude"
|
||||
debugFieldF2List = bits, U08, [0:7], "I-Term", "To TPS", "", "I-Term", "Idle df2", "Channel 2 Rise Counter", "", "", "VVT Ratio", "", "Ign CLT Corr", "", "", "", "", "", "", "ETB I-Term", "", "", "df2", "df2", "22df2", "", "23:df2", "CJ125: i-term", "", "", "", "", "", "", "", "", "", "", "Boost Closed Loop Duty","S unused" "", "Duty Amplitude"
|
||||
debugFieldF3List = bits, U08, [0:7], "Previous Error", "Current TPS<>TPS", "", "", "Idle df3", "ICU sum", "", "", "", "", "Ign FSIO Adj", "", "", "", "", "", "", "ETB err", "", "", "df3", "df3", "22df3", "", "23:df3", "CJ125: err", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Tu"
|
||||
debugFieldF4List = bits, U08, [0:7], "I Gain", "Extra Fuel", "", "", "Idle df4", "VVT rise", "", "", "", "", "Ign PID Adj", "", "", "", "", "", "", "ETB I setting", "", "", "df4", "df4", "22df4", "", "23:df4", "CJ125: UA", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Ku"
|
||||
debugFieldF5List = bits, U08, [0:7], "D Gain", "df5", "df5", "df5", "Idle df5", "VVT fall", "df5", "", "", "", "", "", "", "", "", "", "", "ETB D setting", "df5", "df5", "df5", "df5", "22df5", "", "23:df5", "CJ125: UR", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Kp"
|
||||
debugFieldF6List = bits, U08, [0:7], "D Term", "", "", "", "Idle df6", "Current Gap", "", "", "", "", "", "", "", "", "", "", "", "ETB df6", "", "", "df6", "df6", "22df6", "", "23:df6", "cj: f7", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Ki"
|
||||
debugFieldF7List = bits, U08, [0:7], "Max-Value", "", "", "", "Idle df7", "", "", "", "", "", "", "", "", "", "", "", "", "ETB df7", "", "", "df7", "df7", "22df7", "", "23:df7", "cj: f7", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Kd"
|
||||
|
||||
debugFieldI1List = bits, U08, [0:7], "P-Gain", "", "", "", "Idle di1", "Channel 1 Fall Counter", "", "", "Sync Counter", "", "Multispark Count", "", "", "", "", "", "", "ETB P-Gain", "", "", "di1", "di1", "22di1", "", "23:di1", "CJ125: state", "read count","", "", "", "", "SPI Counter", "", "", "", "", "", "Start Count" "", ""
|
||||
debugFieldI2List = bits, U08, [0:7], "Offset", "", "", "", "Idle di2", "Channel 2 Fall Counter", "", "", "", "", "", "", "", "", "", "", "", "ETB di2", "", "", "di2", "di2", "22di2", "", "23:di2", "", "", "", "", "", "", "Latest Transmit","", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI3List = bits, U08, [0:7], "", "", "", "", "Idle di3", "Cycle Index", "", "", "", "", "", "", "", "", "", "", "", "ETB di3", "", "", "di3", "di3", "22di3", "", "23:di3", "", "", "", "", "", "", "Latest Received","", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI4List = bits, U08, [0:7], "", "", "", "", "Idle di4", "Cycle Cnt 1", "", "", "", "", "", "", "", "", "", "", "", "ETB di4", "", "", "di4", "di4", "22di4", "", "23:di4", "", "", "", "", "", "", "Init Count", "", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI5List = bits, U08, [0:7], "", "", "", "", "Idle di5", "Cycle Cnt 2", "", "", "", "", "", "", "", "", "", "di5", "di5", "ETB di5", "di5", "di5", "di5", "di5", "22di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "S di5" "", ""
|
||||
debugFieldI1List = bits, U08, [0:7], "P-Gain", "", "", "", "Idle di1", "Channel 1 Fall Counter", "", "", "VVT Sync Counter", "", "Multispark Count", "", "", "", "", "", "", "ETB P-Gain", "", "", "di1", "di1", "22di1", "", "23:di1", "CJ125: state", "read count","", "", "", "", "SPI Counter", "", "", "", "", "", "Start Count" "", ""
|
||||
debugFieldI2List = bits, U08, [0:7], "Offset", "", "", "", "Idle di2", "Channel 2 Fall Counter", "", "", "", "", "", "", "", "", "", "", "", "ETB di2", "", "", "di2", "di2", "22di2", "", "23:di2", "", "", "", "", "", "", "Latest Transmit","", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI3List = bits, U08, [0:7], "", "", "", "", "Idle di3", "Cycle Index", "", "", "", "", "", "", "", "", "", "", "", "ETB di3", "", "", "di3", "di3", "22di3", "", "23:di3", "", "", "", "", "", "", "Latest Received","", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI4List = bits, U08, [0:7], "", "", "", "", "Idle di4", "Cycle Cnt 1", "", "", "", "", "", "", "", "", "", "", "", "ETB di4", "", "", "di4", "di4", "22di4", "", "23:di4", "", "", "", "", "", "", "Init Count", "", "", "", "", "", "S unused" "", ""
|
||||
debugFieldI5List = bits, U08, [0:7], "", "", "", "", "Idle di5", "Cycle Cnt 2", "", "", "", "", "", "", "", "", "", "di5", "di5", "ETB di5", "di5", "di5", "di5", "di5", "22di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "S di5" "", ""
|
||||
|
||||
[ConstantsExtensions]
|
||||
; defaultValue is used to provide TunerStudio with a value to use in the case of
|
||||
|
@ -2509,7 +2509,7 @@ menuDialog = main
|
|||
subMenu = std_separator
|
||||
|
||||
# Digital outputs
|
||||
subMenu = mainRelay, "Main relay"
|
||||
subMenu = mainRelayDialog, "Main relay"
|
||||
subMenu = starterRelay, "Starter Disable relay"
|
||||
subMenu = fuelPump, "Fuel pump & rail"
|
||||
subMenu = fanSetting, "Fan"
|
||||
|
@ -3564,7 +3564,7 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
|||
|
||||
|
||||
; Controller->Actuator Outputs
|
||||
dialog = mainRelay, "Main relay output"
|
||||
dialog = mainRelayDialog, "Main relay output"
|
||||
field = "Pin", mainRelayPin
|
||||
field = "Pin mode", mainRelayPinMode
|
||||
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
/**
|
||||
* @file common.h
|
||||
* @brief Common macros definitions
|
||||
*
|
||||
* @date May, 2019
|
||||
* @author Andrey Gusakov, (c) 2019
|
||||
*
|
||||
* This file is part of rusEfi - see http://rusefi.com
|
||||
*
|
||||
* rusEfi is free software; you can redistribute it and/or modify it under the terms of
|
||||
* the GNU General Public License as published by the Free Software Foundation; either
|
||||
* version 3 of the License, or (at your option) any later version.
|
||||
*
|
||||
* rusEfi is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
|
||||
* even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with this program.
|
||||
* If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef COMMON_H_INCLUDED
|
||||
#define COMMON_H_INCLUDED
|
||||
|
||||
#define MIN(a,b) (((a)<(b))?(a):(b))
|
||||
#define MAX(a,b) (((a)>(b))?(a):(b))
|
||||
|
||||
#define CLAMP(x, low, high) ({\
|
||||
__typeof__(x) __x = (x); \
|
||||
__typeof__(low) __low = (low);\
|
||||
__typeof__(high) __high = (high);\
|
||||
(__x > __high) ? __high : ((__x < __low) ? __low : __x);\
|
||||
})
|
||||
|
||||
#endif /* COMMON_H_INCLUDED */
|
|
@ -153,12 +153,6 @@ int isInitialized(Logging *logging) {
|
|||
return logging->isInitialized;
|
||||
}
|
||||
|
||||
void debugInt(Logging *logging, const char *caption, int value) {
|
||||
append(logging, caption);
|
||||
append(logging, DELIMETER);
|
||||
appendPrintf(logging, "%d%s", value, DELIMETER);
|
||||
}
|
||||
|
||||
void appendFloat(Logging *logging, float value, int precision) {
|
||||
/**
|
||||
* todo: #1 this implementation is less than perfect
|
||||
|
@ -190,14 +184,6 @@ void appendFloat(Logging *logging, float value, int precision) {
|
|||
}
|
||||
}
|
||||
|
||||
void debugFloat(Logging *logging, const char *caption, float value, int precision) {
|
||||
append(logging, caption);
|
||||
append(logging, DELIMETER);
|
||||
|
||||
appendFloat(logging, value, precision);
|
||||
append(logging, DELIMETER);
|
||||
}
|
||||
|
||||
static char header[16];
|
||||
|
||||
/**
|
||||
|
|
|
@ -51,9 +51,6 @@ int isInitialized(Logging *logging);
|
|||
|
||||
void initLoggingExt(Logging *logging, const char *name, char *buffer, int bufferSize);
|
||||
|
||||
void debugInt(Logging *logging, const char *caption, int value);
|
||||
|
||||
void debugFloat(Logging *logging, const char *text, float value, int precision);
|
||||
void appendFloat(Logging *logging, float value, int precision);
|
||||
|
||||
void resetLogging(Logging *logging);
|
||||
|
|
|
@ -0,0 +1,113 @@
|
|||
/**
|
||||
* @file unaligned.c
|
||||
* @brief unaligned data access helpers
|
||||
*
|
||||
* @date May, 2019
|
||||
* @author Andrey Gusakov, (c) 2019
|
||||
*
|
||||
* This file is part of rusEfi - see http://rusefi.com
|
||||
*
|
||||
* rusEfi is free software; you can redistribute it and/or modify it under the terms of
|
||||
* the GNU General Public License as published by the Free Software Foundation; either
|
||||
* version 3 of the License, or (at your option) any later version.
|
||||
*
|
||||
* rusEfi is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
|
||||
* even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with this program.
|
||||
* If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "unaligned.h"
|
||||
#include "common.h"
|
||||
|
||||
/* generate mask */
|
||||
static inline uint32_t bit_mask(unsigned int from, unsigned int to)
|
||||
{
|
||||
uint32_t mask = 0;
|
||||
uint32_t shift;
|
||||
|
||||
if (to < from)
|
||||
return 0;
|
||||
|
||||
shift = to - from + 1U;
|
||||
|
||||
if ((shift > 0U) && (shift <= 32U) && (from <= 31U)) {
|
||||
if (shift < 32U) {
|
||||
mask = (uint32_t)((1UL << shift) - 1UL);
|
||||
mask = mask << from;
|
||||
} else {
|
||||
mask = 0xFFFFFFFFUL;
|
||||
}
|
||||
}
|
||||
|
||||
return mask;
|
||||
}
|
||||
|
||||
/* get upto 32 bits from char array p, from bit position pos, lenght len */
|
||||
uint32_t bits_get(uint8_t *p, unsigned int pos, int len)
|
||||
{
|
||||
int i;
|
||||
unsigned int offset = 0;
|
||||
uint32_t res = 0;
|
||||
|
||||
i = (int)pos / 8;
|
||||
|
||||
while (len > 0) {
|
||||
uint32_t tmp;
|
||||
uint32_t mask;
|
||||
int nbits = 8 - ((int)pos % 8);
|
||||
|
||||
/* get */
|
||||
tmp = (uint32_t)p[i];
|
||||
/* shift */
|
||||
tmp = tmp >> (8U - (uint32_t)nbits);
|
||||
/* mask */
|
||||
mask = bit_mask(0, MIN((uint32_t)len - 1U, (uint32_t)nbits - 1U));
|
||||
tmp = tmp & mask;
|
||||
res = res | ((tmp) << offset);
|
||||
|
||||
/* adjust for the next iteration */
|
||||
offset += (unsigned int)nbits;
|
||||
len -= nbits;
|
||||
pos += (unsigned int)nbits;
|
||||
i++;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
/* set upto 32 bits in char array p, from bit position pos, lenght len */
|
||||
void bits_set(uint8_t *p, unsigned int pos, int len, uint32_t val)
|
||||
{
|
||||
int i;
|
||||
unsigned int offset = 0;
|
||||
|
||||
i = (int)pos / 8;
|
||||
|
||||
while (len > 0) {
|
||||
uint32_t tmp;
|
||||
uint32_t mask;
|
||||
|
||||
/* get number of bits to shift to get to the target range */
|
||||
int shift = (int)pos % 8;
|
||||
/* get next byte */
|
||||
tmp = (val >> offset) & 0xffU;
|
||||
/* shift temporary value to the start of the target range */
|
||||
tmp = tmp << (uint8_t)shift;
|
||||
/* calculate mask */
|
||||
mask = bit_mask((uint32_t)shift, MIN(8U - 1U, (unsigned int)shift + (unsigned int)len - 1U));
|
||||
/* clean all bits outside of the target range */
|
||||
tmp &= mask;
|
||||
/* pre-clean all target bits */
|
||||
p[i] = p[i] & ~((uint8_t)mask);
|
||||
/* finally set active bits */
|
||||
p[i] |= (uint8_t)tmp;
|
||||
|
||||
/* adjust for the next iteration */
|
||||
offset += ((uint32_t)8U - (uint32_t)shift);
|
||||
len -= (8 - shift);
|
||||
pos += ((unsigned int)8U - (unsigned int)shift);
|
||||
i++;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,105 @@
|
|||
/**
|
||||
* @file unaligned.h
|
||||
* @brief unaligned data access helpers header file
|
||||
*
|
||||
* @date May, 2019
|
||||
* @author Andrey Gusakov, (c) 2019
|
||||
*
|
||||
* This file is part of rusEfi - see http://rusefi.com
|
||||
*
|
||||
* rusEfi is free software; you can redistribute it and/or modify it under the terms of
|
||||
* the GNU General Public License as published by the Free Software Foundation; either
|
||||
* version 3 of the License, or (at your option) any later version.
|
||||
*
|
||||
* rusEfi is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
|
||||
* even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with this program.
|
||||
* If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef UNALIGNED_H_INCLUDED
|
||||
#define UNALIGNED_H_INCLUDED
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
/* bit operations */
|
||||
uint32_t bits_get(uint8_t *p, unsigned int pos, int len);
|
||||
void bits_set(uint8_t *p, unsigned int pos, int len, uint32_t val);
|
||||
#define bit_set(p, pos) do {(p)[(pos) / 8] |= (1 << ((pos) % 8));} while(0)
|
||||
#define bit_clr(p, pos) do {(p)[(pos) / 8] &= ~(1 << ((pos) % 8));} while(0)
|
||||
#define bit_get(p, pos) (!!((p)[(pos) / 8] & (1 << ((pos) % 8))))
|
||||
|
||||
/* unaligned access */
|
||||
static inline void put_be8(uint8_t *p, uint8_t v)
|
||||
{
|
||||
p[0] = v;
|
||||
}
|
||||
|
||||
static inline void put_le8(uint8_t *p, uint8_t v)
|
||||
{
|
||||
p[0] = v;
|
||||
}
|
||||
|
||||
static inline void put_be16(uint8_t *p, uint16_t v)
|
||||
{
|
||||
p[0] = (uint8_t)(v >> 8);
|
||||
p[1] = (uint8_t)(v >> 0);
|
||||
}
|
||||
|
||||
static inline void put_le16(uint8_t *p, uint16_t v)
|
||||
{
|
||||
p[0] = (uint8_t)(v >> 0);
|
||||
p[1] = (uint8_t)(v >> 8);
|
||||
}
|
||||
|
||||
static inline void put_be32(uint8_t *p, uint32_t v)
|
||||
{
|
||||
p[0] = (uint8_t)(v >> 24);
|
||||
p[1] = (uint8_t)(v >> 16);
|
||||
p[2] = (uint8_t)(v >> 8);
|
||||
p[3] = (uint8_t)(v >> 0);
|
||||
}
|
||||
|
||||
static inline void put_le32(uint8_t *p, uint32_t v)
|
||||
{
|
||||
p[0] = (uint8_t)(v >> 0);
|
||||
p[1] = (uint8_t)(v >> 8);
|
||||
p[2] = (uint8_t)(v >> 16);
|
||||
p[3] = (uint8_t)(v >> 24);
|
||||
}
|
||||
|
||||
static inline uint8_t get_be8(uint8_t *p)
|
||||
{
|
||||
return p[0];
|
||||
}
|
||||
|
||||
static inline uint8_t get_le8(uint8_t *p)
|
||||
{
|
||||
return p[0];
|
||||
}
|
||||
|
||||
static inline uint16_t get_be16(uint8_t *p)
|
||||
{
|
||||
return ((uint16_t)p[0] << 8) | p[1];
|
||||
}
|
||||
|
||||
static inline uint16_t get_le16(uint8_t *p)
|
||||
{
|
||||
return ((uint16_t)p[1] << 8) | p[0];
|
||||
}
|
||||
|
||||
static inline uint32_t get_be32(uint8_t *p)
|
||||
{
|
||||
return ((uint32_t)p[0] << 24) | ((uint32_t)p[1] << 16) |
|
||||
((uint32_t)p[2] << 8) | p[3];
|
||||
}
|
||||
|
||||
static inline uint32_t get_le32(uint8_t *p)
|
||||
{
|
||||
return ((uint32_t)p[3] << 24) | ((uint32_t)p[2] << 16) |
|
||||
((uint32_t)p[1] << 8) | p[0];
|
||||
}
|
||||
|
||||
#endif /* UNALIGNED_H_INCLUDED */
|
|
@ -4,7 +4,8 @@ UTILSRC = \
|
|||
$(UTIL_DIR)/containers/data_buffer.c \
|
||||
$(UTIL_DIR)/math/crc.c \
|
||||
$(UTIL_DIR)/os_util.c \
|
||||
$(UTIL_DIR)/histogram.c
|
||||
$(UTIL_DIR)/histogram.c \
|
||||
$(UTIL_DIR)/unaligned.c
|
||||
|
||||
UTILSRC_CPP = \
|
||||
$(UTIL_DIR)/containers/cyclic_buffer.cpp \
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="Launcher headless" type="Application" factoryName="Application">
|
||||
<option name="MAIN_CLASS_NAME" value="com.rusefi.Launcher" />
|
||||
<module name="ui" />
|
||||
<option name="PROGRAM_PARAMETERS" value="headless" />
|
||||
<option name="VM_PARAMETERS" value="-Dini_file_path=../firmware/tunerstudio -Dshow_etb_pane=true" />
|
||||
<method v="2">
|
||||
<option name="Make" enabled="true" />
|
||||
</method>
|
||||
</configuration>
|
||||
</component>
|
|
@ -43,7 +43,7 @@ public class AutoTest {
|
|||
}
|
||||
});
|
||||
|
||||
BinaryProtocol bp = BinaryProtocolHolder.getInstance().get();
|
||||
BinaryProtocol bp = BinaryProtocolHolder.getInstance().getCurrentStreamState();
|
||||
// let's make sure 'burn' command works since sometimes it does not
|
||||
bp.burn(Logger.CONSOLE);
|
||||
|
||||
|
|
|
@ -43,8 +43,6 @@ public class IoUtil {
|
|||
static void sendCommand(String command, int retryTimeoutMs, int totalTimeoutSeconds) {
|
||||
final CountDownLatch responseLatch = new CountDownLatch(1);
|
||||
long time = System.currentTimeMillis();
|
||||
if (LinkManager.hasError())
|
||||
throw new IllegalStateException("IO error");
|
||||
FileLog.MAIN.logLine("Sending command [" + command + "]");
|
||||
final long begin = System.currentTimeMillis();
|
||||
CommandQueue.getInstance().write(command, retryTimeoutMs, new InvocationConfirmationListener() {
|
||||
|
@ -57,8 +55,6 @@ public class IoUtil {
|
|||
wait(responseLatch, totalTimeoutSeconds);
|
||||
if (responseLatch.getCount() > 0)
|
||||
FileLog.MAIN.logLine("No confirmation in " + retryTimeoutMs);
|
||||
if (LinkManager.hasError())
|
||||
throw new IllegalStateException("IO error");
|
||||
FileLog.MAIN.logLine("Command [" + command + "] executed in " + (System.currentTimeMillis() - time));
|
||||
}
|
||||
|
||||
|
|
|
@ -27,6 +27,11 @@ import java.util.concurrent.TimeoutException;
|
|||
import static com.rusefi.binaryprotocol.IoHelper.*;
|
||||
|
||||
/**
|
||||
* This object represents logical state of physical connection.
|
||||
*
|
||||
* Instance is connected until we experience issues. Once we decide to close the connection there is no restart -
|
||||
* new instance of this class would need to be created once we establish a new physical connection.
|
||||
*
|
||||
* (c) Andrey Belomutskiy
|
||||
* 3/6/2015
|
||||
* @see BinaryProtocolHolder
|
||||
|
@ -83,7 +88,7 @@ public class BinaryProtocol implements BinaryProtocolCommands {
|
|||
CommunicationLoggingHolder.communicationLoggingListener.onPortHolderMessage(BinaryProtocol.class, "Sending [" + command + "]");
|
||||
}
|
||||
|
||||
Future f = LinkManager.COMMUNICATION_EXECUTOR.submit(new Runnable() {
|
||||
Future f = LinkManager.submit(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
sendTextCommand(command);
|
||||
|
@ -134,7 +139,7 @@ public class BinaryProtocol implements BinaryProtocolCommands {
|
|||
while (!isClosed) {
|
||||
// FileLog.rlog("queue: " + LinkManager.COMMUNICATION_QUEUE.toString());
|
||||
if (LinkManager.COMMUNICATION_QUEUE.isEmpty()) {
|
||||
LinkManager.COMMUNICATION_EXECUTOR.submit(new Runnable() {
|
||||
LinkManager.submit(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (requestOutputChannels())
|
||||
|
|
|
@ -2,28 +2,28 @@ package com.rusefi.binaryprotocol;
|
|||
|
||||
import com.opensr5.Logger;
|
||||
import com.rusefi.io.IoStream;
|
||||
import com.rusefi.io.LinkManager;
|
||||
|
||||
/**
|
||||
* At any given moment of time JVM manages one communication stream
|
||||
*
|
||||
* TODO: remove this dead class?
|
||||
*
|
||||
* (c) Andrey Belomutskiy
|
||||
* 6/21/2017.
|
||||
*/
|
||||
public enum BinaryProtocolHolder {
|
||||
INSTANCE;
|
||||
|
||||
// todo: fix this? less horrible but still weird!
|
||||
private BinaryProtocol instance;
|
||||
|
||||
public static BinaryProtocolHolder getInstance() {
|
||||
return INSTANCE;
|
||||
}
|
||||
|
||||
public BinaryProtocol get() {
|
||||
return instance;
|
||||
public static BinaryProtocol create(final Logger logger, IoStream stream) {
|
||||
return new BinaryProtocol(logger, stream);
|
||||
}
|
||||
|
||||
public static BinaryProtocol create(final Logger logger, IoStream stream) {
|
||||
BinaryProtocol result = new BinaryProtocol(logger, stream);
|
||||
getInstance().instance = result;
|
||||
return result;
|
||||
public static BinaryProtocol getCurrentStreamState() {
|
||||
return LinkManager.connector.getBinaryProtocol();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
package com.rusefi.io;
|
||||
|
||||
import com.rusefi.binaryprotocol.BinaryProtocol;
|
||||
|
||||
/**
|
||||
* @author Andrey Belomutskiy
|
||||
* 3/3/14
|
||||
|
@ -11,7 +13,7 @@ public interface LinkConnector extends LinkDecoder {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void send(String command, boolean fireEvent) throws InterruptedException {
|
||||
public void send(String command, boolean fireEvent) {
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -19,8 +21,8 @@ public interface LinkConnector extends LinkDecoder {
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean hasError() {
|
||||
return false;
|
||||
public BinaryProtocol getBinaryProtocol() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -35,5 +37,5 @@ public interface LinkConnector extends LinkDecoder {
|
|||
|
||||
void restart();
|
||||
|
||||
boolean hasError();
|
||||
BinaryProtocol getBinaryProtocol();
|
||||
}
|
||||
|
|
|
@ -40,6 +40,14 @@ public class LinkManager {
|
|||
return connected;
|
||||
}
|
||||
|
||||
public static void execute(Runnable runnable) {
|
||||
COMMUNICATION_EXECUTOR.execute(runnable);
|
||||
}
|
||||
|
||||
public static Future submit(Runnable runnable) {
|
||||
return COMMUNICATION_EXECUTOR.submit(runnable);
|
||||
}
|
||||
|
||||
public enum LogLevel {
|
||||
INFO,
|
||||
DEBUG,
|
||||
|
@ -87,12 +95,23 @@ public class LinkManager {
|
|||
private static Thread COMMUNICATION_THREAD;
|
||||
|
||||
static {
|
||||
COMMUNICATION_EXECUTOR.submit(new Runnable() {
|
||||
/*
|
||||
Future future = submit(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
// WAT? this is hanging?!
|
||||
COMMUNICATION_THREAD = Thread.currentThread();
|
||||
System.out.println("Done");
|
||||
}
|
||||
});
|
||||
try {
|
||||
// let's wait for the above trivial task to finish
|
||||
future.get();
|
||||
System.out.println("Done2");
|
||||
} catch (InterruptedException | ExecutionException e) {
|
||||
throw new IllegalStateException(e);
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
public static void assertCommunicationThread() {
|
||||
|
@ -107,6 +126,7 @@ public class LinkManager {
|
|||
ConnectionWatchdog.onDataArrived();
|
||||
}
|
||||
});
|
||||
|
||||
public static LinkConnector connector;
|
||||
|
||||
/**
|
||||
|
@ -162,10 +182,6 @@ public class LinkManager {
|
|||
return connector.unpack(packet);
|
||||
}
|
||||
|
||||
public static boolean hasError() {
|
||||
return connector.hasError();
|
||||
}
|
||||
|
||||
public static String unpackConfirmation(String message) {
|
||||
if (message.startsWith(CommandQueue.CONFIRMATION_PREFIX))
|
||||
return message.substring(CommandQueue.CONFIRMATION_PREFIX.length());
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
package com.rusefi.io.serial;
|
||||
|
||||
public enum BaudRateHolder {
|
||||
INSTANCE;
|
||||
|
||||
/**
|
||||
* Nasty code: this field is not final, we have UI which overrides this default!
|
||||
*/
|
||||
public int baudRate = 115200;
|
||||
|
||||
}
|
|
@ -7,6 +7,7 @@ import com.rusefi.io.CommunicationLoggingHolder;
|
|||
import com.rusefi.io.ConnectionStateListener;
|
||||
import com.opensr5.io.DataListener;
|
||||
import com.rusefi.io.IoStream;
|
||||
import com.rusefi.io.LinkManager;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import javax.swing.*;
|
||||
|
@ -19,26 +20,32 @@ import java.awt.*;
|
|||
* (c) Andrey Belomutskiy
|
||||
*/
|
||||
public class PortHolder {
|
||||
/**
|
||||
* Nasty code: this field is not final, we have UI which overrides this default!
|
||||
*/
|
||||
public static int BAUD_RATE = 115200;
|
||||
private static PortHolder instance = new PortHolder();
|
||||
private static final DataListener dataListener = freshData -> LinkManager.engineState.processNewData(new String(freshData), LinkManager.ENCODER);
|
||||
|
||||
public ConnectionStateListener listener;
|
||||
private final Object portLock = new Object();
|
||||
|
||||
@Nullable
|
||||
private BinaryProtocol bp;
|
||||
|
||||
private PortHolder() {
|
||||
protected PortHolder() {
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private IoStream serialPort;
|
||||
public String port;
|
||||
|
||||
boolean openPort(String port, DataListener dataListener, ConnectionStateListener listener) {
|
||||
CommunicationLoggingHolder.communicationLoggingListener.onPortHolderMessage(SerialManager.class, "Opening port: " + port);
|
||||
boolean connectAndReadConfiguration() {
|
||||
if (port == null)
|
||||
return false;
|
||||
boolean result = open(port, dataListener);
|
||||
|
||||
CommunicationLoggingHolder.communicationLoggingListener.onPortHolderMessage(getClass(), "Opening port: " + port);
|
||||
|
||||
IoStream stream = SerialIoStreamJSerialComm.openPort(port);
|
||||
synchronized (portLock) {
|
||||
bp = BinaryProtocolHolder.getInstance().create(FileLog.LOGGER, stream);
|
||||
portLock.notifyAll();
|
||||
}
|
||||
|
||||
boolean result = bp.connectAndReadConfiguration(dataListener);
|
||||
if (listener != null) {
|
||||
if (result) {
|
||||
listener.onConnectionEstablished();
|
||||
|
@ -49,35 +56,12 @@ public class PortHolder {
|
|||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return true if everything fine
|
||||
*/
|
||||
private boolean open(String port, final DataListener listener) {
|
||||
EstablishConnection establishConnection = new EstablishConnection(port).invoke();
|
||||
if (!establishConnection.isConnected())
|
||||
return false;
|
||||
synchronized (portLock) {
|
||||
PortHolder.this.serialPort = establishConnection.stream;
|
||||
portLock.notifyAll();
|
||||
}
|
||||
IoStream stream = establishConnection.getStream();
|
||||
|
||||
bp = BinaryProtocolHolder.create(FileLog.LOGGER, stream);
|
||||
|
||||
return bp.connectAndReadConfiguration(listener);
|
||||
}
|
||||
|
||||
private static boolean isWindows10() {
|
||||
// todo: this code is fragile! What about Windows 11, 12 etc!? this is a problem for the later day :(
|
||||
return System.getProperty(FileLog.OS_VERSION).startsWith("10");
|
||||
}
|
||||
|
||||
public void close() {
|
||||
synchronized (portLock) {
|
||||
if (serialPort != null) {
|
||||
if (bp != null) {
|
||||
try {
|
||||
serialPort.close();
|
||||
serialPort = null;
|
||||
bp.close();
|
||||
bp = null;
|
||||
} finally {
|
||||
portLock.notifyAll();
|
||||
}
|
||||
|
@ -85,6 +69,11 @@ public class PortHolder {
|
|||
}
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public BinaryProtocol getBp() {
|
||||
return bp;
|
||||
}
|
||||
|
||||
/**
|
||||
* this method blocks till a connection is available
|
||||
*/
|
||||
|
@ -99,41 +88,4 @@ public class PortHolder {
|
|||
|
||||
bp.doSend(command, fireEvent);
|
||||
}
|
||||
|
||||
public static PortHolder getInstance() {
|
||||
return instance;
|
||||
}
|
||||
|
||||
public static class EstablishConnection {
|
||||
private boolean isConnected;
|
||||
private String port;
|
||||
private IoStream stream;
|
||||
|
||||
public EstablishConnection(String port) {
|
||||
this.port = port;
|
||||
}
|
||||
|
||||
// todo: remove dead code - always true?
|
||||
public boolean isConnected() {
|
||||
return isConnected;
|
||||
}
|
||||
|
||||
public IoStream getStream() {
|
||||
return stream;
|
||||
}
|
||||
|
||||
public EstablishConnection invoke() {
|
||||
stream = SerialIoStreamJSerialComm.open(port, BAUD_RATE, FileLog.LOGGER);
|
||||
/*
|
||||
todo: remove dead code
|
||||
if (stream == null) {
|
||||
isConnected = false;
|
||||
return this;
|
||||
}
|
||||
*/
|
||||
|
||||
isConnected = true;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package com.rusefi.io.serial;
|
||||
|
||||
import com.rusefi.FileLog;
|
||||
import com.rusefi.binaryprotocol.BinaryProtocol;
|
||||
import com.rusefi.core.MessagesCentral;
|
||||
import com.rusefi.io.ConnectionStateListener;
|
||||
import com.rusefi.io.LinkConnector;
|
||||
|
@ -11,43 +12,44 @@ import com.rusefi.io.LinkManager;
|
|||
* 3/3/14
|
||||
*/
|
||||
public class SerialConnector implements LinkConnector {
|
||||
|
||||
private final PortHolder portHolder = new PortHolder();
|
||||
|
||||
public SerialConnector(String serialPort) {
|
||||
SerialManager.port = serialPort;
|
||||
portHolder.port = serialPort;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void connect(ConnectionStateListener listener) {
|
||||
FileLog.MAIN.logLine("SerialConnector: connecting");
|
||||
SerialManager.listener = listener;
|
||||
portHolder.listener = listener;
|
||||
FileLog.MAIN.logLine("scheduleOpening");
|
||||
LinkManager.COMMUNICATION_EXECUTOR.execute(new Runnable() {
|
||||
LinkManager.execute(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
FileLog.MAIN.logLine("scheduleOpening>openPort");
|
||||
PortHolder.getInstance().openPort(SerialManager.port, SerialManager.dataListener, SerialManager.listener);
|
||||
portHolder.connectAndReadConfiguration();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public BinaryProtocol getBinaryProtocol() {
|
||||
return portHolder.getBp();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void restart() {
|
||||
LinkManager.COMMUNICATION_EXECUTOR.execute(new Runnable() {
|
||||
LinkManager.execute(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
MessagesCentral.getInstance().postMessage(SerialManager.class, "Restarting serial IO");
|
||||
// if (closed)
|
||||
// return;
|
||||
PortHolder.getInstance().close();
|
||||
PortHolder.getInstance().openPort(SerialManager.port, SerialManager.dataListener, SerialManager.listener);
|
||||
MessagesCentral.getInstance().postMessage(getClass(), "Restarting serial IO");
|
||||
portHolder.close();
|
||||
portHolder.connectAndReadConfiguration();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasError() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String unpack(String packet) {
|
||||
return packet;
|
||||
|
@ -55,6 +57,6 @@ public class SerialConnector implements LinkConnector {
|
|||
|
||||
@Override
|
||||
public void send(String text, boolean fireEvent) throws InterruptedException {
|
||||
PortHolder.getInstance().packAndSend(text, fireEvent);
|
||||
portHolder.packAndSend(text, fireEvent);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@ import com.fazecast.jSerialComm.SerialPortDataListener;
|
|||
import com.fazecast.jSerialComm.SerialPortEvent;
|
||||
import com.opensr5.Logger;
|
||||
import com.opensr5.io.DataListener;
|
||||
import com.rusefi.FileLog;
|
||||
import com.rusefi.io.IoStream;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
|
@ -67,14 +68,16 @@ public class SerialIoStreamJSerialComm implements IoStream {
|
|||
sp.writeBytes(bytes, bytes.length);
|
||||
}
|
||||
|
||||
public static IoStream openPort(String port) {
|
||||
return openPort(port, BaudRateHolder.INSTANCE.baudRate, FileLog.LOGGER);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static IoStream open(String port, int baudRate, Logger logger) {
|
||||
private static IoStream openPort(String port, int baudRate, Logger logger) {
|
||||
logger.info("[SerialIoStreamJSerialComm] " + port);
|
||||
SerialPort sp = SerialPort.getCommPort(port);
|
||||
sp.setBaudRate(baudRate);
|
||||
sp.openPort();
|
||||
|
||||
|
||||
return new SerialIoStreamJSerialComm(sp);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,59 +0,0 @@
|
|||
package com.rusefi.io.serial;
|
||||
|
||||
import com.rusefi.io.ConnectionStateListener;
|
||||
import com.opensr5.io.DataListener;
|
||||
import com.rusefi.io.LinkManager;
|
||||
|
||||
/**
|
||||
* 7/9/13
|
||||
* (c) Andrey Belomutskiy
|
||||
*/
|
||||
class SerialManager {
|
||||
public static String port;
|
||||
|
||||
// private static boolean closed;
|
||||
|
||||
static DataListener dataListener = new DataListener() {
|
||||
public void onDataArrived(byte freshData[]) {
|
||||
// jTextAreaIn.append(string);
|
||||
LinkManager.engineState.processNewData(new String(freshData), LinkManager.ENCODER);
|
||||
}
|
||||
};
|
||||
public static ConnectionStateListener listener;
|
||||
|
||||
/*
|
||||
static String[] findSerialPorts() {
|
||||
List<String> result = new ArrayList<String>();
|
||||
|
||||
Enumeration<CommPortIdentifier> portEnum = CommPortIdentifier.getPortIdentifiers();
|
||||
while (portEnum.hasMoreElements()) {
|
||||
CommPortIdentifier portIdentifier = portEnum.nextElement();
|
||||
System.out.println(portIdentifier.getName() + " - " + getPortTypeName(portIdentifier.getPortType()));
|
||||
if (portIdentifier.getPortType() == CommPortIdentifier.PORT_SERIAL)
|
||||
result.add(portIdentifier.getName());
|
||||
}
|
||||
return result.toArray(new String[result.size()]);
|
||||
}
|
||||
|
||||
static String getPortTypeName(int portType) {
|
||||
switch (portType) {
|
||||
case CommPortIdentifier.PORT_I2C:
|
||||
return "I2C";
|
||||
case CommPortIdentifier.PORT_PARALLEL:
|
||||
return "Parallel";
|
||||
case CommPortIdentifier.PORT_RAW:
|
||||
return "Raw";
|
||||
case CommPortIdentifier.PORT_RS485:
|
||||
return "RS485";
|
||||
case CommPortIdentifier.PORT_SERIAL:
|
||||
return "Serial";
|
||||
default:
|
||||
return "unknown type";
|
||||
}
|
||||
}
|
||||
*/
|
||||
// public static void close() {
|
||||
// closed = true;
|
||||
// SerialIO.getInstance().stop();
|
||||
// }
|
||||
}
|
|
@ -111,7 +111,7 @@ public class BinaryProtocolServer implements BinaryProtocolCommands {
|
|||
short offset = dis.readShort();
|
||||
short count = dis.readShort(); // no swap here? interesting!
|
||||
System.out.println("CRC check " + page + "/" + offset + "/" + count);
|
||||
BinaryProtocol bp = BinaryProtocolHolder.getInstance().get();
|
||||
BinaryProtocol bp = BinaryProtocolHolder.getInstance().getCurrentStreamState();
|
||||
int result = IoHelper.getCrc32(bp.getController().getContent(), offset, count);
|
||||
ByteArrayOutputStream response = new ByteArrayOutputStream();
|
||||
response.write(TS_OK.charAt(0));
|
||||
|
@ -127,7 +127,7 @@ public class BinaryProtocolServer implements BinaryProtocolCommands {
|
|||
FileLog.MAIN.logLine("Error: negative read request " + offset + "/" + count);
|
||||
} else {
|
||||
System.out.println("read " + page + "/" + offset + "/" + count);
|
||||
BinaryProtocol bp = BinaryProtocolHolder.getInstance().get();
|
||||
BinaryProtocol bp = BinaryProtocolHolder.getInstance().getCurrentStreamState();
|
||||
byte[] response = new byte[1 + count];
|
||||
response[0] = (byte) TS_OK.charAt(0);
|
||||
System.arraycopy(bp.getController().getContent(), offset, response, 1, count);
|
||||
|
@ -141,7 +141,7 @@ public class BinaryProtocolServer implements BinaryProtocolCommands {
|
|||
|
||||
byte[] response = new byte[1 + Fields.TS_OUTPUT_SIZE];
|
||||
response[0] = (byte) TS_OK.charAt(0);
|
||||
BinaryProtocol bp = BinaryProtocolHolder.getInstance().get();
|
||||
BinaryProtocol bp = BinaryProtocolHolder.getInstance().getCurrentStreamState();
|
||||
byte[] currentOutputs = bp.currentOutputs;
|
||||
if (currentOutputs != null)
|
||||
System.arraycopy(currentOutputs, 1, response, 1, Fields.TS_OUTPUT_SIZE);
|
||||
|
|
|
@ -37,6 +37,10 @@ public class TcpConnector implements LinkConnector {
|
|||
}
|
||||
}
|
||||
|
||||
public BinaryProtocol getBinaryProtocol() {
|
||||
return bp;
|
||||
}
|
||||
|
||||
public static boolean isTcpPort(String port) {
|
||||
try {
|
||||
getTcpPort(port);
|
||||
|
@ -118,7 +122,7 @@ public class TcpConnector implements LinkConnector {
|
|||
};
|
||||
// ioStream.setInputListener(listener1);
|
||||
|
||||
bp = BinaryProtocolHolder.create(FileLog.LOGGER, new TcpIoStream(stream, os));
|
||||
bp = BinaryProtocolHolder.getInstance().create(FileLog.LOGGER, new TcpIoStream(stream, os));
|
||||
|
||||
boolean result = bp.connectAndReadConfiguration(listener1);
|
||||
if (result) {
|
||||
|
@ -130,18 +134,11 @@ public class TcpConnector implements LinkConnector {
|
|||
|
||||
@Override
|
||||
public void restart() {
|
||||
// FileLog.rlog("Restarting on " + port);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasError() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String unpack(String packet) {
|
||||
return packet;
|
||||
// return EngineState.unpackString(packet);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -152,15 +149,6 @@ public class TcpConnector implements LinkConnector {
|
|||
}
|
||||
|
||||
bp.doSend(command, fireEvent);
|
||||
// String command = LinkManager.encodeCommand(text);
|
||||
// FileLog.MAIN.logLine("Writing " + command);
|
||||
// try {
|
||||
// ioStream.write((command + "\n").getBytes());
|
||||
// } catch (IOException e) {
|
||||
// withError = true;
|
||||
// System.err.println("err in send");
|
||||
// e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
|
||||
// }
|
||||
}
|
||||
|
||||
public static Collection<String> getAvailablePorts() {
|
||||
|
|
|
@ -14,7 +14,7 @@ import java.io.ByteArrayOutputStream;
|
|||
class BinaryProtocolServerSandbox {
|
||||
public static void main(String[] args) {
|
||||
TcpIoStream stream = new TcpIoStream(new ByteArrayInputStream(new byte[0]), new ByteArrayOutputStream());
|
||||
BinaryProtocol bp = BinaryProtocolHolder.create(FileLog.LOGGER, stream);
|
||||
BinaryProtocol bp = BinaryProtocolHolder.getInstance().create(FileLog.LOGGER, stream);
|
||||
bp.setController(new ConfigurationImage(new byte[14008]));
|
||||
bp.currentOutputs = new byte[1 + Fields.TS_OUTPUT_SIZE];
|
||||
BinaryProtocolServer.start();
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package com.rusefi.config.generated;
|
||||
|
||||
// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Thu May 14 23:44:58 EDT 2020
|
||||
// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Fri May 15 21:04:15 EDT 2020
|
||||
|
||||
// by class com.rusefi.output.FileJavaFieldsConsumer
|
||||
import com.rusefi.config.*;
|
||||
|
@ -653,6 +653,7 @@ public class Fields {
|
|||
public static final String GAUGE_NAME_AFR = "Air/Fuel Ratio";
|
||||
public static final String GAUGE_NAME_AIR_FLOW = "MAF air flow";
|
||||
public static final String GAUGE_NAME_AIR_MASS = "air mass";
|
||||
public static final String GAUGE_NAME_BARO_PRESSURE = "Barometric pressure";
|
||||
public static final String GAUGE_NAME_CPU_TEMP = "CPU Temperature";
|
||||
public static final String GAUGE_NAME_DEBUG_F1 = "debug f1";
|
||||
public static final String GAUGE_NAME_DEBUG_F2 = "debug f2: iTerm";
|
||||
|
|
|
@ -57,7 +57,7 @@ public class BenchTestPane {
|
|||
button.addActionListener(new ActionListener() {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
BinaryProtocol bp = BinaryProtocolHolder.INSTANCE.get();
|
||||
BinaryProtocol bp = BinaryProtocolHolder.INSTANCE.getCurrentStreamState();
|
||||
bp.executeCommand(new byte[]{'r'}, "begin trace", false);
|
||||
|
||||
try {
|
||||
|
|
|
@ -8,8 +8,10 @@ import com.rusefi.core.MessagesCentral;
|
|||
import com.rusefi.core.Sensor;
|
||||
import com.rusefi.core.SensorCentral;
|
||||
import com.rusefi.io.*;
|
||||
import com.rusefi.io.serial.PortHolder;
|
||||
import com.rusefi.io.serial.BaudRateHolder;
|
||||
import com.rusefi.io.serial.SerialConnector;
|
||||
import com.rusefi.io.serial.SerialIoStreamJSerialComm;
|
||||
import com.rusefi.maintenance.ExecHelper;
|
||||
import com.rusefi.maintenance.FirmwareFlasher;
|
||||
import com.rusefi.maintenance.VersionChecker;
|
||||
import com.rusefi.ui.*;
|
||||
|
@ -31,6 +33,7 @@ import java.io.IOException;
|
|||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.TreeMap;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
|
||||
import static com.rusefi.ui.storage.PersistentConfiguration.getConfig;
|
||||
|
@ -46,7 +49,7 @@ import static com.rusefi.ui.storage.PersistentConfiguration.getConfig;
|
|||
* @see EngineSnifferPanel
|
||||
*/
|
||||
public class Launcher {
|
||||
public static final int CONSOLE_VERSION = 20200515;
|
||||
public static final int CONSOLE_VERSION = 20200516;
|
||||
public static final String INI_FILE_PATH = System.getProperty("ini_file_path", "..");
|
||||
public static final String INPUT_FILES_PATH = System.getProperty("input_files_path", "..");
|
||||
public static final String TOOLS_PATH = System.getProperty("tools_path", ".");
|
||||
|
@ -54,15 +57,21 @@ public class Launcher {
|
|||
protected static final String PORT_KEY = "port";
|
||||
protected static final String SPEED_KEY = "speed";
|
||||
|
||||
private static final String TOOL_NAME_COMPILE_FSIO_FILE = "compile_fsio_file";
|
||||
private static final String TOOL_NAME_REBOOT_ECU = "reboot_ecu";
|
||||
private static final String TOOL_NAME_FIRING_ORDER = "firing_order";
|
||||
private static final String TOOL_NAME_FUNCTIONAL_TEST = "functional_test";
|
||||
private static final String TOOL_NAME_PERF_ENUMS = "ptrace_enums";
|
||||
// todo: rename to something more FSIO-specific? would need to update documentation somewhere
|
||||
private static final String TOOL_NAME_COMPILE = "compile";
|
||||
private static final int DEFAULT_TAB_INDEX = 0;
|
||||
private static final String TOOL_NAME_HEADLESS = "headless";
|
||||
|
||||
private static Map<String, ConsoleTool> TOOLS = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
|
||||
|
||||
static {
|
||||
TOOLS.put("help", args -> printTools());
|
||||
TOOLS.put("headless", Launcher::runHeadless);
|
||||
TOOLS.put("compile", Launcher::invokeCompileExpressionTool);
|
||||
TOOLS.put("ptrace_enums", Launcher::runPerfTraceTool);
|
||||
TOOLS.put("functional_test", Launcher::runFunctionalTest);
|
||||
TOOLS.put("compile_fsio_file", Launcher::runCompileTool);
|
||||
TOOLS.put("firing_order", Launcher::runFiringOrderTool);
|
||||
TOOLS.put("reboot_ecu", args -> sendCommand(Fields.CMD_REBOOT));
|
||||
TOOLS.put(Fields.CMD_REBOOT_DFU, args -> sendCommand(Fields.CMD_REBOOT_DFU));
|
||||
}
|
||||
|
||||
public static String port;
|
||||
public static EngineSnifferPanel engineSnifferPanel;
|
||||
|
@ -89,7 +98,7 @@ public class Launcher {
|
|||
FileLog.MAIN.logLine("Hardware: " + FirmwareFlasher.getHardwareKind());
|
||||
|
||||
getConfig().getRoot().setProperty(PORT_KEY, port);
|
||||
getConfig().getRoot().setProperty(SPEED_KEY, PortHolder.BAUD_RATE);
|
||||
getConfig().getRoot().setProperty(SPEED_KEY, BaudRateHolder.INSTANCE.baudRate);
|
||||
|
||||
LinkManager.start(port);
|
||||
|
||||
|
@ -191,60 +200,26 @@ public class Launcher {
|
|||
|
||||
/**
|
||||
* rusEfi console entry point
|
||||
*
|
||||
* @see StartupFrame if no parameters specified
|
||||
*/
|
||||
public static void main(final String[] args) throws Exception {
|
||||
String toolName = args.length == 0 ? null : args[0];
|
||||
|
||||
if (TOOL_NAME_HEADLESS.equalsIgnoreCase(toolName)) {
|
||||
runHeadless();
|
||||
return;
|
||||
if (args.length > 0) {
|
||||
ConsoleTool consoleTool = TOOLS.get(toolName);
|
||||
if (consoleTool != null) {
|
||||
consoleTool.runTool(args);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (TOOL_NAME_FUNCTIONAL_TEST.equals(toolName)) {
|
||||
// passing port argument if it was specified
|
||||
String[] toolArgs = args.length == 1 ? new String[0] : new String[]{args[1]};
|
||||
RealHwTest.main(toolArgs);
|
||||
return;
|
||||
}
|
||||
printTools();
|
||||
|
||||
if (TOOL_NAME_COMPILE_FSIO_FILE.equalsIgnoreCase(toolName)) {
|
||||
int returnCode = invokeCompileFileTool(args);
|
||||
System.exit(returnCode);
|
||||
}
|
||||
|
||||
if (TOOL_NAME_COMPILE.equals(toolName)) {
|
||||
invokeCompileExpressionTool(args);
|
||||
System.exit(0);
|
||||
}
|
||||
|
||||
if (TOOL_NAME_FIRING_ORDER.equals(toolName)) {
|
||||
FiringOrderTSLogic.invoke(args[1]);
|
||||
System.exit(0);
|
||||
}
|
||||
|
||||
if (TOOL_NAME_PERF_ENUMS.equals(toolName)) {
|
||||
PerfTraceTool.readPerfTrace(args[1], args[2], args[3], args[4]);
|
||||
System.exit(0);
|
||||
}
|
||||
|
||||
System.out.println("Optional tools: " + Arrays.asList(TOOL_NAME_COMPILE_FSIO_FILE,
|
||||
TOOL_NAME_COMPILE,
|
||||
TOOL_NAME_REBOOT_ECU,
|
||||
TOOL_NAME_FIRING_ORDER));
|
||||
System.out.println("Starting rusEfi UI console " + CONSOLE_VERSION);
|
||||
|
||||
FileLog.MAIN.start();
|
||||
|
||||
if (TOOL_NAME_REBOOT_ECU.equalsIgnoreCase(toolName)) {
|
||||
sendCommand(Fields.CMD_REBOOT);
|
||||
return;
|
||||
}
|
||||
if (Fields.CMD_REBOOT_DFU.equalsIgnoreCase(toolName)) {
|
||||
sendCommand(Fields.CMD_REBOOT_DFU);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
getConfig().load();
|
||||
FileLog.suspendLogging = getConfig().getRoot().getBoolProperty(GaugesPanel.DISABLE_LOGS);
|
||||
|
@ -257,7 +232,40 @@ public class Launcher {
|
|||
});
|
||||
}
|
||||
|
||||
private static void runHeadless() {
|
||||
private static void runPerfTraceTool(String[] args) throws IOException {
|
||||
PerfTraceTool.readPerfTrace(args[1], args[2], args[3], args[4]);
|
||||
}
|
||||
|
||||
private static void runFiringOrderTool(String[] args) throws IOException {
|
||||
FiringOrderTSLogic.invoke(args[1]);
|
||||
}
|
||||
|
||||
private static void runCompileTool(String[] args) throws IOException {
|
||||
int returnCode = invokeCompileFileTool(args);
|
||||
System.exit(returnCode);
|
||||
}
|
||||
|
||||
private static void runFunctionalTest(String[] args) throws InterruptedException {
|
||||
// passing port argument if it was specified
|
||||
String[] toolArgs = args.length == 1 ? new String[0] : new String[]{args[1]};
|
||||
RealHwTest.main(toolArgs);
|
||||
}
|
||||
|
||||
private static void runHeadless(String[] args) {
|
||||
String onConnectedCallback = args.length > 1 ? args[1] : null;
|
||||
String onDisconnectedCallback = args.length > 2 ? args[2] : null;
|
||||
|
||||
ConnectionStatusLogic.INSTANCE.addListener(new ConnectionStatusLogic.Listener() {
|
||||
@Override
|
||||
public void onConnectionStatus(boolean isConnected) {
|
||||
if (isConnected) {
|
||||
invokeCallback(onConnectedCallback);
|
||||
} else {
|
||||
invokeCallback(onDisconnectedCallback);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
String autoDetectedPort = PortDetector.autoDetectSerial();
|
||||
if (autoDetectedPort == null) {
|
||||
System.err.println("rusEFI not detected");
|
||||
|
@ -276,6 +284,21 @@ public class Launcher {
|
|||
});
|
||||
}
|
||||
|
||||
private static void invokeCallback(String callback) {
|
||||
if (callback == null)
|
||||
return;
|
||||
ExecHelper.submitAction(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
Runtime.getRuntime().exec(callback);
|
||||
} catch (IOException e) {
|
||||
throw new IllegalStateException(e);
|
||||
}
|
||||
}
|
||||
}, "callback");
|
||||
}
|
||||
|
||||
private static int invokeCompileFileTool(String[] args) throws IOException {
|
||||
/**
|
||||
* re-packaging array which contains input and output file names
|
||||
|
@ -287,10 +310,7 @@ public class Launcher {
|
|||
String autoDetectedPort = autoDetectPort();
|
||||
if (autoDetectedPort == null)
|
||||
return;
|
||||
PortHolder.EstablishConnection establishConnection = new PortHolder.EstablishConnection(autoDetectedPort).invoke();
|
||||
if (!establishConnection.isConnected())
|
||||
return;
|
||||
IoStream stream = establishConnection.getStream();
|
||||
IoStream stream = SerialIoStreamJSerialComm.openPort(autoDetectedPort);
|
||||
byte[] commandBytes = BinaryProtocol.getTextCommandBytes(command);
|
||||
stream.sendPacket(commandBytes, FileLog.LOGGER);
|
||||
}
|
||||
|
@ -341,7 +361,7 @@ public class Launcher {
|
|||
boolean isPortDefined = args.length > 0;
|
||||
boolean isBaudRateDefined = args.length > 1;
|
||||
if (isBaudRateDefined)
|
||||
PortHolder.BAUD_RATE = Integer.parseInt(args[1]);
|
||||
BaudRateHolder.INSTANCE.baudRate = Integer.parseInt(args[1]);
|
||||
|
||||
String port = null;
|
||||
if (isPortDefined)
|
||||
|
@ -371,4 +391,14 @@ public class Launcher {
|
|||
public static Frame getFrame() {
|
||||
return staticFrame;
|
||||
}
|
||||
|
||||
private static void printTools() {
|
||||
for (String key : TOOLS.keySet()) {
|
||||
System.out.println("Tool available: " + key);
|
||||
}
|
||||
}
|
||||
|
||||
interface ConsoleTool {
|
||||
void runTool(String args[]) throws Exception;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -149,7 +149,7 @@ public class SensorLogger {
|
|||
logFile.write("Captured " + FileLog.getDate() + "\r\n");
|
||||
|
||||
int debugMode = -1;
|
||||
BinaryProtocol bp = BinaryProtocolHolder.getInstance().get();
|
||||
BinaryProtocol bp = BinaryProtocolHolder.getInstance().getCurrentStreamState();
|
||||
if (bp != null) {
|
||||
ConfigurationImage ci = bp.getController();
|
||||
if (ci != null) {
|
||||
|
|
|
@ -2,6 +2,7 @@ package com.rusefi;
|
|||
|
||||
import com.rusefi.autodetect.PortDetector;
|
||||
import com.rusefi.io.LinkManager;
|
||||
import com.rusefi.io.serial.BaudRateHolder;
|
||||
import com.rusefi.io.serial.PortHolder;
|
||||
import com.rusefi.maintenance.*;
|
||||
import com.rusefi.ui.util.HorizontalLine;
|
||||
|
@ -112,7 +113,7 @@ public class StartupFrame {
|
|||
connectButton.addActionListener(new ActionListener() {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
PortHolder.BAUD_RATE = Integer.parseInt((String) comboSpeeds.getSelectedItem());
|
||||
BaudRateHolder.INSTANCE.baudRate = Integer.parseInt((String) comboSpeeds.getSelectedItem());
|
||||
String selectedPort = comboPorts.getSelectedItem().toString();
|
||||
if (SerialPortScanner.AUTO_SERIAL.equals(selectedPort)) {
|
||||
String autoDetectedPort = PortDetector.autoDetectPort(StartupFrame.this.frame);
|
||||
|
|
|
@ -32,7 +32,7 @@ public class TableEditorPane extends JPanel {
|
|||
|
||||
add(editor.getContent());
|
||||
|
||||
BinaryProtocol instance = BinaryProtocolHolder.getInstance().get();
|
||||
BinaryProtocol instance = BinaryProtocolHolder.getInstance().getCurrentStreamState();
|
||||
if (instance == null)
|
||||
throw new NullPointerException("instance");
|
||||
ConfigurationImage image = instance.getController();
|
||||
|
|
|
@ -73,7 +73,7 @@ public class UploadChanges {
|
|||
|
||||
final ConfigurationImage ci2 = ConfigurationImageFile.readFromFile("rusefi_configuration.bin");
|
||||
|
||||
final BinaryProtocol bp = BinaryProtocolHolder.create(logger, new SerialIoStreamJSSC(serialPort, logger));
|
||||
final BinaryProtocol bp = BinaryProtocolHolder.getInstance().create(logger, new SerialIoStreamJSSC(serialPort, logger));
|
||||
bp.setController(ci1);
|
||||
|
||||
scheduleUpload(ci2);
|
||||
|
@ -86,11 +86,11 @@ public class UploadChanges {
|
|||
public static void scheduleUpload(final ConfigurationImage newVersion, final Runnable afterUpload) {
|
||||
JFrame frame = wnd.getFrame();
|
||||
frame.setVisible(true);
|
||||
LinkManager.COMMUNICATION_EXECUTOR.execute(new Runnable() {
|
||||
LinkManager.execute(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
BinaryProtocolHolder.getInstance().get().uploadChanges(newVersion, logger);
|
||||
BinaryProtocolHolder.getInstance().getCurrentStreamState().uploadChanges(newVersion, logger);
|
||||
if (afterUpload != null)
|
||||
afterUpload.run();
|
||||
} catch (InterruptedException | EOFException | SerialPortException e) {
|
||||
|
|
|
@ -6,7 +6,7 @@ import com.rusefi.binaryprotocol.BinaryProtocolCommands;
|
|||
import com.rusefi.binaryprotocol.IncomingDataBuffer;
|
||||
import com.rusefi.config.generated.Fields;
|
||||
import com.rusefi.io.IoStream;
|
||||
import com.rusefi.io.serial.PortHolder;
|
||||
import com.rusefi.io.serial.SerialIoStreamJSerialComm;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.concurrent.CountDownLatch;
|
||||
|
@ -27,10 +27,7 @@ class SerialAutoChecker implements Runnable {
|
|||
|
||||
@Override
|
||||
public void run() {
|
||||
PortHolder.EstablishConnection establishConnection = new PortHolder.EstablishConnection(serialPort).invoke();
|
||||
if (!establishConnection.isConnected())
|
||||
return;
|
||||
IoStream stream = establishConnection.getStream();
|
||||
IoStream stream = SerialIoStreamJSerialComm.openPort(serialPort);
|
||||
Logger logger = FileLog.LOGGER;
|
||||
IncomingDataBuffer incomingData = new IncomingDataBuffer(logger);
|
||||
stream.setInputListener(incomingData::addData);
|
||||
|
|
|
@ -32,7 +32,7 @@ public class BinaryProtocolCmdSandbox {
|
|||
if (!opened) {
|
||||
logger.error("failed to open " + port);
|
||||
}
|
||||
BinaryProtocol bp = BinaryProtocolHolder.create(logger, new SerialIoStreamJSSC(serialPort, logger));
|
||||
BinaryProtocol bp = BinaryProtocolHolder.getInstance().create(logger, new SerialIoStreamJSSC(serialPort, logger));
|
||||
|
||||
SerialIoStreamJSSC.setupPort(serialPort, 38400);
|
||||
logger.info("Binary looks good!");
|
||||
|
|
|
@ -7,7 +7,7 @@ import com.rusefi.autodetect.PortDetector;
|
|||
import com.rusefi.binaryprotocol.BinaryProtocol;
|
||||
import com.rusefi.config.generated.Fields;
|
||||
import com.rusefi.io.IoStream;
|
||||
import com.rusefi.io.serial.PortHolder;
|
||||
import com.rusefi.io.serial.BaudRateHolder;
|
||||
import com.rusefi.io.serial.SerialIoStreamJSerialComm;
|
||||
import com.rusefi.ui.StatusWindow;
|
||||
import com.rusefi.ui.util.URLLabel;
|
||||
|
@ -50,7 +50,7 @@ public class DfuFlasher {
|
|||
JOptionPane.showMessageDialog(Launcher.getFrame(), "rusEfi serial port not detected");
|
||||
return;
|
||||
}
|
||||
IoStream stream = SerialIoStreamJSerialComm.open(port, PortHolder.BAUD_RATE, FileLog.LOGGER);
|
||||
IoStream stream = SerialIoStreamJSerialComm.openPort(port);
|
||||
byte[] command = BinaryProtocol.getTextCommandBytes(Fields.CMD_REBOOT_DFU);
|
||||
try {
|
||||
stream.sendPacket(command, FileLog.LOGGER);
|
||||
|
|
|
@ -76,7 +76,7 @@ public class ExecHelper {
|
|||
return error.toString();
|
||||
}
|
||||
|
||||
protected static void submitAction(Runnable runnable, String threadName) {
|
||||
public static void submitAction(Runnable runnable, String threadName) {
|
||||
Thread thread = new Thread(runnable, threadName);
|
||||
thread.setDaemon(true);
|
||||
thread.start();
|
||||
|
|
|
@ -105,7 +105,7 @@ public class FormulasPane {
|
|||
}
|
||||
|
||||
private void updateFormula() {
|
||||
BinaryProtocol bp = BinaryProtocolHolder.getInstance().get();
|
||||
BinaryProtocol bp = BinaryProtocolHolder.getInstance().getCurrentStreamState();
|
||||
if (bp == null)
|
||||
return;
|
||||
ConfigurationImage ci = bp.getController();
|
||||
|
|
|
@ -136,7 +136,7 @@ public class FuelTunePane {
|
|||
|
||||
private void uploadCurrentResult() {
|
||||
byte[] newVeMap = FuelTunePane.this.newVeMap;
|
||||
BinaryProtocol bp = BinaryProtocolHolder.getInstance().get();
|
||||
BinaryProtocol bp = BinaryProtocolHolder.getInstance().getCurrentStreamState();
|
||||
if (newVeMap == null || bp == null)
|
||||
return;
|
||||
ConfigurationImage ci = bp.getController().clone();
|
||||
|
@ -313,7 +313,7 @@ public class FuelTunePane {
|
|||
}
|
||||
|
||||
private byte[] reloadVeTable() {
|
||||
BinaryProtocol bp = BinaryProtocolHolder.getInstance().get();
|
||||
BinaryProtocol bp = BinaryProtocolHolder.getInstance().getCurrentStreamState();
|
||||
|
||||
byte[] content = bp.getController().getContent();
|
||||
loadData(veTable.getXAxis(), content, veRpmOffset);
|
||||
|
@ -329,7 +329,7 @@ public class FuelTunePane {
|
|||
}
|
||||
|
||||
private void loadArray(double[] array, int offset) {
|
||||
BinaryProtocol bp = BinaryProtocolHolder.getInstance().get();
|
||||
BinaryProtocol bp = BinaryProtocolHolder.getInstance().getCurrentStreamState();
|
||||
if (bp == null) {
|
||||
FileLog.MAIN.logLine("bp not ready");
|
||||
return;
|
||||
|
|
|
@ -28,7 +28,7 @@ public abstract class BaseConfigField {
|
|||
}
|
||||
|
||||
private void processInitialValue(Field field) {
|
||||
BinaryProtocol bp = BinaryProtocolHolder.getInstance().get();
|
||||
BinaryProtocol bp = BinaryProtocolHolder.getInstance().getCurrentStreamState();
|
||||
if (bp == null)
|
||||
return;
|
||||
ConfigurationImage ci = bp.getController();
|
||||
|
|
|
@ -111,7 +111,7 @@ public class MainFrame {
|
|||
root.setProperty(Launcher.TAB_INDEX, tabbedPane.tabbedPane.getSelectedIndex());
|
||||
GaugesPanel.DetachedRepository.INSTANCE.saveConfig();
|
||||
getConfig().save();
|
||||
BinaryProtocol bp = BinaryProtocolHolder.getInstance().get();
|
||||
BinaryProtocol bp = BinaryProtocolHolder.getInstance().getCurrentStreamState();
|
||||
if (bp != null && !bp.isClosed)
|
||||
bp.close(); // it could be that serial driver wants to be closed explicitly
|
||||
System.exit(0);
|
||||
|
|
|
@ -83,6 +83,7 @@ TEST(sensors, testCamInput) {
|
|||
setOperationMode(engineConfiguration, FOUR_STROKE_CRANK_SENSOR);
|
||||
engineConfiguration->useOnlyRisingEdgeForTrigger = true;
|
||||
engineConfiguration->vvtMode = VVT_FIRST_HALF;
|
||||
engineConfiguration->vvtOffset = 720;
|
||||
eth.setTriggerType(TT_ONE PASS_ENGINE_PARAMETER_SUFFIX);
|
||||
engineConfiguration->camInputs[0] = GPIOA_10; // we just need to indicate that we have CAM
|
||||
|
||||
|
@ -113,7 +114,7 @@ TEST(sensors, testCamInput) {
|
|||
|
||||
// asserting that error code has cleared
|
||||
ASSERT_EQ(0, unitTestWarningCodeState.recentWarnings.getCount()) << "warningCounter#testCamInput #3";
|
||||
ASSERT_NEAR(-181, engine->triggerCentral.getVVTPosition(), EPS3D);
|
||||
ASSERT_NEAR(720 - 181, engine->triggerCentral.getVVTPosition(), EPS3D);
|
||||
}
|
||||
|
||||
TEST(sensors, testNB2CamInput) {
|
||||
|
|
Loading…
Reference in New Issue