From 59d5c257ba9129433ad11c79fc1fcd05bfdc954e Mon Sep 17 00:00:00 2001 From: GitHub build-firmware Action Date: Sat, 29 Aug 2020 21:47:22 +0000 Subject: [PATCH] Auto-generated configs and docs --- ...ngine_configuration_generated_structures.h | 5 +++-- .../controllers/algo/rusefi_generated.h | 4 ++-- ...ngine_configuration_generated_structures.h | 5 +++-- .../generated/fsio_enums_generated.def | 2 +- .../controllers/generated/fsio_getters.def | 2 +- firmware/controllers/generated/fsio_names.def | 2 +- .../controllers/generated/fsio_strings.def | 2 +- .../controllers/generated/rusefi_generated.h | 4 ++-- .../controllers/generated/signature_all.h | 4 ++-- .../generated/signature_frankenso_na6.h | 4 ++-- .../controllers/generated/signature_kin.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 856421 -> 856457 bytes firmware/tunerstudio/generated/rusefi.ini | 8 ++++---- .../generated/rusefi_frankenso_na6.ini | 8 ++++---- .../tunerstudio/generated/rusefi_kinetis.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 | 6 +++--- java_console/rusefi.xml | 2 +- 29 files changed, 72 insertions(+), 70 deletions(-) diff --git a/firmware/config/boards/kinetis/config/controllers/algo/engine_configuration_generated_structures.h b/firmware/config/boards/kinetis/config/controllers/algo/engine_configuration_generated_structures.h index f114797cb8..8f5d687cbe 100644 --- a/firmware/config/boards/kinetis/config/controllers/algo/engine_configuration_generated_structures.h +++ b/firmware/config/boards/kinetis/config/controllers/algo/engine_configuration_generated_structures.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Sat Aug 29 21:03:27 UTC 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Sat Aug 29 21:47:05 UTC 2020 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -1426,6 +1426,7 @@ struct engine_configuration_s { bool isCJ125Enabled : 1; /** * Use rise or fall signal front + * get vvtCamSensorUseRise offset 744 bit 17 */ bool vvtCamSensorUseRise : 1; /** @@ -3653,4 +3654,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 kinetis_gen_config.bat integration/rusefi_config.txt Sat Aug 29 21:03:27 UTC 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Sat Aug 29 21:47:05 UTC 2020 diff --git a/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h b/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h index 0438de813d..cd18b53895 100644 --- a/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h +++ b/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h @@ -1132,7 +1132,7 @@ #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD kin #define SIGNATURE_DATE 2020.08.29 -#define SIGNATURE_HASH 1962405979 +#define SIGNATURE_HASH 1827291302 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -1439,7 +1439,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator true #define ts_show_tunerstudio_port true -#define TS_SIGNATURE "rusEFI 2020.08.29.kin.1962405979" +#define TS_SIGNATURE "rusEFI 2020.08.29.kin.1827291302" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' // 0x74 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures.h b/firmware/controllers/generated/engine_configuration_generated_structures.h index d0d273293c..2f4ed7b8a2 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 Sat Aug 29 21:03:08 UTC 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Aug 29 21:46:47 UTC 2020 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -1426,6 +1426,7 @@ struct engine_configuration_s { bool isCJ125Enabled : 1; /** * Use rise or fall signal front + * get vvtCamSensorUseRise offset 744 bit 17 */ bool vvtCamSensorUseRise : 1; /** @@ -3653,4 +3654,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 Sat Aug 29 21:03:08 UTC 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Aug 29 21:46:47 UTC 2020 diff --git a/firmware/controllers/generated/fsio_enums_generated.def b/firmware/controllers/generated/fsio_enums_generated.def index 31ab42e003..5ace82882e 100644 --- a/firmware/controllers/generated/fsio_enums_generated.def +++ b/firmware/controllers/generated/fsio_enums_generated.def @@ -1,4 +1,4 @@ -// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Aug 29 21:03:08 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Aug 29 21:46:47 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer FSIO_SETTING_FANONTEMPERATURE = 1000, diff --git a/firmware/controllers/generated/fsio_getters.def b/firmware/controllers/generated/fsio_getters.def index bac35bec3a..a584e17f6c 100644 --- a/firmware/controllers/generated/fsio_getters.def +++ b/firmware/controllers/generated/fsio_getters.def @@ -1,4 +1,4 @@ -// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Aug 29 21:03:08 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Aug 29 21:46:47 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer case FSIO_SETTING_FANONTEMPERATURE: diff --git a/firmware/controllers/generated/fsio_names.def b/firmware/controllers/generated/fsio_names.def index e4e910f606..0a4833054d 100644 --- a/firmware/controllers/generated/fsio_names.def +++ b/firmware/controllers/generated/fsio_names.def @@ -1,4 +1,4 @@ -// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Aug 29 21:03:08 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Aug 29 21:46:47 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer static LENameOrdinalPair lefanOnTemperature(FSIO_SETTING_FANONTEMPERATURE, "cfg_fanOnTemperature"); diff --git a/firmware/controllers/generated/fsio_strings.def b/firmware/controllers/generated/fsio_strings.def index e358ae33a8..3e92cc831d 100644 --- a/firmware/controllers/generated/fsio_strings.def +++ b/firmware/controllers/generated/fsio_strings.def @@ -1,4 +1,4 @@ -// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Aug 29 21:03:08 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Aug 29 21:46:47 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer case FSIO_SETTING_FANONTEMPERATURE: diff --git a/firmware/controllers/generated/rusefi_generated.h b/firmware/controllers/generated/rusefi_generated.h index 85015ef41d..e089129130 100644 --- a/firmware/controllers/generated/rusefi_generated.h +++ b/firmware/controllers/generated/rusefi_generated.h @@ -1132,7 +1132,7 @@ #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD all #define SIGNATURE_DATE 2020.08.29 -#define SIGNATURE_HASH 1529067003 +#define SIGNATURE_HASH 1128137990 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -1439,7 +1439,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator false #define ts_show_tunerstudio_port true -#define TS_SIGNATURE "rusEFI 2020.08.29.all.1529067003" +#define TS_SIGNATURE "rusEFI 2020.08.29.all.1128137990" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' // 0x74 diff --git a/firmware/controllers/generated/signature_all.h b/firmware/controllers/generated/signature_all.h index 9f7016239b..88a19aad53 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.08.29 -#define SIGNATURE_HASH 1814481443 -#define TS_SIGNATURE "rusEFI 2020.08.29.all.1814481443" +#define SIGNATURE_HASH 1128137990 +#define TS_SIGNATURE "rusEFI 2020.08.29.all.1128137990" diff --git a/firmware/controllers/generated/signature_frankenso_na6.h b/firmware/controllers/generated/signature_frankenso_na6.h index eaae65b5aa..517c04d327 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.08.29 -#define SIGNATURE_HASH 2761609002 -#define TS_SIGNATURE "rusEFI 2020.08.29.frankenso_na6.2761609002" +#define SIGNATURE_HASH 2340552719 +#define TS_SIGNATURE "rusEFI 2020.08.29.frankenso_na6.2340552719" diff --git a/firmware/controllers/generated/signature_kin.h b/firmware/controllers/generated/signature_kin.h index 887b2c3531..5c523eb690 100644 --- a/firmware/controllers/generated/signature_kin.h +++ b/firmware/controllers/generated/signature_kin.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD kin #define SIGNATURE_DATE 2020.08.29 -#define SIGNATURE_HASH 1139969923 -#define TS_SIGNATURE "rusEFI 2020.08.29.kin.1139969923" +#define SIGNATURE_HASH 1827291302 +#define TS_SIGNATURE "rusEFI 2020.08.29.kin.1827291302" diff --git a/firmware/controllers/generated/signature_mre_f4.h b/firmware/controllers/generated/signature_mre_f4.h index 527a03b2cb..c07a2f009e 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.08.29 -#define SIGNATURE_HASH 2542296952 -#define TS_SIGNATURE "rusEFI 2020.08.29.mre_f4.2542296952" +#define SIGNATURE_HASH 3096481885 +#define TS_SIGNATURE "rusEFI 2020.08.29.mre_f4.3096481885" diff --git a/firmware/controllers/generated/signature_mre_f7.h b/firmware/controllers/generated/signature_mre_f7.h index 4acdbb4bc8..d67cc7d922 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.08.29 -#define SIGNATURE_HASH 2542296952 -#define TS_SIGNATURE "rusEFI 2020.08.29.mre_f7.2542296952" +#define SIGNATURE_HASH 3096481885 +#define TS_SIGNATURE "rusEFI 2020.08.29.mre_f7.3096481885" diff --git a/firmware/controllers/generated/signature_prometheus_405.h b/firmware/controllers/generated/signature_prometheus_405.h index ab8d53c178..afecbde336 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.08.29 -#define SIGNATURE_HASH 2077264797 -#define TS_SIGNATURE "rusEFI 2020.08.29.prometheus_405.2077264797" +#define SIGNATURE_HASH 1422410936 +#define TS_SIGNATURE "rusEFI 2020.08.29.prometheus_405.1422410936" diff --git a/firmware/controllers/generated/signature_prometheus_469.h b/firmware/controllers/generated/signature_prometheus_469.h index 3ca16d2054..c793a64100 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.08.29 -#define SIGNATURE_HASH 2077264797 -#define TS_SIGNATURE "rusEFI 2020.08.29.prometheus_469.2077264797" +#define SIGNATURE_HASH 1422410936 +#define TS_SIGNATURE "rusEFI 2020.08.29.prometheus_469.1422410936" diff --git a/firmware/controllers/generated/signature_proteus_f4.h b/firmware/controllers/generated/signature_proteus_f4.h index 4e1da30e2c..9df27ee463 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.08.29 -#define SIGNATURE_HASH 1501070694 -#define TS_SIGNATURE "rusEFI 2020.08.29.proteus_f4.1501070694" +#define SIGNATURE_HASH 1986021955 +#define TS_SIGNATURE "rusEFI 2020.08.29.proteus_f4.1986021955" diff --git a/firmware/controllers/generated/signature_proteus_f7.h b/firmware/controllers/generated/signature_proteus_f7.h index 4a537e6c00..d9e62e436e 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.08.29 -#define SIGNATURE_HASH 1501070694 -#define TS_SIGNATURE "rusEFI 2020.08.29.proteus_f7.1501070694" +#define SIGNATURE_HASH 1986021955 +#define TS_SIGNATURE "rusEFI 2020.08.29.proteus_f7.1986021955" diff --git a/firmware/tunerstudio/generated/cache.zip b/firmware/tunerstudio/generated/cache.zip index bc7185a29f1e6e677f59eae5f85999b68e0cccbe..129c4a1762f15a91f871d1a6a85a9269bead3dca 100644 GIT binary patch delta 112989 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 YM!kB1ARxTI`lgXaK+qk6T>bX{0L8%$IRF3v delta 112461 zcmeI*1y@zu;;?Z#Hf)eax?8%WySqb58Uz7pkqrpa9ZN!_r33{8q`RaQkW{)vDFqee z#p8YN^_=Vde}ai)>2S@tCu_0;hx{IhE)-lZ5DW=N4o3+`twR&VAYLw|*1a>mh|}$Y zgcRb7j6{t@fCS}}pfJFEyVb0I9Sw=g*aw0L!#Go?b>AG4wygRy8jif@ny6FC9KlLr z0z+pg`viHLQMiqkq8^{4*-2-iZufV?Bg830dqp^}Khy4JPU~hh-c|_H zX-OC;End?2R=rir8ZR}evG9Y*LuK<3&Cc|57cn2Eo+3rld4Up=fiGdsJc$NFgA2iX z2-a6Dbsq+6BD12XYH*VSM~Yf7!BETpn(&@3GAe_T z)5dA4W@i#t6)DpEfpeb9*V|YYOq}Z`eI6Ax`Gj!PPwa1>n&@zUK+%*a)+MCudN-!a zp7JA)?*5x$XGim0QBfIw9KHmPMCQn8xHY1%^H?eDj(g+41j`mq#WM?qciFJGhjcMN zo;?^PaGymIAY-S!vjfAo5uk}>Ar!DM>!iw!<0G%qDjfAs&{qlCnWUg{z~!jpD!g7! zJs5NK(bFgtC$@X0c>=RB+OxPLMEu4Y#H~xkE&QejrMkvM$gLx9InycLP4DrQUsa$* z^fs~%Hlo=mXuC|_WRTr@6(T8$MP`H&8<6i^9%ab968iWWZIZwN2hNRaw+k5UUReZp zz8X+$`1YyRnPb3zRskZ@!HJhTnJrD`X4WgZ6I8!US8ejK)xU~)RiD`43ISRg+MN8x zq37O`VTHT7MaB7R=@5-FEAvJ7+DFVfScr6!ki%TWo$jX#IirN@SVi6rJkk~G{WG0m zv;p<}v8wcg(7Cn25Ub;p-Xp?56W$ByqqDp^o)1)C2Wd#hvk51#umW7_C@8Qm@;)j` zh;`u7M~vi-rS3D=oO@p(BBq|b6XX_gi2t(gh>vLOiGuQ{)`8S~#_AgnaPcI*9{D50 z)mh%Pj98)HzXSj7B!Wm)9Y2&aC$Qhaxri;Y`6CGXoaXV;yHrvRnZ@E<8xJgt9~I(!bg%3zWkNhWRKEJzy{P({!vV?t@6K;! zh^2e)%W3T~C&uEDgsdHy=#aYkkQAF#B5pbq?x#E=v3l<#vR2iEUp%s@Q$V~`DqPp! z*J3;|QsBK4xRPlq$%|ub5RnyKNunp$aN>#36*@F`DGDcye_HOYr8VE`Z z`EMV4G(VZBANgCkJef$4eg7WMsjn$m0ZNJXPFfh&I|j zcsiFnXF?;5UdvEw((MvTKhJCznmLX@<6;-WD`^?Xv}Ev8K+gGLr_mpW_dS&0tCJ2- z1jkCQLSKZ0p4K4al^d_@%7>SmLpX-h#Y>t;Q=`R*G(S8%x+SD))u~F=R3@ot;ZAZd z;hA+9n$Vl$0^bM6a^Vf+4;JH@6zca0*07};{>Z-dRY>1b!_q;aO!)-aa*AR_G-3B-Gk$aku7S1ms`UO6 zC1aIcY-zf3GoG<9(P#V`wXew+Y^>7XXx9d?LS}LGg)&lKJQccQ?z;XoFWt~K+w|pA z%@Xym;UVReqi;*QiSwO>bGX;HCqodeZI&vmo?+s~4@BEf!{5yc!kvO#O3+^gkh{m^O_=`Im(=I!-3rH!e2HAYwrO+3t%nufkLMRo5uD13 z*Xb;8e6XjO7`A?kr5k0}`yNjEiacz!@J{|n*JNgKp+7(Y(Qj5Evgw4&>+?@EGHA9}_n-v-@y3C);9@TvAWg7@b5lfQyJPu=vUu(+@ zr}=76k~Ypo8f*-8REeI1&>0*@bRzOZp1F!Z5R=~zWun4uWRIIYVRooBPNYauEsc$C zmJK_5C5tbfbW&9B{~@QP)PCsL_LiZ*)};^4P?z1MIRNpMaOWmWSU zDlXxAefDC-#OIG0cVeErjD?aKbyTioO@;UB&f(qpsCdUOrUpMKNXLowCi{KFe%mvK zcl{kS?^mxAJSGU}7&lP#mNRU)x(P2Dx8}BaMZs2iO-w^~<6XW~t>t=XN!$eHM-D7o zuZq^my!is^!gfs#2Es@B0c*?XTi3l`G|A#;_;ej{nMdS$rEk)2$H*B<&FZGJJDeqz zFr*Y|zYX4a8vaN_@~V=$0{*B23<1yc7S4IU>$#=*X(B(^l|}JkMWA()Tau zxt5Ytc9|4}!WEv+qKqJp=i1)B1kIV2I4JDJj)^s4WfhXIwO(_+p}r7~IZn&?gh}q6 zZ$UODxkY&q*y??T?BQb~*Ej$%?3pe!orFGO^{QXZYkL>Cvy=La$HE|QQ3S<04Ur=SP3&+o>qz%FcXdms%26$X{NM-wBX1qO7&)36k37s!1;g({ za2r@E>TdWm{3jUEWMi=tj@Ffkh^vs zE(959ozb{XK_Le^x4uaYsd-5&&>pCA&hpDQKGDfc|KOyjZP3ubNa)6B$VFpMLzDEL zKCx?MEor}Sqqp9aeYSXY;f!8NfzSFmQqfeR9P%@%c zYiyt7^s65#?jL;7A?q=XV`nqKFPOcboX{NQazESw)))j{f zlegL`{^2r{1~2bX@aT1lTcbC@#NSSOS=N}Sk(i3U;H)7^reNDP-4Q5EbW;~^#xO4G z+(VIxb2p!VxqUMzn%2)OMR!`>ox_0q>v0)r@Qo3x{8atnx@z^eDbp{K5bLIi&DY%? zlQal&=ZsfppvLLn|JcNP18yq8pKK#T^PKC(r1eb&iJFOn^NqFx`?)N=7V3g`1Lzf< z?A641C6r8IQH7nW?HB>^x}yzjGf52F4N*>mafNLOFPu@T%r!{r5|(1&1Bgy-&+EqM zS~>L7Sh|uQNQ;Mh%@wPYTM;quC)so6WnQi%sC7U{y^&H+mdBQ2PjFm%9Q<{I*|tQj zY?}1i7F-@R-&-xe|BdYP%kM}cv6L4p_*oYLuPFp6E0OxmI3*u305-Hwit~W zB$_C`-nA-kG}E|EUzHn6e@4hlsE4W9r+3vQap+_FwwDqomxNZb?{u1#?Cd3o%I6RT z1js1%y=Wf$W}ug?);N2Ur@69tAdE5piUKk#UVIVUYp$l1AVE7cN9a&ailcao3!gKq zrsn!t!uTVrXNjFVZ>TduI4mqV2Lzvz6~BuNYp z{t;HoO)28GmDz0T$ktjWRy~vWDBDJSP|lRR{JOh}R@rNtuySv*uB)SEpQECDC0iRog@>1>#ENo@yLZN1e# zMm9q{=8T&oHKT|qqO9#{c6j>er>JgNm2HtzU|WnkUFxh8eQNF%grb^-wz}hT#<0rW zuVHpUUqW7CiF^q=Khi4WU(kR87^G~lbLUhYpCvzVKfRKsH@L|^tMRG1K!fMWYjyr} z(MRq>$3wZfHwXwYLysrER9hCwA-9@XFLe=ddiSna8)`oCAe0(xl$Z#j-ld3hk{TGb zVbzKZ&_&gpfy z{ln5%&SS01moeR#G=MsvBWNXO7 z^&{;RQaSx%fpguzK0PwDqB%}gp;m^_cTs3Kl%H50hUjfu4?>LUPO`*bK@8rG@mfp3 z(66ptW(+_ocS>=T{6ZO#afogc!ZQLrkt1U{7#TB9>A6D4Sk8-d)rF}-@@`(vrfTyw z1OLA4Q9oMU{b+Q?>8$viOq|N0VP>lr-w(6wXI#yq?rV@m-EiDZdV`*7je6CaLUr@p z)IVJyTN-7uM?V39S9oagI6~LOXoipXqnK{!MpC0(%f}HF2W*eg#R$8nW1I+#I93Ox zTqQ4AD5gE~8`HRO%I7Vd)1_#OuoGY)=yHqfs?bTvsFh2z ztvso!^7d7?lo@fEeMw0g&J#rN#5h9Jz(z00PM+Cl5bHo6sUVp|?VJ4jtQ(CF$BCHd zkzyY<6m?Q#AubeJFj5D_G`veAxs{UQEIR2ctQ!S=ud3s4Bg?La=e%1p85!^*sjV^#rOwY|IU6hL>*2(G%umTc@nvHz;zLS(*3lTZ}pTcdWrFd?AF7NWL6%!I@Bb!%a!>Uwu1O! zCRG+pfp502yfyUiM%f|B=J8UUAC3&>YhzW4QpW#8jBTc~8$jSfNSGAMF=k0#Z0kx+ z{UK9+Tj7q?V4vqOl}`f|2P6Ge@r4q?dXD^hZ98KVe&$n%KM{LvxHDh?SPeK_jA=p;WC3 zg({c*l2W)E}_6Yg$h6G|(JtzC-o2CuPXrK{GeCs1*oFwup zWOX21Mvh*-(}OH?)8i@i`;;hi|K$f=Z)!>;%ZeGYainfX zj)RFK2M?s}W`DK6$JaOOfR0_nR-&4hoWvo+SmaJ`K6y%L6JF(mIQ^nSdEAHWl(*V* z)D%Z?tM{6BzQws+FT>JH{)-28&Wq|bveB}5a*#zZ@`(s*Z!)W2n9>^J^+NV8iY%__ ze!5#%6h~TDRBX|FXb;BR_<5gQqgOP}Zb;2WxAEzTlx6_3s2E{WchNdGmS(*_^qvhy z0z+y{zm+p$AV97TU0nYC3fZgyEKnoXa{7n##N0Hh4rIfNP0F!2wda)f*l=m7=y)Jf zROxLc{y;9%zOu(a#gv8ES+NEd2E4_55!b$19Lm3(&)|h|?V5>i;f~t0DN|xEe&t|~ zg^9qH!Juk@KJKEbfnxh}s9gbr)V$s+9=D%TN3(zD0>}0$9+ze9c7I11PNYm~fCHui^C-H2Y;_m^KUnfHiQjVD|v zFEeSA^Zr~@?FR8GVlW}AKnH5*%)~LDn_}2vG6}bmpD7(JRbdKuzkLcVi()a6hh`M+ z7%?s`lnl&Q-g01ilslnGhx#;$2ujjMBSCq93oR>RXt6H18rdgMCRQ}fw}!4>TYJHH zFSX+CW_<8us^wAlS&$Xm<9I24nr~323??HHcl7vUK@Eqw`votTk8<=OnqFJz-E}N> zj0Mgg`zcmXs1BM5nGIpvqTF-8=#za7#swJ?S80_oq7MgL(7q0u1u`C_rHe*|BC`t- z$YGKo`$72PSR~Te`QsssiFZqPOuA8gS~*CJ%{$Uz$c^aZenOT{(pMhGvzLE76yii1 zU13ivJS{&>99MRASip64Mw+E#p-zCVs9=z4Y0diL)r({=zu;QSf|Id|9Bm*|xe6R*g*85$U6A`i3UxxhragV(wCdNXHMAclOg?9d|ck zy4PUJ=rST4JJnE!3I-+BOm(#KO#(;$6K)B*c3f6dKEv{-%}Xl6U!qYHAOaz5 zVp#tP3>guI?f7^Jdai}efD`xPM`DLxMF@?;Er^yIMvbEM1+r1aFhK9q9BGV$LiEu{ zaXXXh(Z-Vkve6{IJ%@NCv6N6w-a^PcFkO5lbUi1-jYUEG&E#oj6RrQ#HlZ`Q7-hX_nReFIVv2Lg>(AD%rUkvY ze7Is0Blkf(GFak_=$?x!%s#c+`aW4cFPmQA9KCohOW5DF!6}Ke8MrHQ;pBIoVT{Id z#dDlbnJ(;>6SV+ISpNdeeaJ%-!yKi%45E|8qQMC-7@825OMP)`?eb}^f+>lTBmqt6 zqZ6ax8bSmnXjBMv3Qa})qCD!r;qRKp3aS#_63R{2pLZO}$6ebtTp(B>I)3+kcx)>$ z$g754=J_&J;ty{t24@wrjAI3IJ)*=V!Q9;gyU$Lx0jPt>hGOkcqRgY;$Y-jQked*@ zu>BA$OlcoebLRI#e`OJhT;LQduuAh#$I7F~vN35H!jvk9Ubu5M34V(}d}!D7 zih@s8XTm1Fk@~5h0xVSQ!N8sH+G@#;C*~fxZLR2ss;3sb9yqr{k$-%23zS+4kP>X@ zucIaWx+e0iD6ql1U;yI~r7SRTrNqi>jL+ed*?rkhqgDC!n-&!lYgV5vPwKCe-`uj! zxLWJjqU*7#xrkVLebl=9+Ja%lnBbka@$Oa9xiiTCb~l7Rh~R+Mo{qYh zXolnvZOCBqDw#4-@MN8eYzUK>!P|%eCW7(qm=h~k#|Cv0%|j^{AK|)OQa&rKS!1MN zzwzXQ-QM%!8DF&&g)cQ%o4yWXYMSuds%`K@8CrYu@){zH^shbkqhq{fC-dOrWNLfF zHQ}=+U((nv%M!(dm&D?RRdS}>D5e`@He7yM$2aM4Ju_aG1O(lJmW+Z#DxT@KoMo)6 z8w<6`HR-+IQOCU2R`GZMi-YgAkQ7r&e`3fm^wEHPsV2lMu!2tU6yhb%UZUOf;ZZ#3 zSnXO@m|=w>&@&qqDJhCD;V>kH^Fzh7jxSlPQXgsXwwyjbQ0KY1S97&MweBtfvM)Lx z8*!%qbpCi~oopw&y0pEMw!>8XE*}cB>Ze8j;h~$^xrZd5bMe0AzRy}MY9=eNWm!1; zuvF4pW7{nF-RR^L(?J)e`KH=0+;np9Qyk}*ibj;48$wmfz{Z@4ZSE%O#2&Mr_CZee z=@O9=L3IEHi{Qh2-s=OgS~uMbQqyPrN=n)G^#*h_rOBud@L8>1Sg)8VVGanA-c2qJ zr!Vkrie}tD?7ldCoQ@fo+f3GVyF_TB_qa2Vgn9zs+cIn@Ewy_@s)a4dFF@?o0tQs} zer|Yn&I}Ro^FI)url(FXtz#C^+Y*q99p72iP<3nOjp;YU&8D6?#7U|qS&+F-!K(A4 z0_z6+mMpwIJnR(iBjdQBQ*HB&mIAx(YS!%5qMV+mkI{?~rZp28ecbKd*n3W0XVWYxjK%?Q z`d%efg^@HZ6B-?>NPKry6~Wy4B-PE$%|o?8oh)7YXXW9l^tC&~~FyTO}CV*lbIbFhP1!BH4d6YBG^3yy zare_j5Z7;v7$dUJUmVgNSgG3|olenr>X;ao$PgcFSjJDDU2oj8znzQKTHAW1nqGT-7j-OBZm*A>GO)p6}LGmam#RaFpm>gD0xWV`ijo36|2 z0>7*ci%XDzql-Q@$J~Us)K^AJ-b#RM9;#eLREB8FU`w}?IQKKJp2ZVi!S9(L&kv$f z%Mmp`oqVf~CM%{l8Kh^2roHXoR%ynTV;p318}4^@;5JvvgQEDrupL#$v>_~}f0Xszku@z0)k zAuvCqi!OG&nYH;Lte)vfwJD;KkU8P7>*usji03#-$3*_H=5|o4^xVppRAwOi)8YE) zC&`a$3~<)k31tkDA^6ZNCb1`?=<2uIySD0NaKBm{jqeHE1})rQ4f5unppt$K=WwT` zs2n^YK+hF5r)G_b%c#n%;0n>-Yv~(Y??v=F%#e}Y-S(}k=HM(iiUctlXi60UiIzvOe746dAVd$GY zDDn(=W98`-QyuOZqkq!)?q5Ysudlzn+*g@D*9jTGyzidI&3~PO2QmYsPG@_{Ry8kYCxJ zT1_Q4ROM6e9r_x3Q^?u6Uz>Qc509E_JG!e$!0mg!*Qc<3&P>EJ99_w(GiDm%`I9-ED2#BRKt7rhY%=VLPgMF%xHRA-rFWIwB3$E7QU zdQoD_>ikhGOE;HWM!cDA^%+|+~is+1%Xe%jQG8^>4Ti14T&+BPDv^CPmi@NA=~ zM-wd@;)AB~mAXYZ?Q(rMX_GjZM?gt%ZhVX(Y5=f^YB2cQ@HSCZ$ZU@E$n| zrg||dOv#z=qNbgn_M@&zw9?RRZYQEgtry6%mT<26deFu3Fw}9`9wx?l=to_wph(ps zy+2q)ksW+4>hI}*5>(SW@PRVTR3D{q@ygNsXd71GSwy&+suiV(T4KSGYJ3MyBke7MjoU zkTtf|pEb_*4EeN`n7y4;@VraZ#j!e{9W`-3nqpW?&*Aa)py6p254uzTDzno*mKC}m z2`qhMoRM`4Gbs{*cZftEy}N$JWknNp_Is#pXkP#4;&CCFqqdXr!@GoGZBJeuNnVe6 zAaD@(!)HR+V8Q4~v6bqFAbEt}bZl~MFw&%Z)l5$0mfjYON* z5rWPAHOg3Yo{lP>N(ZR-Q*Yj?EoUeiWpeY@&g8dC3qQRF-3Qe-_8=-u2XW3z1(F zEiax1b1q@9O`lUE-`oD2my*74vEWjd{j$2_ZT%02^Fvf#N!we9vtGo9+y3Rj@DRb+ zcCwJ_pv>vK=0&s*!UE0>BhdRsx8O~xbvfBFy>}SB!C6OA($f7OZB~&i74>UBcRgPv zljOGYQhoDcd^cKgGA`uK(NlJ{IU2$g`hIF$NrfSSi@Pm5&Teganbiq~Uvx}o{km>P z@|&*h#kXA@o@o?X?^CTr)HHjlspQ>rn{RgP5*5{-KR2kFshBJANUBDW5a6tKmv~2b zpm-W9F3d;sGAEYvJnjs!HaQgOx_R_v{(ay`R$9%BL4T7%Ov6lGgpHot_Hf8JTxZAR z#dy?S1+Bz4w#LZG%6xwLr0KS}E8*HL#PbhZf_|*bECpLlk_IceB7)R1Fx#GWhh ze%H>mq>|-iqQI?1?JTvfT6ZUNLx6ax*=;0a^bM|kKg*Qdw>xijybK_b5#KR=lC4cm3Z1QKjrPCSO3-@ zqCb@6qh~D^Sg;&-^GQ z9fx^{mpU-_+T{~m8=IPaohiwg{UJPMqr3=@fN(+(t?a|d*Kf0k)#F>PhlyEf$9RGB zm6c<4s(e-tiH}~Sq980L9fI>;BEDj?xAW4kzw?tDx;P~AI_nCjx@f!nlZTJKiPy4x z&nNIRt=mnU%nM=IE9=84jK1-VrOZkD=nn04bV7u>>2X#HceA&V`A|xVTsfCz_xxPz zf|FlH+Igq7qdq@ILnnUCw(z%*lkctc*`6ho=ADa0X$QitgNXi>5j7Y}OUC@x$uk0t z>1e|}ojxv|_ccI=BgB{(Wmbh9ZFk`-2rtZ;_UFnYc*p4NxQ|vx+$g?$AE3A)WHVms zS+qu8S=0Ce??d(yoqj~FSi`i_LR|0)EZ*nr#=v5OMtd+HEMr6cxb}d#L6`eXzkXj^ z9CpEIeoFfl;h|$!_apB*)e^2XWYc1uU&j(3aI`D5D{(RsDpZiQB_=ry(UoB+HyW~1 z(SKPRDGhde*U_X&y6ew>ajVief=tbJpsYwD>*4LEx|Al;!iwnp&cXRDh7FN^*S63~ zD!D5w8@S9|t*z?s`qd!@ISJ=_lpG$Ub$hWk^ceGj;AiQLY1E0obilH$}{jrjha+w1PCSvimCZAWeI;j2)>27`<50)YAtBDtM%HI>KJqgj9r!Z0*SjCBAeCfu|>bB9^321&(F;Hq*}STUys83$OLCh#?M>s zQF>o+yY~$9X>geyCQ8$C3bDhT3DT^x+W5Dswu&GiFl1^n;zQgImRnnm&b_R2VISB_<~dSQC-M2i>X6;Wowdy=F~6eR?8o9e z=Wi%w=L_Fok7}q}a>m;kQ6d_6f;Y#ly{Pg;c<0fB#n4)PSKnk8^T62WyNnYhWY$c> z%!n(DYsB>FV(*$EPPo>;d}q3ams(iXqoHEKp*+fW&2(|9e0b6X=J*A!dhiQCZ* z){wA1r{?pUt>LvYtcFe^BFrBdgz_A|6Dm#ZEYw|7+DUGHII9v@Sv*lUu)?scHGA)gmzm$+T)bM4`oIu>bCXZZ&5vTY(@lPCo4Y(GUnuaUg-%4 zK=`g6Ds9Zao)xRrZDJelahAF6P%<{1BoHBK`D4=Z-E(bQA%(j?23}QY-lZ))vTU8H z7w_hblP`_evbX47RQj-Pk7KgfezwkIcCPhZn*N=O;B~eJo2;_RS4OpqDkP-_USgjX zWyO^&c zvgi4i)#6@VAZ(1MbA)lj-yLxZ-qRI-o#`P;AHdY7^)M;v09n&gqDQnd0&Ry;264~N zxF$JX5%q=J(=&^@?`jxbYaiPVE`8)_cDU-Cc8ex)@P0`6f^N|hg}a(O8XKv#iv&q@(_(S z?`^sLxtl&{(=gwK$0p%0M{-{0zHN}S{czkg7LSg}!<2YYHx%#bTa;CmxCwo}Eh>cn zdm@2g^Kl-7rq8eV?OFHOh-j#N!v`i9Uv;g6_fWU0 zBO{z2lgZZlaeVI8_LcPO5*{ixOVj!|o=exejU?GsTlk0s{2S6EY_1DOowi}`J(C&b zquIw0t2e7lKQInv!E7~@tvF#nDL=BZmLF?T+Zg zCecmRg1E_dp*)VS7=sUa+AdB9>v!#XsNEvVn(<| zw#s1&Wv})5;mzDQE3w`(oEBQLC~#r-lvpH86%IDviWU zHl>O-iT%$M*ju-Y135O1aP88RuUV6fehz=PE7=&gT$4Y2^5Aeu1b!{qNTe?_55esH z(3?o)%7$#zQ5o|}?9v9oz<87DV3RI3o5)KV=6h7@@TTAxhp*hlw=7x9dx9k4=O*p; zrL8E*XQl?a1q$lp&5KEnH#l<#glRli5d^HfJ7KO$`Q2C6ok?)6u#lEZ zAx%#-;olK{yeC=)8p`DWv+v&r_VuwHP?1Za;Q%zA-)}JDj)4+Iu>KF=&y?DZOA5Wm zffK>uNSKIA2f7;0e+JZQTcHl*p95Q7 z=$GFR^51M9%5=N@Rz;WRGO1};e z0Du4h1OOla0096906+i$0ss&IfB*ml03ZMW0RRX9KmY&&01yCx000C4AOHXX00;m; z000625CDJx00aOa000312mn9;00ICI0Du4h1OOla0096906+i$0ss&IfB*ml03ZMW z0RRX9KmhQ^0AQmOigd(~g#Cu_e+2-S1D62+8KmKgA%OFr(SKC{m!leP81lc}>{kVF zdH%8j5dQ7_uK)nP`Fj8WEquWcfrVYV|6d1i|G@nN_Yd4ZaR0#l1NRTyKXCuR{R8(8 z+&^&t!2JXF58OX+|G@nN_Yd4ZaR0#l1NRTyKXCuR{R8(8+&^&t!2JXF58OX+|G@nN z_Yd4ZaR0#l1NRTyKXCuR{R8(8+&^&t!2JXF|3~+~SqdH6U@H8M@PE1g%Yi5MnA*P$ zWH?|hpAHaVA{{j35@E^c`0RI8}2k;-je*pgh{0HzK zz<&V$0sIH>AHaVA{{j35@E^c`0RI8}2k;-je*pgh{0HzKz<&V$0sIH>AHaVA{{j35 z@E^ecKf?d5QYc>^n+7^H!(#ni;{VeBm!nCRSh~LrTv%}#?nE$c-P>2b(Kg#9!x1Zx$Bq;chwKW#OZ%h5_M*(dAUIsuhTUes72bV>_ zuLBeTpa=j(04M@L5dew+Py~P?02BeB2mnO@C;~tc0Ez%m1b`v{6akO0zeS} ziU3dqfFb}C0iXx~MF1!QKoJ0n08j*gA^;Qtpa=j(04M@L5dew+Py~P?02BeB2mnO@ zC;~tc0Ez%m1pKiG*#4^sQ2ZU?|B3-F2QFg(n$-7n_>lWKDhx_6#-{jf+CS2O%juVC zfZA^pekB2y=P#20so&23D+Jj2TL_@Lj4cR@x(oq+9Uue%Api&gKnMUr01yIz5CDV# zAOrv*00;p<2mnF=5CVV@0E7S_1OOob2mwF{073u|0)P+zga9A}03iSf0YC@gB$iJWxj_mIU|KH?)LlsBu_kn+t|15PJ`QHZqP5yH=aKwH)|1a{t`?v4%fA9u} z4;Fh#{(l{S`~&h2$Uh+efcyjU56C|t|A71h@(;*AApd~;1M&~ZKOp~r`~&h2$Uh+e zfcyjU56C|t|A71h@(;*AApd~;1M&~ZKOp~r`~&h2$Uh+efcyjU56C|t|A71h@(;*A zApd~;1M&~Z{~yW!ZYhK;gDdqr!v977F9)8<;~M@xfUkfXkAiYJkgJ4iNAVxFuV#gc zq@#|CMvR1ng@trEPNj@1^7{=(+%djIHW-iLYV*ODe-8lCYvCeJr10d5b=-eUN42Np~0z; z@uAx&aPB`1SEInGP+L9Fq0ptvMe=arunbRhauReT%s;Gk74>rR8!vRo;~g$(>J?O6 zNar)|l|L;T^m8VO_rI2{M!o!K{d2vI|8rZW&?i(l7h&i>Hnj0;L#VeMF(BmS%PY1< zgOmSh)?fRgcEw0VCcfMjJ@UV|^@kOIZVOouB0z@={%NVd_TuCIYbi^D%dPx#jm>{- zh4XLs&`W3t9WFo^_K&S>mO}U#m+yEQ;=+In@%;BNwJvMozVzhfBd7-p2}$&CYsNxJ z7;u?C-bnrnM&Gr|8);u2e1E%94|IV6zy7BSQNx5&q3Ak7$(I)d{oEqoKQCwNA6w-5 z+sZkgFjG4zsUU6?bfTY+o$!C`b*mJ@fn7c#n#{1ET{A4c|1rno=Nu19EGXX+OY(or zS-zZutO%WB!Nm#x@NU#`E|(y(#)4!?P^chlYb-p$KU~lD|G68hEi5Q$3ybIH6+HOI zPPYHGlY9Eu5d8;SB1jSjrziZwte<;97J%YmaJfGX|J(*DmdRg>&_Ft&D1SZY{;0;pObd}u^G0%-8Br$*r^>1@V_TOd{-{7H$)y6>XgTo{rOS;?>W@EKR+v>{QT|mP4jP8;jVOPdC<`$pj{>0 uzdj`YeRGI|;PPF3xSV)R8JCgz-|qtb@>3oXQupOA8oA4to-y3Zzx_YRs!y8$ diff --git a/firmware/tunerstudio/generated/rusefi.ini b/firmware/tunerstudio/generated/rusefi.ini index 5a04bc3e64..014415f31f 100644 --- a/firmware/tunerstudio/generated/rusefi.ini +++ b/firmware/tunerstudio/generated/rusefi.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2020.08.29.all.1814481443" + signature = "rusEFI 2020.08.29.all.1128137990" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2020.08.29.all.1814481443" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2020.08.29.all.1128137990" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -74,7 +74,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 Sat Aug 29 21:07:01 UTC 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Aug 29 21:46:47 UTC 2020 pageSize = 20000 page = 1 @@ -1266,7 +1266,7 @@ page = 1 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" onOffAlternatorLogic = "This will cause the alternator to be operated in a basic on or off mode, this is the simplest alternator control." - vvtCamSensorUseRise = "Use rise or fall signal front" + vvtCamSensorUseRise = "Use rise or fall signal front\nget vvtCamSensorUseRise" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "Smarter cranking logic.\nSee also startOfCrankingPrimingPulse" coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." diff --git a/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini b/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini index b9c6c2a19c..9e86782076 100644 --- a/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini +++ b/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2020.08.29.frankenso_na6.2761609002" + signature = "rusEFI 2020.08.29.frankenso_na6.2340552719" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2020.08.29.frankenso_na6.2761609002" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2020.08.29.frankenso_na6.2340552719" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -74,7 +74,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 Sat Aug 29 21:07:14 UTC 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Aug 29 21:46:53 UTC 2020 pageSize = 20000 page = 1 @@ -1266,7 +1266,7 @@ page = 1 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" onOffAlternatorLogic = "This will cause the alternator to be operated in a basic on or off mode, this is the simplest alternator control." - vvtCamSensorUseRise = "Use rise or fall signal front" + vvtCamSensorUseRise = "Use rise or fall signal front\nget vvtCamSensorUseRise" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "Smarter cranking logic.\nSee also startOfCrankingPrimingPulse" coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." diff --git a/firmware/tunerstudio/generated/rusefi_kinetis.ini b/firmware/tunerstudio/generated/rusefi_kinetis.ini index ba7cf458f0..8eedfc672f 100644 --- a/firmware/tunerstudio/generated/rusefi_kinetis.ini +++ b/firmware/tunerstudio/generated/rusefi_kinetis.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2020.08.29.kin.1139969923" + signature = "rusEFI 2020.08.29.kin.1827291302" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2020.08.29.kin.1139969923" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2020.08.29.kin.1827291302" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -74,7 +74,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 kinetis_gen_config.bat integration/rusefi_config.txt Sat Aug 29 21:07:22 UTC 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Sat Aug 29 21:47:05 UTC 2020 pageSize = 20000 page = 1 @@ -1266,7 +1266,7 @@ page = 1 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" onOffAlternatorLogic = "This will cause the alternator to be operated in a basic on or off mode, this is the simplest alternator control." - vvtCamSensorUseRise = "Use rise or fall signal front" + vvtCamSensorUseRise = "Use rise or fall signal front\nget vvtCamSensorUseRise" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "Smarter cranking logic.\nSee also startOfCrankingPrimingPulse" coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." diff --git a/firmware/tunerstudio/generated/rusefi_mre_f4.ini b/firmware/tunerstudio/generated/rusefi_mre_f4.ini index 06bfcd85ae..f44a1fa913 100644 --- a/firmware/tunerstudio/generated/rusefi_mre_f4.ini +++ b/firmware/tunerstudio/generated/rusefi_mre_f4.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2020.08.29.mre_f4.2542296952" + signature = "rusEFI 2020.08.29.mre_f4.3096481885" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2020.08.29.mre_f4.2542296952" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2020.08.29.mre_f4.3096481885" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -74,7 +74,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 Sat Aug 29 21:07:12 UTC 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Aug 29 21:46:50 UTC 2020 pageSize = 20000 page = 1 @@ -1266,7 +1266,7 @@ page = 1 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" onOffAlternatorLogic = "This will cause the alternator to be operated in a basic on or off mode, this is the simplest alternator control." - vvtCamSensorUseRise = "Use rise or fall signal front" + vvtCamSensorUseRise = "Use rise or fall signal front\nget vvtCamSensorUseRise" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "Smarter cranking logic.\nSee also startOfCrankingPrimingPulse" coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." diff --git a/firmware/tunerstudio/generated/rusefi_mre_f7.ini b/firmware/tunerstudio/generated/rusefi_mre_f7.ini index 665941a934..abb5993ef2 100644 --- a/firmware/tunerstudio/generated/rusefi_mre_f7.ini +++ b/firmware/tunerstudio/generated/rusefi_mre_f7.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2020.08.29.mre_f7.2542296952" + signature = "rusEFI 2020.08.29.mre_f7.3096481885" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2020.08.29.mre_f7.2542296952" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2020.08.29.mre_f7.3096481885" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -74,7 +74,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 Sat Aug 29 21:07:03 UTC 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Aug 29 21:46:49 UTC 2020 pageSize = 20000 page = 1 @@ -1266,7 +1266,7 @@ page = 1 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" onOffAlternatorLogic = "This will cause the alternator to be operated in a basic on or off mode, this is the simplest alternator control." - vvtCamSensorUseRise = "Use rise or fall signal front" + vvtCamSensorUseRise = "Use rise or fall signal front\nget vvtCamSensorUseRise" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "Smarter cranking logic.\nSee also startOfCrankingPrimingPulse" coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." diff --git a/firmware/tunerstudio/generated/rusefi_prometheus_405.ini b/firmware/tunerstudio/generated/rusefi_prometheus_405.ini index 33b88a6e0a..975100ce53 100644 --- a/firmware/tunerstudio/generated/rusefi_prometheus_405.ini +++ b/firmware/tunerstudio/generated/rusefi_prometheus_405.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2020.08.29.prometheus_405.2077264797" + signature = "rusEFI 2020.08.29.prometheus_405.1422410936" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2020.08.29.prometheus_405.2077264797" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2020.08.29.prometheus_405.1422410936" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -74,7 +74,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 Sat Aug 29 21:07:17 UTC 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Aug 29 21:47:01 UTC 2020 pageSize = 20000 page = 1 @@ -1266,7 +1266,7 @@ page = 1 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" onOffAlternatorLogic = "This will cause the alternator to be operated in a basic on or off mode, this is the simplest alternator control." - vvtCamSensorUseRise = "Use rise or fall signal front" + vvtCamSensorUseRise = "Use rise or fall signal front\nget vvtCamSensorUseRise" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "Smarter cranking logic.\nSee also startOfCrankingPrimingPulse" coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." diff --git a/firmware/tunerstudio/generated/rusefi_prometheus_469.ini b/firmware/tunerstudio/generated/rusefi_prometheus_469.ini index a0a5ae3b25..212636d560 100644 --- a/firmware/tunerstudio/generated/rusefi_prometheus_469.ini +++ b/firmware/tunerstudio/generated/rusefi_prometheus_469.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2020.08.29.prometheus_469.2077264797" + signature = "rusEFI 2020.08.29.prometheus_469.1422410936" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2020.08.29.prometheus_469.2077264797" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2020.08.29.prometheus_469.1422410936" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -74,7 +74,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 Sat Aug 29 21:07:15 UTC 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Aug 29 21:46:59 UTC 2020 pageSize = 20000 page = 1 @@ -1266,7 +1266,7 @@ page = 1 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" onOffAlternatorLogic = "This will cause the alternator to be operated in a basic on or off mode, this is the simplest alternator control." - vvtCamSensorUseRise = "Use rise or fall signal front" + vvtCamSensorUseRise = "Use rise or fall signal front\nget vvtCamSensorUseRise" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "Smarter cranking logic.\nSee also startOfCrankingPrimingPulse" coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." diff --git a/firmware/tunerstudio/generated/rusefi_proteus_f4.ini b/firmware/tunerstudio/generated/rusefi_proteus_f4.ini index d78dfebd5b..92f8a54ce4 100644 --- a/firmware/tunerstudio/generated/rusefi_proteus_f4.ini +++ b/firmware/tunerstudio/generated/rusefi_proteus_f4.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2020.08.29.proteus_f4.1501070694" + signature = "rusEFI 2020.08.29.proteus_f4.1986021955" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2020.08.29.proteus_f4.1501070694" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2020.08.29.proteus_f4.1986021955" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -74,7 +74,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 Sat Aug 29 21:07:20 UTC 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Aug 29 21:47:04 UTC 2020 pageSize = 20000 page = 1 @@ -1266,7 +1266,7 @@ page = 1 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" onOffAlternatorLogic = "This will cause the alternator to be operated in a basic on or off mode, this is the simplest alternator control." - vvtCamSensorUseRise = "Use rise or fall signal front" + vvtCamSensorUseRise = "Use rise or fall signal front\nget vvtCamSensorUseRise" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "Smarter cranking logic.\nSee also startOfCrankingPrimingPulse" coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." diff --git a/firmware/tunerstudio/generated/rusefi_proteus_f7.ini b/firmware/tunerstudio/generated/rusefi_proteus_f7.ini index 75d827727a..be357f5342 100644 --- a/firmware/tunerstudio/generated/rusefi_proteus_f7.ini +++ b/firmware/tunerstudio/generated/rusefi_proteus_f7.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2020.08.29.proteus_f7.1501070694" + signature = "rusEFI 2020.08.29.proteus_f7.1986021955" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2020.08.29.proteus_f7.1501070694" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2020.08.29.proteus_f7.1986021955" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -74,7 +74,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 Sat Aug 29 21:07:19 UTC 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Aug 29 21:47:02 UTC 2020 pageSize = 20000 page = 1 @@ -1266,7 +1266,7 @@ page = 1 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" onOffAlternatorLogic = "This will cause the alternator to be operated in a basic on or off mode, this is the simplest alternator control." - vvtCamSensorUseRise = "Use rise or fall signal front" + vvtCamSensorUseRise = "Use rise or fall signal front\nget vvtCamSensorUseRise" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "Smarter cranking logic.\nSee also startOfCrankingPrimingPulse" coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." 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 9068635f98..0dd5003c77 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 Sat Aug 29 21:03:08 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Aug 29 21:46:47 UTC 2020 // by class com.rusefi.output.FileJavaFieldsConsumer import com.rusefi.config.*; @@ -1090,7 +1090,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 = 1529067003; + public static final int SIGNATURE_HASH = 1128137990; public static final int silentTriggerError_offset = 1464; public static final int slowAdcAlpha_offset = 2088; public static final int sparkDwellRpmBins_offset = 332; @@ -1347,7 +1347,7 @@ public class Fields { public static final char TS_SD_R_COMMAND = 'r'; public static final char TS_SD_W_COMMAND = 'w'; public static final char TS_SET_LOGGER_SWITCH = 'l'; - public static final String TS_SIGNATURE = "rusEFI 2020.08.29.all.1529067003"; + public static final String TS_SIGNATURE = "rusEFI 2020.08.29.all.1128137990"; 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 f6915121b6..906653a4b3 100644 --- a/java_console/rusefi.xml +++ b/java_console/rusefi.xml @@ -1,6 +1,6 @@ - +