From 78306b6d85ed861d8faacd4408442a26fbf861d8 Mon Sep 17 00:00:00 2001 From: GitHub build-firmware Action Date: Wed, 8 Jul 2020 03:03:03 +0000 Subject: [PATCH] Auto-generated configs and docs --- ...ngine_configuration_generated_structures.h | 6 ++- .../generated/fsio_enums_generated.def | 46 +++++++++--------- .../controllers/generated/fsio_getters.def | 6 ++- firmware/controllers/generated/fsio_names.def | 4 +- .../controllers/generated/fsio_strings.def | 6 ++- .../controllers/generated/rusefi_generated.h | 4 +- .../controllers/generated/signature_all.h | 4 +- .../generated/signature_frankenso_na6.h | 4 +- .../controllers/generated/signature_mre_f4.h | 4 +- .../controllers/generated/signature_mre_f7.h | 4 +- .../generated/signature_prometheus_405.h | 4 +- .../generated/signature_prometheus_469.h | 4 +- .../generated/signature_proteus_f4.h | 4 +- .../generated/signature_proteus_f7.h | 4 +- firmware/tunerstudio/generated/cache.zip | Bin 842789 -> 843005 bytes firmware/tunerstudio/generated/rusefi.ini | 8 +-- .../generated/rusefi_frankenso_na6.ini | 8 +-- .../tunerstudio/generated/rusefi_mre_f4.ini | 8 +-- .../tunerstudio/generated/rusefi_mre_f7.ini | 8 +-- .../generated/rusefi_prometheus_405.ini | 8 +-- .../generated/rusefi_prometheus_469.ini | 8 +-- .../generated/rusefi_proteus_f4.ini | 8 +-- .../generated/rusefi_proteus_f7.ini | 8 +-- .../com/rusefi/config/generated/Fields.java | 5 +- java_console/rusefi.xml | 2 +- 25 files changed, 103 insertions(+), 72 deletions(-) diff --git a/firmware/controllers/generated/engine_configuration_generated_structures.h b/firmware/controllers/generated/engine_configuration_generated_structures.h index a94e803570..5c5f464cb1 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jul 08 02:20:25 UTC 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jul 08 03:02:21 UTC 2020 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -1314,6 +1314,7 @@ struct engine_configuration_s { */ pin_input_mode_e throttlePedalUpPinMode; /** + * Additional idle PID offset while A/C is active * offset 711 */ uint8_t acIdleExtraOffset; @@ -1501,6 +1502,7 @@ struct engine_configuration_s { */ uint8_t mc33_hvolt; /** + * Additional idle PID minValue while A/C is active * offset 761 */ uint8_t acIdleExtraMin; @@ -3524,4 +3526,4 @@ struct persistent_config_s { typedef struct persistent_config_s persistent_config_s; // end -// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jul 08 02:20:25 UTC 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jul 08 03:02:21 UTC 2020 diff --git a/firmware/controllers/generated/fsio_enums_generated.def b/firmware/controllers/generated/fsio_enums_generated.def index 2a5a3f8f25..109d737913 100644 --- a/firmware/controllers/generated/fsio_enums_generated.def +++ b/firmware/controllers/generated/fsio_enums_generated.def @@ -1,26 +1,28 @@ -// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jul 08 02:20:25 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jul 08 03:02:21 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer FSIO_SETTING_FANONTEMPERATURE = 1000, FSIO_SETTING_FANOFFTEMPERATURE = 1001, - FSIO_SETTING_BOOSTPID_OFFSET = 1002, - FSIO_SETTING_BOOSTPID_MINVALUE = 1003, - FSIO_SETTING_ALTERNATORCONTROL_OFFSET = 1004, - FSIO_SETTING_ALTERNATORCONTROL_MINVALUE = 1005, - FSIO_SETTING_ETB_OFFSET = 1006, - FSIO_SETTING_ETB_MINVALUE = 1007, - FSIO_SETTING_IDLERPMPID_OFFSET = 1008, - FSIO_SETTING_IDLERPMPID_MINVALUE = 1009, - FSIO_SETTING_STARTUPFUELPUMPDURATION = 1010, - FSIO_SETTING_AUXPID1_OFFSET = 1011, - FSIO_SETTING_AUXPID1_MINVALUE = 1012, - FSIO_SETTING_AUXPID2_OFFSET = 1013, - FSIO_SETTING_AUXPID2_MINVALUE = 1014, - FSIO_SETTING_AUXPID3_OFFSET = 1015, - FSIO_SETTING_AUXPID3_MINVALUE = 1016, - FSIO_SETTING_AUXPID4_OFFSET = 1017, - FSIO_SETTING_AUXPID4_MINVALUE = 1018, - FSIO_SETTING_IDLETIMINGPID_OFFSET = 1019, - FSIO_SETTING_IDLETIMINGPID_MINVALUE = 1020, - FSIO_SETTING_IDLERPMPID2_OFFSET = 1021, - FSIO_SETTING_IDLERPMPID2_MINVALUE = 1022, + FSIO_SETTING_ACIDLEEXTRAOFFSET = 1002, + FSIO_SETTING_ACIDLEEXTRAMIN = 1003, + FSIO_SETTING_BOOSTPID_OFFSET = 1004, + FSIO_SETTING_BOOSTPID_MINVALUE = 1005, + FSIO_SETTING_ALTERNATORCONTROL_OFFSET = 1006, + FSIO_SETTING_ALTERNATORCONTROL_MINVALUE = 1007, + FSIO_SETTING_ETB_OFFSET = 1008, + FSIO_SETTING_ETB_MINVALUE = 1009, + FSIO_SETTING_IDLERPMPID_OFFSET = 1010, + FSIO_SETTING_IDLERPMPID_MINVALUE = 1011, + FSIO_SETTING_STARTUPFUELPUMPDURATION = 1012, + FSIO_SETTING_AUXPID1_OFFSET = 1013, + FSIO_SETTING_AUXPID1_MINVALUE = 1014, + FSIO_SETTING_AUXPID2_OFFSET = 1015, + FSIO_SETTING_AUXPID2_MINVALUE = 1016, + FSIO_SETTING_AUXPID3_OFFSET = 1017, + FSIO_SETTING_AUXPID3_MINVALUE = 1018, + FSIO_SETTING_AUXPID4_OFFSET = 1019, + FSIO_SETTING_AUXPID4_MINVALUE = 1020, + FSIO_SETTING_IDLETIMINGPID_OFFSET = 1021, + FSIO_SETTING_IDLETIMINGPID_MINVALUE = 1022, + FSIO_SETTING_IDLERPMPID2_OFFSET = 1023, + FSIO_SETTING_IDLERPMPID2_MINVALUE = 1024, diff --git a/firmware/controllers/generated/fsio_getters.def b/firmware/controllers/generated/fsio_getters.def index ef2d4868b6..4dd19aec03 100644 --- a/firmware/controllers/generated/fsio_getters.def +++ b/firmware/controllers/generated/fsio_getters.def @@ -1,10 +1,14 @@ -// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jul 08 02:20:25 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jul 08 03:02:21 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer case FSIO_SETTING_FANONTEMPERATURE: return engineConfiguration->fanOnTemperature; case FSIO_SETTING_FANOFFTEMPERATURE: return engineConfiguration->fanOffTemperature; + case FSIO_SETTING_ACIDLEEXTRAOFFSET: + return engineConfiguration->acIdleExtraOffset; + case FSIO_SETTING_ACIDLEEXTRAMIN: + return engineConfiguration->acIdleExtraMin; case FSIO_SETTING_BOOSTPID_OFFSET: return engineConfiguration->boostPid.offset; case FSIO_SETTING_BOOSTPID_MINVALUE: diff --git a/firmware/controllers/generated/fsio_names.def b/firmware/controllers/generated/fsio_names.def index 69ed89c075..1f7b8aa077 100644 --- a/firmware/controllers/generated/fsio_names.def +++ b/firmware/controllers/generated/fsio_names.def @@ -1,8 +1,10 @@ -// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jul 08 02:20:25 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jul 08 03:02:21 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer static LENameOrdinalPair lefanOnTemperature(FSIO_SETTING_FANONTEMPERATURE, "cfg_fanOnTemperature"); static LENameOrdinalPair lefanOffTemperature(FSIO_SETTING_FANOFFTEMPERATURE, "cfg_fanOffTemperature"); +static LENameOrdinalPair leacIdleExtraOffset(FSIO_SETTING_ACIDLEEXTRAOFFSET, "cfg_acIdleExtraOffset"); +static LENameOrdinalPair leacIdleExtraMin(FSIO_SETTING_ACIDLEEXTRAMIN, "cfg_acIdleExtraMin"); static LENameOrdinalPair leboostPid_offset(FSIO_SETTING_BOOSTPID_OFFSET, "cfg_boostPid_offset"); static LENameOrdinalPair leboostPid_minValue(FSIO_SETTING_BOOSTPID_MINVALUE, "cfg_boostPid_minValue"); static LENameOrdinalPair lealternatorControl_offset(FSIO_SETTING_ALTERNATORCONTROL_OFFSET, "cfg_alternatorControl_offset"); diff --git a/firmware/controllers/generated/fsio_strings.def b/firmware/controllers/generated/fsio_strings.def index 0297fc76bb..57cc9b8774 100644 --- a/firmware/controllers/generated/fsio_strings.def +++ b/firmware/controllers/generated/fsio_strings.def @@ -1,10 +1,14 @@ -// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jul 08 02:20:25 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jul 08 03:02:21 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer case FSIO_SETTING_FANONTEMPERATURE: return "cfg_fanOnTemperature"; case FSIO_SETTING_FANOFFTEMPERATURE: return "cfg_fanOffTemperature"; + case FSIO_SETTING_ACIDLEEXTRAOFFSET: + return "cfg_acIdleExtraOffset"; + case FSIO_SETTING_ACIDLEEXTRAMIN: + return "cfg_acIdleExtraMin"; case FSIO_SETTING_BOOSTPID_OFFSET: return "cfg_boostPid_offset"; case FSIO_SETTING_BOOSTPID_MINVALUE: diff --git a/firmware/controllers/generated/rusefi_generated.h b/firmware/controllers/generated/rusefi_generated.h index 62ac323e74..49de586091 100644 --- a/firmware/controllers/generated/rusefi_generated.h +++ b/firmware/controllers/generated/rusefi_generated.h @@ -1063,7 +1063,7 @@ #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD all #define SIGNATURE_DATE 2020.07.08 -#define SIGNATURE_HASH 4009953189 +#define SIGNATURE_HASH 35698347 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -1323,7 +1323,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator false #define ts_show_tunerstudio_port true -#define TS_SIGNATURE "rusEFI 2020.07.08.all.4009953189" +#define TS_SIGNATURE "rusEFI 2020.07.08.all.35698347" #define TS_SINGLE_WRITE_COMMAND 'W' #define tunerStudioSerialSpeed_offset 728 #define twoWireBatchIgnition_offset 1476 diff --git a/firmware/controllers/generated/signature_all.h b/firmware/controllers/generated/signature_all.h index f8ed3e0edb..0eea197943 100644 --- a/firmware/controllers/generated/signature_all.h +++ b/firmware/controllers/generated/signature_all.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD all #define SIGNATURE_DATE 2020.07.08 -#define SIGNATURE_HASH 4009953189 -#define TS_SIGNATURE "rusEFI 2020.07.08.all.4009953189" +#define SIGNATURE_HASH 35698347 +#define TS_SIGNATURE "rusEFI 2020.07.08.all.35698347" diff --git a/firmware/controllers/generated/signature_frankenso_na6.h b/firmware/controllers/generated/signature_frankenso_na6.h index 7a6d4e11a7..4a0de66737 100644 --- a/firmware/controllers/generated/signature_frankenso_na6.h +++ b/firmware/controllers/generated/signature_frankenso_na6.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD frankenso_na6 #define SIGNATURE_DATE 2020.07.08 -#define SIGNATURE_HASH 830761798 -#define TS_SIGNATURE "rusEFI 2020.07.08.frankenso_na6.830761798" +#define SIGNATURE_HASH 3701987912 +#define TS_SIGNATURE "rusEFI 2020.07.08.frankenso_na6.3701987912" diff --git a/firmware/controllers/generated/signature_mre_f4.h b/firmware/controllers/generated/signature_mre_f4.h index 02e9ed4d33..fb3cf2134a 100644 --- a/firmware/controllers/generated/signature_mre_f4.h +++ b/firmware/controllers/generated/signature_mre_f4.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD mre_f4 #define SIGNATURE_DATE 2020.07.08 -#define SIGNATURE_HASH 2801652011 -#define TS_SIGNATURE "rusEFI 2020.07.08.mre_f4.2801652011" +#define SIGNATURE_HASH 1272864805 +#define TS_SIGNATURE "rusEFI 2020.07.08.mre_f4.1272864805" diff --git a/firmware/controllers/generated/signature_mre_f7.h b/firmware/controllers/generated/signature_mre_f7.h index 7a50720408..d06a95774f 100644 --- a/firmware/controllers/generated/signature_mre_f7.h +++ b/firmware/controllers/generated/signature_mre_f7.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD mre_f7 #define SIGNATURE_DATE 2020.07.08 -#define SIGNATURE_HASH 2801652011 -#define TS_SIGNATURE "rusEFI 2020.07.08.mre_f7.2801652011" +#define SIGNATURE_HASH 1272864805 +#define TS_SIGNATURE "rusEFI 2020.07.08.mre_f7.1272864805" diff --git a/firmware/controllers/generated/signature_prometheus_405.h b/firmware/controllers/generated/signature_prometheus_405.h index 0e92ea0d11..9219ccb6a4 100644 --- a/firmware/controllers/generated/signature_prometheus_405.h +++ b/firmware/controllers/generated/signature_prometheus_405.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD prometheus_405 #define SIGNATURE_DATE 2020.07.08 -#define SIGNATURE_HASH 438296353 -#define TS_SIGNATURE "rusEFI 2020.07.08.prometheus_405.438296353" +#define SIGNATURE_HASH 4147932719 +#define TS_SIGNATURE "rusEFI 2020.07.08.prometheus_405.4147932719" diff --git a/firmware/controllers/generated/signature_prometheus_469.h b/firmware/controllers/generated/signature_prometheus_469.h index aa4e4cdeb3..058adfe8bd 100644 --- a/firmware/controllers/generated/signature_prometheus_469.h +++ b/firmware/controllers/generated/signature_prometheus_469.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD prometheus_469 #define SIGNATURE_DATE 2020.07.08 -#define SIGNATURE_HASH 438296353 -#define TS_SIGNATURE "rusEFI 2020.07.08.prometheus_469.438296353" +#define SIGNATURE_HASH 4147932719 +#define TS_SIGNATURE "rusEFI 2020.07.08.prometheus_469.4147932719" diff --git a/firmware/controllers/generated/signature_proteus_f4.h b/firmware/controllers/generated/signature_proteus_f4.h index bec3c8f94e..b2b3de6fa4 100644 --- a/firmware/controllers/generated/signature_proteus_f4.h +++ b/firmware/controllers/generated/signature_proteus_f4.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD proteus_f4 #define SIGNATURE_DATE 2020.07.08 -#define SIGNATURE_HASH 1653765738 -#define TS_SIGNATURE "rusEFI 2020.07.08.proteus_f4.1653765738" +#define SIGNATURE_HASH 2410792804 +#define TS_SIGNATURE "rusEFI 2020.07.08.proteus_f4.2410792804" diff --git a/firmware/controllers/generated/signature_proteus_f7.h b/firmware/controllers/generated/signature_proteus_f7.h index 732af89442..93fdfe6b62 100644 --- a/firmware/controllers/generated/signature_proteus_f7.h +++ b/firmware/controllers/generated/signature_proteus_f7.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD proteus_f7 #define SIGNATURE_DATE 2020.07.08 -#define SIGNATURE_HASH 1653765738 -#define TS_SIGNATURE "rusEFI 2020.07.08.proteus_f7.1653765738" +#define SIGNATURE_HASH 2410792804 +#define TS_SIGNATURE "rusEFI 2020.07.08.proteus_f7.2410792804" diff --git a/firmware/tunerstudio/generated/cache.zip b/firmware/tunerstudio/generated/cache.zip index 78c379c19559287ca5e61d3a46b624953dc8e30b..24295052f51a2f38ae267b12de94a1966c40d6c3 100644 GIT binary patch delta 80313 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%0A@hlLo9jn}sW#<1~LX8oB zR8vT0tmHP0CFJ7^rX&*6qWEsT#1r&7dU^7UISpd?N)xP-JEg8 zN5MN&NOUuEVl=~zv(Nza?8tFye=_q;=teG_!|n&UDDBtCn%yk=A)iS_yeL2KdJJgM z-uJnWjGPKZ5cxDBQ!`DHE{V`bz)!D9FN&p#C@9;DZcjew?=_ib`8TX35BpbjU9 z$UHiuF%wV_q9=5(_SteluP_&7mlIX+KiE;Zzx-Yls)v-3EiSDgLP6rLrq3Zp1Dabiil1}L{dkZ%)HlZam>cqI?4;yH*Y@`tI8dR&wRy22Pt61hq z+UjbG2gYbq7JLZFZ3^GX?cWPfj-T0pizeCJ=lm>RnK z6Jdu=yan?2DHC`j$C(c#xxv(c(QHGv>X{0SPLaNNt)%&MlFQc^Om(?QITHa&c4j{=?h!|?-g!UlnF$vua?+E)!@ z)+{laEgz+*z9jmyv}yLoewB&(xkZhFM8Mf31KB=s?$zZj>iF(7;7Li13K z2d59i<%(q}!loH7iGS%0&jzQ?p@b$3m->tX+OJ20E|L>7dv5ZiUG{OJv!|E+r1&9D zN})iteRD{Za88|`6Vuo>ruBp>J)${6>nfV+P&-NcPwzJTbI}jC861SkijNStGQ(J2 z{7?&IUyr!W^>N*D> z0@SsFp$h@O+q!W-xM#&gyo(X9@vsXm{FbG9fR1W-9C6?heh^`-)>9N`y$>cA7`-xO zsKPSXnqF#D_uyqN-WPZ>SK2c^pMHsgnsHJi*az$O@bO?2zYq|=;1IvKEq+1A|2plx z2G^Edw+4qUS#yWD!{Vl4n~3Wc4}t?Ut{I9(F}MdgRX;*gX&+FuukML(phK$pNaMPp z;nzm@9R)V^l<#rnmO#^)Tu}d5L~ZB@qh-gapi(b6ige-{7D{C>@&1zDD>!ABD==trv^HGTxiI;1@b6qU5qAqo~9{I@DwpLB`km0x_tqRM=aPrSp-EEAJ4 z*@l!qI6Zr$a3MV*o;w*5mpv@@gWxkMbZ=gURKG3-+x&?=GJ+S>LR`j9*Oc4vz*$~A zL6gJg9y_7ORi={kveD{i$HO9%1%Ew@LbCvzvUN!;_fj|`{4iJNgXm>e^k(ZC%J}2j zx8I(owa?)8qtbtdyJhfo2^HI~zF9T1E$P^^D&%3&g0<5_GaZ^K9<-szu7$F!aOf8q z?ux>mka$Iz9|47|{VsZUm0OTDs(ssI;FgDPd6jMyw6aEyFqA(pd;ea>Jz0As_iY6J zUPj|S;XRTUO=q+U@MiSgN7#Cv)@MH>sxcKGRAyd(4tXQh<4A>p-oV`|qa(8Ixc^{z zZTofgjllw6s<76uZcVR~x7#(7W&9KZn=AN)VtXz{{EP-0{t1O6<~$2@l@-^%qFu^*>tc_g>68>y3w`-Am)YlydH5Hfj>| zd;PtA+Pm=9WEGxR>3Dy4Zft+3IL-C}1O79(ow@gB_j!rt*|ua+Bv86-n1VKmgj-EL zcg7h>F3X>!R<|m_8nh5d@gy-v?-Wsz-<9MGr*ES+Kk0Un2=S`R%j%(jK&%a}#+KRBhtFATj zT$Rj^q7H0{u%fn-94k?13Spc6Sg*6xM7Lbjk4j9pW@;XatET=#n>IH@sPSQ})5iw$ zZOZk<#hm^{JEN7P3}|>wRV8|uWpQ$1ygPQ|BqL?TU2oDC4mjOS^-OU}9$jvp+fB_M z<$O+QT(5{mf)78gcfQ8M!_*=QOA@3YW3fU{ExfzAp-PEi6i83~joj)1^W(dmZ$+pM zNj>!nr3#ktN!A_+-wP~c`u>C)_CT{$%7?<^fg4ZXsoYaly`M5r6h9e+gw{9trPf#& zlc%M6X3lVmY=|qwQrx}1*#^f@p_j$YLo?;LB5_4p*y*LAyVBHqneO7{jBto9F;r}) zPwoq%l}Ec(Ha|;#Uu;b;XtlZ^op6fY7QIK|no@b^h~?tkPHGJXhf1OU-5>dOo(S;V)K(o)$42H z!;zWi78qx z#U%-&cqh?`ez-aJ@z01wFN&vf5e7t6bZfVjP1!9q1QP`_p;rzmZb1lU%RQGWJA&IR z0%sEJp%=DG5sDjmD*~J^RqDK#$p`zeMe4$RX@YAW9gdt?zqw2Ig_E*uL0`2=#1Qo> zgy~tEFoAn3_H6~X>t%#Dxk^#F*sE8d(#*qoJft-$sc&v4g!GMc^z#0)XK65%93f;J zCsOuf)#`|`2z0AERNqwlTc`Qgw^<{PZcV6iMrso7Abh1F^57AGXMBtx0L#W&EXe8D8kxuL1GVqS*b6X2dSUE3yfTd@cvsM>td_X-87H)KniC;3U$53^ z9NJDB_~2J0vN}HFmbg#Cb5*St9aemBE|T>Y+mG)e%AXeZ3Gu!RQU59*u+5x-q7b^) zX8mT|E@n6OY3N7FeN<(HAl7Wwi8x+5(ft#i=|P1e^3^J;GHm)58Y+BV%`9e$^pgsL zuSFxxCSQx8;VP*|3&T}83bhAr)dL$Xtuq`)TsFLqEqr)a=MORFPvH4VRqnklR}|`l zYTL^%n_mXUIHIlx7yC9l@Y8a?gEzDp9pikK$GT;ytluLWHdU7{uIuF+omwWKlVs;T zJCW=B?iq7FCo%en$&9EcZ0m{PO5Z7ZST=!|xSOIpw3`yWVlH(agY0qzQ%RPUl;mR5 zr22i`Fe*z=5LxOebYq#eQA3lFy_B!38s{x^}Tm7M|)UB;LGZJ%knYTh{GoQYi&OMt*2j$oD7YQ%ILnQe9#Zb6SWyPpM7F8y=lja@^LFK5bvBjaYF!`rd}jKF zt)&Zfenej!&}@z-#!_0Fp1hyX9!buSv?DS8(nesXbp|geaOX!;{esi(H)5=M+2QRT zv+|EZ+uJ8$EasO<&m|$PW$wqEMRa4Sl8QC61(tc*b(eu2_<0@H=cKdesfXdQmPZ!7 z%8$wO-0B^NCz0MfIIXCL!&gh;L%F0E<(}GtQV)jq9^`G@{a~)?o?F_eMY=b0g#L*h z1rzeUXLKlC6jDyZ&NQpWSpcW=`tsujJ>- zQw$lHUj_3SRT>hXV455bJ2REt-rId?MOgxiFxn{Y7#m1BOcj(=K&8AZ{uMnwpAb2S z7K+CB_3oO|*G7DL$0Mpo)@Pi@N_O$@9(f*;mk`tR(Y;k4KvE)-L8ctZz(Q?HxO$q^ zo0{lqc6IgL8y9}ImnpvW_dt!D^F!+j*$Mgoj|(2N$7p4J37^fteji2(+DX`d&ZMU0?ZM7 zPjBH!od<-XxrJd7ImTs0GOs21LJKB(rBhT*gxM3WG!2Q^FzBGd_`iTidmDQ13g^UV|!Ck(p>mChVASz+; z*DbK{=;t**$O@A_SSro;Ukqv)+pst_Kd%%ewbIid9l9m%^CCooAIbhu>a}%4NSe8;;Bxq+2Uv<@B+Yu1bhq=Ca^yt=Gk0dJ5NM-d`-Q#KS=DP3AZJXPv+c_l%V^+EMq)z??QUNj+I+e`# zV?o01vkYOPeJboN`+Y=JVH@w9ThEmR1aPa_kyu#-Ty+h<=c*JM?vN~NS?ssyzJ?yG zlxKI4B_#9|Y6#fvJyWM%jP=p%(@k(!7v0}a*Ye{%7YKM|UtK=H_O5-3_gtHoJ5%rU zGs3+Ln{VQ>Lj3pyHSDVR1p2eYim^4bQeFYoPn278dq+mXi7!o;)=;rtZmD8(=My}6 zx@EI@w#VB3uANv?OE+4MWTku1kW&L%mEn#cM;3QWNpKOD_UhRzlKb`%^!veE`nIUs zs1EeHSz8~@?Ay>aw^01!r1t6ukL;*jwuV}6XX<}IHq?GopIKX9Ki)8{Vrt6XTM;yX z9U(n`ab-X8{;@Xw)YDKNGDBWEXT2dVsS!>$1l!w3vKLi!OdLE&f>-!Uey`o;p{ad7GL7&QAw4sT>^(M&(jA&rmxIKi9Wua@VcHlwV zprI&~ARHj=w`n4YkyB%te-x_kzlT3RCU<1|G&<32lQW#qGz3>rSH#vqDv0v77!vJ! z-z6EQyJlts?2PgbF3xx+0doq3&QO7K|A1aeimtVDS>H-Q!%KRIn!wloF2f%$R@pm9 z+Px6-r@Q1prTB0?L((dq3Jz48$C8ub@VfqDq|vWo41(BpNl| z`{t%4@Auh$c6EVYO?W8e4Qmv7diq4<{=k-9|fyurvQ>$^lYtU2MaSbt{4Y zv&AI2;ax*)2hP>>k6-os>!Z-rvk0G@$}{-RqRqh-UCu0`ukSq9^ea^IgSM)3cravp zm9RkFe@gi!ue^wO<1*-V5o{$hPs@SC7KGHbm5xovasD&q(yCL2AfN8`%E0Rgq%cRt zjlv^N&+4E-mtCSmG?wL0FuJ{_f>!6`zL{j-TVffSveh#m&@IRUs%exIRk8?z(^gpX zgBZMChc^Z%ey)JimTc4fegM_a8%Wv2fw1lMs~^p>#=-T(kIO8Fs+!IPzLnE?NLQ;F zNjYo&V3L~e>`I-R$)0eapdI6Km{xkUMLim(E-bYmeC8SurdjjM#d2p?B;Y=y-saF8 zR?3NKUEBo%nbRA;$K>IN2)fwuRXEJ1&tm#(Ig!$~g^nOK>v4_=frwD}Xf~}fY0;=) zA}S35>mBDHr|svfPCg+H%VQDf*bEjZUgVZi6ez_CU#j2C>*Q+n#ngIRN9B)A*Hfpb z+dj{36v1z8{jhs^?7=;kaHem|Xjvk4r_{KrAUou}p=uAH<&$9(0e9o=)>#zJ1!y{5pWK3Cgj-PEw^ZUVxVx zo2I_AY}$SQ^W`bq`4UchN~}bS!(`a(7TI|*lYKz*zC~BZNdDnMkldq|?Imq|m1)Gp zY<#MYyGM5jtZWJ0Msrx->cDTSGM*APMX{0YMsDaOcJD_KJgk1Te4i?*#uS$-h^*LC zS#MlP`AaR6!j>i7JsD_|KH@&{dn}s;+?R`#?YA08MM}8Xum-|&GY}?l6L!)@>KXi! zJ;c@?Mp?_siJ>pQ{8mmK<<*aMJ|_Q?+CL|T!TPO3F4pm-X8YG4j(HE1zo_*{&@Y5; z9pS2mmmyt1nNqhH+azBRh`DgvoHhvGPAaeo4&B2R+_s>zc(v#cZEyeD>ARADWsN(@ zWM9+LnERcb^f}29NlP&3@;pD_S+|a+Q%zeBqQt0`+;) z9I46&`BCbKOIc?B4L*uyS*kuUgnwb~L?Qlgdultr|NdN@!9sv+D>9!1@rdL1%~;u> z=V?Zs#*l56VJVfI8Uf=F4wC>23xeWw&D?$uz}x_H1I!IDH^AHga|6r` zFgL*50CNM(4KO#r+yHX}%ndL%z}x_H1I!IDH^AHga|6r`FgL*50CNM(4KO#r+yHX} z%ndL%z}x_H1I!IDH^AHgbNk;iw*-8cjv=xH`ritz@waA6z|Sy6R=N2)yB5kDIQZ)W z_O($+U|e^RIWYb{3JJCs4|n)0%B6c9bumY#zIp6l5Dx1f5Dvz(iOhrUe68Pp51`+G zegpaq=r^F>fPMq|4d^$Z-++Dt`VHtepx=Og1NsffPMq|4d^$Z z-++Dt`VHtepx=Og1NsffPVWw=r>k16p0%O?WTSsf$eLe@ZSvH zByh4Af7`Wx=r^I8NBo9wi8r4B2Sb@h5k_~phHt+IfNuc40r&>s8-Q;Bz5)0K;2VH% z0KNhE2H+cjZvegl_y*t`fNuc40r&>s8-Q;Bz5)0K;2VH%0KNhE2H+cjZvegl_y*t` zfNuc40r&>s8-Q;BzWs0ETOvLTMH*G^hC=%<_;wv=l|$9U_?xF8rE*gW!xBT_U&3Dp zPvudS$ZrHK*5M&qstAaL5C|$Nv{bq4)*DUV$04xr$IKbinivuhUusFct0E+`G4zM`D;sA>S zEDo?Zz~TUl11t`(IKbinivuhUusFct0E+`G4zM`D;sA>SEDo?Zz~TUl11t`(IKbin zivuhUu(lpnF`axZeY)IH2Ny ziUTSRs5qeFfQkbu4yZVw;(&?+Dh{YPpyGgv11b)vIH2NyiUTSRs5qeFfQkbu4yZVw z;(&?+Dh{YPpyGgv11b)vIH2NyiUTSRs5qeF{!H~TXfSJ=^ zMErXFf)JBDgBFAOMy&DohN}O7an}!zV@Z`{A%m?HVGyHxUIV$`0{}SyEFm& z^7oge!}SSh$1o{*|NXdxo3p%Tdkp_Lj`{@tyu{_6hi~(f61XaJaC& z_n2IN3UiKL&$`_N8HQ(yEF^F}>;EjVrPVvGQoVUS)i8L-^^UVQXFX+xoN9(k2b1c? z#QjtG%U|V*%>OD+2x||8$Nrzr!H8C5l3@pd;QmL4>l?^0+KTHIucaaZ(e)Ia|J)_Y zJ5>~jvxhBAyA6}*7qKM3|3l_q4f|`Nq{0yr!VbHyg(bHsGAZ95%l`j5PlhFqV+#D~ z41e`Jrt|v@|K0Mx&m{5RZYujfE^F=_3Jhx=h3i+hF8|i;^#;N56W3QYQ3^G+l7!}W zqkl*`x=w+y#ai`nZGUJ*3dY8@uYuYHxN|A)lEUx`0Oe$}FYb%>(V@AR9Vt>>pUj^pQ=6m zaJ@(=U}N)`?7aVZ_&?Vk%RgG$e~FPQ%|iOG_l#e-`A=OfU}3^Wu`xM+P4Evnf3*{j zhY52(LZtg;vH$Ai4~f4zL69cEOigB|gJC)%V*L*Ve|3aFMEF-h(!XvO<-g91g#7Ez S!JF%E7HJ6NQx@j+PyY||9f?H% diff --git a/firmware/tunerstudio/generated/rusefi.ini b/firmware/tunerstudio/generated/rusefi.ini index e5b58ff751..e78d4828c1 100644 --- a/firmware/tunerstudio/generated/rusefi.ini +++ b/firmware/tunerstudio/generated/rusefi.ini @@ -45,12 +45,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2020.07.08.all.4009953189" + signature = "rusEFI 2020.07.08.all.35698347" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2020.07.08.all.4009953189" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2020.07.08.all.35698347" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -88,7 +88,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.sh integration/rusefi_config.txt Wed Jul 08 02:20:25 UTC 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jul 08 03:02:21 UTC 2020 pageSize = 20000 page = 1 @@ -1236,6 +1236,7 @@ page = 1 triggerSimulatorFrequency = "Same RPM is used for two ways of producing simulated RPM. See also triggerSimulatorPins (with wires)\nSee also directSelfStimulation (no wires, bypassing input hardware)\nrpm X" malfunctionIndicatorPin = "Check engine light, also malfunction indicator light. Always blinks once on boot." tachOutputPin = "This implementation produces one pulse per engine cycle. See also dizzySparkOutputPin." + acIdleExtraOffset = "Additional idle PID offset while A/C is active" compressionRatio = "Just for reference really, not taken into account by any logic at this point" useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" @@ -1247,6 +1248,7 @@ page = 1 useIacTableForCoasting = "This setting allows the ECU to open the IAC during overrun conditions to help reduce engine breaking, this can be helpful for large engines in light weight cars. Used in Auto-PID Idle mode." pauseEtbControl = "Disable the electronic throttle motor for testing.\nThis mode is for testing ETB position sensors, etc without actually driving the throttle." useETBforIdleControl = "This setting allows the ETB to act as the idle air control valve and move to regulate the airflow at idle." + acIdleExtraMin = "Additional idle PID minValue while A/C is active" sdCardPeriodMs = "SD card logging period, in milliseconds" triggerErrorPin = "This pin is used for debugging - snap a logic analyzer on it and see if it's ever high" cdmInputPin = "Saab Combustion Detection Module knock signal input pin\nalso known as Saab Ion Sensing Module" diff --git a/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini b/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini index f659c38bc8..9bafe62ec1 100644 --- a/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini +++ b/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini @@ -45,12 +45,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2020.07.08.frankenso_na6.830761798" + signature = "rusEFI 2020.07.08.frankenso_na6.3701987912" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2020.07.08.frankenso_na6.830761798" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2020.07.08.frankenso_na6.3701987912" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -88,7 +88,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.sh integration/rusefi_config.txt Wed Jul 08 02:20:29 UTC 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jul 08 03:02:25 UTC 2020 pageSize = 20000 page = 1 @@ -1236,6 +1236,7 @@ page = 1 triggerSimulatorFrequency = "Same RPM is used for two ways of producing simulated RPM. See also triggerSimulatorPins (with wires)\nSee also directSelfStimulation (no wires, bypassing input hardware)\nrpm X" malfunctionIndicatorPin = "Check engine light, also malfunction indicator light. Always blinks once on boot." tachOutputPin = "This implementation produces one pulse per engine cycle. See also dizzySparkOutputPin." + acIdleExtraOffset = "Additional idle PID offset while A/C is active" compressionRatio = "Just for reference really, not taken into account by any logic at this point" useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" @@ -1247,6 +1248,7 @@ page = 1 useIacTableForCoasting = "This setting allows the ECU to open the IAC during overrun conditions to help reduce engine breaking, this can be helpful for large engines in light weight cars. Used in Auto-PID Idle mode." pauseEtbControl = "Disable the electronic throttle motor for testing.\nThis mode is for testing ETB position sensors, etc without actually driving the throttle." useETBforIdleControl = "This setting allows the ETB to act as the idle air control valve and move to regulate the airflow at idle." + acIdleExtraMin = "Additional idle PID minValue while A/C is active" sdCardPeriodMs = "SD card logging period, in milliseconds" triggerErrorPin = "This pin is used for debugging - snap a logic analyzer on it and see if it's ever high" cdmInputPin = "Saab Combustion Detection Module knock signal input pin\nalso known as Saab Ion Sensing Module" diff --git a/firmware/tunerstudio/generated/rusefi_mre_f4.ini b/firmware/tunerstudio/generated/rusefi_mre_f4.ini index 6c1a7bb113..834a023379 100644 --- a/firmware/tunerstudio/generated/rusefi_mre_f4.ini +++ b/firmware/tunerstudio/generated/rusefi_mre_f4.ini @@ -45,12 +45,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2020.07.08.mre_f4.2801652011" + signature = "rusEFI 2020.07.08.mre_f4.1272864805" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2020.07.08.mre_f4.2801652011" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2020.07.08.mre_f4.1272864805" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -88,7 +88,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.sh integration/rusefi_config.txt Wed Jul 08 02:20:28 UTC 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jul 08 03:02:24 UTC 2020 pageSize = 20000 page = 1 @@ -1236,6 +1236,7 @@ page = 1 triggerSimulatorFrequency = "Same RPM is used for two ways of producing simulated RPM. See also triggerSimulatorPins (with wires)\nSee also directSelfStimulation (no wires, bypassing input hardware)\nrpm X" malfunctionIndicatorPin = "Check engine light, also malfunction indicator light. Always blinks once on boot." tachOutputPin = "This implementation produces one pulse per engine cycle. See also dizzySparkOutputPin." + acIdleExtraOffset = "Additional idle PID offset while A/C is active" compressionRatio = "Just for reference really, not taken into account by any logic at this point" useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" @@ -1247,6 +1248,7 @@ page = 1 useIacTableForCoasting = "This setting allows the ECU to open the IAC during overrun conditions to help reduce engine breaking, this can be helpful for large engines in light weight cars. Used in Auto-PID Idle mode." pauseEtbControl = "Disable the electronic throttle motor for testing.\nThis mode is for testing ETB position sensors, etc without actually driving the throttle." useETBforIdleControl = "This setting allows the ETB to act as the idle air control valve and move to regulate the airflow at idle." + acIdleExtraMin = "Additional idle PID minValue while A/C is active" sdCardPeriodMs = "SD card logging period, in milliseconds" triggerErrorPin = "This pin is used for debugging - snap a logic analyzer on it and see if it's ever high" cdmInputPin = "Saab Combustion Detection Module knock signal input pin\nalso known as Saab Ion Sensing Module" diff --git a/firmware/tunerstudio/generated/rusefi_mre_f7.ini b/firmware/tunerstudio/generated/rusefi_mre_f7.ini index 36b46b403d..06ef11b57f 100644 --- a/firmware/tunerstudio/generated/rusefi_mre_f7.ini +++ b/firmware/tunerstudio/generated/rusefi_mre_f7.ini @@ -45,12 +45,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2020.07.08.mre_f7.2801652011" + signature = "rusEFI 2020.07.08.mre_f7.1272864805" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2020.07.08.mre_f7.2801652011" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2020.07.08.mre_f7.1272864805" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -88,7 +88,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.sh integration/rusefi_config.txt Wed Jul 08 02:20:27 UTC 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jul 08 03:02:22 UTC 2020 pageSize = 20000 page = 1 @@ -1236,6 +1236,7 @@ page = 1 triggerSimulatorFrequency = "Same RPM is used for two ways of producing simulated RPM. See also triggerSimulatorPins (with wires)\nSee also directSelfStimulation (no wires, bypassing input hardware)\nrpm X" malfunctionIndicatorPin = "Check engine light, also malfunction indicator light. Always blinks once on boot." tachOutputPin = "This implementation produces one pulse per engine cycle. See also dizzySparkOutputPin." + acIdleExtraOffset = "Additional idle PID offset while A/C is active" compressionRatio = "Just for reference really, not taken into account by any logic at this point" useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" @@ -1247,6 +1248,7 @@ page = 1 useIacTableForCoasting = "This setting allows the ECU to open the IAC during overrun conditions to help reduce engine breaking, this can be helpful for large engines in light weight cars. Used in Auto-PID Idle mode." pauseEtbControl = "Disable the electronic throttle motor for testing.\nThis mode is for testing ETB position sensors, etc without actually driving the throttle." useETBforIdleControl = "This setting allows the ETB to act as the idle air control valve and move to regulate the airflow at idle." + acIdleExtraMin = "Additional idle PID minValue while A/C is active" sdCardPeriodMs = "SD card logging period, in milliseconds" triggerErrorPin = "This pin is used for debugging - snap a logic analyzer on it and see if it's ever high" cdmInputPin = "Saab Combustion Detection Module knock signal input pin\nalso known as Saab Ion Sensing Module" diff --git a/firmware/tunerstudio/generated/rusefi_prometheus_405.ini b/firmware/tunerstudio/generated/rusefi_prometheus_405.ini index 64278170af..efa45fae1d 100644 --- a/firmware/tunerstudio/generated/rusefi_prometheus_405.ini +++ b/firmware/tunerstudio/generated/rusefi_prometheus_405.ini @@ -45,12 +45,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2020.07.08.prometheus_405.438296353" + signature = "rusEFI 2020.07.08.prometheus_405.4147932719" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2020.07.08.prometheus_405.438296353" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2020.07.08.prometheus_405.4147932719" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -88,7 +88,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.sh integration/rusefi_config.txt Wed Jul 08 02:20:32 UTC 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jul 08 03:02:28 UTC 2020 pageSize = 20000 page = 1 @@ -1236,6 +1236,7 @@ page = 1 triggerSimulatorFrequency = "Same RPM is used for two ways of producing simulated RPM. See also triggerSimulatorPins (with wires)\nSee also directSelfStimulation (no wires, bypassing input hardware)\nrpm X" malfunctionIndicatorPin = "Check engine light, also malfunction indicator light. Always blinks once on boot." tachOutputPin = "This implementation produces one pulse per engine cycle. See also dizzySparkOutputPin." + acIdleExtraOffset = "Additional idle PID offset while A/C is active" compressionRatio = "Just for reference really, not taken into account by any logic at this point" useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" @@ -1247,6 +1248,7 @@ page = 1 useIacTableForCoasting = "This setting allows the ECU to open the IAC during overrun conditions to help reduce engine breaking, this can be helpful for large engines in light weight cars. Used in Auto-PID Idle mode." pauseEtbControl = "Disable the electronic throttle motor for testing.\nThis mode is for testing ETB position sensors, etc without actually driving the throttle." useETBforIdleControl = "This setting allows the ETB to act as the idle air control valve and move to regulate the airflow at idle." + acIdleExtraMin = "Additional idle PID minValue while A/C is active" sdCardPeriodMs = "SD card logging period, in milliseconds" triggerErrorPin = "This pin is used for debugging - snap a logic analyzer on it and see if it's ever high" cdmInputPin = "Saab Combustion Detection Module knock signal input pin\nalso known as Saab Ion Sensing Module" diff --git a/firmware/tunerstudio/generated/rusefi_prometheus_469.ini b/firmware/tunerstudio/generated/rusefi_prometheus_469.ini index 97c526c037..1bb816fda7 100644 --- a/firmware/tunerstudio/generated/rusefi_prometheus_469.ini +++ b/firmware/tunerstudio/generated/rusefi_prometheus_469.ini @@ -45,12 +45,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2020.07.08.prometheus_469.438296353" + signature = "rusEFI 2020.07.08.prometheus_469.4147932719" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2020.07.08.prometheus_469.438296353" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2020.07.08.prometheus_469.4147932719" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -88,7 +88,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.sh integration/rusefi_config.txt Wed Jul 08 02:20:31 UTC 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jul 08 03:02:26 UTC 2020 pageSize = 20000 page = 1 @@ -1236,6 +1236,7 @@ page = 1 triggerSimulatorFrequency = "Same RPM is used for two ways of producing simulated RPM. See also triggerSimulatorPins (with wires)\nSee also directSelfStimulation (no wires, bypassing input hardware)\nrpm X" malfunctionIndicatorPin = "Check engine light, also malfunction indicator light. Always blinks once on boot." tachOutputPin = "This implementation produces one pulse per engine cycle. See also dizzySparkOutputPin." + acIdleExtraOffset = "Additional idle PID offset while A/C is active" compressionRatio = "Just for reference really, not taken into account by any logic at this point" useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" @@ -1247,6 +1248,7 @@ page = 1 useIacTableForCoasting = "This setting allows the ECU to open the IAC during overrun conditions to help reduce engine breaking, this can be helpful for large engines in light weight cars. Used in Auto-PID Idle mode." pauseEtbControl = "Disable the electronic throttle motor for testing.\nThis mode is for testing ETB position sensors, etc without actually driving the throttle." useETBforIdleControl = "This setting allows the ETB to act as the idle air control valve and move to regulate the airflow at idle." + acIdleExtraMin = "Additional idle PID minValue while A/C is active" sdCardPeriodMs = "SD card logging period, in milliseconds" triggerErrorPin = "This pin is used for debugging - snap a logic analyzer on it and see if it's ever high" cdmInputPin = "Saab Combustion Detection Module knock signal input pin\nalso known as Saab Ion Sensing Module" diff --git a/firmware/tunerstudio/generated/rusefi_proteus_f4.ini b/firmware/tunerstudio/generated/rusefi_proteus_f4.ini index b33cdc7b09..903de1a70b 100644 --- a/firmware/tunerstudio/generated/rusefi_proteus_f4.ini +++ b/firmware/tunerstudio/generated/rusefi_proteus_f4.ini @@ -45,12 +45,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2020.07.08.proteus_f4.1653765738" + signature = "rusEFI 2020.07.08.proteus_f4.2410792804" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2020.07.08.proteus_f4.1653765738" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2020.07.08.proteus_f4.2410792804" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -88,7 +88,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.sh integration/rusefi_config.txt Wed Jul 08 02:20:34 UTC 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jul 08 03:02:30 UTC 2020 pageSize = 20000 page = 1 @@ -1236,6 +1236,7 @@ page = 1 triggerSimulatorFrequency = "Same RPM is used for two ways of producing simulated RPM. See also triggerSimulatorPins (with wires)\nSee also directSelfStimulation (no wires, bypassing input hardware)\nrpm X" malfunctionIndicatorPin = "Check engine light, also malfunction indicator light. Always blinks once on boot." tachOutputPin = "This implementation produces one pulse per engine cycle. See also dizzySparkOutputPin." + acIdleExtraOffset = "Additional idle PID offset while A/C is active" compressionRatio = "Just for reference really, not taken into account by any logic at this point" useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" @@ -1247,6 +1248,7 @@ page = 1 useIacTableForCoasting = "This setting allows the ECU to open the IAC during overrun conditions to help reduce engine breaking, this can be helpful for large engines in light weight cars. Used in Auto-PID Idle mode." pauseEtbControl = "Disable the electronic throttle motor for testing.\nThis mode is for testing ETB position sensors, etc without actually driving the throttle." useETBforIdleControl = "This setting allows the ETB to act as the idle air control valve and move to regulate the airflow at idle." + acIdleExtraMin = "Additional idle PID minValue while A/C is active" sdCardPeriodMs = "SD card logging period, in milliseconds" triggerErrorPin = "This pin is used for debugging - snap a logic analyzer on it and see if it's ever high" cdmInputPin = "Saab Combustion Detection Module knock signal input pin\nalso known as Saab Ion Sensing Module" diff --git a/firmware/tunerstudio/generated/rusefi_proteus_f7.ini b/firmware/tunerstudio/generated/rusefi_proteus_f7.ini index 627152dff3..d94445c210 100644 --- a/firmware/tunerstudio/generated/rusefi_proteus_f7.ini +++ b/firmware/tunerstudio/generated/rusefi_proteus_f7.ini @@ -45,12 +45,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2020.07.08.proteus_f7.1653765738" + signature = "rusEFI 2020.07.08.proteus_f7.2410792804" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2020.07.08.proteus_f7.1653765738" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2020.07.08.proteus_f7.2410792804" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -88,7 +88,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.sh integration/rusefi_config.txt Wed Jul 08 02:20:33 UTC 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jul 08 03:02:29 UTC 2020 pageSize = 20000 page = 1 @@ -1236,6 +1236,7 @@ page = 1 triggerSimulatorFrequency = "Same RPM is used for two ways of producing simulated RPM. See also triggerSimulatorPins (with wires)\nSee also directSelfStimulation (no wires, bypassing input hardware)\nrpm X" malfunctionIndicatorPin = "Check engine light, also malfunction indicator light. Always blinks once on boot." tachOutputPin = "This implementation produces one pulse per engine cycle. See also dizzySparkOutputPin." + acIdleExtraOffset = "Additional idle PID offset while A/C is active" compressionRatio = "Just for reference really, not taken into account by any logic at this point" useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" @@ -1247,6 +1248,7 @@ page = 1 useIacTableForCoasting = "This setting allows the ECU to open the IAC during overrun conditions to help reduce engine breaking, this can be helpful for large engines in light weight cars. Used in Auto-PID Idle mode." pauseEtbControl = "Disable the electronic throttle motor for testing.\nThis mode is for testing ETB position sensors, etc without actually driving the throttle." useETBforIdleControl = "This setting allows the ETB to act as the idle air control valve and move to regulate the airflow at idle." + acIdleExtraMin = "Additional idle PID minValue while A/C is active" sdCardPeriodMs = "SD card logging period, in milliseconds" triggerErrorPin = "This pin is used for debugging - snap a logic analyzer on it and see if it's ever high" cdmInputPin = "Saab Combustion Detection Module knock signal input pin\nalso known as Saab Ion Sensing Module" diff --git a/java_console/models/src/main/java/com/rusefi/config/generated/Fields.java b/java_console/models/src/main/java/com/rusefi/config/generated/Fields.java index 5dc4163541..0259348353 100644 --- a/java_console/models/src/main/java/com/rusefi/config/generated/Fields.java +++ b/java_console/models/src/main/java/com/rusefi/config/generated/Fields.java @@ -1,6 +1,6 @@ package com.rusefi.config.generated; -// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jul 08 02:20:25 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jul 08 03:02:21 UTC 2020 // by class com.rusefi.output.FileJavaFieldsConsumer import com.rusefi.config.*; @@ -1044,6 +1044,7 @@ public class Fields { public static final int servoOutputPins8_offset = 3147; public static final int showHumanReadableWarning_offset = 976; public static final int showSdCardWarning_offset = 76; + public static final int SIGNATURE_HASH = 35698347; public static final int silentTriggerError_offset = 1464; public static final int slowAdcAlpha_offset = 2088; public static final int sparkDwellRpmBins_offset = 332; @@ -1282,7 +1283,7 @@ public class Fields { public static final int TS_RESPONSE_COMMAND_OK = 7; public static final int TS_RESPONSE_OK = 0; public static final char TS_SET_LOGGER_SWITCH = 'l'; - public static final String TS_SIGNATURE = "rusEFI 2020.07.08.all.4009953189"; + public static final String TS_SIGNATURE = "rusEFI 2020.07.08.all.35698347"; public static final char TS_SINGLE_WRITE_COMMAND = 'W'; public static final int tunerStudioSerialSpeed_offset = 728; public static final int twoWireBatchIgnition_offset = 1476; diff --git a/java_console/rusefi.xml b/java_console/rusefi.xml index b1943e2dc8..18f867ba35 100644 --- a/java_console/rusefi.xml +++ b/java_console/rusefi.xml @@ -1,6 +1,6 @@ - +