Gen config refactor 1 (#1558)

* fix signature

* gen_config refactor, part I

* Add empty cache.zip

Co-authored-by: Andrei <andreikagit@users.noreply.github.com>
This commit is contained in:
andreika-git 2020-07-02 15:16:18 +03:00 committed by GitHub
parent 1e109821fa
commit 11f1988803
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
46 changed files with 109 additions and 30073 deletions

View File

@ -22,7 +22,8 @@ java \
-Drusefi.generator.lazyfile.enabled=true \
-jar ../java_tools/ConfigDefinition.jar \
-definition integration/rusefi_config.txt \
-cache tunerstudio/cache/kinetis \
-cache kinetis \
-cache_zip_file tunerstudio/cache.zip \
-ts_destination tunerstudio \
-tool kinetis_gen_config.bat \
-firing_order controllers/algo/firing_order.h \

View File

@ -19,7 +19,8 @@ java -DSystemOut.name=gen_config \
-definition integration/rusefi_config.txt \
-romraider integration \
-ts_destination tunerstudio \
-cache tunerstudio/cache \
-cache . \
-cache_zip_file tunerstudio/cache.zip \
-with_c_defines false \
-initialize_to_zero false \
-tool gen_config.sh \

View File

@ -34,7 +34,8 @@ java -DSystemOut.name=gen_config_board \
-definition integration/rusefi_config.txt \
-tool gen_config.sh \
-ts_destination tunerstudio \
-cache tunerstudio/cache/${BOARDNAME} \
-cache ${BOARDNAME} \
-cache_zip_file tunerstudio/cache.zip \
-firing_order controllers/algo/firing_order.h \
-ts_output_name rusefi_${BOARDNAME}.ini \
-signature tunerstudio/signature_${SHORT_BOARDNAME}.txt \

View File

@ -5,35 +5,40 @@ rm gen_live_documentation.log
java -DSystemOut.name=gen_live_documentation \
-jar ../java_tools/ConfigDefinition.jar \
-definition integration/pid_state.txt \
-cache tunerstudio/cache \
-cache_zip_file tunerstudio/cache.zip \
-cache . \
-java_destination ../java_console/models/src/com/rusefi/config/generated/PidState.java \
-c_destination controllers/generated/pid_state_generated.h
java -DSystemOut.name=gen_live_documentation \
-jar ../java_tools/ConfigDefinition.jar \
-definition integration/engine_state.txt \
-cache tunerstudio/cache \
-cache_zip_file tunerstudio/cache.zip \
-cache . \
-java_destination ../java_console/models/src/com/rusefi/config/generated/EngineState.java \
-c_destination controllers/generated/engine_state_generated.h
java -DSystemOut.name=gen_live_documentation \
-jar ../java_tools/ConfigDefinition.jar \
-definition integration/trigger_central.txt \
-cache tunerstudio/cache \
-cache_zip_file tunerstudio/cache.zip \
-cache . \
-java_destination ../java_console/models/src/com/rusefi/config/generated/TriggerCentral.java \
-c_destination controllers/generated/trigger_central_generated.h
java -DSystemOut.name=gen_live_documentation \
-jar ../java_tools/ConfigDefinition.jar \
-definition integration/trigger_state.txt \
-cache tunerstudio/cache \
-cache_zip_file tunerstudio/cache.zip \
-cache . \
-java_destination ../java_console/models/src/com/rusefi/config/generated/TriggerState.java \
-c_destination controllers/generated/trigger_state_generated.h
java -DSystemOut.name=gen_live_documentation \
-jar ../java_tools/ConfigDefinition.jar \
-definition integration/wall_fuel_state.txt \
-cache tunerstudio/cache \
-cache_zip_file tunerstudio/cache.zip \
-cache . \
-java_destination ../java_console/models/src/com/rusefi/config/generated/WallFuelState.java \
-c_destination controllers/generated/wall_fuel_generated.h

View File

@ -10,8 +10,8 @@ echo "#define SIGNATURE_DATE $date" > tunerstudio/signature_${SHORT_BOARDNAME}.t
echo "#define SIGNATURE_BOARD ${SHORT_BOARDNAME}" >> tunerstudio/signature_${SHORT_BOARDNAME}.txt
nanosec=$(date +"%N")
# numbers starting from 0 can be treated as octal numbers
[[ "$nanosec" =~ ^0*([0-9]+)$ ]] && nanosec="${BASH_REMATCH[1]}"
# prevent octal numbers once and for all
nanosec="1$nanosec"
hash=$(($nanosec % 2147483648))
echo "#define SIGNATURE_HASH $hash" >> tunerstudio/signature_${SHORT_BOARDNAME}.txt

Binary file not shown.

View File

@ -1,109 +0,0 @@
struct_no_prefix engine_state2_s
struct_no_prefix speed_density_s
bit isTChargeAirModel
float airMassInOneCylinder;Speed-density logic: calculated air mass in one cylinder, in grams
float tCharge;speed density\nRate-of-change limiter is applied to degrees, so we store both Kelvin and degrees.;
float tChargeK
float Tcharge_coff
floatms_t airFlow
float manifoldAirPressureAccelerationAdjustment;
float adjustedManifoldAirPressure;
! speed_density_s
end_struct
speed_density_s sd;
struct_no_prefix idle_state_s
idle_state_e idleState
percent_t currentIdlePosition;that's current position with CLT and IAT corrections
percent_t baseIdlePosition;current position without adjustments (iacByTpsTaper, afterCrankingIACtaperDuration)
int throttlePedalUpState;true in IDLE throttle pedal state, false if driver is touching the pedal\ntodo: better name for this field?
percent_t etbIdleAddition;ETB position adjustment related to idle RPM control
! end of idle_state_s structure definition
end_struct
! actually define a member of 'idle_state_s' type
idle_state_s idle;
float targetAFR
float engineCycleDurationMs;
float minRpmKcurrentTPS
int currentTpsAdc
float tpsVoltageMCU
float tpsVoltageBoard
float currentBaroCorrectedVE;
float injectorFlowCorrection;
float baroCorrection;
bit isCrankingState
bit isAutomaticIdle
struct cranking_fuel_s
floatms_t baseFuel;Duration of injection, in ms. During cranking we do not account for injector flow, so if you change injectors you would need to change settings.\nDeprecated. Please use '1'.\nTODO: maybe account for injector flow?
float coolantTemperatureCoefficient;
float tpsCoefficient
float durationCoefficient
floatms_t fuel;Actual injection duration based on all above coefficients.
! end of cranking_s structure definition
end_struct
! actually define a member of 'cranking_s' type
cranking_fuel_s cranking
struct running_fuel_s
float postCrankingFuelCorrection
float intakeTemperatureCoefficient
float coolantTemperatureCoefficient
float timeSinceCrankingInSecs
floatms_t injectorLag;injectorLag(VBatt)\nthis value depends on a slow-changing VBatt value, so\nwe update it once in a while
floatms_t pidCorrection;closed-loop fuel correction
floatms_t baseFuel;
floatms_t fuel;Actual injection duration with CLT, IAT and TPS acceleration corrections per cycle, as squirt duration.\nWithout injector lag.\n@see baseFuel\n@see actualLastInjection
! end of running_fuel_s structure definition
end_struct
! actually define a member of 'running_fuel_s' type
running_fuel_s running
percent_t etbFeedForward;
percent_t targetFromTable
! spark-related
floatms_t sparkDwell;ignition dwell duration in ms\nSee also dwellAngle
angle_t dwellAngle;ignition dwell duration as crankshaft angle\nNAN if engine is stopped\nSee also sparkDwell
angle_t cltTimingCorrection
! engine_state2_s
end_struct

View File

@ -1,69 +0,0 @@
/*
* @file firing_order.h
*
* See also FiringOrderTSLogic.java
*
* @date Jul 20, 2016
* @author Andrey Belomutskiy, (c) 2012-2020
*/
#include "rusefi_enums.h"
#pragma once
typedef enum {
FO_1 = 0,
// 2 cylinder
FO_1_2 = 8,
// 3 cylinder
FO_1_2_3 = 10,
FO_1_3_2 = 24,
// 4 cylinder
FO_1_3_4_2 = 1, // typical inline 4
FO_1_2_4_3 = 2,
FO_1_3_2_4 = 3, // for example horizontally opposed engine
FO_1_4_3_2 = 17, // for example VW aircooled boxer engine
// 5 cylinder
FO_1_2_4_5_3 = 6,
// 6 cylinder
FO_1_5_3_6_2_4 = 4,
FO_1_4_2_5_3_6 = 7,
FO_1_2_3_4_5_6 = 9,
FO_1_6_3_2_5_4 = 13, // EG33
// todo: one day we shall support 7 cylinder radial, probably not before one actually approaches us
// 8 cylinder
FO_1_8_4_3_6_5_7_2 = 5,
FO_1_8_7_2_6_5_4_3 = 11,
FO_1_5_4_2_6_3_7_8 = 12,
FO_1_2_7_8_4_5_6_3 = 19,
FO_1_3_7_2_6_5_4_8 = 20, // Ford 5.0 HO and 351W
// 9 cylinder - for instance radial :)
// PS: Matt says that 9cyl is actually 1-3-5-7-9-2-4-6-8 or 1-8-6-4-2-9-7-5-3 for reverse rotation
FO_1_2_3_4_5_6_7_8_9 = 21,
// 10 cylinder
FO_1_10_9_4_3_6_5_8_7_2 = 14, // dodge and viper ram v10
// 12 cylinder
FO_1_7_5_11_3_9_6_12_2_8_4_10 = 15, // bmw M70 & M73 etc
FO_1_7_4_10_2_8_6_12_3_9_5_11 = 16, // lamborghini, typical rusEfi use-case
FO_1_12_5_8_3_10_6_7_2_11_4_9 = 18, // VAG W12
FO_1_2_3_4_5_6_7_8_9_10_11_12 = 23, // mostly for hardware testing purposes
// 16 cylinder
// unfortunately not supported by default firmware because INJECTION_PIN_COUNT=IGNITION_PIN_COUNT=12 by default
FO_1_14_9_4_7_12_15_6_13_8_3_16_11_2_5_10 = 22, // WR16
// max used = 24
Force_4b_firing_order = ENUM_32_BITS,
} firing_order_e;

View File

@ -1,69 +0,0 @@
/*
* @file firing_order.h
*
* See also FiringOrderTSLogic.java
*
* @date Jul 20, 2016
* @author Andrey Belomutskiy, (c) 2012-2020
*/
#include "rusefi_enums.h"
#pragma once
typedef enum {
FO_1 = 0,
// 2 cylinder
FO_1_2 = 8,
// 3 cylinder
FO_1_2_3 = 10,
FO_1_3_2 = 24,
// 4 cylinder
FO_1_3_4_2 = 1, // typical inline 4
FO_1_2_4_3 = 2,
FO_1_3_2_4 = 3, // for example horizontally opposed engine
FO_1_4_3_2 = 17, // for example VW aircooled boxer engine
// 5 cylinder
FO_1_2_4_5_3 = 6,
// 6 cylinder
FO_1_5_3_6_2_4 = 4,
FO_1_4_2_5_3_6 = 7,
FO_1_2_3_4_5_6 = 9,
FO_1_6_3_2_5_4 = 13, // EG33
// todo: one day we shall support 7 cylinder radial, probably not before one actually approaches us
// 8 cylinder
FO_1_8_4_3_6_5_7_2 = 5,
FO_1_8_7_2_6_5_4_3 = 11,
FO_1_5_4_2_6_3_7_8 = 12,
FO_1_2_7_8_4_5_6_3 = 19,
FO_1_3_7_2_6_5_4_8 = 20, // Ford 5.0 HO and 351W
// 9 cylinder - for instance radial :)
// PS: Matt says that 9cyl is actually 1-3-5-7-9-2-4-6-8 or 1-8-6-4-2-9-7-5-3 for reverse rotation
FO_1_2_3_4_5_6_7_8_9 = 21,
// 10 cylinder
FO_1_10_9_4_3_6_5_8_7_2 = 14, // dodge and viper ram v10
// 12 cylinder
FO_1_7_5_11_3_9_6_12_2_8_4_10 = 15, // bmw M70 & M73 etc
FO_1_7_4_10_2_8_6_12_3_9_5_11 = 16, // lamborghini, typical rusEfi use-case
FO_1_12_5_8_3_10_6_7_2_11_4_9 = 18, // VAG W12
FO_1_2_3_4_5_6_7_8_9_10_11_12 = 23, // mostly for hardware testing purposes
// 16 cylinder
// unfortunately not supported by default firmware because INJECTION_PIN_COUNT=IGNITION_PIN_COUNT=12 by default
FO_1_14_9_4_7_12_15_6_13_8_3_16_11_2_5_10 = 22, // WR16
// max used = 24
Force_4b_firing_order = ENUM_32_BITS,
} firing_order_e;

View File

@ -1,2 +0,0 @@
#define output_pin_e_enum "NONE","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","Injector 3Z","Injector 3Y","Injector 3W","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","Coil 1H","INVALID","Coil 1F","INVALID","INVALID","INVALID","Injector 2M","INVALID","INVALID","INVALID","INVALID","INVALID","Injector 3U","INVALID","Injector 3X","INVALID","Injector 2N","Coil 1O","Coil 1P","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","Injector 3V","Injector 3S","Injector 3T","Injector 2O","Injector 2P","INVALID","Coil 1L","INVALID","Coil 1I","INVALID","Coil 1M","INVALID","Coil 1G","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID"
#define adc_channel_e_enum "Analog 3O","Analog 3L","Analog 3M","Analog 3J","Analog 3I","INVALID","Analog 3H","Analog 3G","INVALID","INVALID","INVALID","Analog 3P","Analog 3Q","Analog 3N","Analog VBatt","Analog 3E","NONE"

View File

@ -1 +0,0 @@

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,69 +0,0 @@
/*
* @file firing_order.h
*
* See also FiringOrderTSLogic.java
*
* @date Jul 20, 2016
* @author Andrey Belomutskiy, (c) 2012-2020
*/
#include "rusefi_enums.h"
#pragma once
typedef enum {
FO_1 = 0,
// 2 cylinder
FO_1_2 = 8,
// 3 cylinder
FO_1_2_3 = 10,
FO_1_3_2 = 24,
// 4 cylinder
FO_1_3_4_2 = 1, // typical inline 4
FO_1_2_4_3 = 2,
FO_1_3_2_4 = 3, // for example horizontally opposed engine
FO_1_4_3_2 = 17, // for example VW aircooled boxer engine
// 5 cylinder
FO_1_2_4_5_3 = 6,
// 6 cylinder
FO_1_5_3_6_2_4 = 4,
FO_1_4_2_5_3_6 = 7,
FO_1_2_3_4_5_6 = 9,
FO_1_6_3_2_5_4 = 13, // EG33
// todo: one day we shall support 7 cylinder radial, probably not before one actually approaches us
// 8 cylinder
FO_1_8_4_3_6_5_7_2 = 5,
FO_1_8_7_2_6_5_4_3 = 11,
FO_1_5_4_2_6_3_7_8 = 12,
FO_1_2_7_8_4_5_6_3 = 19,
FO_1_3_7_2_6_5_4_8 = 20, // Ford 5.0 HO and 351W
// 9 cylinder - for instance radial :)
// PS: Matt says that 9cyl is actually 1-3-5-7-9-2-4-6-8 or 1-8-6-4-2-9-7-5-3 for reverse rotation
FO_1_2_3_4_5_6_7_8_9 = 21,
// 10 cylinder
FO_1_10_9_4_3_6_5_8_7_2 = 14, // dodge and viper ram v10
// 12 cylinder
FO_1_7_5_11_3_9_6_12_2_8_4_10 = 15, // bmw M70 & M73 etc
FO_1_7_4_10_2_8_6_12_3_9_5_11 = 16, // lamborghini, typical rusEfi use-case
FO_1_12_5_8_3_10_6_7_2_11_4_9 = 18, // VAG W12
FO_1_2_3_4_5_6_7_8_9_10_11_12 = 23, // mostly for hardware testing purposes
// 16 cylinder
// unfortunately not supported by default firmware because INJECTION_PIN_COUNT=IGNITION_PIN_COUNT=12 by default
FO_1_14_9_4_7_12_15_6_13_8_3_16_11_2_5_10 = 22, // WR16
// max used = 24
Force_4b_firing_order = ENUM_32_BITS,
} firing_order_e;

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,15 +0,0 @@
! see "integration/rusefi_config.txt" for more details
! all these #defines are in priority over the "default" values in rusefi_config.txt
! see firmware/config/boards/kinetis/rusefi_hw_enums.h
#define brain_pin_e_enum "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PA16", "PA17", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PB16", "PB17", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PC16", "PC17", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PE16", "PE17", "TLE6240_1", "TLE6240_2", "TLE6240_3", "TLE6240_4", "TLE6240_5", "TLE6240_6", "TLE6240_7", "TLE6240_8", "TLE6240_9", "TLE6240_10", "TLE6240_11", "TLE6240_12", "TLE6240_13", "TLE6240_14", "TLE6240_15", "TLE6240_16"
! Based on Kinetis KE1xF pinout (64-pin package)
#define brain_input_pin_e_enum "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "N/A", "N/A", "PA10", "PA11", "PA12", "PA13", "N/A", "N/A", "N/A", "N/A", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "N/A", "N/A", "N/A", "N/A", "PB12", "PB13", "N/A", "N/A", "N/A", "N/A", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "N/A", "N/A", "N/A", "N/A", "PC14", "PC15", "PC16", "PC17", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "PD15", "PD16", "N/A", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A"
#define switch_input_pin_e_enum "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "N/A", "N/A", "PA10", "PA11", "PA12", "PA13", "N/A", "N/A", "N/A", "N/A", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "N/A", "N/A", "N/A", "N/A", "PB12", "PB13", "N/A", "N/A", "N/A", "N/A", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "N/A", "N/A", "N/A", "N/A", "PC14", "PC15", "PC16", "PC17", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "PD15", "PD16", "N/A", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A"
#define output_pin_e_enum "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "N/A", "N/A", "PA10", "PA11", "PA12", "PA13", "N/A", "N/A", "N/A", "N/A", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "N/A", "N/A", "N/A", "N/A", "PB12", "PB13", "N/A", "N/A", "N/A", "N/A", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "N/A", "N/A", "N/A", "N/A", "PC14", "PC15", "PC16", "PC17", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "PD15", "PD16", "N/A", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "TLE6240_1", "TLE6240_2", "TLE6240_3", "TLE6240_4", "TLE6240_5", "TLE6240_6", "TLE6240_7", "TLE6240_8", "TLE6240_9", "TLE6240_10", "TLE6240_11", "TLE6240_12", "TLE6240_13", "TLE6240_14", "TLE6240_15", "TLE6240_16"
#define adc_channel_e_enum "PA2", "PA3", "INVALID", "PD3", "INVALID", "INVALID", "INVALID", "PB12", "PB13", "INVALID", "PE2", "INVALID", "PC14", "PC15", "PC16", "PC17", "Disabled", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
#define ts_show_trigger_comparator true

View File

@ -1,69 +0,0 @@
/*
* @file firing_order.h
*
* See also FiringOrderTSLogic.java
*
* @date Jul 20, 2016
* @author Andrey Belomutskiy, (c) 2012-2020
*/
#include "rusefi_enums.h"
#pragma once
typedef enum {
FO_1 = 0,
// 2 cylinder
FO_1_2 = 8,
// 3 cylinder
FO_1_2_3 = 10,
FO_1_3_2 = 24,
// 4 cylinder
FO_1_3_4_2 = 1, // typical inline 4
FO_1_2_4_3 = 2,
FO_1_3_2_4 = 3, // for example horizontally opposed engine
FO_1_4_3_2 = 17, // for example VW aircooled boxer engine
// 5 cylinder
FO_1_2_4_5_3 = 6,
// 6 cylinder
FO_1_5_3_6_2_4 = 4,
FO_1_4_2_5_3_6 = 7,
FO_1_2_3_4_5_6 = 9,
FO_1_6_3_2_5_4 = 13, // EG33
// todo: one day we shall support 7 cylinder radial, probably not before one actually approaches us
// 8 cylinder
FO_1_8_4_3_6_5_7_2 = 5,
FO_1_8_7_2_6_5_4_3 = 11,
FO_1_5_4_2_6_3_7_8 = 12,
FO_1_2_7_8_4_5_6_3 = 19,
FO_1_3_7_2_6_5_4_8 = 20, // Ford 5.0 HO and 351W
// 9 cylinder - for instance radial :)
// PS: Matt says that 9cyl is actually 1-3-5-7-9-2-4-6-8 or 1-8-6-4-2-9-7-5-3 for reverse rotation
FO_1_2_3_4_5_6_7_8_9 = 21,
// 10 cylinder
FO_1_10_9_4_3_6_5_8_7_2 = 14, // dodge and viper ram v10
// 12 cylinder
FO_1_7_5_11_3_9_6_12_2_8_4_10 = 15, // bmw M70 & M73 etc
FO_1_7_4_10_2_8_6_12_3_9_5_11 = 16, // lamborghini, typical rusEfi use-case
FO_1_12_5_8_3_10_6_7_2_11_4_9 = 18, // VAG W12
FO_1_2_3_4_5_6_7_8_9_10_11_12 = 23, // mostly for hardware testing purposes
// 16 cylinder
// unfortunately not supported by default firmware because INJECTION_PIN_COUNT=IGNITION_PIN_COUNT=12 by default
FO_1_14_9_4_7_12_15_6_13_8_3_16_11_2_5_10 = 22, // WR16
// max used = 24
Force_4b_firing_order = ENUM_32_BITS,
} firing_order_e;

View File

@ -1,4 +0,0 @@
#define output_pin_e_enum "NONE","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","AUX J2 PA15","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","AUX J2 PB8","AUX J2 PB9","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","AUX J2 PC12","INVALID","INVALID","INVALID","INVALID","12 - Ignition 4","11 - Ignition 3","10 - Ignition 2","9 - Ignition 1","INVALID","13 - GP Out 6","14 - GP Out 5","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","35 - GP Out 1","7 - Lowside 1","3 - Lowside 2","42 - Injector 4","41 - Injector 3","38 - Injector 2","37 - Injector 1","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","34 - GP Out 2","33 - GP Out 3","43 - GP Out 4","INVALID","INVALID","INVALID"
#define adc_channel_e_enum "18 - AN temp 1","23 - AN temp 2","24 - AN temp 3","22 - AN temp 4","28 - AN volt 10","INVALID","26 - AN volt 2","31 - AN volt 3","36 - AN volt 8","40 - AN volt 9","27 - AN volt 1","Battery Sense","19 - AN volt 4","20 - AN volt 5","32 - AN volt 6","30 - AN volt 7","NONE"
#define brain_input_pin_e_enum "NONE","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","25 - Hall Cam","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","45 - VR/Hall Crank","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID"
#define switch_input_pin_e_enum "NONE","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","Brake Switch","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","Clutch Switch","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID"

View File

@ -1,22 +0,0 @@
#define ts_show_hip9011 false
#define ts_show_cj125 false
//Jokeri says it's better with full pinout just in case
//#define ts_show_full_pinout false
#define ts_show_lcd false
#define ts_show_joystick false
#define ts_show_egt false
#define ts_show_gps false
#define ts_show_etb_pins false
#define ts_show_analog_divider false
#define ts_show_spi true
#define ts_show_sd_card true
#define ts_show_can_pins false
#define ts_show_tunerstudio_port false
#define ts_show_main_relay false
#define ts_show_main_relay_microRusEFI_message true
#define show_test_presets false
#define show_Frankenso_presets false
#define show_Proteus_presets false

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,11 +0,0 @@
struct_no_prefix pid_state_s
float iTerm;
float dTerm;we are remembering this only for debugging purposes
float target;only used for logging
float input;only used for logging
float output;only used for logging
float errorAmplificationCoef;
float previousError
end_struct

View File

@ -1,69 +0,0 @@
/*
* @file firing_order.h
*
* See also FiringOrderTSLogic.java
*
* @date Jul 20, 2016
* @author Andrey Belomutskiy, (c) 2012-2020
*/
#include "rusefi_enums.h"
#pragma once
typedef enum {
FO_1 = 0,
// 2 cylinder
FO_1_2 = 8,
// 3 cylinder
FO_1_2_3 = 10,
FO_1_3_2 = 24,
// 4 cylinder
FO_1_3_4_2 = 1, // typical inline 4
FO_1_2_4_3 = 2,
FO_1_3_2_4 = 3, // for example horizontally opposed engine
FO_1_4_3_2 = 17, // for example VW aircooled boxer engine
// 5 cylinder
FO_1_2_4_5_3 = 6,
// 6 cylinder
FO_1_5_3_6_2_4 = 4,
FO_1_4_2_5_3_6 = 7,
FO_1_2_3_4_5_6 = 9,
FO_1_6_3_2_5_4 = 13, // EG33
// todo: one day we shall support 7 cylinder radial, probably not before one actually approaches us
// 8 cylinder
FO_1_8_4_3_6_5_7_2 = 5,
FO_1_8_7_2_6_5_4_3 = 11,
FO_1_5_4_2_6_3_7_8 = 12,
FO_1_2_7_8_4_5_6_3 = 19,
FO_1_3_7_2_6_5_4_8 = 20, // Ford 5.0 HO and 351W
// 9 cylinder - for instance radial :)
// PS: Matt says that 9cyl is actually 1-3-5-7-9-2-4-6-8 or 1-8-6-4-2-9-7-5-3 for reverse rotation
FO_1_2_3_4_5_6_7_8_9 = 21,
// 10 cylinder
FO_1_10_9_4_3_6_5_8_7_2 = 14, // dodge and viper ram v10
// 12 cylinder
FO_1_7_5_11_3_9_6_12_2_8_4_10 = 15, // bmw M70 & M73 etc
FO_1_7_4_10_2_8_6_12_3_9_5_11 = 16, // lamborghini, typical rusEfi use-case
FO_1_12_5_8_3_10_6_7_2_11_4_9 = 18, // VAG W12
FO_1_2_3_4_5_6_7_8_9_10_11_12 = 23, // mostly for hardware testing purposes
// 16 cylinder
// unfortunately not supported by default firmware because INJECTION_PIN_COUNT=IGNITION_PIN_COUNT=12 by default
FO_1_14_9_4_7_12_15_6_13_8_3_16_11_2_5_10 = 22, // WR16
// max used = 24
Force_4b_firing_order = ENUM_32_BITS,
} firing_order_e;

View File

@ -1,4 +0,0 @@
! https://github.com/andreika-git/prometheus/raw/master/hardware/prometheus-wiring-diagram.pdf
#define ts_show_hip9011 false
#define ts_show_etb false

View File

@ -1,2 +0,0 @@
#define output_pin_e_enum "NONE","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","Injector 3Z","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID"
#define adc_channel_e_enum "Analog 3O","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","NONE"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,69 +0,0 @@
/*
* @file firing_order.h
*
* See also FiringOrderTSLogic.java
*
* @date Jul 20, 2016
* @author Andrey Belomutskiy, (c) 2012-2020
*/
#include "rusefi_enums.h"
#pragma once
typedef enum {
FO_1 = 0,
// 2 cylinder
FO_1_2 = 8,
// 3 cylinder
FO_1_2_3 = 10,
FO_1_3_2 = 24,
// 4 cylinder
FO_1_3_4_2 = 1, // typical inline 4
FO_1_2_4_3 = 2,
FO_1_3_2_4 = 3, // for example horizontally opposed engine
FO_1_4_3_2 = 17, // for example VW aircooled boxer engine
// 5 cylinder
FO_1_2_4_5_3 = 6,
// 6 cylinder
FO_1_5_3_6_2_4 = 4,
FO_1_4_2_5_3_6 = 7,
FO_1_2_3_4_5_6 = 9,
FO_1_6_3_2_5_4 = 13, // EG33
// todo: one day we shall support 7 cylinder radial, probably not before one actually approaches us
// 8 cylinder
FO_1_8_4_3_6_5_7_2 = 5,
FO_1_8_7_2_6_5_4_3 = 11,
FO_1_5_4_2_6_3_7_8 = 12,
FO_1_2_7_8_4_5_6_3 = 19,
FO_1_3_7_2_6_5_4_8 = 20, // Ford 5.0 HO and 351W
// 9 cylinder - for instance radial :)
// PS: Matt says that 9cyl is actually 1-3-5-7-9-2-4-6-8 or 1-8-6-4-2-9-7-5-3 for reverse rotation
FO_1_2_3_4_5_6_7_8_9 = 21,
// 10 cylinder
FO_1_10_9_4_3_6_5_8_7_2 = 14, // dodge and viper ram v10
// 12 cylinder
FO_1_7_5_11_3_9_6_12_2_8_4_10 = 15, // bmw M70 & M73 etc
FO_1_7_4_10_2_8_6_12_3_9_5_11 = 16, // lamborghini, typical rusEfi use-case
FO_1_12_5_8_3_10_6_7_2_11_4_9 = 18, // VAG W12
FO_1_2_3_4_5_6_7_8_9_10_11_12 = 23, // mostly for hardware testing purposes
// 16 cylinder
// unfortunately not supported by default firmware because INJECTION_PIN_COUNT=IGNITION_PIN_COUNT=12 by default
FO_1_14_9_4_7_12_15_6_13_8_3_16_11_2_5_10 = 22, // WR16
// max used = 24
Force_4b_firing_order = ENUM_32_BITS,
} firing_order_e;

View File

@ -1,12 +0,0 @@
#define ts_show_hip9011 false
#define ts_show_cj125 false
#define ts_show_full_pinout false
#define ts_show_lcd false
#define ts_show_joystick false
#define ts_show_egt false
#define ts_show_gps false
#define ts_show_analog_divider false
#define ts_show_spi false
#define ts_show_sd_card false
#define ts_show_can_pins false
#define ts_show_tunerstudio_port false

View File

@ -1,4 +0,0 @@
#define output_pin_e_enum "NONE","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","Highside 2","Highside 1","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","Lowside 8","Lowside 9","Lowside 10","Lowside 11","Lowside 12","Lowside 13","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","Ign 5","Ign 4","Ign 3","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","Ign 2","Ign 1","INVALID","INVALID","Lowside 1","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","Highside 4","Highside 3","Lowside 14","Lowside 15","Lowside 16","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","Ign 12","Ign 11","Ign 10","Ign 9","Ign 8","Ign 7","Ign 6","Lowside 2","Lowside 3","Lowside 4","Lowside 5","Lowside 6","Lowside 7","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID"
#define adc_channel_e_enum "Analog Volt 5","Analog Volt 6","Analog Volt 7","Analog Volt 8","Analog Volt 9","Analog Volt 10","Analog Volt 11","Battery Sense","Analog Temp 3","Analog Temp 4","Analog Volt 1","Analog Volt 2","Analog Volt 3","Analog Volt 4","Analog Temp 1","Analog Temp 2","NONE"
#define brain_input_pin_e_enum "NONE","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","Digital 1","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","VR 1","VR 2","INVALID","INVALID","Digital 2","Digital 3","Digital 4","Digital 5","Digital 6","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID"
#define switch_input_pin_e_enum "NONE","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","Digital 1","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","Digital 2","Digital 3","Digital 4","Digital 5","Digital 6","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,9 +0,0 @@
Problem statement:
we want fast local processing in case of no changes, and we want working processing with GitHub Actions
GitHub Actions are executed with fresh clone and git does not carry timestamps this is creating challenges for us.
See https://git.wiki.kernel.org/index.php/Git_FAQ#Why_isn.27t_Git_preserving_modification_time_on_files.3F
See https://stackoverflow.com/questions/2179722/checking-out-old-file-with-original-create-modified-timestamps

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,240 +0,0 @@
<roms>
<!-- @@generator_message@@ -->
<rom>
<romid>
<xmlid>RUSEFI</xmlid>
<internalidaddress>0</internalidaddress>
<internalidstring>OPEN_SR5_0.1</internalidstring>
<ecuid>RUSEFI</ecuid>
<make>rusEfi</make>
<model>rusEfi</model>
<filesize>@@TOTAL_CONFIG_SIZE@@</filesize>
</romid>
<table type="3D" name="Ignition Advance"
category="Ignition"
storageaddress="@@ignitionTable_offset_hex@@"
sizex="@@IGN_RPM_COUNT@@" sizey="@@IGN_LOAD_COUNT@@" storagetype="float" endian="big">
<scaling units="Engine Load" expression="x" to_byte="x" format="0.00" fineincrement=".1"
coarseincrement="1"/>
<table type="X Axis" storageaddress="@@ignitionRpmBins_offset_hex@@" storagetype="float" endian="big"
logparam="rpm">
<scaling units="RPM" expression="x" to_byte="x" format="0.00" fineincrement=".1" coarseincrement="1"/>
</table>
<table type="Y Axis" storageaddress="@@ignitionLoadBins_offset_hex@@" storagetype="float" endian="big"
logparam="engine_load">
<scaling units="degree" expression="x" to_byte="x" format="0.00" fineincrement=".1"
coarseincrement="1"/>
</table>
</table>
<table type="3D" name="Ignition Advance IAT correction"
category="Ignition"
storageaddress="@@ignitionIatCorrTable_offset_hex@@"
sizex="@@IGN_RPM_COUNT@@" sizey="@@IGN_LOAD_COUNT@@" storagetype="float" endian="big">
<scaling units="Engine Load" expression="x" to_byte="x" format="0.00" fineincrement=".1"
coarseincrement="1"/>
<table type="X Axis" storageaddress="@@ignitionIatCorrRpmBins_offset_hex@@" storagetype="float" endian="big"
logparam="rpm">
<scaling units="RPM" expression="x" to_byte="x" format="0.00" fineincrement=".1" coarseincrement="1"/>
</table>
<table type="Y Axis" storageaddress="@@ignitionIatCorrLoadBins_offset_hex@@" storagetype="float"
endian="big" logparam="engine_load">
<scaling units="temperature, C" expression="x" to_byte="x" format="0.00" fineincrement=".1"
coarseincrement="1"/>
</table>
</table>
<table type="3D" name="Volumetric Efficiency"
category="Fuel"
storageaddress="@@veTable_offset_hex@@"
sizex="@@FUEL_RPM_COUNT@@" sizey="@@FUEL_LOAD_COUNT@@" storagetype="float" endian="big">
<scaling units="Engine Load" expression="x" to_byte="x" format="0.00" fineincrement=".1"
coarseincrement="1"/>
<table type="X Axis" storageaddress="@@veRpmBins_offset_hex@@" storagetype="float" endian="big"
logparam="rpm">
<scaling units="RPM" expression="x" to_byte="x" format="0.00" fineincrement=".1" coarseincrement="1"/>
</table>
<table type="Y Axis" storageaddress="@@veLoadBins_offset_hex@@" storagetype="float" endian="big"
logparam="engine_load">
<scaling units="degree" expression="x" to_byte="x" format="0.00" fineincrement=".1"
coarseincrement="1"/>
</table>
</table>
<table type="3D" name="Fuel Table"
category="Fuel"
storageaddress="@@fuelTable_offset_hex@@" sizex="@@FUEL_RPM_COUNT@@"
sizey="@@FUEL_LOAD_COUNT@@" storagetype="float" endian="big">
<scaling units="Engine Load" expression="x" to_byte="x" format="0.00" fineincrement=".1"
coarseincrement="1"/>
<table type="X Axis" storageaddress="@@fuelRpmBins_offset_hex@@" storagetype="float" endian="big"
logparam="engine_load">
<scaling units="RPM" expression="x" to_byte="x" format="0.00" fineincrement=".1"
coarseincrement="1"/>
</table>
<table type="Y Axis" storageaddress="@@fuelLoadBins_offset_hex@@" storagetype="float" endian="big"
logparam="rpm">
<scaling units="engine_load" expression="x" to_byte="x" format="0.00" fineincrement=".1" coarseincrement="1"/>
</table>
</table>
<table type="3D" name="FSIO Table #1"
category="FSIO"
storageaddress="@@fsioTable1_offset_hex@@" sizex="@@FSIO_TABLE_8@@"
sizey="@@FSIO_TABLE_8@@" storagetype="float" endian="big">
<scaling units="Engine Load" expression="x" to_byte="x" format="0.00" fineincrement=".1"
coarseincrement="1"/>
<table type="X Axis" storageaddress="@@fsioTable1RpmBins_offset_hex@@" storagetype="float" endian="big"
logparam="">
<scaling units="RPM" expression="x" to_byte="x" format="0.00" fineincrement=".1"
coarseincrement="1"/>
</table>
<table type="Y Axis" storageaddress="@@fsioTable1LoadBins_offset_hex@@" storagetype="float" endian="big"
logparam="rpm">
<scaling units="engine_load" expression="x" to_byte="x" format="0.00" fineincrement=".1" coarseincrement="1"/>
</table>
</table>
<table type="3D" name="FSIO Table #2"
category="FSIO"
storageaddress="@@fsioTable2_offset_hex@@" sizex="@@FSIO_TABLE_8@@"
sizey="@@FSIO_TABLE_8@@" storagetype="uint8" endian="big">
<scaling units="Engine Load" expression="x" to_byte="x" format="0.00" fineincrement=".1"
coarseincrement="1"/>
<table type="X Axis" storageaddress="@@fsioTable2RpmBins_offset_hex@@" storagetype="float" endian="big"
logparam="engine_load">
<scaling units="RPM" expression="x" to_byte="x" format="0.00" fineincrement=".1"
coarseincrement="1"/>
</table>
<table type="Y Axis" storageaddress="@@fsioTable2LoadBins_offset_hex@@" storagetype="float" endian="big"
logparam="rpm">
<scaling units="engine_load" expression="x" to_byte="x" format="0.00" fineincrement=".1" coarseincrement="1"/>
</table>
</table>
<table type="3D" name="FSIO Table #3"
category="FSIO"
storageaddress="@@fsioTable3_offset_hex@@" sizex="@@FSIO_TABLE_8@@"
sizey="@@FSIO_TABLE_8@@" storagetype="uint8" endian="big">
<scaling units="Engine Load" expression="x" to_byte="x" format="0.00" fineincrement=".1"
coarseincrement="1"/>
<table type="X Axis" storageaddress="@@fsioTable3RpmBins_offset_hex@@" storagetype="float" endian="big"
logparam="">
<scaling units="RPM" expression="x" to_byte="x" format="0.00" fineincrement=".1"
coarseincrement="1"/>
</table>
<table type="Y Axis" storageaddress="@@fsioTable3LoadBins_offset_hex@@" storagetype="float" endian="big"
logparam="rpm">
<scaling units="engine_load" expression="x" to_byte="x" format="0.00" fineincrement=".1" coarseincrement="1"/>
</table>
</table>
<table type="3D" name="FSIO Table #4"
category="FSIO"
storageaddress="@@fsioTable4_offset_hex@@" sizex="@@FSIO_TABLE_8@@"
sizey="@@FSIO_TABLE_8@@" storagetype="uint8" endian="big">
<scaling units="Engine Load" expression="x" to_byte="x" format="0.00" fineincrement=".1"
coarseincrement="1"/>
<table type="X Axis" storageaddress="@@fsioTable4RpmBins_offset_hex@@" storagetype="float" endian="big"
logparam="engine_load">
<scaling units="RPM" expression="x" to_byte="x" format="0.00" fineincrement=".1"
coarseincrement="1"/>
</table>
<table type="Y Axis" storageaddress="@@fsioTable4LoadBins_offset_hex@@" storagetype="float" endian="big"
logparam="engine_load">
<scaling units="engine_load" expression="x" to_byte="x" format="0.00" fineincrement=".1" coarseincrement="1"/>
</table>
</table>
<table type="3D" name="Target AFR"
category="Fuel"
storageaddress="@@afrTable_offset_hex@@" sizex="@@FUEL_LOAD_COUNT@@"
sizey="@@FUEL_RPM_COUNT@@" storagetype="uint8" endian="big">
<scaling units="Engine Load" expression="x/10" to_byte="x*10" format="0.00" fineincrement=".1"
coarseincrement="1"/>
<table type="X Axis" storageaddress="@@afrRpmBins_offset_hex@@" storagetype="float" endian="big">
<scaling units="RPM" expression="x" to_byte="x" format="0.00" fineincrement=".1"
coarseincrement="1"/>
</table>
<table type="Y Axis" storageaddress="@@afrLoadBins_offset_hex@@" storagetype="float" endian="big">
<scaling units="engine_load" expression="x" to_byte="x" format="0.00" fineincrement=".1" coarseincrement="1"/>
</table>
</table>
<table type="3D" name="Baro Correction"
category="Fuel"
storageaddress="@@baroCorrTable_offset_hex@@" sizex="@@BARO_CORR_SIZE@@"
sizey="@@BARO_CORR_SIZE@@" storagetype="float" endian="big">
<scaling units="Pressure" expression="x" to_byte="x" format="0.00" fineincrement=".1" coarseincrement="1"/>
<table type="X Axis" storageaddress="@@baroCorrPressureBins_offset_hex@@" storagetype="float" endian="big">
<scaling units="kPa" expression="x" to_byte="x" format="0.00" fineincrement=".1" coarseincrement="1"/>
</table>
<table type="Y Axis" storageaddress="@@baroCorrRpmBins_offset_hex@@" storagetype="float" endian="big">
<scaling units="RPM" expression="x" to_byte="x" format="0.00" fineincrement=".1" coarseincrement="1"/>
</table>
</table>
<table type="2D" name="Coolant-based Warnup Enrichment"
category="Fuel"
storageaddress="@@cltFuelCorr_offset_hex@@" sizex="16"
storagetype="float" endian="big">
<scaling units="Compensation (%)" expression="x" to_byte="x" format="0.00"
fineincrement=".01" coarseincrement="0.1"/>
<table type="X Axis" storageaddress="@@cltFuelCorrBins_offset_hex@@" storagetype="float" endian="big">
<scaling units="uni" expression="x" to_byte="x" format="0.00" fineincrement=".1" coarseincrement="1"/>
</table>
</table>
<table type="2D" name="FSIO Curve #1" storageaddress="@@fsioCurve1_offset_hex@@"
category="FSIO"
sizex="@@FSIO_CURVE_16@@" storagetype="float" endian="big">
<scaling units="Compensation (%)" expression="x" to_byte="x" format="0.00"
fineincrement=".01" coarseincrement="0.1"/>
<table type="X Axis" storageaddress="@@fsioCurve1Bins_offset_hex@@" storagetype="float" endian="big">
<scaling units="uni" expression="x" to_byte="x" format="0.00" fineincrement=".1" coarseincrement="1"/>
</table>
</table>
<table type="2D" name="FSIO Curve #2" storageaddress="@@fsioCurve2_offset_hex@@"
category="FSIO"
sizex="@@FSIO_CURVE_16@@" storagetype="float" endian="big">
<scaling units="Compensation (%)" expression="x" to_byte="x" format="0.00"
fineincrement=".01" coarseincrement="0.1"/>
<table type="X Axis" storageaddress="@@fsioCurve2Bins_offset_hex@@" storagetype="float" endian="big">
<scaling units="uni" expression="x" to_byte="x" format="0.00" fineincrement=".1" coarseincrement="1"/>
</table>
</table>
<table type="2D" name="Coolant temperature-based extra idle air" storageaddress="@@cltIdleCorr_offset_hex@@"
sizex="@@CLT_CURVE_SIZE@@" storagetype="float" endian="big">
<scaling units="Compensation (%)" expression="x" to_byte="x" format="0.00"
fineincrement=".01" coarseincrement="0.1"/>
<table type="X Axis" storageaddress="@@cltIdleCorrBins_offset_hex@@" storagetype="float" endian="big">
<scaling units="uni" expression="x" to_byte="x" format="0.00" fineincrement=".1" coarseincrement="1"/>
</table>
</table>
<table type="2D" name="Engine Noise" storageaddress="@@knockNoise_offset_hex@@"
sizex="@@ENGINE_NOISE_CURVE_SIZE@@" storagetype="float" endian="big">
<scaling units="Volts" expression="x" to_byte="x" format="0.00"
fineincrement=".01" coarseincrement="0.1"/>
<table type="X Axis" storageaddress="@@knockNoiseRpmBins_offset_hex@@" storagetype="float" endian="big">
<scaling units="RPM" expression="x" to_byte="x" format="0.00" fineincrement=".1" coarseincrement="1"/>
</table>
</table>
<table type="2D" name="Injector Lag" storageaddress="@@injector_battLagCorr_offset_hex@@"
sizex="@@VBAT_INJECTOR_CURVE_SIZE@@" storagetype="float" endian="big">
<scaling units="ms" expression="x" to_byte="x" format="0.00"
fineincrement=".01" coarseincrement="0.1"/>
<table type="X Axis" storageaddress="@@injector_battLagCorrBins_offset_hex@@" storagetype="float" endian="big">
<scaling units="Volts" expression="x" to_byte="x" format="0.00" fineincrement=".1" coarseincrement="1"/>
</table>
</table>
</rom>
</roms>

View File

@ -1,14 +0,0 @@
#define HW_EVENT_TYPES 6
struct_no_prefix define_constructor trigger_central_s
int[HW_EVENT_TYPES iterate] hwEventCounters;Counter of hardware events since ECU start
int vvtCamCounter
int vvtEventRiseCounter
int vvtEventFallCounter
end_struct

View File

@ -1,3 +0,0 @@
struct_no_prefix trigger_state_s
float currentGap;
end_struct

View File

@ -1,5 +0,0 @@
struct_no_prefix wall_fuel_state
float wallFuelCorrection;* fuel injection time correction to account for wall wetting effect, for current cycle
floatms_t wallFuel;Amount of fuel on the wall, in ms of injector open time, for each injector.
! wall_fuel_state
end_struct

View File

@ -4,6 +4,11 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URI;
import java.nio.file.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
@ -27,6 +32,54 @@ public class FileUtil {
System.out.println("Unzip " + zipFileName + " to " + destPath + " worked!");
}
public static byte [] unzipFileContents(String zipFileName, String fileName) throws IOException {
ZipInputStream zis = new ZipInputStream(new FileInputStream(zipFileName));
ZipEntry zipEntry;
byte [] data = null;
while ((zipEntry = zis.getNextEntry()) != null) {
Path zippedName = Paths.get(zipEntry.getName()).normalize();
Path searchName = Paths.get(fileName).normalize();
if (zippedName.equals(searchName) && zipEntry.getSize() >= 0) {
int offset = 0;
byte [] tmpData = new byte[(int)zipEntry.getSize()];
int bytesLeft = tmpData.length, bytesRead;
while (bytesLeft > 0 && (bytesRead = zis.read(tmpData, offset, bytesLeft)) >= 0) {
offset += bytesRead;
bytesLeft -= bytesRead;
}
if (bytesLeft == 0) {
data = tmpData;
} else {
System.out.println("Unzip: error extracting file " + fileName);
}
break;
}
}
zis.closeEntry();
zis.close();
System.out.println("Unzip " + zipFileName + ": " + fileName + (data != null ? " extracted!" : " failed!"));
return data;
}
public static boolean zipAddFiles(String zipFileName, List<String> fileNames, String zipPath) throws IOException {
// requires Java7+
Map<String, String> env = new HashMap<>();
env.put("create", "true");
Path path = Paths.get(zipFileName);
URI uri = URI.create("jar:" + path.toUri());
FileSystem fs = FileSystems.newFileSystem(uri, env);
for (String fileName : fileNames) {
String fileNameInZip = zipPath + File.separator + fileName;
Path extFile = Paths.get(fileName);
Path zippedFile = fs.getPath(fileNameInZip);
Files.createDirectories(zippedFile.getParent());
//fs.provider().checkAccess(zippedFile, AccessMode.READ);
Files.copy(extFile, zippedFile, StandardCopyOption.REPLACE_EXISTING);
}
fs.close();
return true;
}
private static void unzipFile(byte[] buffer, ZipInputStream zis, File newFile) throws IOException {
System.out.println("Unzipping " + newFile);
FileOutputStream fos = new FileOutputStream(newFile);

View File

@ -8,6 +8,7 @@
<module fileurl="file://$PROJECT_DIR$/../../java_console/inifile/inifile.iml" filepath="$PROJECT_DIR$/../../java_console/inifile/inifile.iml" />
<module fileurl="file://$PROJECT_DIR$/../../java_console/logging/logging.iml" filepath="$PROJECT_DIR$/../../java_console/logging/logging.iml" />
<module fileurl="file://$PROJECT_DIR$/../../java_console/models/models.iml" filepath="$PROJECT_DIR$/../../java_console/models/models.iml" />
<module fileurl="file://$PROJECT_DIR$/../../java_console/shared_io/shared_io.iml" filepath="$PROJECT_DIR$/../../java_console/shared_io/shared_io.iml" />
</modules>
</component>
</project>

View File

@ -21,6 +21,7 @@
<src path="${console_path}/inifile/src"/>
<src path="${console_path}/logging/src"/>
<src path="${console_path}/models/src"/>
<src path="${console_path}/shared_io/src/main/java"/>
<src path="../enum_to_string/src"/>
</javac>

View File

@ -10,5 +10,6 @@
<orderEntry type="module" module-name="enum_to_string" exported="" />
<orderEntry type="library" name="annotations" level="project" />
<orderEntry type="module" module-name="inifile" />
<orderEntry type="module" module-name="shared_io" />
</component>
</module>

View File

@ -4,6 +4,7 @@ import com.rusefi.output.*;
import com.rusefi.util.IoUtils;
import com.rusefi.util.LazyFile;
import com.rusefi.util.SystemOut;
import com.rusefi.shared.FileUtil;
import java.io.*;
import java.lang.reflect.Array;
@ -45,6 +46,7 @@ public class ConfigDefinition {
public static final String KEY_PREPEND = "-prepend";
public static final String KEY_SIGNATURE = "-signature";
public static final String KEY_CACHE = "-cache";
public static final String KEY_CACHE_ZIP_FILE = "-cache_zip_file";
private static final String KEY_SKIP = "-skip";
private static final String KEY_ZERO_INIT = "-initialize_to_zero";
public static boolean needZeroInit = true;
@ -93,6 +95,7 @@ public class ConfigDefinition {
String romRaiderInputFile = null;
String firingEnumFileName = null;
String cachePath = null;
String cacheZipFile = null;
CHeaderConsumer.withC_Defines = true;
// used to update .ini files
@ -142,8 +145,9 @@ public class ConfigDefinition {
// don't add this file to the 'inputFiles'
} else if (key.equals(KEY_CACHE)) {
cachePath = args[i + 1];
}
else if (key.equals(KEY_SKIP)) {
} else if (key.equals(KEY_CACHE_ZIP_FILE)) {
cacheZipFile = args[i + 1];
} else if (key.equals(KEY_SKIP)) {
// is this now not needed in light if LazyFile surving the same goal of not changing output unless needed?
skipRebuildFile = args[i + 1];
} else if (key.equals("-ts_output_name")) {
@ -160,10 +164,10 @@ public class ConfigDefinition {
if (tsPath != null) {
inputAllFiles.add(TSProjectConsumer.getTsFileInputName(tsPath));
SystemOut.println("Check the input/output TS files:");
needToUpdateTsFiles = checkIfOutputFilesAreOutdated(inputAllFiles, cachePath);
needToUpdateTsFiles = checkIfOutputFilesAreOutdated(inputAllFiles, cachePath, cacheZipFile);
}
SystemOut.println("Check the input/output other files:");
boolean needToUpdateOtherFiles = checkIfOutputFilesAreOutdated(inputFiles, cachePath);
boolean needToUpdateOtherFiles = checkIfOutputFilesAreOutdated(inputFiles, cachePath, cacheZipFile);
if (!needToUpdateTsFiles && !needToUpdateOtherFiles)
{
SystemOut.println("All output files are up-to-date, nothing to do here!");
@ -235,7 +239,7 @@ public class ConfigDefinition {
writer.close();
}
saveCachedInputFiles(inputAllFiles, cachePath);
saveCachedInputFiles(inputAllFiles, cachePath, cacheZipFile);
}
private static boolean needToSkipRebuild(String skipRebuildFile, String currentMD5) throws IOException {
@ -366,21 +370,28 @@ public class ConfigDefinition {
}
}
private static boolean checkIfOutputFilesAreOutdated(List<String> inputFiles, String cachePath) {
private static boolean checkIfOutputFilesAreOutdated(List<String> inputFiles, String cachePath, String cacheZipFile) {
if (cachePath == null)
return true;
// find if any input file was changed from the cached version
for (String iFile : inputFiles) {
File newFile = new File(iFile);
File cachedFile = new File(getCachedInputFile(newFile.getName(), cachePath));
//boolean isEqual = FileUtils.contentEquals(newFile, cachedFile);
try {
byte[] f1 = Files.readAllBytes(newFile.toPath());
byte[] f2 = Files.readAllBytes(cachedFile.toPath());
byte[] f2;
if (cacheZipFile != null) {
f2 = FileUtil.unzipFileContents(cacheZipFile, cachePath + File.separator + iFile);
} else {
String cachedFileName = getCachedInputFileName(newFile.getName(), cachePath);
File cachedFile = new File(cachedFileName);
f2 = Files.readAllBytes(cachedFile.toPath());
}
boolean isEqual = Arrays.equals(f1, f2);
if (!isEqual) {
SystemOut.println("* the file " + iFile + " is changed!");
return true;
} else {
SystemOut.println("* the file " + iFile + " is NOT changed!");
}
} catch(java.io.IOException e) {
SystemOut.println("* cannot validate the file " + iFile + ", so assuming it's changed.");
@ -391,28 +402,32 @@ public class ConfigDefinition {
return false;
}
private static boolean saveCachedInputFiles(List<String> inputFiles, String cachePath) throws IOException {
private static boolean saveCachedInputFiles(List<String> inputFiles, String cachePath, String cacheZipFile) throws IOException {
if (cachePath == null) {
SystemOut.println("* cache storage is disabled.");
return false;
}
// copy all input files to the cache
for (String iFile : inputFiles) {
File newFile = new File(iFile);
File cachedFile = new File(getCachedInputFile(newFile.getName(), cachePath));
cachedFile.mkdirs();
try {
Files.copy(newFile.toPath(), cachedFile.toPath(), StandardCopyOption.REPLACE_EXISTING);
} catch(java.io.IOException e) {
SystemOut.println("* cannot store the cached file for " + iFile);
throw e;
if (cacheZipFile != null) {
FileUtil.zipAddFiles(cacheZipFile, inputFiles, cachePath);
} else {
for (String iFile : inputFiles) {
File newFile = new File(iFile);
File cachedFile = new File(getCachedInputFileName(newFile.getName(), cachePath));
cachedFile.mkdirs();
try {
Files.copy(newFile.toPath(), cachedFile.toPath(), StandardCopyOption.REPLACE_EXISTING);
} catch (java.io.IOException e) {
SystemOut.println("* cannot store the cached file for " + iFile);
throw e;
}
}
}
SystemOut.println("* input files copied to the cached folder");
return true;
}
private static String getCachedInputFile(String inputFile, String cachePath) {
private static String getCachedInputFileName(String inputFile, String cachePath) {
return cachePath + File.separator + inputFile;
}
}