From da262d907609807265499c88f36d5710c08e9c9a Mon Sep 17 00:00:00 2001 From: kon Date: Sat, 1 Aug 2020 20:58:14 -0700 Subject: [PATCH 1/6] added secondary can config --- .../config/boards/microrusefi/prepend.txt | 1 + firmware/config/boards/proteus/prepend.txt | 1 + firmware/integration/rusefi_config.txt | 22 ++++++++++++------- firmware/tunerstudio/rusefi.input | 12 ++++++++++ 4 files changed, 28 insertions(+), 8 deletions(-) diff --git a/firmware/config/boards/microrusefi/prepend.txt b/firmware/config/boards/microrusefi/prepend.txt index 9ccfdeab99..b8f924aff9 100644 --- a/firmware/config/boards/microrusefi/prepend.txt +++ b/firmware/config/boards/microrusefi/prepend.txt @@ -16,6 +16,7 @@ #define ts_show_tunerstudio_port false #define ts_show_main_relay false #define ts_show_main_relay_microRusEFI_message true +#define ts_show_can2 false #define show_test_presets false #define show_Frankenso_presets false diff --git a/firmware/config/boards/proteus/prepend.txt b/firmware/config/boards/proteus/prepend.txt index cf9b16a0f8..f1fee7c112 100644 --- a/firmware/config/boards/proteus/prepend.txt +++ b/firmware/config/boards/proteus/prepend.txt @@ -10,3 +10,4 @@ #define ts_show_sd_card false #define ts_show_can_pins false #define ts_show_tunerstudio_port false +#define ts_show_can2 false \ No newline at end of file diff --git a/firmware/integration/rusefi_config.txt b/firmware/integration/rusefi_config.txt index f1644b5809..29283f6954 100644 --- a/firmware/integration/rusefi_config.txt +++ b/firmware/integration/rusefi_config.txt @@ -666,7 +666,7 @@ custom adc_channel_mode_e 4 bits, U32, @OFFSET@, [0:1], "Off", "Slow", "Fas pin_input_mode_e throttlePedalUpPinMode; uint8_t fsio_visible acIdleExtraOffset;+Additional idle PID offset while A/C is active;"Percent", 1, 0, 0, 255, 0 - int unusedAt712;;"units", 1, 0, -20, 100, 0 + int can2SleepPeriodMs;CANbus thread period, ms;"ms", 1, 0, 0, 1000.0, 2 int unusedAt716;;"units", 1, 0, -20, 100, 0 int unusedAt720;;"units", 1, 0, -20, 100, 0 int unusedAt724;;"units", 1, 0, -20, 100, 0 @@ -829,12 +829,12 @@ custom maf_sensor_type_e 4 bits, S32, @OFFSET@, [0:1], @@maf_sensor_type_e_enum@ bit showHumanReadableWarning bit stftIgnoreErrorMagnitude;+If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise. Use of this mode is required if you have a narrowband O2 sensor.; bit dcMotorIdleValve;+Used on some German vehicles around late 90s: cable-operated throttle and DC motor idle air valve.\nSet the primary TPS to the cable-operated throttle's sensor\nSet the secondary TPS to the mini ETB's position sensor(s). - bit unusedBit_251_12 - bit unusedBit_251_13 - bit unusedBit_251_14 - bit unusedBit_251_15 - bit unusedBit_251_16 - bit unusedBit_251_17 + brain_pin_e can2TxPin;set_can2_tx_pin X + brain_pin_e can2RxPin;set_can2_rx_pin X + bit enableVerboseCan2Tx;+CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast + can_nbc_e can2NbcType;set can_mode X + bit can2ReadEnabled;enable can_read/disable can_read + bit can2WriteEnabled;enable can_write/disable can_write bit unusedBit_251_18 bit unusedBit_251_19 bit unusedBit_251_20 @@ -1102,7 +1102,12 @@ int16_t tps2Max;Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\ custom can_baudrate_e 1 bits, U08, @OFFSET@, [0:1], @@can_baudrate_e_enum@@ can_baudrate_e canBaudRate; set can_baudrate - uint32_t[5] unused_former_warmup_target_afr;;"units", 1, 0, -20, 100, 0 + uint32_t verboseCan2BaseAddress;;"", 1, 0, 0, 536870911, 0 + can_baudrate_e can2BaudRate; set can2_baudrate + bit unusedBit_251_30 + bit unusedBit_251_31 + bit unusedBit_251_32 + int[31] unused_former_warmup_target_afr;;"units", 1, 0, -20, 100, 0 float boostCutPressure;kPa value at which we need to cut fuel and spark, 0 if not enabled;"kPa", 1, 0, 0, 500, 0 @@ -1676,6 +1681,7 @@ end_struct #define ts_show_tunerstudio_port true #define ts_show_trigger_comparator false #define ts_show_auxserial_pins true +#define ts_show_can2 true #define show_test_presets true #define show_Frankenso_presets true diff --git a/firmware/tunerstudio/rusefi.input b/firmware/tunerstudio/rusefi.input index 3d2730bedc..798fb9fa42 100644 --- a/firmware/tunerstudio/rusefi.input +++ b/firmware/tunerstudio/rusefi.input @@ -2541,6 +2541,17 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00" field = "RX pin", canRxPin @@if_ts_show_can_pins field = "TX pin", canTxPin @@if_ts_show_can_pins + dialog = canBus2, "Secondary CAN Bus" + field = "Can Read Enabled", can2ReadEnabled + field = "Can Write Enabled", can2WriteEnabled + field = "Can Nbc Type", can2NbcType + field = "Can Baud Rate", can2BaudRate + field = "Enable rusEFI CAN broadcast", enableVerboseCan2Tx + field = "rusEfi CAN data base address", verboseCan2BaseAddress + field = "Can Sleep Period", can2SleepPeriodMs + field = "RX pin", can2RxPin @@if_ts_show_can_pins + field = "TX pin", can2TxPin @@if_ts_show_can_pins + dialog = auxSerial, "AUX Serial" field = "RX pin", auxSerialRxPin @@if_ts_show_auxserial_pins field = "TX pin", auxSerialTxPin @@if_ts_show_auxserial_pins @@ -2581,6 +2592,7 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00" field = "ADC vRef voltage", adcVcc panel = tsPort @@if_ts_show_tunerstudio_port panel = canBus + panel = canBus2 @@if_ts_show_can2 panel = auxSerial panel = sdCard @@if_ts_show_sd_card panel = gpsReceiver @@if_ts_show_gps From df47cae9fa5d149187ebd818c203b7af43fd8087 Mon Sep 17 00:00:00 2001 From: kon Date: Sun, 2 Aug 2020 09:32:26 -0700 Subject: [PATCH 2/6] fixed some config errors --- firmware/integration/rusefi_config.txt | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/firmware/integration/rusefi_config.txt b/firmware/integration/rusefi_config.txt index 29283f6954..8d6e3038b0 100644 --- a/firmware/integration/rusefi_config.txt +++ b/firmware/integration/rusefi_config.txt @@ -829,12 +829,12 @@ custom maf_sensor_type_e 4 bits, S32, @OFFSET@, [0:1], @@maf_sensor_type_e_enum@ bit showHumanReadableWarning bit stftIgnoreErrorMagnitude;+If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise. Use of this mode is required if you have a narrowband O2 sensor.; bit dcMotorIdleValve;+Used on some German vehicles around late 90s: cable-operated throttle and DC motor idle air valve.\nSet the primary TPS to the cable-operated throttle's sensor\nSet the secondary TPS to the mini ETB's position sensor(s). - brain_pin_e can2TxPin;set_can2_tx_pin X - brain_pin_e can2RxPin;set_can2_rx_pin X - bit enableVerboseCan2Tx;+CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast - can_nbc_e can2NbcType;set can_mode X - bit can2ReadEnabled;enable can_read/disable can_read - bit can2WriteEnabled;enable can_write/disable can_write + bit unusedBit_251_12 + bit unusedBit_251_13 + bit unusedBit_251_14 + bit unusedBit_251_15 + bit unusedBit_251_16 + bit unusedBit_251_17 bit unusedBit_251_18 bit unusedBit_251_19 bit unusedBit_251_20 @@ -1104,10 +1104,14 @@ int16_t tps2Max;Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\ uint32_t verboseCan2BaseAddress;;"", 1, 0, 0, 536870911, 0 can_baudrate_e can2BaudRate; set can2_baudrate - bit unusedBit_251_30 - bit unusedBit_251_31 - bit unusedBit_251_32 - int[31] unused_former_warmup_target_afr;;"units", 1, 0, -20, 100, 0 + bit enableVerboseCan2Tx;+CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast + bit can2ReadEnabled;enable can_read/disable can_read + bit can2WriteEnabled;enable can_write/disable can_write + can_nbc_e can2NbcType;set can_mode X + brain_pin_e can2TxPin;set_can2_tx_pin X + brain_pin_e can2RxPin;set_can2_rx_pin X + uint8_t unused1108;;"units", 1, 0, -20, 100, 0 + uint32_t[3] unused_former_warmup_target_afr;;"units", 1, 0, -20, 100, 0 float boostCutPressure;kPa value at which we need to cut fuel and spark, 0 if not enabled;"kPa", 1, 0, 0, 500, 0 From 603c4124fe0db1720342ad59f416b05964c0da20 Mon Sep 17 00:00:00 2001 From: kon Date: Sun, 2 Aug 2020 10:15:06 -0700 Subject: [PATCH 3/6] this should be better... --- firmware/integration/rusefi_config.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/firmware/integration/rusefi_config.txt b/firmware/integration/rusefi_config.txt index 8d6e3038b0..702c4ca42c 100644 --- a/firmware/integration/rusefi_config.txt +++ b/firmware/integration/rusefi_config.txt @@ -1111,7 +1111,9 @@ int16_t tps2Max;Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\ brain_pin_e can2TxPin;set_can2_tx_pin X brain_pin_e can2RxPin;set_can2_rx_pin X uint8_t unused1108;;"units", 1, 0, -20, 100, 0 - uint32_t[3] unused_former_warmup_target_afr;;"units", 1, 0, -20, 100, 0 + bit[5] unused1116 + uint8_t[3] unused117;;"units", 1, 0, -20, 100, 0 + uint32_t[1] unused_former_warmup_target_afr;;"units", 1, 0, -20, 100, 0 float boostCutPressure;kPa value at which we need to cut fuel and spark, 0 if not enabled;"kPa", 1, 0, 0, 500, 0 From 60b8151cb2779f93da02deacc87698b7e2359e13 Mon Sep 17 00:00:00 2001 From: kon Date: Sun, 2 Aug 2020 11:30:38 -0700 Subject: [PATCH 4/6] this might do --- firmware/integration/rusefi_config.txt | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/firmware/integration/rusefi_config.txt b/firmware/integration/rusefi_config.txt index 1226353739..994deacb74 100644 --- a/firmware/integration/rusefi_config.txt +++ b/firmware/integration/rusefi_config.txt @@ -1102,7 +1102,6 @@ int16_t tps2Max;Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\ float engineLoadAccelEnrichmentMultiplier;;"coeff", 1, 0, 0, 200, 3 - uint32_t uartConsoleSerialSpeed;Band rate for primary TTL;"BPs", 1, 0, 0,1000000, 0 float tpsDecelEnleanmentThreshold;;"roc", 1, 0, 0, 200, 3 float tpsDecelEnleanmentMultiplier;;"coeff", 1, 0, 0, 200, 3 @@ -1117,20 +1116,22 @@ int16_t tps2Max;Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\ #define can_baudrate_e_enum "100kbps", "250kbps" , "500kbps", "1Mbps" custom can_baudrate_e 1 bits, U08, @OFFSET@, [0:1], @@can_baudrate_e_enum@@ can_baudrate_e canBaudRate; set can_baudrate + uint8_t un1used_former_warmup_target_afr;;"units", 1, 0, -20, 100, 0 can_baudrate_e can2BaudRate; uint32_t verboseCan2BaseAddress;;"", 1, 0, 0, 536870911, 0 - can_baudrate_e can2BaudRate; set can2_baudrate bit enableVerboseCan2Tx;+CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast bit can2ReadEnabled;enable can_read/disable can_read bit can2WriteEnabled;enable can_write/disable can_write can_nbc_e can2NbcType;set can_mode X brain_pin_e can2TxPin;set_can2_tx_pin X - brain_pin_e can2RxPin;set_can2_rx_pin X - uint8_t unused1108;;"units", 1, 0, -20, 100, 0 - bit[5] unused1116 - uint8_t[3] unused117;;"units", 1, 0, -20, 100, 0 - uint32_t[1] unused_former_warmup_target_afr;;"units", 1, 0, -20, 100, 0 + brain_pin_e can2RxPin;set_can2_rx_pin X + bit unused1130 + bit unused1131 + bit unused1132 + bit unused1133 + bit unused1134 + uint8_t[7] unused_former_warmup_target_afr;;"units", 1, 0, -20, 100, 0 float boostCutPressure;kPa value at which we need to cut fuel and spark, 0 if not enabled;"kPa", 1, 0, 0, 500, 0 From bd85698688368c33535a853b7f1763d9056b28fc Mon Sep 17 00:00:00 2001 From: kon Date: Tue, 4 Aug 2020 13:26:05 -0700 Subject: [PATCH 5/6] rearranged bits so they consecutively form a byte --- firmware/integration/rusefi_config.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/firmware/integration/rusefi_config.txt b/firmware/integration/rusefi_config.txt index 3a0cd8019e..b2a8a182cf 100644 --- a/firmware/integration/rusefi_config.txt +++ b/firmware/integration/rusefi_config.txt @@ -1123,14 +1123,14 @@ int16_t tps2Max;Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\ bit enableVerboseCan2Tx;+CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast bit can2ReadEnabled;enable can_read/disable can_read bit can2WriteEnabled;enable can_write/disable can_write + bit unused1126 + bit unused1127 + bit unused1128 + bit unused1129 + bit unused1130 can_nbc_e can2NbcType;set can_mode X brain_pin_e can2TxPin;set_can2_tx_pin X brain_pin_e can2RxPin;set_can2_rx_pin X - bit unused1130 - bit unused1131 - bit unused1132 - bit unused1133 - bit unused1134 uint8_t[7] unused_former_warmup_target_afr;;"units", 1, 0, -20, 100, 0 float boostCutPressure;kPa value at which we need to cut fuel and spark, 0 if not enabled;"kPa", 1, 0, 0, 500, 0 From 010d8ec6d4a5056fa8a452505a61d8ce0d7b70e2 Mon Sep 17 00:00:00 2001 From: kon Date: Tue, 4 Aug 2020 21:30:04 -0700 Subject: [PATCH 6/6] well that was painless --- firmware/integration/rusefi_config.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/firmware/integration/rusefi_config.txt b/firmware/integration/rusefi_config.txt index b2a8a182cf..8cc06d426c 100644 --- a/firmware/integration/rusefi_config.txt +++ b/firmware/integration/rusefi_config.txt @@ -1118,6 +1118,7 @@ int16_t tps2Max;Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\ can_baudrate_e canBaudRate; set can_baudrate uint8_t un1used_former_warmup_target_afr;;"units", 1, 0, -20, 100, 0 can_baudrate_e can2BaudRate; + uint8_t unused_former_warmup_target_afr2;;"units", 1, 0, -20, 100, 0 uint32_t verboseCan2BaseAddress;;"", 1, 0, 0, 536870911, 0 bit enableVerboseCan2Tx;+CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast @@ -1131,7 +1132,7 @@ int16_t tps2Max;Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\ can_nbc_e can2NbcType;set can_mode X brain_pin_e can2TxPin;set_can2_tx_pin X brain_pin_e can2RxPin;set_can2_rx_pin X - uint8_t[7] unused_former_warmup_target_afr;;"units", 1, 0, -20, 100, 0 + uint8_t[6] unused_former_warmup_target_afr;;"units", 1, 0, -20, 100, 0 float boostCutPressure;kPa value at which we need to cut fuel and spark, 0 if not enabled;"kPa", 1, 0, 0, 500, 0