Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
46ea03f9d3
|
@ -1,4 +1,4 @@
|
||||||
// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Sun Jul 26 19:09:03 UTC 2020
|
// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Mon Jul 27 13:47:20 UTC 2020
|
||||||
// by class com.rusefi.output.CHeaderConsumer
|
// by class com.rusefi.output.CHeaderConsumer
|
||||||
// begin
|
// begin
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -3533,4 +3533,4 @@ struct persistent_config_s {
|
||||||
typedef struct persistent_config_s persistent_config_s;
|
typedef struct persistent_config_s persistent_config_s;
|
||||||
|
|
||||||
// end
|
// end
|
||||||
// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Sun Jul 26 19:09:03 UTC 2020
|
// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Mon Jul 27 13:47:20 UTC 2020
|
||||||
|
|
|
@ -1075,8 +1075,8 @@
|
||||||
#define showHumanReadableWarning_offset 976
|
#define showHumanReadableWarning_offset 976
|
||||||
#define showSdCardWarning_offset 76
|
#define showSdCardWarning_offset 76
|
||||||
#define SIGNATURE_BOARD kin
|
#define SIGNATURE_BOARD kin
|
||||||
#define SIGNATURE_DATE 2020.07.26
|
#define SIGNATURE_DATE 2020.07.27
|
||||||
#define SIGNATURE_HASH 2735505253
|
#define SIGNATURE_HASH 3345389999
|
||||||
#define silentTriggerError_offset 1464
|
#define silentTriggerError_offset 1464
|
||||||
#define slowAdcAlpha_offset 2088
|
#define slowAdcAlpha_offset 2088
|
||||||
#define sparkDwellRpmBins_offset 332
|
#define sparkDwellRpmBins_offset 332
|
||||||
|
@ -1344,7 +1344,7 @@
|
||||||
#define ts_show_spi true
|
#define ts_show_spi true
|
||||||
#define ts_show_trigger_comparator true
|
#define ts_show_trigger_comparator true
|
||||||
#define ts_show_tunerstudio_port true
|
#define ts_show_tunerstudio_port true
|
||||||
#define TS_SIGNATURE "rusEFI 2020.07.26.kin.2735505253"
|
#define TS_SIGNATURE "rusEFI 2020.07.27.kin.3345389999"
|
||||||
#define TS_SINGLE_WRITE_COMMAND 'W'
|
#define TS_SINGLE_WRITE_COMMAND 'W'
|
||||||
#define tunerStudioSerialSpeed_offset 728
|
#define tunerStudioSerialSpeed_offset 728
|
||||||
#define twoWireBatchIgnition_offset 1476
|
#define twoWireBatchIgnition_offset 1476
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
#define VCS_DATE 20200726
|
#define VCS_DATE 20200727
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Jul 26 19:08:53 UTC 2020
|
// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Jul 27 13:47:09 UTC 2020
|
||||||
// by class com.rusefi.output.CHeaderConsumer
|
// by class com.rusefi.output.CHeaderConsumer
|
||||||
// begin
|
// begin
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -3533,4 +3533,4 @@ struct persistent_config_s {
|
||||||
typedef struct persistent_config_s persistent_config_s;
|
typedef struct persistent_config_s persistent_config_s;
|
||||||
|
|
||||||
// end
|
// end
|
||||||
// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Jul 26 19:08:53 UTC 2020
|
// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Jul 27 13:47:09 UTC 2020
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Jul 26 19:08:53 UTC 2020
|
// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Jul 27 13:47:09 UTC 2020
|
||||||
|
|
||||||
// by class com.rusefi.output.FileFsioSettingsConsumer
|
// by class com.rusefi.output.FileFsioSettingsConsumer
|
||||||
FSIO_SETTING_FANONTEMPERATURE = 1000,
|
FSIO_SETTING_FANONTEMPERATURE = 1000,
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Jul 26 19:08:53 UTC 2020
|
// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Jul 27 13:47:09 UTC 2020
|
||||||
|
|
||||||
// by class com.rusefi.output.FileFsioSettingsConsumer
|
// by class com.rusefi.output.FileFsioSettingsConsumer
|
||||||
case FSIO_SETTING_FANONTEMPERATURE:
|
case FSIO_SETTING_FANONTEMPERATURE:
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Jul 26 19:08:53 UTC 2020
|
// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Jul 27 13:47:09 UTC 2020
|
||||||
|
|
||||||
// by class com.rusefi.output.FileFsioSettingsConsumer
|
// by class com.rusefi.output.FileFsioSettingsConsumer
|
||||||
static LENameOrdinalPair lefanOnTemperature(FSIO_SETTING_FANONTEMPERATURE, "cfg_fanOnTemperature");
|
static LENameOrdinalPair lefanOnTemperature(FSIO_SETTING_FANONTEMPERATURE, "cfg_fanOnTemperature");
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Jul 26 19:08:53 UTC 2020
|
// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Jul 27 13:47:09 UTC 2020
|
||||||
|
|
||||||
// by class com.rusefi.output.FileFsioSettingsConsumer
|
// by class com.rusefi.output.FileFsioSettingsConsumer
|
||||||
case FSIO_SETTING_FANONTEMPERATURE:
|
case FSIO_SETTING_FANONTEMPERATURE:
|
||||||
|
|
|
@ -1075,8 +1075,8 @@
|
||||||
#define showHumanReadableWarning_offset 976
|
#define showHumanReadableWarning_offset 976
|
||||||
#define showSdCardWarning_offset 76
|
#define showSdCardWarning_offset 76
|
||||||
#define SIGNATURE_BOARD all
|
#define SIGNATURE_BOARD all
|
||||||
#define SIGNATURE_DATE 2020.07.26
|
#define SIGNATURE_DATE 2020.07.27
|
||||||
#define SIGNATURE_HASH 1848812543
|
#define SIGNATURE_HASH 173557045
|
||||||
#define silentTriggerError_offset 1464
|
#define silentTriggerError_offset 1464
|
||||||
#define slowAdcAlpha_offset 2088
|
#define slowAdcAlpha_offset 2088
|
||||||
#define sparkDwellRpmBins_offset 332
|
#define sparkDwellRpmBins_offset 332
|
||||||
|
@ -1344,7 +1344,7 @@
|
||||||
#define ts_show_spi true
|
#define ts_show_spi true
|
||||||
#define ts_show_trigger_comparator false
|
#define ts_show_trigger_comparator false
|
||||||
#define ts_show_tunerstudio_port true
|
#define ts_show_tunerstudio_port true
|
||||||
#define TS_SIGNATURE "rusEFI 2020.07.26.all.1848812543"
|
#define TS_SIGNATURE "rusEFI 2020.07.27.all.173557045"
|
||||||
#define TS_SINGLE_WRITE_COMMAND 'W'
|
#define TS_SINGLE_WRITE_COMMAND 'W'
|
||||||
#define tunerStudioSerialSpeed_offset 728
|
#define tunerStudioSerialSpeed_offset 728
|
||||||
#define twoWireBatchIgnition_offset 1476
|
#define twoWireBatchIgnition_offset 1476
|
||||||
|
|
|
@ -3,6 +3,6 @@
|
||||||
//
|
//
|
||||||
|
|
||||||
#define SIGNATURE_BOARD all
|
#define SIGNATURE_BOARD all
|
||||||
#define SIGNATURE_DATE 2020.07.26
|
#define SIGNATURE_DATE 2020.07.27
|
||||||
#define SIGNATURE_HASH 1848812543
|
#define SIGNATURE_HASH 173557045
|
||||||
#define TS_SIGNATURE "rusEFI 2020.07.26.all.1848812543"
|
#define TS_SIGNATURE "rusEFI 2020.07.27.all.173557045"
|
||||||
|
|
|
@ -3,6 +3,6 @@
|
||||||
//
|
//
|
||||||
|
|
||||||
#define SIGNATURE_BOARD frankenso_na6
|
#define SIGNATURE_BOARD frankenso_na6
|
||||||
#define SIGNATURE_DATE 2020.07.26
|
#define SIGNATURE_DATE 2020.07.27
|
||||||
#define SIGNATURE_HASH 2964705052
|
#define SIGNATURE_HASH 3571395030
|
||||||
#define TS_SIGNATURE "rusEFI 2020.07.26.frankenso_na6.2964705052"
|
#define TS_SIGNATURE "rusEFI 2020.07.27.frankenso_na6.3571395030"
|
||||||
|
|
|
@ -3,6 +3,6 @@
|
||||||
//
|
//
|
||||||
|
|
||||||
#define SIGNATURE_BOARD kin
|
#define SIGNATURE_BOARD kin
|
||||||
#define SIGNATURE_DATE 2020.07.26
|
#define SIGNATURE_DATE 2020.07.27
|
||||||
#define SIGNATURE_HASH 2735505253
|
#define SIGNATURE_HASH 3345389999
|
||||||
#define TS_SIGNATURE "rusEFI 2020.07.26.kin.2735505253"
|
#define TS_SIGNATURE "rusEFI 2020.07.27.kin.3345389999"
|
||||||
|
|
|
@ -3,6 +3,6 @@
|
||||||
//
|
//
|
||||||
|
|
||||||
#define SIGNATURE_BOARD mre_f4
|
#define SIGNATURE_BOARD mre_f4
|
||||||
#define SIGNATURE_DATE 2020.07.26
|
#define SIGNATURE_DATE 2020.07.27
|
||||||
#define SIGNATURE_HASH 667710833
|
#define SIGNATURE_HASH 1134990267
|
||||||
#define TS_SIGNATURE "rusEFI 2020.07.26.mre_f4.667710833"
|
#define TS_SIGNATURE "rusEFI 2020.07.27.mre_f4.1134990267"
|
||||||
|
|
|
@ -3,6 +3,6 @@
|
||||||
//
|
//
|
||||||
|
|
||||||
#define SIGNATURE_BOARD mre_f7
|
#define SIGNATURE_BOARD mre_f7
|
||||||
#define SIGNATURE_DATE 2020.07.26
|
#define SIGNATURE_DATE 2020.07.27
|
||||||
#define SIGNATURE_HASH 667710833
|
#define SIGNATURE_HASH 1134990267
|
||||||
#define TS_SIGNATURE "rusEFI 2020.07.26.mre_f7.667710833"
|
#define TS_SIGNATURE "rusEFI 2020.07.27.mre_f7.1134990267"
|
||||||
|
|
|
@ -3,6 +3,6 @@
|
||||||
//
|
//
|
||||||
|
|
||||||
#define SIGNATURE_BOARD prometheus_405
|
#define SIGNATURE_BOARD prometheus_405
|
||||||
#define SIGNATURE_DATE 2020.07.26
|
#define SIGNATURE_DATE 2020.07.27
|
||||||
#define SIGNATURE_HASH 2603514747
|
#define SIGNATURE_HASH 4282686897
|
||||||
#define TS_SIGNATURE "rusEFI 2020.07.26.prometheus_405.2603514747"
|
#define TS_SIGNATURE "rusEFI 2020.07.27.prometheus_405.4282686897"
|
||||||
|
|
|
@ -3,6 +3,6 @@
|
||||||
//
|
//
|
||||||
|
|
||||||
#define SIGNATURE_BOARD prometheus_469
|
#define SIGNATURE_BOARD prometheus_469
|
||||||
#define SIGNATURE_DATE 2020.07.26
|
#define SIGNATURE_DATE 2020.07.27
|
||||||
#define SIGNATURE_HASH 2603514747
|
#define SIGNATURE_HASH 4282686897
|
||||||
#define TS_SIGNATURE "rusEFI 2020.07.26.prometheus_469.2603514747"
|
#define TS_SIGNATURE "rusEFI 2020.07.27.prometheus_469.4282686897"
|
||||||
|
|
|
@ -3,6 +3,6 @@
|
||||||
//
|
//
|
||||||
|
|
||||||
#define SIGNATURE_BOARD proteus_f4
|
#define SIGNATURE_BOARD proteus_f4
|
||||||
#define SIGNATURE_DATE 2020.07.26
|
#define SIGNATURE_DATE 2020.07.27
|
||||||
#define SIGNATURE_HASH 3819164208
|
#define SIGNATURE_HASH 2278110458
|
||||||
#define TS_SIGNATURE "rusEFI 2020.07.26.proteus_f4.3819164208"
|
#define TS_SIGNATURE "rusEFI 2020.07.27.proteus_f4.2278110458"
|
||||||
|
|
|
@ -3,6 +3,6 @@
|
||||||
//
|
//
|
||||||
|
|
||||||
#define SIGNATURE_BOARD proteus_f7
|
#define SIGNATURE_BOARD proteus_f7
|
||||||
#define SIGNATURE_DATE 2020.07.26
|
#define SIGNATURE_DATE 2020.07.27
|
||||||
#define SIGNATURE_HASH 3819164208
|
#define SIGNATURE_HASH 2278110458
|
||||||
#define TS_SIGNATURE "rusEFI 2020.07.26.proteus_f7.3819164208"
|
#define TS_SIGNATURE "rusEFI 2020.07.27.proteus_f7.2278110458"
|
||||||
|
|
|
@ -18,6 +18,9 @@
|
||||||
! rename the bit or substitute unused integer with any new fields of the same size
|
! rename the bit or substitute unused integer with any new fields of the same size
|
||||||
! invoke gen_config.bat to apply the tools which would generate .h and .ini files
|
! invoke gen_config.bat to apply the tools which would generate .h and .ini files
|
||||||
!
|
!
|
||||||
|
! Q: Which files to include into Pull Requests?
|
||||||
|
! A: Please only include source files (.txt and .input) into a PR, we have amazing GitHub Actions which would do the rest really
|
||||||
|
! really nicely!
|
||||||
!
|
!
|
||||||
! each field is declared as
|
! each field is declared as
|
||||||
! type name;comment
|
! type name;comment
|
||||||
|
|
Binary file not shown.
|
@ -33,12 +33,12 @@ enable2ndByteCanID = false
|
||||||
|
|
||||||
[MegaTune]
|
[MegaTune]
|
||||||
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
|
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
|
||||||
signature = "rusEFI 2020.07.26.all.1848812543"
|
signature = "rusEFI 2020.07.27.all.173557045"
|
||||||
|
|
||||||
[TunerStudio]
|
[TunerStudio]
|
||||||
queryCommand = "S"
|
queryCommand = "S"
|
||||||
versionInfo = "V" ; firmwave version for title bar.
|
versionInfo = "V" ; firmwave version for title bar.
|
||||||
signature = "rusEFI 2020.07.26.all.1848812543" ; signature is expected to be 7 or more characters.
|
signature = "rusEFI 2020.07.27.all.173557045" ; signature is expected to be 7 or more characters.
|
||||||
|
|
||||||
[Constants]
|
[Constants]
|
||||||
; new packet serial format with CRC
|
; new packet serial format with CRC
|
||||||
|
@ -76,7 +76,7 @@ enable2ndByteCanID = false
|
||||||
|
|
||||||
; see PAGE_0_SIZE in C source code
|
; see PAGE_0_SIZE in C source code
|
||||||
; CONFIG_DEFINITION_START
|
; CONFIG_DEFINITION_START
|
||||||
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Jul 26 19:08:53 UTC 2020
|
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Jul 27 13:47:09 UTC 2020
|
||||||
|
|
||||||
pageSize = 20000
|
pageSize = 20000
|
||||||
page = 1
|
page = 1
|
||||||
|
|
|
@ -33,12 +33,12 @@ enable2ndByteCanID = false
|
||||||
|
|
||||||
[MegaTune]
|
[MegaTune]
|
||||||
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
|
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
|
||||||
signature = "rusEFI 2020.07.26.frankenso_na6.2964705052"
|
signature = "rusEFI 2020.07.27.frankenso_na6.3571395030"
|
||||||
|
|
||||||
[TunerStudio]
|
[TunerStudio]
|
||||||
queryCommand = "S"
|
queryCommand = "S"
|
||||||
versionInfo = "V" ; firmwave version for title bar.
|
versionInfo = "V" ; firmwave version for title bar.
|
||||||
signature = "rusEFI 2020.07.26.frankenso_na6.2964705052" ; signature is expected to be 7 or more characters.
|
signature = "rusEFI 2020.07.27.frankenso_na6.3571395030" ; signature is expected to be 7 or more characters.
|
||||||
|
|
||||||
[Constants]
|
[Constants]
|
||||||
; new packet serial format with CRC
|
; new packet serial format with CRC
|
||||||
|
@ -76,7 +76,7 @@ enable2ndByteCanID = false
|
||||||
|
|
||||||
; see PAGE_0_SIZE in C source code
|
; see PAGE_0_SIZE in C source code
|
||||||
; CONFIG_DEFINITION_START
|
; CONFIG_DEFINITION_START
|
||||||
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Jul 26 19:08:57 UTC 2020
|
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Jul 27 13:47:14 UTC 2020
|
||||||
|
|
||||||
pageSize = 20000
|
pageSize = 20000
|
||||||
page = 1
|
page = 1
|
||||||
|
|
|
@ -33,12 +33,12 @@ enable2ndByteCanID = false
|
||||||
|
|
||||||
[MegaTune]
|
[MegaTune]
|
||||||
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
|
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
|
||||||
signature = "rusEFI 2020.07.26.kin.2735505253"
|
signature = "rusEFI 2020.07.27.kin.3345389999"
|
||||||
|
|
||||||
[TunerStudio]
|
[TunerStudio]
|
||||||
queryCommand = "S"
|
queryCommand = "S"
|
||||||
versionInfo = "V" ; firmwave version for title bar.
|
versionInfo = "V" ; firmwave version for title bar.
|
||||||
signature = "rusEFI 2020.07.26.kin.2735505253" ; signature is expected to be 7 or more characters.
|
signature = "rusEFI 2020.07.27.kin.3345389999" ; signature is expected to be 7 or more characters.
|
||||||
|
|
||||||
[Constants]
|
[Constants]
|
||||||
; new packet serial format with CRC
|
; new packet serial format with CRC
|
||||||
|
@ -76,7 +76,7 @@ enable2ndByteCanID = false
|
||||||
|
|
||||||
; see PAGE_0_SIZE in C source code
|
; see PAGE_0_SIZE in C source code
|
||||||
; CONFIG_DEFINITION_START
|
; CONFIG_DEFINITION_START
|
||||||
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Sun Jul 26 19:09:03 UTC 2020
|
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Mon Jul 27 13:47:20 UTC 2020
|
||||||
|
|
||||||
pageSize = 20000
|
pageSize = 20000
|
||||||
page = 1
|
page = 1
|
||||||
|
|
|
@ -33,12 +33,12 @@ enable2ndByteCanID = false
|
||||||
|
|
||||||
[MegaTune]
|
[MegaTune]
|
||||||
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
|
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
|
||||||
signature = "rusEFI 2020.07.26.mre_f4.667710833"
|
signature = "rusEFI 2020.07.27.mre_f4.1134990267"
|
||||||
|
|
||||||
[TunerStudio]
|
[TunerStudio]
|
||||||
queryCommand = "S"
|
queryCommand = "S"
|
||||||
versionInfo = "V" ; firmwave version for title bar.
|
versionInfo = "V" ; firmwave version for title bar.
|
||||||
signature = "rusEFI 2020.07.26.mre_f4.667710833" ; signature is expected to be 7 or more characters.
|
signature = "rusEFI 2020.07.27.mre_f4.1134990267" ; signature is expected to be 7 or more characters.
|
||||||
|
|
||||||
[Constants]
|
[Constants]
|
||||||
; new packet serial format with CRC
|
; new packet serial format with CRC
|
||||||
|
@ -76,7 +76,7 @@ enable2ndByteCanID = false
|
||||||
|
|
||||||
; see PAGE_0_SIZE in C source code
|
; see PAGE_0_SIZE in C source code
|
||||||
; CONFIG_DEFINITION_START
|
; CONFIG_DEFINITION_START
|
||||||
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Jul 26 19:08:56 UTC 2020
|
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Jul 27 13:47:12 UTC 2020
|
||||||
|
|
||||||
pageSize = 20000
|
pageSize = 20000
|
||||||
page = 1
|
page = 1
|
||||||
|
|
|
@ -33,12 +33,12 @@ enable2ndByteCanID = false
|
||||||
|
|
||||||
[MegaTune]
|
[MegaTune]
|
||||||
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
|
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
|
||||||
signature = "rusEFI 2020.07.26.mre_f7.667710833"
|
signature = "rusEFI 2020.07.27.mre_f7.1134990267"
|
||||||
|
|
||||||
[TunerStudio]
|
[TunerStudio]
|
||||||
queryCommand = "S"
|
queryCommand = "S"
|
||||||
versionInfo = "V" ; firmwave version for title bar.
|
versionInfo = "V" ; firmwave version for title bar.
|
||||||
signature = "rusEFI 2020.07.26.mre_f7.667710833" ; signature is expected to be 7 or more characters.
|
signature = "rusEFI 2020.07.27.mre_f7.1134990267" ; signature is expected to be 7 or more characters.
|
||||||
|
|
||||||
[Constants]
|
[Constants]
|
||||||
; new packet serial format with CRC
|
; new packet serial format with CRC
|
||||||
|
@ -76,7 +76,7 @@ enable2ndByteCanID = false
|
||||||
|
|
||||||
; see PAGE_0_SIZE in C source code
|
; see PAGE_0_SIZE in C source code
|
||||||
; CONFIG_DEFINITION_START
|
; CONFIG_DEFINITION_START
|
||||||
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Jul 26 19:08:55 UTC 2020
|
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Jul 27 13:47:11 UTC 2020
|
||||||
|
|
||||||
pageSize = 20000
|
pageSize = 20000
|
||||||
page = 1
|
page = 1
|
||||||
|
|
|
@ -33,12 +33,12 @@ enable2ndByteCanID = false
|
||||||
|
|
||||||
[MegaTune]
|
[MegaTune]
|
||||||
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
|
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
|
||||||
signature = "rusEFI 2020.07.26.prometheus_405.2603514747"
|
signature = "rusEFI 2020.07.27.prometheus_405.4282686897"
|
||||||
|
|
||||||
[TunerStudio]
|
[TunerStudio]
|
||||||
queryCommand = "S"
|
queryCommand = "S"
|
||||||
versionInfo = "V" ; firmwave version for title bar.
|
versionInfo = "V" ; firmwave version for title bar.
|
||||||
signature = "rusEFI 2020.07.26.prometheus_405.2603514747" ; signature is expected to be 7 or more characters.
|
signature = "rusEFI 2020.07.27.prometheus_405.4282686897" ; signature is expected to be 7 or more characters.
|
||||||
|
|
||||||
[Constants]
|
[Constants]
|
||||||
; new packet serial format with CRC
|
; new packet serial format with CRC
|
||||||
|
@ -76,7 +76,7 @@ enable2ndByteCanID = false
|
||||||
|
|
||||||
; see PAGE_0_SIZE in C source code
|
; see PAGE_0_SIZE in C source code
|
||||||
; CONFIG_DEFINITION_START
|
; CONFIG_DEFINITION_START
|
||||||
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Jul 26 19:08:59 UTC 2020
|
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Jul 27 13:47:16 UTC 2020
|
||||||
|
|
||||||
pageSize = 20000
|
pageSize = 20000
|
||||||
page = 1
|
page = 1
|
||||||
|
|
|
@ -33,12 +33,12 @@ enable2ndByteCanID = false
|
||||||
|
|
||||||
[MegaTune]
|
[MegaTune]
|
||||||
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
|
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
|
||||||
signature = "rusEFI 2020.07.26.prometheus_469.2603514747"
|
signature = "rusEFI 2020.07.27.prometheus_469.4282686897"
|
||||||
|
|
||||||
[TunerStudio]
|
[TunerStudio]
|
||||||
queryCommand = "S"
|
queryCommand = "S"
|
||||||
versionInfo = "V" ; firmwave version for title bar.
|
versionInfo = "V" ; firmwave version for title bar.
|
||||||
signature = "rusEFI 2020.07.26.prometheus_469.2603514747" ; signature is expected to be 7 or more characters.
|
signature = "rusEFI 2020.07.27.prometheus_469.4282686897" ; signature is expected to be 7 or more characters.
|
||||||
|
|
||||||
[Constants]
|
[Constants]
|
||||||
; new packet serial format with CRC
|
; new packet serial format with CRC
|
||||||
|
@ -76,7 +76,7 @@ enable2ndByteCanID = false
|
||||||
|
|
||||||
; see PAGE_0_SIZE in C source code
|
; see PAGE_0_SIZE in C source code
|
||||||
; CONFIG_DEFINITION_START
|
; CONFIG_DEFINITION_START
|
||||||
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Jul 26 19:08:58 UTC 2020
|
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Jul 27 13:47:15 UTC 2020
|
||||||
|
|
||||||
pageSize = 20000
|
pageSize = 20000
|
||||||
page = 1
|
page = 1
|
||||||
|
|
|
@ -33,12 +33,12 @@ enable2ndByteCanID = false
|
||||||
|
|
||||||
[MegaTune]
|
[MegaTune]
|
||||||
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
|
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
|
||||||
signature = "rusEFI 2020.07.26.proteus_f4.3819164208"
|
signature = "rusEFI 2020.07.27.proteus_f4.2278110458"
|
||||||
|
|
||||||
[TunerStudio]
|
[TunerStudio]
|
||||||
queryCommand = "S"
|
queryCommand = "S"
|
||||||
versionInfo = "V" ; firmwave version for title bar.
|
versionInfo = "V" ; firmwave version for title bar.
|
||||||
signature = "rusEFI 2020.07.26.proteus_f4.3819164208" ; signature is expected to be 7 or more characters.
|
signature = "rusEFI 2020.07.27.proteus_f4.2278110458" ; signature is expected to be 7 or more characters.
|
||||||
|
|
||||||
[Constants]
|
[Constants]
|
||||||
; new packet serial format with CRC
|
; new packet serial format with CRC
|
||||||
|
@ -76,7 +76,7 @@ enable2ndByteCanID = false
|
||||||
|
|
||||||
; see PAGE_0_SIZE in C source code
|
; see PAGE_0_SIZE in C source code
|
||||||
; CONFIG_DEFINITION_START
|
; CONFIG_DEFINITION_START
|
||||||
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Jul 26 19:09:02 UTC 2020
|
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Jul 27 13:47:18 UTC 2020
|
||||||
|
|
||||||
pageSize = 20000
|
pageSize = 20000
|
||||||
page = 1
|
page = 1
|
||||||
|
|
|
@ -33,12 +33,12 @@ enable2ndByteCanID = false
|
||||||
|
|
||||||
[MegaTune]
|
[MegaTune]
|
||||||
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
|
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
|
||||||
signature = "rusEFI 2020.07.26.proteus_f7.3819164208"
|
signature = "rusEFI 2020.07.27.proteus_f7.2278110458"
|
||||||
|
|
||||||
[TunerStudio]
|
[TunerStudio]
|
||||||
queryCommand = "S"
|
queryCommand = "S"
|
||||||
versionInfo = "V" ; firmwave version for title bar.
|
versionInfo = "V" ; firmwave version for title bar.
|
||||||
signature = "rusEFI 2020.07.26.proteus_f7.3819164208" ; signature is expected to be 7 or more characters.
|
signature = "rusEFI 2020.07.27.proteus_f7.2278110458" ; signature is expected to be 7 or more characters.
|
||||||
|
|
||||||
[Constants]
|
[Constants]
|
||||||
; new packet serial format with CRC
|
; new packet serial format with CRC
|
||||||
|
@ -76,7 +76,7 @@ enable2ndByteCanID = false
|
||||||
|
|
||||||
; see PAGE_0_SIZE in C source code
|
; see PAGE_0_SIZE in C source code
|
||||||
; CONFIG_DEFINITION_START
|
; CONFIG_DEFINITION_START
|
||||||
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Jul 26 19:09:00 UTC 2020
|
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Jul 27 13:47:17 UTC 2020
|
||||||
|
|
||||||
pageSize = 20000
|
pageSize = 20000
|
||||||
page = 1
|
page = 1
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package com.rusefi.autodetect;
|
package com.rusefi.autodetect;
|
||||||
|
|
||||||
import com.rusefi.FileLog;
|
import com.devexperts.logging.Logging;
|
||||||
import com.rusefi.NamedThreadFactory;
|
import com.rusefi.NamedThreadFactory;
|
||||||
import com.rusefi.io.IoStream;
|
import com.rusefi.io.IoStream;
|
||||||
import com.rusefi.io.LinkManager;
|
import com.rusefi.io.LinkManager;
|
||||||
|
@ -19,19 +19,23 @@ import java.util.function.Function;
|
||||||
* Andrey Belomutskiy, (c) 2013-2020
|
* Andrey Belomutskiy, (c) 2013-2020
|
||||||
*/
|
*/
|
||||||
public class PortDetector {
|
public class PortDetector {
|
||||||
|
private final static Logging log = Logging.getLogging(PortDetector.class);
|
||||||
|
|
||||||
private static final NamedThreadFactory AUTO_DETECT_PORT = new NamedThreadFactory("AutoDetectPort");
|
private static final NamedThreadFactory AUTO_DETECT_PORT = new NamedThreadFactory("AutoDetectPort");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Connect to all serial ports and find out which one respond first
|
* Connect to all serial ports and find out which one respond first
|
||||||
* @param callback
|
* @param callback
|
||||||
|
* @return port name on which rusEFI was detected or null if none
|
||||||
*/
|
*/
|
||||||
|
@Nullable
|
||||||
public static String autoDetectSerial(Function<IoStream, Void> callback) {
|
public static String autoDetectSerial(Function<IoStream, Void> callback) {
|
||||||
String[] serialPorts = getPortNames();
|
String[] serialPorts = getPortNames();
|
||||||
if (serialPorts.length == 0) {
|
if (serialPorts.length == 0) {
|
||||||
System.err.println("No serial ports detected");
|
log.error("No serial ports detected");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
FileLog.MAIN.logLine("Trying " + Arrays.toString(serialPorts));
|
log.info("Trying " + Arrays.toString(serialPorts));
|
||||||
List<Thread> serialFinder = new ArrayList<>();
|
List<Thread> serialFinder = new ArrayList<>();
|
||||||
CountDownLatch portFound = new CountDownLatch(1);
|
CountDownLatch portFound = new CountDownLatch(1);
|
||||||
AtomicReference<String> result = new AtomicReference<>();
|
AtomicReference<String> result = new AtomicReference<>();
|
|
@ -232,7 +232,7 @@ public class BinaryProtocolServer implements BinaryProtocolCommands {
|
||||||
int fromPacket = IoHelper.getCrc32(packet);
|
int fromPacket = IoHelper.getCrc32(packet);
|
||||||
if (crc != fromPacket)
|
if (crc != fromPacket)
|
||||||
throw new IllegalStateException("CRC mismatch crc=" + Integer.toString(crc, 16) + " vs packet=" + Integer.toString(fromPacket, 16) + " len=" + packet.length + " data: " + IoStream.printHexBinary(packet));
|
throw new IllegalStateException("CRC mismatch crc=" + Integer.toString(crc, 16) + " vs packet=" + Integer.toString(fromPacket, 16) + " len=" + packet.length + " data: " + IoStream.printHexBinary(packet));
|
||||||
// todo?! in.onPacketArrived();
|
in.onPacketArrived();
|
||||||
return new Packet(packet, crc);
|
return new Packet(packet, crc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,11 @@ public class NetworkConnector implements Closeable {
|
||||||
private final static Logging log = Logging.getLogging(NetworkConnector.class);
|
private final static Logging log = Logging.getLogging(NetworkConnector.class);
|
||||||
private boolean isClosed;
|
private boolean isClosed;
|
||||||
|
|
||||||
public NetworkConnectorResult runNetworkConnector(String authToken, String controllerPort, NetworkConnectorContext context, ReconnectListener reconnectListener) {
|
public NetworkConnectorResult start(String authToken, String controllerPort, NetworkConnectorContext context) {
|
||||||
|
return start(authToken, controllerPort, context, ReconnectListener.VOID);
|
||||||
|
}
|
||||||
|
|
||||||
|
public NetworkConnectorResult start(String authToken, String controllerPort, NetworkConnectorContext context, ReconnectListener reconnectListener) {
|
||||||
LinkManager controllerConnector = new LinkManager()
|
LinkManager controllerConnector = new LinkManager()
|
||||||
.setCompositeLogicEnabled(false)
|
.setCompositeLogicEnabled(false)
|
||||||
.setNeedPullData(false);
|
.setNeedPullData(false);
|
||||||
|
@ -74,7 +78,7 @@ public class NetworkConnector implements Closeable {
|
||||||
proxyReconnectSemaphore.acquire();
|
proxyReconnectSemaphore.acquire();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
runNetworkConnector(context.serverPortForControllers(), controllerConnector, authToken, (String message) -> {
|
start(context.serverPortForControllers(), controllerConnector, authToken, (String message) -> {
|
||||||
log.error(message + " Disconnect from proxy server detected, now sleeping " + context.reconnectDelay() + " seconds");
|
log.error(message + " Disconnect from proxy server detected, now sleeping " + context.reconnectDelay() + " seconds");
|
||||||
sleep(context.reconnectDelay() * Timeouts.SECOND);
|
sleep(context.reconnectDelay() * Timeouts.SECOND);
|
||||||
log.debug("Releasing semaphore");
|
log.debug("Releasing semaphore");
|
||||||
|
@ -94,7 +98,7 @@ public class NetworkConnector implements Closeable {
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private static SessionDetails runNetworkConnector(int serverPortForControllers, LinkManager linkManager, String authToken, final TcpIoStream.DisconnectListener disconnectListener, int oneTimeToken, ControllerInfo controllerInfo, final NetworkConnectorContext context) throws IOException {
|
private static SessionDetails start(int serverPortForControllers, LinkManager linkManager, String authToken, final TcpIoStream.DisconnectListener disconnectListener, int oneTimeToken, ControllerInfo controllerInfo, final NetworkConnectorContext context) throws IOException {
|
||||||
IoStream targetEcuSocket = linkManager.getConnector().getBinaryProtocol().getStream();
|
IoStream targetEcuSocket = linkManager.getConnector().getBinaryProtocol().getStream();
|
||||||
|
|
||||||
SessionDetails deviceSessionDetails = new SessionDetails(controllerInfo, authToken, oneTimeToken);
|
SessionDetails deviceSessionDetails = new SessionDetails(controllerInfo, authToken, oneTimeToken);
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package com.rusefi.config.generated;
|
package com.rusefi.config.generated;
|
||||||
|
|
||||||
// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Jul 26 19:08:53 UTC 2020
|
// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Jul 27 13:47:09 UTC 2020
|
||||||
|
|
||||||
// by class com.rusefi.output.FileJavaFieldsConsumer
|
// by class com.rusefi.output.FileJavaFieldsConsumer
|
||||||
import com.rusefi.config.*;
|
import com.rusefi.config.*;
|
||||||
|
@ -1057,7 +1057,7 @@ public class Fields {
|
||||||
public static final int servoOutputPins8_offset = 3147;
|
public static final int servoOutputPins8_offset = 3147;
|
||||||
public static final int showHumanReadableWarning_offset = 976;
|
public static final int showHumanReadableWarning_offset = 976;
|
||||||
public static final int showSdCardWarning_offset = 76;
|
public static final int showSdCardWarning_offset = 76;
|
||||||
public static final int SIGNATURE_HASH = 1848812543;
|
public static final int SIGNATURE_HASH = 173557045;
|
||||||
public static final int silentTriggerError_offset = 1464;
|
public static final int silentTriggerError_offset = 1464;
|
||||||
public static final int slowAdcAlpha_offset = 2088;
|
public static final int slowAdcAlpha_offset = 2088;
|
||||||
public static final int sparkDwellRpmBins_offset = 332;
|
public static final int sparkDwellRpmBins_offset = 332;
|
||||||
|
@ -1304,7 +1304,7 @@ public class Fields {
|
||||||
public static final int TS_RESPONSE_COMMAND_OK = 7;
|
public static final int TS_RESPONSE_COMMAND_OK = 7;
|
||||||
public static final int TS_RESPONSE_OK = 0;
|
public static final int TS_RESPONSE_OK = 0;
|
||||||
public static final char TS_SET_LOGGER_SWITCH = 'l';
|
public static final char TS_SET_LOGGER_SWITCH = 'l';
|
||||||
public static final String TS_SIGNATURE = "rusEFI 2020.07.26.all.1848812543";
|
public static final String TS_SIGNATURE = "rusEFI 2020.07.27.all.173557045";
|
||||||
public static final char TS_SINGLE_WRITE_COMMAND = 'W';
|
public static final char TS_SINGLE_WRITE_COMMAND = 'W';
|
||||||
public static final int tunerStudioSerialSpeed_offset = 728;
|
public static final int tunerStudioSerialSpeed_offset = 728;
|
||||||
public static final int twoWireBatchIgnition_offset = 1476;
|
public static final int twoWireBatchIgnition_offset = 1476;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<roms>
|
<roms>
|
||||||
|
|
||||||
<!-- was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh Sun Jul 26 19:08:54 UTC 2020 -->
|
<!-- was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh Mon Jul 27 13:47:10 UTC 2020 -->
|
||||||
|
|
||||||
<rom>
|
<rom>
|
||||||
<romid>
|
<romid>
|
||||||
|
|
|
@ -5,7 +5,6 @@ import com.rusefi.auth.AutoTokenUtil;
|
||||||
import com.rusefi.autodetect.PortDetector;
|
import com.rusefi.autodetect.PortDetector;
|
||||||
import com.rusefi.proxy.NetworkConnector;
|
import com.rusefi.proxy.NetworkConnector;
|
||||||
import com.rusefi.proxy.NetworkConnectorContext;
|
import com.rusefi.proxy.NetworkConnectorContext;
|
||||||
import com.rusefi.tools.online.ProxyClient;
|
|
||||||
import com.rusefi.ui.AuthTokenPanel;
|
import com.rusefi.ui.AuthTokenPanel;
|
||||||
|
|
||||||
public class NetworkConnectorStartup {
|
public class NetworkConnectorStartup {
|
||||||
|
@ -25,7 +24,7 @@ public class NetworkConnectorStartup {
|
||||||
|
|
||||||
NetworkConnectorContext connectorContext = new NetworkConnectorContext();
|
NetworkConnectorContext connectorContext = new NetworkConnectorContext();
|
||||||
|
|
||||||
NetworkConnector.NetworkConnectorResult networkConnectorResult = new NetworkConnector().runNetworkConnector(authToken, autoDetectedPort, connectorContext, NetworkConnector.ReconnectListener.VOID);
|
NetworkConnector.NetworkConnectorResult networkConnectorResult = new NetworkConnector().start(authToken, autoDetectedPort, connectorContext);
|
||||||
log.info("Running with oneTimeToken=" + networkConnectorResult.getOneTimeToken());
|
log.info("Running with oneTimeToken=" + networkConnectorResult.getOneTimeToken());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -101,7 +101,7 @@ public class FullServerTest {
|
||||||
};
|
};
|
||||||
|
|
||||||
// start "rusEFI network connector" to connect controller with backend since in real life controller has only local serial port it does not have network
|
// start "rusEFI network connector" to connect controller with backend since in real life controller has only local serial port it does not have network
|
||||||
NetworkConnector.NetworkConnectorResult networkConnectorResult = new NetworkConnector().runNetworkConnector(TestHelper.TEST_TOKEN_1, TestHelper.LOCALHOST + ":" + controllerPort, networkConnectorContext, NetworkConnector.ReconnectListener.VOID);
|
NetworkConnector.NetworkConnectorResult networkConnectorResult = new NetworkConnector().start(TestHelper.TEST_TOKEN_1, TestHelper.LOCALHOST + ":" + controllerPort, networkConnectorContext, NetworkConnector.ReconnectListener.VOID);
|
||||||
ControllerInfo controllerInfo = networkConnectorResult.getControllerInfo();
|
ControllerInfo controllerInfo = networkConnectorResult.getControllerInfo();
|
||||||
|
|
||||||
TestHelper.assertLatch("controllerRegistered", controllerRegistered);
|
TestHelper.assertLatch("controllerRegistered", controllerRegistered);
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package com.rusefi;
|
package com.rusefi;
|
||||||
|
|
||||||
import com.opensr5.Logger;
|
|
||||||
import com.rusefi.config.generated.Fields;
|
import com.rusefi.config.generated.Fields;
|
||||||
import com.rusefi.io.IoStream;
|
import com.rusefi.io.IoStream;
|
||||||
import com.rusefi.io.commands.GetOutputsCommand;
|
import com.rusefi.io.commands.GetOutputsCommand;
|
||||||
|
@ -34,8 +33,6 @@ import static org.junit.Assert.assertEquals;
|
||||||
* https://github.com/rusefi/web_backend/blob/master/documentation/rusEFI%20remote.png
|
* https://github.com/rusefi/web_backend/blob/master/documentation/rusEFI%20remote.png
|
||||||
*/
|
*/
|
||||||
public class ServerTest {
|
public class ServerTest {
|
||||||
private final static Logger logger = Logger.CONSOLE;
|
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setup() throws MalformedURLException {
|
public void setup() throws MalformedURLException {
|
||||||
BackendTestHelper.commonServerTest();
|
BackendTestHelper.commonServerTest();
|
||||||
|
@ -126,7 +123,7 @@ covered by FullServerTest
|
||||||
TestHelper.createVirtualController(controllerPort, new ConfigurationImage(Fields.TOTAL_CONFIG_SIZE), logger);
|
TestHelper.createVirtualController(controllerPort, new ConfigurationImage(Fields.TOTAL_CONFIG_SIZE), logger);
|
||||||
|
|
||||||
// start "rusEFI network connector" to connect controller with backend since in real life controller has only local serial port it does not have network
|
// start "rusEFI network connector" to connect controller with backend since in real life controller has only local serial port it does not have network
|
||||||
SessionDetails deviceSessionDetails = NetworkConnector.runNetworkConnector(MockRusEfiDevice.TEST_TOKEN_1, TestHelper.LOCALHOST + ":" + controllerPort, serverPortForControllers);
|
SessionDetails deviceSessionDetails = NetworkConnector.start(MockRusEfiDevice.TEST_TOKEN_1, TestHelper.LOCALHOST + ":" + controllerPort, serverPortForControllers);
|
||||||
|
|
||||||
assertTrue(controllerRegistered.await(READ_IMAGE_TIMEOUT, TimeUnit.MILLISECONDS));
|
assertTrue(controllerRegistered.await(READ_IMAGE_TIMEOUT, TimeUnit.MILLISECONDS));
|
||||||
|
|
||||||
|
|
|
@ -75,7 +75,7 @@ public class NetworkConnectorTest {
|
||||||
reconnectCounter.countDown();
|
reconnectCounter.countDown();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
new NetworkConnector().runNetworkConnector(TestHelper.TEST_TOKEN_1, TestHelper.LOCALHOST + ":" + controllerPort, connectorContext, reconnectListener);
|
new NetworkConnector().start(TestHelper.TEST_TOKEN_1, TestHelper.LOCALHOST + ":" + controllerPort, connectorContext, reconnectListener);
|
||||||
|
|
||||||
assertLatch(reconnectCounter);
|
assertLatch(reconnectCounter);
|
||||||
|
|
||||||
|
|
|
@ -1,15 +1,84 @@
|
||||||
package com.rusefi.ts_plugin;
|
package com.rusefi.ts_plugin;
|
||||||
|
|
||||||
|
import com.rusefi.auth.AutoTokenUtil;
|
||||||
|
import com.rusefi.autodetect.PortDetector;
|
||||||
|
import com.rusefi.autoupdate.AutoupdateUtil;
|
||||||
import com.rusefi.proxy.NetworkConnector;
|
import com.rusefi.proxy.NetworkConnector;
|
||||||
|
import com.rusefi.proxy.NetworkConnectorContext;
|
||||||
|
import com.rusefi.ui.AuthTokenPanel;
|
||||||
|
import com.rusefi.ui.util.URLLabel;
|
||||||
|
import org.putgemin.VerticalFlowLayout;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
import java.awt.event.ActionEvent;
|
||||||
|
import java.awt.event.ActionListener;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see PluginEntry
|
||||||
|
*/
|
||||||
public class BroadcastTab {
|
public class BroadcastTab {
|
||||||
private final JComponent content = new JPanel();
|
private final JComponent content = new JPanel(new VerticalFlowLayout());
|
||||||
|
|
||||||
|
private final JLabel status = new JLabel();
|
||||||
|
private final JButton disconnect = new JButton("Disconnect");
|
||||||
|
private NetworkConnector networkConnector;
|
||||||
|
|
||||||
public BroadcastTab() {
|
public BroadcastTab() {
|
||||||
// NetworkConnector
|
JButton broadcast = new JButton("Broadcast");
|
||||||
|
disconnect.setEnabled(false);
|
||||||
|
|
||||||
|
broadcast.addActionListener(e -> {
|
||||||
|
String authToken = AuthTokenPanel.getAuthToken();
|
||||||
|
if (!AutoTokenUtil.isToken(authToken)) {
|
||||||
|
status.setText("Auth token is required to broadcast ECU");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
new Thread(() -> {
|
||||||
|
String autoDetectedPort = PortDetector.autoDetectSerial(null);
|
||||||
|
SwingUtilities.invokeLater(() -> {
|
||||||
|
startBroadcasting(authToken, autoDetectedPort);
|
||||||
|
});
|
||||||
|
|
||||||
|
}).start();
|
||||||
|
});
|
||||||
|
|
||||||
|
disconnect.addActionListener(new ActionListener() {
|
||||||
|
@Override
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
networkConnector.close();
|
||||||
|
disconnect.setEnabled(false);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
content.add(broadcast);
|
||||||
|
content.add(status);
|
||||||
|
content.add(disconnect);
|
||||||
|
content.add(new URLLabel(RemoteTab.HOWTO_REMOTE_TUNING));
|
||||||
|
content.add(new JLabel(PluginEntry.LOGO));
|
||||||
|
|
||||||
|
AutoupdateUtil.trueLayout(content);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void startBroadcasting(String authToken, String autoDetectedPort) {
|
||||||
|
if (autoDetectedPort == null) {
|
||||||
|
status.setText("<html>rusEFI ECU not detected.<br/>Please make sure that TunerStudio is currently not connected to ECU.</html>");
|
||||||
|
} else {
|
||||||
|
status.setText("rusEFI detected at " + autoDetectedPort);
|
||||||
|
disconnect.setEnabled(true);
|
||||||
|
|
||||||
|
NetworkConnectorContext connectorContext = new NetworkConnectorContext();
|
||||||
|
|
||||||
|
new Thread(() -> {
|
||||||
|
networkConnector = new NetworkConnector();
|
||||||
|
|
||||||
|
NetworkConnector.NetworkConnectorResult networkConnectorResult = networkConnector.start(authToken, autoDetectedPort, connectorContext);
|
||||||
|
|
||||||
|
SwingUtilities.invokeLater(() -> status.setText("One time password to connect to this ECU: " + networkConnectorResult.getOneTimeToken()));
|
||||||
|
|
||||||
|
}).start();
|
||||||
|
}
|
||||||
|
AutoupdateUtil.trueLayout(content);
|
||||||
}
|
}
|
||||||
|
|
||||||
public JComponent getContent() {
|
public JComponent getContent() {
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package com.rusefi.ts_plugin;
|
package com.rusefi.ts_plugin;
|
||||||
|
|
||||||
import com.efiAnalytics.plugin.ecu.ControllerAccess;
|
import com.efiAnalytics.plugin.ecu.ControllerAccess;
|
||||||
|
import com.rusefi.autoupdate.AutoupdateUtil;
|
||||||
import com.rusefi.ts_plugin.util.ManifestHelper;
|
import com.rusefi.ts_plugin.util.ManifestHelper;
|
||||||
import com.rusefi.tune.xml.Constant;
|
import com.rusefi.tune.xml.Constant;
|
||||||
|
|
||||||
|
@ -11,10 +12,17 @@ import java.util.function.Supplier;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@link TsPluginLauncher} creates an instance of this class via reflection.
|
* {@link TsPluginLauncher} creates an instance of this class via reflection.
|
||||||
|
* @see UploadTab upload tune & TODO upload logs
|
||||||
|
* @see RemoteTab remote ECU access & control
|
||||||
|
* @see BroadcastTab offer your ECU for remove access & control
|
||||||
|
* @see PluginBodySandbox
|
||||||
*/
|
*/
|
||||||
public class PluginEntry implements TsPluginBody {
|
public class PluginEntry implements TsPluginBody {
|
||||||
private final JPanel content = new JPanel(new BorderLayout());
|
private final JPanel content = new JPanel(new BorderLayout());
|
||||||
|
|
||||||
|
static final ImageIcon LOGO = AutoupdateUtil.loadIcon("/rusefi_online_color_300.png");
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* the real constructor - this one is invoked via reflection
|
* the real constructor - this one is invoked via reflection
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -29,10 +29,14 @@ import java.util.concurrent.atomic.AtomicReference;
|
||||||
import static com.rusefi.ui.storage.PersistentConfiguration.getConfig;
|
import static com.rusefi.ui.storage.PersistentConfiguration.getConfig;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* see RemoteTabSandbox
|
* remote ECU access & control
|
||||||
|
*
|
||||||
|
* @see RemoteTabSandbox
|
||||||
|
* @see PluginEntry
|
||||||
*/
|
*/
|
||||||
public class RemoteTab {
|
public class RemoteTab {
|
||||||
private static final String APPLICATION_PORT = "application_port";
|
private static final String APPLICATION_PORT = "application_port";
|
||||||
|
public static final String HOWTO_REMOTE_TUNING = "https://github.com/rusefi/rusefi/wiki/HOWTO-Remote-Tuning";
|
||||||
private final JComponent content = new JPanel(new BorderLayout());
|
private final JComponent content = new JPanel(new BorderLayout());
|
||||||
|
|
||||||
private final JPanel list = new JPanel(new VerticalFlowLayout());
|
private final JPanel list = new JPanel(new VerticalFlowLayout());
|
||||||
|
@ -87,7 +91,7 @@ public class RemoteTab {
|
||||||
topPanel.add(oneTimePasswordControl);
|
topPanel.add(oneTimePasswordControl);
|
||||||
|
|
||||||
topLines.add(topPanel);
|
topLines.add(topPanel);
|
||||||
topLines.add(new URLLabel("https://github.com/rusefi/rusefi/wiki/HOWTO-Remote-Tuning"));
|
topLines.add(new URLLabel(HOWTO_REMOTE_TUNING));
|
||||||
|
|
||||||
content.add(topLines, BorderLayout.NORTH);
|
content.add(topLines, BorderLayout.NORTH);
|
||||||
content.add(list, BorderLayout.CENTER);
|
content.add(list, BorderLayout.CENTER);
|
||||||
|
|
|
@ -142,8 +142,7 @@ public class UploadTab {
|
||||||
content.add(uploadView.getContent());
|
content.add(uploadView.getContent());
|
||||||
content.add(upload);
|
content.add(upload);
|
||||||
|
|
||||||
ImageIcon LOGO = AutoupdateUtil.loadIcon("/rusefi_online_color_300.png");
|
content.add(new JLabel(PluginEntry.LOGO));
|
||||||
content.add(new JLabel(LOGO));
|
|
||||||
content.add(tokenPanel.getContent());
|
content.add(tokenPanel.getContent());
|
||||||
content.add(new URLLabel(REO_URL));
|
content.add(new URLLabel(REO_URL));
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,9 @@ import static org.mockito.Mockito.mock;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see PluginLauncherSandbox
|
* Sandbox for plugin body
|
||||||
|
*
|
||||||
|
* @see PluginLauncherSandbox for plugin auto-update launcher
|
||||||
*/
|
*/
|
||||||
public class PluginBodySandbox {
|
public class PluginBodySandbox {
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,9 @@ package com.rusefi.ts_plugin;
|
||||||
|
|
||||||
import com.rusefi.ui.util.FrameHelper;
|
import com.rusefi.ui.util.FrameHelper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see PluginBodySandbox
|
||||||
|
*/
|
||||||
public class RemoteTabSandbox {
|
public class RemoteTabSandbox {
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
new FrameHelper().showFrame(new RemoteTab().getContent());
|
new FrameHelper().showFrame(new RemoteTab().getContent());
|
||||||
|
|
|
@ -2,6 +2,9 @@ package com.rusefi.ts_plugin;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sandbox for {@link TsPluginLauncher}
|
||||||
|
*/
|
||||||
public class PluginLauncherSandbox {
|
public class PluginLauncherSandbox {
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
JFrame frame = new JFrame();
|
JFrame frame = new JFrame();
|
||||||
|
|
|
@ -7,7 +7,12 @@ import org.putgemin.VerticalFlowLayout;
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* This class is the more permanent part of the plug, it's responsible for refreshing and launcher PluginEntry via reflections.
|
||||||
|
* which downloads the main more volatile UI part (PluginEntry)
|
||||||
|
*
|
||||||
* by the way TS installs stuff into %user%\.efianalytics\TunerStudio\plugins folder
|
* by the way TS installs stuff into %user%\.efianalytics\TunerStudio\plugins folder
|
||||||
|
* @see PluginLauncherSandbox sandbox for this
|
||||||
|
* see PluginEntry
|
||||||
*/
|
*/
|
||||||
public class TsPluginLauncher implements ApplicationPlugin {
|
public class TsPluginLauncher implements ApplicationPlugin {
|
||||||
public static final int BUILD_VERSION = 3;
|
public static final int BUILD_VERSION = 3;
|
||||||
|
|
|
@ -20,9 +20,13 @@ import java.util.concurrent.atomic.AtomicInteger;
|
||||||
|
|
||||||
import static com.rusefi.ts_plugin.TsPluginLauncher.VERSION;
|
import static com.rusefi.ts_plugin.TsPluginLauncher.VERSION;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Download fresh copy of {@link #PLUGIN_BODY_JAR} and launch {@link #PLUGIN_ENTRY_CLASS} via reflection.
|
||||||
|
*/
|
||||||
public class Updater {
|
public class Updater {
|
||||||
|
private static final String PLUGIN_ENTRY_CLASS = "com.rusefi.ts_plugin.PluginEntry";
|
||||||
private static final String PLUGIN_BODY_JAR = "rusefi_plugin_body.jar";
|
private static final String PLUGIN_BODY_JAR = "rusefi_plugin_body.jar";
|
||||||
public static final String LOCAL_JAR_FILE_NAME = FileUtil.RUSEFI_SETTINGS_FOLDER + File.separator + PLUGIN_BODY_JAR;
|
private static final String LOCAL_JAR_FILE_NAME = FileUtil.RUSEFI_SETTINGS_FOLDER + File.separator + PLUGIN_BODY_JAR;
|
||||||
private static final String TITLE = "rusEFI plugin installer " + VERSION;
|
private static final String TITLE = "rusEFI plugin installer " + VERSION;
|
||||||
|
|
||||||
private final JPanel content = new JPanel(new VerticalFlowLayout());
|
private final JPanel content = new JPanel(new VerticalFlowLayout());
|
||||||
|
@ -187,7 +191,7 @@ public class Updater {
|
||||||
|
|
||||||
private static Class getPluginClass() throws MalformedURLException, ClassNotFoundException {
|
private static Class getPluginClass() throws MalformedURLException, ClassNotFoundException {
|
||||||
URLClassLoader jarClassLoader = AutoupdateUtil.getClassLoaderByJar(LOCAL_JAR_FILE_NAME);
|
URLClassLoader jarClassLoader = AutoupdateUtil.getClassLoaderByJar(LOCAL_JAR_FILE_NAME);
|
||||||
return Class.forName("com.rusefi.ts_plugin.PluginEntry", true, jarClassLoader);
|
return Class.forName(PLUGIN_ENTRY_CLASS, true, jarClassLoader);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void replaceWith(TsPluginBody instance) {
|
private void replaceWith(TsPluginBody instance) {
|
||||||
|
|
Loading…
Reference in New Issue