From fe602d17b53f07f39777834bd7eba35a9da83403 Mon Sep 17 00:00:00 2001 From: rusefi Date: Wed, 19 Dec 2018 21:32:26 -0500 Subject: [PATCH] docs --- ...ngine_configuration_generated_structures.h | 20 ++++++++++++++++-- java_tools/ConfigDefinition.jar | Bin 33631 -> 33719 bytes .../src/com/rusefi/ConfigDefinition.java | 8 +++---- .../src/com/rusefi/ConfigStructure.java | 9 ++++++-- 4 files changed, 29 insertions(+), 8 deletions(-) diff --git a/firmware/controllers/algo/engine_configuration_generated_structures.h b/firmware/controllers/algo/engine_configuration_generated_structures.h index a2e41a5d7f..ee081fae94 100644 --- a/firmware/controllers/algo/engine_configuration_generated_structures.h +++ b/firmware/controllers/algo/engine_configuration_generated_structures.h @@ -1,8 +1,9 @@ -// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sun Dec 09 10:18:27 EST 2018 +// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Wed Dec 19 21:31:59 EST 2018 // begin #ifndef ENGINE_CONFIGURATION_GENERATED_H_ #define ENGINE_CONFIGURATION_GENERATED_H_ #include "rusefi_types.h" +// start of pid_s typedef struct { /** * offset 0 @@ -39,6 +40,7 @@ typedef struct { /** total size 20*/ } pid_s; +// start of cranking_parameters_s typedef struct { /** * Fuel squirt duration while cranking @@ -60,6 +62,7 @@ typedef struct { /** total size 8*/ } cranking_parameters_s; +// start of air_pressure_sensor_config_s typedef struct { /** * kPa value at low volts @@ -86,6 +89,7 @@ typedef struct { * @brief MAP averaging configuration */ +// start of MAP_sensor_config_s typedef struct { /** * offset 0 @@ -116,6 +120,7 @@ typedef struct { * @brief Thermistor known values */ +// start of thermistor_conf_s typedef struct { /** * these values are in Celcuus @@ -153,6 +158,7 @@ typedef struct { * @brief Oil pressure sensor interpolation */ +// start of oil_pressure_config_s typedef struct { /** * offset 0 @@ -181,6 +187,7 @@ typedef struct { * @brief Thermistor curve parameters */ +// start of ThermistorConf typedef struct { /** * offset 0 @@ -193,6 +200,7 @@ typedef struct { /** total size 32*/ } ThermistorConf; +// start of injector_s typedef struct { /** * cc/min, cubic centimeter per minute @@ -216,6 +224,7 @@ typedef struct { /** total size 68*/ } injector_s; +// start of bi_quard_s typedef struct { /** * offset 0 @@ -240,6 +249,7 @@ typedef struct { /** total size 20*/ } bi_quard_s; +// start of specs_s typedef struct { /** * Engine displacement, in liters @@ -262,6 +272,7 @@ typedef struct { * @brief Trigger wheel(s) configuration */ +// start of trigger_config_s typedef struct { /** * set trigger_type X @@ -289,6 +300,7 @@ typedef struct { /** total size 16*/ } trigger_config_s; +// start of afr_sensor_s typedef struct { /** * offset 0 @@ -313,6 +325,7 @@ typedef struct { /** total size 20*/ } afr_sensor_s; +// start of idle_hardware_s typedef struct { /** * offset 0 @@ -337,6 +350,7 @@ typedef struct { /** total size 20*/ } idle_hardware_s; +// start of board_configuration_s typedef struct { /** * offset 0 @@ -866,6 +880,7 @@ typedef struct { /** total size 864*/ } board_configuration_s; +// start of engine_configuration_s typedef struct { /** * http://rusefi.com/wiki/index.php?title=Manual:Engine_Type @@ -2197,6 +2212,7 @@ typedef struct { /** total size 6480*/ } engine_configuration_s; +// start of persistent_config_s typedef struct { /** * offset 0 @@ -2439,4 +2455,4 @@ typedef struct { #endif // end -// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sun Dec 09 10:18:27 EST 2018 +// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Wed Dec 19 21:31:59 EST 2018 diff --git a/java_tools/ConfigDefinition.jar b/java_tools/ConfigDefinition.jar index 0a015ee03d8ceebbfdf35f24d1278ff299394c7c..b2b9a4b3fc912a176ecd939d09afac99c46ee4a0 100644 GIT binary patch delta 12908 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 h1TNP@wU9DL&R3oiB}KU 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