Fresh generated - auto

This commit is contained in:
rusefi 2020-04-25 18:07:37 -04:00
parent a16e8bba8d
commit 7fa38d99a7
11 changed files with 1574 additions and 37 deletions

View File

@ -1,4 +1,4 @@
// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kineris_gen_config.bat integration/rusefi_config.txt Fri Apr 24 23:25:53 EDT 2020
// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kineris_gen_config.bat integration/rusefi_config.txt Sat Apr 25 18:06:47 EDT 2020
// by class com.rusefi.output.CHeaderConsumer
// begin
#ifndef CONFIG_BOARDS_KINETIS_CONFIG_CONTROLLERS_ALGO_ENGINE_CONFIGURATION_GENERATED_STRUCTURES_H
@ -160,6 +160,61 @@ struct spi_pins {
typedef struct spi_pins spi_pins;
// start of gppwm_channel
struct gppwm_channel {
/**
* Select a pin to use for PWM or on-off output.
* offset 0
*/
brain_pin_e pin;
/**
* If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.
* This should be a safe value for whatever hardware is connected to prevent damage.
* offset 1
*/
uint8_t dutyIfError;
/**
* Select a frequency to run PWM at.
* Set this to 0hz to enable on-off mode.
* offset 2
*/
uint16_t pwmFrequency;
/**
* In on-off mode, turn the output on when the table value is above this duty.
* offset 4
*/
uint8_t onAboveDuty;
/**
* In on-off mode, turn the output off when the table value is below this duty.
* offset 5
*/
uint8_t offBelowDuty;
/**
* Selects the load axis to use for the table.
* offset 6
*/
gppwm_channel_e loadAxis;
/**
* offset 7
*/
uint8_t pad;
/**
* offset 8
*/
uint8_t loadBins[GPPWM_LOAD_COUNT];
/**
* offset 16
*/
uint8_t rpmBins[GPPWM_RPM_COUNT];
/**
* offset 24
*/
gppwm_table_t table;
/** total size 88*/
};
typedef struct gppwm_channel gppwm_channel;
// start of air_pressure_sensor_config_s
struct air_pressure_sensor_config_s {
/**
@ -3049,7 +3104,11 @@ struct engine_configuration_s {
/**
* offset 4144
*/
int mainUnusedEnd[464];
gppwm_channel gppwm[4];
/**
* offset 4496
*/
int mainUnusedEnd[376];
/** total size 6000*/
};
@ -3352,4 +3411,4 @@ typedef struct persistent_config_s persistent_config_s;
#endif
// end
// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kineris_gen_config.bat integration/rusefi_config.txt Fri Apr 24 23:25:53 EDT 2020
// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kineris_gen_config.bat integration/rusefi_config.txt Sat Apr 25 18:06:47 EDT 2020

View File

@ -1046,6 +1046,97 @@
#define gpioPinModes8_offset_hex 303
#define gpioPinModes9_offset 772
#define gpioPinModes9_offset_hex 304
#define gppwm1_dutyIfError_offset 4145
#define gppwm1_dutyIfError_offset_hex 1031
#define gppwm1_loadAxis_offset 4150
#define gppwm1_loadAxis_offset_hex 1036
#define gppwm1_loadBins_offset 4152
#define gppwm1_loadBins_offset_hex 1038
#define gppwm1_offBelowDuty_offset 4149
#define gppwm1_offBelowDuty_offset_hex 1035
#define gppwm1_offset 4144
#define gppwm1_offset_hex 1030
#define gppwm1_onAboveDuty_offset 4148
#define gppwm1_onAboveDuty_offset_hex 1034
#define gppwm1_pad_offset 4151
#define gppwm1_pad_offset_hex 1037
#define gppwm1_pin_offset 4144
#define gppwm1_pin_offset_hex 1030
#define gppwm1_pwmFrequency_offset 4146
#define gppwm1_pwmFrequency_offset_hex 1032
#define gppwm1_rpmBins_offset 4160
#define gppwm1_rpmBins_offset_hex 1040
#define gppwm1_table_offset 4168
#define gppwm1_table_offset_hex 1048
#define gppwm2_dutyIfError_offset 4233
#define gppwm2_dutyIfError_offset_hex 1089
#define gppwm2_loadAxis_offset 4238
#define gppwm2_loadAxis_offset_hex 108e
#define gppwm2_loadBins_offset 4240
#define gppwm2_loadBins_offset_hex 1090
#define gppwm2_offBelowDuty_offset 4237
#define gppwm2_offBelowDuty_offset_hex 108d
#define gppwm2_offset 4232
#define gppwm2_offset_hex 1088
#define gppwm2_onAboveDuty_offset 4236
#define gppwm2_onAboveDuty_offset_hex 108c
#define gppwm2_pad_offset 4239
#define gppwm2_pad_offset_hex 108f
#define gppwm2_pin_offset 4232
#define gppwm2_pin_offset_hex 1088
#define gppwm2_pwmFrequency_offset 4234
#define gppwm2_pwmFrequency_offset_hex 108a
#define gppwm2_rpmBins_offset 4248
#define gppwm2_rpmBins_offset_hex 1098
#define gppwm2_table_offset 4256
#define gppwm2_table_offset_hex 10a0
#define gppwm3_dutyIfError_offset 4321
#define gppwm3_dutyIfError_offset_hex 10e1
#define gppwm3_loadAxis_offset 4326
#define gppwm3_loadAxis_offset_hex 10e6
#define gppwm3_loadBins_offset 4328
#define gppwm3_loadBins_offset_hex 10e8
#define gppwm3_offBelowDuty_offset 4325
#define gppwm3_offBelowDuty_offset_hex 10e5
#define gppwm3_offset 4320
#define gppwm3_offset_hex 10e0
#define gppwm3_onAboveDuty_offset 4324
#define gppwm3_onAboveDuty_offset_hex 10e4
#define gppwm3_pad_offset 4327
#define gppwm3_pad_offset_hex 10e7
#define gppwm3_pin_offset 4320
#define gppwm3_pin_offset_hex 10e0
#define gppwm3_pwmFrequency_offset 4322
#define gppwm3_pwmFrequency_offset_hex 10e2
#define gppwm3_rpmBins_offset 4336
#define gppwm3_rpmBins_offset_hex 10f0
#define gppwm3_table_offset 4344
#define gppwm3_table_offset_hex 10f8
#define gppwm4_dutyIfError_offset 4409
#define gppwm4_dutyIfError_offset_hex 1139
#define gppwm4_loadAxis_offset 4414
#define gppwm4_loadAxis_offset_hex 113e
#define gppwm4_loadBins_offset 4416
#define gppwm4_loadBins_offset_hex 1140
#define gppwm4_offBelowDuty_offset 4413
#define gppwm4_offBelowDuty_offset_hex 113d
#define gppwm4_offset 4408
#define gppwm4_offset_hex 1138
#define gppwm4_onAboveDuty_offset 4412
#define gppwm4_onAboveDuty_offset_hex 113c
#define gppwm4_pad_offset 4415
#define gppwm4_pad_offset_hex 113f
#define gppwm4_pin_offset 4408
#define gppwm4_pin_offset_hex 1138
#define gppwm4_pwmFrequency_offset 4410
#define gppwm4_pwmFrequency_offset_hex 113a
#define gppwm4_rpmBins_offset 4424
#define gppwm4_rpmBins_offset_hex 1148
#define gppwm4_table_offset 4432
#define gppwm4_table_offset_hex 1150
#define gppwm_channel_e_enum "TPS", "MAP", "CLT", "IAT"
#define GPPWM_LOAD_COUNT 8
#define GPPWM_RPM_COUNT 8
#define gps_rx_pin_offset 656
#define gps_rx_pin_offset_hex 290
#define gps_tx_pin_offset 657
@ -1517,8 +1608,8 @@
#define mainRelayPin_offset_hex 2c2
#define mainRelayPinMode_offset 752
#define mainRelayPinMode_offset_hex 2f0
#define mainUnusedEnd_offset 4144
#define mainUnusedEnd_offset_hex 1030
#define mainUnusedEnd_offset 4496
#define mainUnusedEnd_offset_hex 1190
#define malfunctionIndicatorPin_offset 660
#define malfunctionIndicatorPin_offset_hex 294
#define malfunctionIndicatorPinMode_offset 661

View File

@ -1,4 +1,4 @@
// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Fri Apr 24 23:22:49 EDT 2020
// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Sat Apr 25 18:03:45 EDT 2020
// by class com.rusefi.output.CHeaderConsumer
// begin
#ifndef CONTROLLERS_GENERATED_ENGINE_CONFIGURATION_GENERATED_STRUCTURES_H
@ -160,6 +160,61 @@ struct spi_pins {
typedef struct spi_pins spi_pins;
// start of gppwm_channel
struct gppwm_channel {
/**
* Select a pin to use for PWM or on-off output.
* offset 0
*/
brain_pin_e pin;
/**
* If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.
* This should be a safe value for whatever hardware is connected to prevent damage.
* offset 1
*/
uint8_t dutyIfError;
/**
* Select a frequency to run PWM at.
* Set this to 0hz to enable on-off mode.
* offset 2
*/
uint16_t pwmFrequency;
/**
* In on-off mode, turn the output on when the table value is above this duty.
* offset 4
*/
uint8_t onAboveDuty;
/**
* In on-off mode, turn the output off when the table value is below this duty.
* offset 5
*/
uint8_t offBelowDuty;
/**
* Selects the load axis to use for the table.
* offset 6
*/
gppwm_channel_e loadAxis;
/**
* offset 7
*/
uint8_t pad;
/**
* offset 8
*/
uint8_t loadBins[GPPWM_LOAD_COUNT];
/**
* offset 16
*/
uint8_t rpmBins[GPPWM_RPM_COUNT];
/**
* offset 24
*/
gppwm_table_t table;
/** total size 88*/
};
typedef struct gppwm_channel gppwm_channel;
// start of air_pressure_sensor_config_s
struct air_pressure_sensor_config_s {
/**
@ -3049,7 +3104,11 @@ struct engine_configuration_s {
/**
* offset 4144
*/
int mainUnusedEnd[464];
gppwm_channel gppwm[4];
/**
* offset 4496
*/
int mainUnusedEnd[376];
/** total size 6000*/
};
@ -3352,4 +3411,4 @@ typedef struct persistent_config_s persistent_config_s;
#endif
// end
// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Fri Apr 24 23:22:49 EDT 2020
// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Sat Apr 25 18:03:45 EDT 2020

View File

@ -1046,6 +1046,97 @@
#define gpioPinModes8_offset_hex 303
#define gpioPinModes9_offset 772
#define gpioPinModes9_offset_hex 304
#define gppwm1_dutyIfError_offset 4145
#define gppwm1_dutyIfError_offset_hex 1031
#define gppwm1_loadAxis_offset 4150
#define gppwm1_loadAxis_offset_hex 1036
#define gppwm1_loadBins_offset 4152
#define gppwm1_loadBins_offset_hex 1038
#define gppwm1_offBelowDuty_offset 4149
#define gppwm1_offBelowDuty_offset_hex 1035
#define gppwm1_offset 4144
#define gppwm1_offset_hex 1030
#define gppwm1_onAboveDuty_offset 4148
#define gppwm1_onAboveDuty_offset_hex 1034
#define gppwm1_pad_offset 4151
#define gppwm1_pad_offset_hex 1037
#define gppwm1_pin_offset 4144
#define gppwm1_pin_offset_hex 1030
#define gppwm1_pwmFrequency_offset 4146
#define gppwm1_pwmFrequency_offset_hex 1032
#define gppwm1_rpmBins_offset 4160
#define gppwm1_rpmBins_offset_hex 1040
#define gppwm1_table_offset 4168
#define gppwm1_table_offset_hex 1048
#define gppwm2_dutyIfError_offset 4233
#define gppwm2_dutyIfError_offset_hex 1089
#define gppwm2_loadAxis_offset 4238
#define gppwm2_loadAxis_offset_hex 108e
#define gppwm2_loadBins_offset 4240
#define gppwm2_loadBins_offset_hex 1090
#define gppwm2_offBelowDuty_offset 4237
#define gppwm2_offBelowDuty_offset_hex 108d
#define gppwm2_offset 4232
#define gppwm2_offset_hex 1088
#define gppwm2_onAboveDuty_offset 4236
#define gppwm2_onAboveDuty_offset_hex 108c
#define gppwm2_pad_offset 4239
#define gppwm2_pad_offset_hex 108f
#define gppwm2_pin_offset 4232
#define gppwm2_pin_offset_hex 1088
#define gppwm2_pwmFrequency_offset 4234
#define gppwm2_pwmFrequency_offset_hex 108a
#define gppwm2_rpmBins_offset 4248
#define gppwm2_rpmBins_offset_hex 1098
#define gppwm2_table_offset 4256
#define gppwm2_table_offset_hex 10a0
#define gppwm3_dutyIfError_offset 4321
#define gppwm3_dutyIfError_offset_hex 10e1
#define gppwm3_loadAxis_offset 4326
#define gppwm3_loadAxis_offset_hex 10e6
#define gppwm3_loadBins_offset 4328
#define gppwm3_loadBins_offset_hex 10e8
#define gppwm3_offBelowDuty_offset 4325
#define gppwm3_offBelowDuty_offset_hex 10e5
#define gppwm3_offset 4320
#define gppwm3_offset_hex 10e0
#define gppwm3_onAboveDuty_offset 4324
#define gppwm3_onAboveDuty_offset_hex 10e4
#define gppwm3_pad_offset 4327
#define gppwm3_pad_offset_hex 10e7
#define gppwm3_pin_offset 4320
#define gppwm3_pin_offset_hex 10e0
#define gppwm3_pwmFrequency_offset 4322
#define gppwm3_pwmFrequency_offset_hex 10e2
#define gppwm3_rpmBins_offset 4336
#define gppwm3_rpmBins_offset_hex 10f0
#define gppwm3_table_offset 4344
#define gppwm3_table_offset_hex 10f8
#define gppwm4_dutyIfError_offset 4409
#define gppwm4_dutyIfError_offset_hex 1139
#define gppwm4_loadAxis_offset 4414
#define gppwm4_loadAxis_offset_hex 113e
#define gppwm4_loadBins_offset 4416
#define gppwm4_loadBins_offset_hex 1140
#define gppwm4_offBelowDuty_offset 4413
#define gppwm4_offBelowDuty_offset_hex 113d
#define gppwm4_offset 4408
#define gppwm4_offset_hex 1138
#define gppwm4_onAboveDuty_offset 4412
#define gppwm4_onAboveDuty_offset_hex 113c
#define gppwm4_pad_offset 4415
#define gppwm4_pad_offset_hex 113f
#define gppwm4_pin_offset 4408
#define gppwm4_pin_offset_hex 1138
#define gppwm4_pwmFrequency_offset 4410
#define gppwm4_pwmFrequency_offset_hex 113a
#define gppwm4_rpmBins_offset 4424
#define gppwm4_rpmBins_offset_hex 1148
#define gppwm4_table_offset 4432
#define gppwm4_table_offset_hex 1150
#define gppwm_channel_e_enum "TPS", "MAP", "CLT", "IAT"
#define GPPWM_LOAD_COUNT 8
#define GPPWM_RPM_COUNT 8
#define gps_rx_pin_offset 656
#define gps_rx_pin_offset_hex 290
#define gps_tx_pin_offset 657
@ -1517,8 +1608,8 @@
#define mainRelayPin_offset_hex 2c2
#define mainRelayPinMode_offset 752
#define mainRelayPinMode_offset_hex 2f0
#define mainUnusedEnd_offset 4144
#define mainUnusedEnd_offset_hex 1030
#define mainUnusedEnd_offset 4496
#define mainUnusedEnd_offset_hex 1190
#define malfunctionIndicatorPin_offset 660
#define malfunctionIndicatorPin_offset_hex 294
#define malfunctionIndicatorPinMode_offset 661

View File

@ -89,7 +89,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Fri Apr 24 23:22:49 EDT 2020
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Sat Apr 25 18:03:45 EDT 2020
pageSize = 20000
page = 1
@ -1038,7 +1038,47 @@ page = 1
iacPidMultLoadBins = array, U08, 4124, [8], "Load", 1, 0.0, 0, 500.0, 2
iacPidMultRpmBins = array, U08, 4132, [8], "RPM", 50, 0, 0.0, 12000.0, 0
canVssNbcType = bits, U32, 4140, [0:7], "BMW_e46", "W202"
;no TS info - skipping mainUnusedEnd offset 4144
gppwm1_pin = bits, U08, 4144, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6","PE7","PE8","PE9","PE10","PE11","PE12","PE13","PE14","PE15", "PF0","PF1","PF2","PF3","PF4","PF5","PF6","PF7","PF8","PF9","PF10","PF11","PF12","PF13","PF14","PF15", "PG0","PG1","PG2","PG3","PG4","PG5","PG6","PG7","PG8","PG9","PG10","PG11","PG12","PG13","PG14","PG15", "PH0","PH1","PH2","PH3","PH4","PH5","PH6","PH7","PH8","PH9","PH10","PH11","PH12","PH13","PH14","PH15","INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
gppwm1_dutyIfError = scalar, U08, 4145, "%", 1, 0, 0, 100, 0
gppwm1_pwmFrequency = scalar, U16, 4146, "hz", 1, 0, 0, 500, 0
gppwm1_onAboveDuty = scalar, U08, 4148, "%", 1, 0, 0, 100, 0
gppwm1_offBelowDuty = scalar, U08, 4149, "%", 1, 0, 0, 100, 0
gppwm1_loadAxis = bits, U08, 4150, [0:1], "TPS", "MAP", "CLT", "IAT"
;no TS info - skipping gppwm1_pad offset 4151
gppwm1_loadBins = array, U08, 4152, [8], "load", 1, 0, 0.0, 250, 0
gppwm1_rpmBins = array, U08, 4160, [8], "RPM", 50, 0, 0.0, 12000.0, 0
gppwm1_table = array, U08, 4168, [8x8], "duty", 1, 0, 0, 100, 0
gppwm2_pin = bits, U08, 4232, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6","PE7","PE8","PE9","PE10","PE11","PE12","PE13","PE14","PE15", "PF0","PF1","PF2","PF3","PF4","PF5","PF6","PF7","PF8","PF9","PF10","PF11","PF12","PF13","PF14","PF15", "PG0","PG1","PG2","PG3","PG4","PG5","PG6","PG7","PG8","PG9","PG10","PG11","PG12","PG13","PG14","PG15", "PH0","PH1","PH2","PH3","PH4","PH5","PH6","PH7","PH8","PH9","PH10","PH11","PH12","PH13","PH14","PH15","INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
gppwm2_dutyIfError = scalar, U08, 4233, "%", 1, 0, 0, 100, 0
gppwm2_pwmFrequency = scalar, U16, 4234, "hz", 1, 0, 0, 500, 0
gppwm2_onAboveDuty = scalar, U08, 4236, "%", 1, 0, 0, 100, 0
gppwm2_offBelowDuty = scalar, U08, 4237, "%", 1, 0, 0, 100, 0
gppwm2_loadAxis = bits, U08, 4238, [0:1], "TPS", "MAP", "CLT", "IAT"
;no TS info - skipping gppwm2_pad offset 4239
gppwm2_loadBins = array, U08, 4240, [8], "load", 1, 0, 0.0, 250, 0
gppwm2_rpmBins = array, U08, 4248, [8], "RPM", 50, 0, 0.0, 12000.0, 0
gppwm2_table = array, U08, 4256, [8x8], "duty", 1, 0, 0, 100, 0
gppwm3_pin = bits, U08, 4320, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6","PE7","PE8","PE9","PE10","PE11","PE12","PE13","PE14","PE15", "PF0","PF1","PF2","PF3","PF4","PF5","PF6","PF7","PF8","PF9","PF10","PF11","PF12","PF13","PF14","PF15", "PG0","PG1","PG2","PG3","PG4","PG5","PG6","PG7","PG8","PG9","PG10","PG11","PG12","PG13","PG14","PG15", "PH0","PH1","PH2","PH3","PH4","PH5","PH6","PH7","PH8","PH9","PH10","PH11","PH12","PH13","PH14","PH15","INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
gppwm3_dutyIfError = scalar, U08, 4321, "%", 1, 0, 0, 100, 0
gppwm3_pwmFrequency = scalar, U16, 4322, "hz", 1, 0, 0, 500, 0
gppwm3_onAboveDuty = scalar, U08, 4324, "%", 1, 0, 0, 100, 0
gppwm3_offBelowDuty = scalar, U08, 4325, "%", 1, 0, 0, 100, 0
gppwm3_loadAxis = bits, U08, 4326, [0:1], "TPS", "MAP", "CLT", "IAT"
;no TS info - skipping gppwm3_pad offset 4327
gppwm3_loadBins = array, U08, 4328, [8], "load", 1, 0, 0.0, 250, 0
gppwm3_rpmBins = array, U08, 4336, [8], "RPM", 50, 0, 0.0, 12000.0, 0
gppwm3_table = array, U08, 4344, [8x8], "duty", 1, 0, 0, 100, 0
gppwm4_pin = bits, U08, 4408, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6","PE7","PE8","PE9","PE10","PE11","PE12","PE13","PE14","PE15", "PF0","PF1","PF2","PF3","PF4","PF5","PF6","PF7","PF8","PF9","PF10","PF11","PF12","PF13","PF14","PF15", "PG0","PG1","PG2","PG3","PG4","PG5","PG6","PG7","PG8","PG9","PG10","PG11","PG12","PG13","PG14","PG15", "PH0","PH1","PH2","PH3","PH4","PH5","PH6","PH7","PH8","PH9","PH10","PH11","PH12","PH13","PH14","PH15","INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
gppwm4_dutyIfError = scalar, U08, 4409, "%", 1, 0, 0, 100, 0
gppwm4_pwmFrequency = scalar, U16, 4410, "hz", 1, 0, 0, 500, 0
gppwm4_onAboveDuty = scalar, U08, 4412, "%", 1, 0, 0, 100, 0
gppwm4_offBelowDuty = scalar, U08, 4413, "%", 1, 0, 0, 100, 0
gppwm4_loadAxis = bits, U08, 4414, [0:1], "TPS", "MAP", "CLT", "IAT"
;no TS info - skipping gppwm4_pad offset 4415
gppwm4_loadBins = array, U08, 4416, [8], "load", 1, 0, 0.0, 250, 0
gppwm4_rpmBins = array, U08, 4424, [8], "RPM", 50, 0, 0.0, 12000.0, 0
gppwm4_table = array, U08, 4432, [8x8], "duty", 1, 0, 0, 100, 0
;no TS info - skipping mainUnusedEnd offset 4496
warning_message = string, ASCII, 6000, 120
afterstartCoolantBins = array, F32, 6120, [8], "C", 1, 0, -100.0, 250.0, 0
afterstartHoldTime = array, F32, 6152, [8], "Seconds", 1, 0, 0, 100, 1
@ -1259,6 +1299,30 @@ page = 1
triggerCompHystMin = "Trigger comparator hysteresis voltage (Min)"
triggerCompHystMax = "Trigger comparator hysteresis voltage (Max)"
triggerCompSensorSatRpm = "VR-sensor saturation RPM"
gppwm1_pin = "Select a pin to use for PWM or on-off output."
gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm1_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
gppwm1_onAboveDuty = "In on-off mode, turn the output on when the table value is above this duty."
gppwm1_offBelowDuty = "In on-off mode, turn the output off when the table value is below this duty."
gppwm1_loadAxis = "Selects the load axis to use for the table."
gppwm2_pin = "Select a pin to use for PWM or on-off output."
gppwm2_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm2_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
gppwm2_onAboveDuty = "In on-off mode, turn the output on when the table value is above this duty."
gppwm2_offBelowDuty = "In on-off mode, turn the output off when the table value is below this duty."
gppwm2_loadAxis = "Selects the load axis to use for the table."
gppwm3_pin = "Select a pin to use for PWM or on-off output."
gppwm3_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm3_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
gppwm3_onAboveDuty = "In on-off mode, turn the output on when the table value is above this duty."
gppwm3_offBelowDuty = "In on-off mode, turn the output off when the table value is below this duty."
gppwm3_loadAxis = "Selects the load axis to use for the table."
gppwm4_pin = "Select a pin to use for PWM or on-off output."
gppwm4_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm4_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
gppwm4_onAboveDuty = "In on-off mode, turn the output on when the table value is above this duty."
gppwm4_offBelowDuty = "In on-off mode, turn the output off when the table value is below this duty."
gppwm4_loadAxis = "Selects the load axis to use for the table."
; CONFIG_DEFINITION_END
@ -1538,6 +1602,12 @@ fileVersion = { 20200310 }
time = { timeNow }
; engineLoad = { fuleAlgorithm == 0 ? MAF : TPS }
; These "synthetic" channels provide the Y-axis (load) value for gen purp PWM table's Y axes
gppwm1_load = {(gppwm1_loadAxis == 0) ? TPSValue : ((gppwm1_loadAxis == 1) ? MAPValue : ((gppwm1_loadAxis == 2) ? coolant : intake))}
gppwm2_load = {(gppwm2_loadAxis == 0) ? TPSValue : ((gppwm2_loadAxis == 1) ? MAPValue : ((gppwm2_loadAxis == 2) ? coolant : intake))}
gppwm3_load = {(gppwm3_loadAxis == 0) ? TPSValue : ((gppwm3_loadAxis == 1) ? MAPValue : ((gppwm3_loadAxis == 2) ? coolant : intake))}
gppwm4_load = {(gppwm4_loadAxis == 0) ? TPSValue : ((gppwm4_loadAxis == 1) ? MAPValue : ((gppwm4_loadAxis == 2) ? coolant : intake))}
[PcVariables]
wueAfrTargetOffset = array, S16, [ 16], ":1", 0.1, 0.0, -3.0, 3.0, 1;
wueAnalRecommend = array, U08, [ 16], "%", 1.00, 0.0, 100, 255.00, 0
@ -2025,6 +2095,30 @@ fileVersion = { 20200310 }
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
upDownLabel = "(Later)", "(Sooner)"
table = gppwm1Tbl, gppwm1Map, "", 1
xyLabels = "RPM", ""
xBins = gppwm1_rpmBins, RPMValue
yBins = gppwm1_loadBins, gppwm1_load
zBins = gppwm1_table
table = gppwm2Tbl, gppwm2Map, "", 1
xyLabels = "RPM", ""
xBins = gppwm2_rpmBins, RPMValue
yBins = gppwm2_loadBins, gppwm2_load
zBins = gppwm2_table
table = gppwm3Tbl, gppwm3Map, "", 1
xyLabels = "RPM", ""
xBins = gppwm3_rpmBins, RPMValue
yBins = gppwm3_loadBins, gppwm3_load
zBins = gppwm3_table
table = gppwm4Tbl, gppwm4Map, "", 1
xyLabels = "RPM", ""
xBins = gppwm4_rpmBins, RPMValue
yBins = gppwm4_loadBins, gppwm4_load
zBins = gppwm4_table
[GaugeConfigurations]
gaugeCategory = Sensors - Extra 2
@ -2463,8 +2557,14 @@ menuDialog = main
menu = "&Advanced"
subMenu = boostDialog, "Boost Control"
subMenu = boostPidDialog, "Closed Loop Boost", { boostType == 1 }
subMenu = mc33Dialog, "GDI Dreams"
subMenu = std_separator
subMenu = std_separator
subMenu = gppwm1, "General Purpose PWM 1"
subMenu = gppwm2, "General Purpose PWM 2"
subMenu = gppwm3, "General Purpose PWM 3"
subMenu = gppwm4, "General Purpose PWM 4"
subMenu = std_separator
subMenu = fsioInputsDialog, "FSIO inputs"
subMenu = auxPidDialog, "Aux PID"
subMenu = fsioOutputsDialog, "FSIO outputs"
@ -2543,6 +2643,7 @@ menuDialog = main
# EXPERIMENTAL FEATURES
subMenu = parkingLot, "Experimental/Broken"
subMenu = multisparkSettings, "Multispark", 0, {isIgnitionEnabled == 1}
subMenu = mc33Dialog, "GDI Dreams"
subMenu = std_separator
subMenu = hipFunction, "HIP9011 settings (knock sensor) (alpha version)"
@ -4080,6 +4181,89 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
webHelp = "http://www.rusefi.com/"
text = "<img src='https://rusefi.com/style/logo_100.gif'>"
dialog = gppwm1left, ""
field = "Pin", gppwm1_pin
field = ""
field = "Set frequency to 0hz for on-off mode"
field = "Frequency", gppwm1_pwmFrequency, {gppwm1_pin != 0}
field = ""
field = "On above duty", gppwm1_onAboveDuty, {gppwm1_pin != 0 && gppwm1_pwmFrequency == 0}
field = "Off below duty", gppwm1_offBelowDuty, {gppwm1_pin != 0 && gppwm1_pwmFrequency == 0}
field = "Duty if error", gppwm1_dutyIfError, {gppwm1_pin != 0}
field = ""
field = "Load Axis", gppwm1_loadAxis, {gppwm1_pin != 0}
field = ""
field = ""
field = ""
field = ""
field = ""
dialog = gppwm1, "General Purpose PWM 1", xAxis
panel = gppwm1left
panel = gppwm1Tbl, {gppwm1_pin != 0}
dialog = gppwm2left, ""
field = "Pin", gppwm2_pin
field = ""
field = "Set frequency to 0hz for on-off mode"
field = "Frequency", gppwm2_pwmFrequency, {gppwm2_pin != 0}
field = ""
field = "On above duty", gppwm2_onAboveDuty, {gppwm2_pin != 0 && gppwm2_pwmFrequency == 0}
field = "Off below duty", gppwm2_offBelowDuty, {gppwm2_pin != 0 && gppwm2_pwmFrequency == 0}
field = "Duty if error", gppwm2_dutyIfError, {gppwm2_pin != 0}
field = ""
field = "Load Axis", gppwm2_loadAxis, {gppwm2_pin != 0}
field = ""
field = ""
field = ""
field = ""
field = ""
dialog = gppwm2, "General Purpose PWM 2", xAxis
panel = gppwm2left
panel = gppwm2Tbl, {gppwm2_pin != 0}
dialog = gppwm3left, ""
field = "Pin", gppwm3_pin
field = ""
field = "Set frequency to 0hz for on-off mode"
field = "Frequency", gppwm3_pwmFrequency, {gppwm3_pin != 0}
field = ""
field = "On above duty", gppwm3_onAboveDuty, {gppwm3_pin != 0 && gppwm3_pwmFrequency == 0}
field = "Off below duty", gppwm3_offBelowDuty, {gppwm3_pin != 0 && gppwm3_pwmFrequency == 0}
field = "Duty if error", gppwm3_dutyIfError, {gppwm3_pin != 0}
field = ""
field = "Load Axis", gppwm3_loadAxis, {gppwm3_pin != 0}
field = ""
field = ""
field = ""
field = ""
field = ""
dialog = gppwm3, "General Purpose PWM 3", xAxis
panel = gppwm3left
panel = gppwm3Tbl, {gppwm3_pin != 0}
dialog = gppwm4left, ""
field = "Pin", gppwm4_pin
field = ""
field = "Set frequency to 0hz for on-off mode"
field = "Frequency", gppwm4_pwmFrequency, {gppwm4_pin != 0}
field = ""
field = "On above duty", gppwm4_onAboveDuty, {gppwm4_pin != 0 && gppwm4_pwmFrequency == 0}
field = "Off below duty", gppwm4_offBelowDuty, {gppwm4_pin != 0 && gppwm4_pwmFrequency == 0}
field = "Duty if error", gppwm4_dutyIfError, {gppwm4_pin != 0}
field = ""
field = "Load Axis", gppwm4_loadAxis, {gppwm4_pin != 0}
field = ""
field = ""
field = ""
field = ""
field = ""
dialog = gppwm4, "General Purpose PWM 4", xAxis
panel = gppwm4left
panel = gppwm4Tbl, {gppwm4_pin != 0}
[Tools]
;addTool = toolName, PanelName

View File

@ -89,7 +89,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Fri Apr 24 23:25:23 EDT 2020
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Sat Apr 25 18:05:20 EDT 2020
pageSize = 20000
page = 1
@ -1038,7 +1038,47 @@ page = 1
iacPidMultLoadBins = array, U08, 4124, [8], "Load", 1, 0.0, 0, 500.0, 2
iacPidMultRpmBins = array, U08, 4132, [8], "RPM", 50, 0, 0.0, 12000.0, 0
canVssNbcType = bits, U32, 4140, [0:7], "BMW_e46", "W202"
;no TS info - skipping mainUnusedEnd offset 4144
gppwm1_pin = bits, U08, 4144, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6","PE7","PE8","PE9","PE10","PE11","PE12","PE13","PE14","PE15", "PF0","PF1","PF2","PF3","PF4","PF5","PF6","PF7","PF8","PF9","PF10","PF11","PF12","PF13","PF14","PF15", "PG0","PG1","PG2","PG3","PG4","PG5","PG6","PG7","PG8","PG9","PG10","PG11","PG12","PG13","PG14","PG15", "PH0","PH1","PH2","PH3","PH4","PH5","PH6","PH7","PH8","PH9","PH10","PH11","PH12","PH13","PH14","PH15","INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
gppwm1_dutyIfError = scalar, U08, 4145, "%", 1, 0, 0, 100, 0
gppwm1_pwmFrequency = scalar, U16, 4146, "hz", 1, 0, 0, 500, 0
gppwm1_onAboveDuty = scalar, U08, 4148, "%", 1, 0, 0, 100, 0
gppwm1_offBelowDuty = scalar, U08, 4149, "%", 1, 0, 0, 100, 0
gppwm1_loadAxis = bits, U08, 4150, [0:1], "TPS", "MAP", "CLT", "IAT"
;no TS info - skipping gppwm1_pad offset 4151
gppwm1_loadBins = array, U08, 4152, [8], "load", 1, 0, 0.0, 250, 0
gppwm1_rpmBins = array, U08, 4160, [8], "RPM", 50, 0, 0.0, 12000.0, 0
gppwm1_table = array, U08, 4168, [8x8], "duty", 1, 0, 0, 100, 0
gppwm2_pin = bits, U08, 4232, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6","PE7","PE8","PE9","PE10","PE11","PE12","PE13","PE14","PE15", "PF0","PF1","PF2","PF3","PF4","PF5","PF6","PF7","PF8","PF9","PF10","PF11","PF12","PF13","PF14","PF15", "PG0","PG1","PG2","PG3","PG4","PG5","PG6","PG7","PG8","PG9","PG10","PG11","PG12","PG13","PG14","PG15", "PH0","PH1","PH2","PH3","PH4","PH5","PH6","PH7","PH8","PH9","PH10","PH11","PH12","PH13","PH14","PH15","INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
gppwm2_dutyIfError = scalar, U08, 4233, "%", 1, 0, 0, 100, 0
gppwm2_pwmFrequency = scalar, U16, 4234, "hz", 1, 0, 0, 500, 0
gppwm2_onAboveDuty = scalar, U08, 4236, "%", 1, 0, 0, 100, 0
gppwm2_offBelowDuty = scalar, U08, 4237, "%", 1, 0, 0, 100, 0
gppwm2_loadAxis = bits, U08, 4238, [0:1], "TPS", "MAP", "CLT", "IAT"
;no TS info - skipping gppwm2_pad offset 4239
gppwm2_loadBins = array, U08, 4240, [8], "load", 1, 0, 0.0, 250, 0
gppwm2_rpmBins = array, U08, 4248, [8], "RPM", 50, 0, 0.0, 12000.0, 0
gppwm2_table = array, U08, 4256, [8x8], "duty", 1, 0, 0, 100, 0
gppwm3_pin = bits, U08, 4320, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6","PE7","PE8","PE9","PE10","PE11","PE12","PE13","PE14","PE15", "PF0","PF1","PF2","PF3","PF4","PF5","PF6","PF7","PF8","PF9","PF10","PF11","PF12","PF13","PF14","PF15", "PG0","PG1","PG2","PG3","PG4","PG5","PG6","PG7","PG8","PG9","PG10","PG11","PG12","PG13","PG14","PG15", "PH0","PH1","PH2","PH3","PH4","PH5","PH6","PH7","PH8","PH9","PH10","PH11","PH12","PH13","PH14","PH15","INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
gppwm3_dutyIfError = scalar, U08, 4321, "%", 1, 0, 0, 100, 0
gppwm3_pwmFrequency = scalar, U16, 4322, "hz", 1, 0, 0, 500, 0
gppwm3_onAboveDuty = scalar, U08, 4324, "%", 1, 0, 0, 100, 0
gppwm3_offBelowDuty = scalar, U08, 4325, "%", 1, 0, 0, 100, 0
gppwm3_loadAxis = bits, U08, 4326, [0:1], "TPS", "MAP", "CLT", "IAT"
;no TS info - skipping gppwm3_pad offset 4327
gppwm3_loadBins = array, U08, 4328, [8], "load", 1, 0, 0.0, 250, 0
gppwm3_rpmBins = array, U08, 4336, [8], "RPM", 50, 0, 0.0, 12000.0, 0
gppwm3_table = array, U08, 4344, [8x8], "duty", 1, 0, 0, 100, 0
gppwm4_pin = bits, U08, 4408, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6","PE7","PE8","PE9","PE10","PE11","PE12","PE13","PE14","PE15", "PF0","PF1","PF2","PF3","PF4","PF5","PF6","PF7","PF8","PF9","PF10","PF11","PF12","PF13","PF14","PF15", "PG0","PG1","PG2","PG3","PG4","PG5","PG6","PG7","PG8","PG9","PG10","PG11","PG12","PG13","PG14","PG15", "PH0","PH1","PH2","PH3","PH4","PH5","PH6","PH7","PH8","PH9","PH10","PH11","PH12","PH13","PH14","PH15","INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
gppwm4_dutyIfError = scalar, U08, 4409, "%", 1, 0, 0, 100, 0
gppwm4_pwmFrequency = scalar, U16, 4410, "hz", 1, 0, 0, 500, 0
gppwm4_onAboveDuty = scalar, U08, 4412, "%", 1, 0, 0, 100, 0
gppwm4_offBelowDuty = scalar, U08, 4413, "%", 1, 0, 0, 100, 0
gppwm4_loadAxis = bits, U08, 4414, [0:1], "TPS", "MAP", "CLT", "IAT"
;no TS info - skipping gppwm4_pad offset 4415
gppwm4_loadBins = array, U08, 4416, [8], "load", 1, 0, 0.0, 250, 0
gppwm4_rpmBins = array, U08, 4424, [8], "RPM", 50, 0, 0.0, 12000.0, 0
gppwm4_table = array, U08, 4432, [8x8], "duty", 1, 0, 0, 100, 0
;no TS info - skipping mainUnusedEnd offset 4496
warning_message = string, ASCII, 6000, 120
afterstartCoolantBins = array, F32, 6120, [8], "C", 1, 0, -100.0, 250.0, 0
afterstartHoldTime = array, F32, 6152, [8], "Seconds", 1, 0, 0, 100, 1
@ -1259,6 +1299,30 @@ page = 1
triggerCompHystMin = "Trigger comparator hysteresis voltage (Min)"
triggerCompHystMax = "Trigger comparator hysteresis voltage (Max)"
triggerCompSensorSatRpm = "VR-sensor saturation RPM"
gppwm1_pin = "Select a pin to use for PWM or on-off output."
gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm1_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
gppwm1_onAboveDuty = "In on-off mode, turn the output on when the table value is above this duty."
gppwm1_offBelowDuty = "In on-off mode, turn the output off when the table value is below this duty."
gppwm1_loadAxis = "Selects the load axis to use for the table."
gppwm2_pin = "Select a pin to use for PWM or on-off output."
gppwm2_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm2_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
gppwm2_onAboveDuty = "In on-off mode, turn the output on when the table value is above this duty."
gppwm2_offBelowDuty = "In on-off mode, turn the output off when the table value is below this duty."
gppwm2_loadAxis = "Selects the load axis to use for the table."
gppwm3_pin = "Select a pin to use for PWM or on-off output."
gppwm3_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm3_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
gppwm3_onAboveDuty = "In on-off mode, turn the output on when the table value is above this duty."
gppwm3_offBelowDuty = "In on-off mode, turn the output off when the table value is below this duty."
gppwm3_loadAxis = "Selects the load axis to use for the table."
gppwm4_pin = "Select a pin to use for PWM or on-off output."
gppwm4_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm4_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
gppwm4_onAboveDuty = "In on-off mode, turn the output on when the table value is above this duty."
gppwm4_offBelowDuty = "In on-off mode, turn the output off when the table value is below this duty."
gppwm4_loadAxis = "Selects the load axis to use for the table."
; CONFIG_DEFINITION_END
@ -1538,6 +1602,12 @@ fileVersion = { 20200310 }
time = { timeNow }
; engineLoad = { fuleAlgorithm == 0 ? MAF : TPS }
; These "synthetic" channels provide the Y-axis (load) value for gen purp PWM table's Y axes
gppwm1_load = {(gppwm1_loadAxis == 0) ? TPSValue : ((gppwm1_loadAxis == 1) ? MAPValue : ((gppwm1_loadAxis == 2) ? coolant : intake))}
gppwm2_load = {(gppwm2_loadAxis == 0) ? TPSValue : ((gppwm2_loadAxis == 1) ? MAPValue : ((gppwm2_loadAxis == 2) ? coolant : intake))}
gppwm3_load = {(gppwm3_loadAxis == 0) ? TPSValue : ((gppwm3_loadAxis == 1) ? MAPValue : ((gppwm3_loadAxis == 2) ? coolant : intake))}
gppwm4_load = {(gppwm4_loadAxis == 0) ? TPSValue : ((gppwm4_loadAxis == 1) ? MAPValue : ((gppwm4_loadAxis == 2) ? coolant : intake))}
[PcVariables]
wueAfrTargetOffset = array, S16, [ 16], ":1", 0.1, 0.0, -3.0, 3.0, 1;
wueAnalRecommend = array, U08, [ 16], "%", 1.00, 0.0, 100, 255.00, 0
@ -2025,6 +2095,30 @@ fileVersion = { 20200310 }
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
upDownLabel = "(Later)", "(Sooner)"
table = gppwm1Tbl, gppwm1Map, "", 1
xyLabels = "RPM", ""
xBins = gppwm1_rpmBins, RPMValue
yBins = gppwm1_loadBins, gppwm1_load
zBins = gppwm1_table
table = gppwm2Tbl, gppwm2Map, "", 1
xyLabels = "RPM", ""
xBins = gppwm2_rpmBins, RPMValue
yBins = gppwm2_loadBins, gppwm2_load
zBins = gppwm2_table
table = gppwm3Tbl, gppwm3Map, "", 1
xyLabels = "RPM", ""
xBins = gppwm3_rpmBins, RPMValue
yBins = gppwm3_loadBins, gppwm3_load
zBins = gppwm3_table
table = gppwm4Tbl, gppwm4Map, "", 1
xyLabels = "RPM", ""
xBins = gppwm4_rpmBins, RPMValue
yBins = gppwm4_loadBins, gppwm4_load
zBins = gppwm4_table
[GaugeConfigurations]
gaugeCategory = Sensors - Extra 2
@ -2463,8 +2557,14 @@ menuDialog = main
menu = "&Advanced"
subMenu = boostDialog, "Boost Control"
subMenu = boostPidDialog, "Closed Loop Boost", { boostType == 1 }
subMenu = mc33Dialog, "GDI Dreams"
subMenu = std_separator
subMenu = std_separator
subMenu = gppwm1, "General Purpose PWM 1"
subMenu = gppwm2, "General Purpose PWM 2"
subMenu = gppwm3, "General Purpose PWM 3"
subMenu = gppwm4, "General Purpose PWM 4"
subMenu = std_separator
subMenu = fsioInputsDialog, "FSIO inputs"
subMenu = auxPidDialog, "Aux PID"
subMenu = fsioOutputsDialog, "FSIO outputs"
@ -2543,6 +2643,7 @@ menuDialog = main
# EXPERIMENTAL FEATURES
subMenu = parkingLot, "Experimental/Broken"
subMenu = multisparkSettings, "Multispark", 0, {isIgnitionEnabled == 1}
subMenu = mc33Dialog, "GDI Dreams"
subMenu = std_separator
subMenu = hipFunction, "HIP9011 settings (knock sensor) (alpha version)"
@ -4080,6 +4181,89 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
webHelp = "http://www.rusefi.com/"
text = "<img src='https://rusefi.com/style/logo_100.gif'>"
dialog = gppwm1left, ""
field = "Pin", gppwm1_pin
field = ""
field = "Set frequency to 0hz for on-off mode"
field = "Frequency", gppwm1_pwmFrequency, {gppwm1_pin != 0}
field = ""
field = "On above duty", gppwm1_onAboveDuty, {gppwm1_pin != 0 && gppwm1_pwmFrequency == 0}
field = "Off below duty", gppwm1_offBelowDuty, {gppwm1_pin != 0 && gppwm1_pwmFrequency == 0}
field = "Duty if error", gppwm1_dutyIfError, {gppwm1_pin != 0}
field = ""
field = "Load Axis", gppwm1_loadAxis, {gppwm1_pin != 0}
field = ""
field = ""
field = ""
field = ""
field = ""
dialog = gppwm1, "General Purpose PWM 1", xAxis
panel = gppwm1left
panel = gppwm1Tbl, {gppwm1_pin != 0}
dialog = gppwm2left, ""
field = "Pin", gppwm2_pin
field = ""
field = "Set frequency to 0hz for on-off mode"
field = "Frequency", gppwm2_pwmFrequency, {gppwm2_pin != 0}
field = ""
field = "On above duty", gppwm2_onAboveDuty, {gppwm2_pin != 0 && gppwm2_pwmFrequency == 0}
field = "Off below duty", gppwm2_offBelowDuty, {gppwm2_pin != 0 && gppwm2_pwmFrequency == 0}
field = "Duty if error", gppwm2_dutyIfError, {gppwm2_pin != 0}
field = ""
field = "Load Axis", gppwm2_loadAxis, {gppwm2_pin != 0}
field = ""
field = ""
field = ""
field = ""
field = ""
dialog = gppwm2, "General Purpose PWM 2", xAxis
panel = gppwm2left
panel = gppwm2Tbl, {gppwm2_pin != 0}
dialog = gppwm3left, ""
field = "Pin", gppwm3_pin
field = ""
field = "Set frequency to 0hz for on-off mode"
field = "Frequency", gppwm3_pwmFrequency, {gppwm3_pin != 0}
field = ""
field = "On above duty", gppwm3_onAboveDuty, {gppwm3_pin != 0 && gppwm3_pwmFrequency == 0}
field = "Off below duty", gppwm3_offBelowDuty, {gppwm3_pin != 0 && gppwm3_pwmFrequency == 0}
field = "Duty if error", gppwm3_dutyIfError, {gppwm3_pin != 0}
field = ""
field = "Load Axis", gppwm3_loadAxis, {gppwm3_pin != 0}
field = ""
field = ""
field = ""
field = ""
field = ""
dialog = gppwm3, "General Purpose PWM 3", xAxis
panel = gppwm3left
panel = gppwm3Tbl, {gppwm3_pin != 0}
dialog = gppwm4left, ""
field = "Pin", gppwm4_pin
field = ""
field = "Set frequency to 0hz for on-off mode"
field = "Frequency", gppwm4_pwmFrequency, {gppwm4_pin != 0}
field = ""
field = "On above duty", gppwm4_onAboveDuty, {gppwm4_pin != 0 && gppwm4_pwmFrequency == 0}
field = "Off below duty", gppwm4_offBelowDuty, {gppwm4_pin != 0 && gppwm4_pwmFrequency == 0}
field = "Duty if error", gppwm4_dutyIfError, {gppwm4_pin != 0}
field = ""
field = "Load Axis", gppwm4_loadAxis, {gppwm4_pin != 0}
field = ""
field = ""
field = ""
field = ""
field = ""
dialog = gppwm4, "General Purpose PWM 4", xAxis
panel = gppwm4left
panel = gppwm4Tbl, {gppwm4_pin != 0}
[Tools]
;addTool = toolName, PanelName

View File

@ -89,7 +89,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kineris_gen_config.bat integration/rusefi_config.txt Fri Apr 24 23:25:53 EDT 2020
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kineris_gen_config.bat integration/rusefi_config.txt Sat Apr 25 18:06:47 EDT 2020
pageSize = 20000
page = 1
@ -1038,7 +1038,47 @@ page = 1
iacPidMultLoadBins = array, U08, 4124, [8], "Load", 1, 0.0, 0, 500.0, 2
iacPidMultRpmBins = array, U08, 4132, [8], "RPM", 50, 0, 0.0, 12000.0, 0
canVssNbcType = bits, U32, 4140, [0:7], "BMW_e46", "W202"
;no TS info - skipping mainUnusedEnd offset 4144
gppwm1_pin = bits, U08, 4144, [0:7], "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"
gppwm1_dutyIfError = scalar, U08, 4145, "%", 1, 0, 0, 100, 0
gppwm1_pwmFrequency = scalar, U16, 4146, "hz", 1, 0, 0, 500, 0
gppwm1_onAboveDuty = scalar, U08, 4148, "%", 1, 0, 0, 100, 0
gppwm1_offBelowDuty = scalar, U08, 4149, "%", 1, 0, 0, 100, 0
gppwm1_loadAxis = bits, U08, 4150, [0:1], "TPS", "MAP", "CLT", "IAT"
;no TS info - skipping gppwm1_pad offset 4151
gppwm1_loadBins = array, U08, 4152, [8], "load", 1, 0, 0.0, 250, 0
gppwm1_rpmBins = array, U08, 4160, [8], "RPM", 50, 0, 0.0, 12000.0, 0
gppwm1_table = array, U08, 4168, [8x8], "duty", 1, 0, 0, 100, 0
gppwm2_pin = bits, U08, 4232, [0:7], "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"
gppwm2_dutyIfError = scalar, U08, 4233, "%", 1, 0, 0, 100, 0
gppwm2_pwmFrequency = scalar, U16, 4234, "hz", 1, 0, 0, 500, 0
gppwm2_onAboveDuty = scalar, U08, 4236, "%", 1, 0, 0, 100, 0
gppwm2_offBelowDuty = scalar, U08, 4237, "%", 1, 0, 0, 100, 0
gppwm2_loadAxis = bits, U08, 4238, [0:1], "TPS", "MAP", "CLT", "IAT"
;no TS info - skipping gppwm2_pad offset 4239
gppwm2_loadBins = array, U08, 4240, [8], "load", 1, 0, 0.0, 250, 0
gppwm2_rpmBins = array, U08, 4248, [8], "RPM", 50, 0, 0.0, 12000.0, 0
gppwm2_table = array, U08, 4256, [8x8], "duty", 1, 0, 0, 100, 0
gppwm3_pin = bits, U08, 4320, [0:7], "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"
gppwm3_dutyIfError = scalar, U08, 4321, "%", 1, 0, 0, 100, 0
gppwm3_pwmFrequency = scalar, U16, 4322, "hz", 1, 0, 0, 500, 0
gppwm3_onAboveDuty = scalar, U08, 4324, "%", 1, 0, 0, 100, 0
gppwm3_offBelowDuty = scalar, U08, 4325, "%", 1, 0, 0, 100, 0
gppwm3_loadAxis = bits, U08, 4326, [0:1], "TPS", "MAP", "CLT", "IAT"
;no TS info - skipping gppwm3_pad offset 4327
gppwm3_loadBins = array, U08, 4328, [8], "load", 1, 0, 0.0, 250, 0
gppwm3_rpmBins = array, U08, 4336, [8], "RPM", 50, 0, 0.0, 12000.0, 0
gppwm3_table = array, U08, 4344, [8x8], "duty", 1, 0, 0, 100, 0
gppwm4_pin = bits, U08, 4408, [0:7], "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"
gppwm4_dutyIfError = scalar, U08, 4409, "%", 1, 0, 0, 100, 0
gppwm4_pwmFrequency = scalar, U16, 4410, "hz", 1, 0, 0, 500, 0
gppwm4_onAboveDuty = scalar, U08, 4412, "%", 1, 0, 0, 100, 0
gppwm4_offBelowDuty = scalar, U08, 4413, "%", 1, 0, 0, 100, 0
gppwm4_loadAxis = bits, U08, 4414, [0:1], "TPS", "MAP", "CLT", "IAT"
;no TS info - skipping gppwm4_pad offset 4415
gppwm4_loadBins = array, U08, 4416, [8], "load", 1, 0, 0.0, 250, 0
gppwm4_rpmBins = array, U08, 4424, [8], "RPM", 50, 0, 0.0, 12000.0, 0
gppwm4_table = array, U08, 4432, [8x8], "duty", 1, 0, 0, 100, 0
;no TS info - skipping mainUnusedEnd offset 4496
warning_message = string, ASCII, 6000, 120
afterstartCoolantBins = array, F32, 6120, [8], "C", 1, 0, -100.0, 250.0, 0
afterstartHoldTime = array, F32, 6152, [8], "Seconds", 1, 0, 0, 100, 1
@ -1259,6 +1299,30 @@ page = 1
triggerCompHystMin = "Trigger comparator hysteresis voltage (Min)"
triggerCompHystMax = "Trigger comparator hysteresis voltage (Max)"
triggerCompSensorSatRpm = "VR-sensor saturation RPM"
gppwm1_pin = "Select a pin to use for PWM or on-off output."
gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm1_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
gppwm1_onAboveDuty = "In on-off mode, turn the output on when the table value is above this duty."
gppwm1_offBelowDuty = "In on-off mode, turn the output off when the table value is below this duty."
gppwm1_loadAxis = "Selects the load axis to use for the table."
gppwm2_pin = "Select a pin to use for PWM or on-off output."
gppwm2_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm2_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
gppwm2_onAboveDuty = "In on-off mode, turn the output on when the table value is above this duty."
gppwm2_offBelowDuty = "In on-off mode, turn the output off when the table value is below this duty."
gppwm2_loadAxis = "Selects the load axis to use for the table."
gppwm3_pin = "Select a pin to use for PWM or on-off output."
gppwm3_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm3_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
gppwm3_onAboveDuty = "In on-off mode, turn the output on when the table value is above this duty."
gppwm3_offBelowDuty = "In on-off mode, turn the output off when the table value is below this duty."
gppwm3_loadAxis = "Selects the load axis to use for the table."
gppwm4_pin = "Select a pin to use for PWM or on-off output."
gppwm4_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm4_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
gppwm4_onAboveDuty = "In on-off mode, turn the output on when the table value is above this duty."
gppwm4_offBelowDuty = "In on-off mode, turn the output off when the table value is below this duty."
gppwm4_loadAxis = "Selects the load axis to use for the table."
; CONFIG_DEFINITION_END
@ -1538,6 +1602,12 @@ fileVersion = { 20200310 }
time = { timeNow }
; engineLoad = { fuleAlgorithm == 0 ? MAF : TPS }
; These "synthetic" channels provide the Y-axis (load) value for gen purp PWM table's Y axes
gppwm1_load = {(gppwm1_loadAxis == 0) ? TPSValue : ((gppwm1_loadAxis == 1) ? MAPValue : ((gppwm1_loadAxis == 2) ? coolant : intake))}
gppwm2_load = {(gppwm2_loadAxis == 0) ? TPSValue : ((gppwm2_loadAxis == 1) ? MAPValue : ((gppwm2_loadAxis == 2) ? coolant : intake))}
gppwm3_load = {(gppwm3_loadAxis == 0) ? TPSValue : ((gppwm3_loadAxis == 1) ? MAPValue : ((gppwm3_loadAxis == 2) ? coolant : intake))}
gppwm4_load = {(gppwm4_loadAxis == 0) ? TPSValue : ((gppwm4_loadAxis == 1) ? MAPValue : ((gppwm4_loadAxis == 2) ? coolant : intake))}
[PcVariables]
wueAfrTargetOffset = array, S16, [ 16], ":1", 0.1, 0.0, -3.0, 3.0, 1;
wueAnalRecommend = array, U08, [ 16], "%", 1.00, 0.0, 100, 255.00, 0
@ -2025,6 +2095,30 @@ fileVersion = { 20200310 }
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
upDownLabel = "(Later)", "(Sooner)"
table = gppwm1Tbl, gppwm1Map, "", 1
xyLabels = "RPM", ""
xBins = gppwm1_rpmBins, RPMValue
yBins = gppwm1_loadBins, gppwm1_load
zBins = gppwm1_table
table = gppwm2Tbl, gppwm2Map, "", 1
xyLabels = "RPM", ""
xBins = gppwm2_rpmBins, RPMValue
yBins = gppwm2_loadBins, gppwm2_load
zBins = gppwm2_table
table = gppwm3Tbl, gppwm3Map, "", 1
xyLabels = "RPM", ""
xBins = gppwm3_rpmBins, RPMValue
yBins = gppwm3_loadBins, gppwm3_load
zBins = gppwm3_table
table = gppwm4Tbl, gppwm4Map, "", 1
xyLabels = "RPM", ""
xBins = gppwm4_rpmBins, RPMValue
yBins = gppwm4_loadBins, gppwm4_load
zBins = gppwm4_table
[GaugeConfigurations]
gaugeCategory = Sensors - Extra 2
@ -2463,8 +2557,14 @@ menuDialog = main
menu = "&Advanced"
subMenu = boostDialog, "Boost Control"
subMenu = boostPidDialog, "Closed Loop Boost", { boostType == 1 }
subMenu = mc33Dialog, "GDI Dreams"
subMenu = std_separator
subMenu = std_separator
subMenu = gppwm1, "General Purpose PWM 1"
subMenu = gppwm2, "General Purpose PWM 2"
subMenu = gppwm3, "General Purpose PWM 3"
subMenu = gppwm4, "General Purpose PWM 4"
subMenu = std_separator
subMenu = fsioInputsDialog, "FSIO inputs"
subMenu = auxPidDialog, "Aux PID"
subMenu = fsioOutputsDialog, "FSIO outputs"
@ -2543,6 +2643,7 @@ menuDialog = main
# EXPERIMENTAL FEATURES
subMenu = parkingLot, "Experimental/Broken"
subMenu = multisparkSettings, "Multispark", 0, {isIgnitionEnabled == 1}
subMenu = mc33Dialog, "GDI Dreams"
subMenu = std_separator
subMenu = hipFunction, "HIP9011 settings (knock sensor) (alpha version)"
@ -4081,6 +4182,89 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
webHelp = "http://www.rusefi.com/"
text = "<img src='https://rusefi.com/style/logo_100.gif'>"
dialog = gppwm1left, ""
field = "Pin", gppwm1_pin
field = ""
field = "Set frequency to 0hz for on-off mode"
field = "Frequency", gppwm1_pwmFrequency, {gppwm1_pin != 0}
field = ""
field = "On above duty", gppwm1_onAboveDuty, {gppwm1_pin != 0 && gppwm1_pwmFrequency == 0}
field = "Off below duty", gppwm1_offBelowDuty, {gppwm1_pin != 0 && gppwm1_pwmFrequency == 0}
field = "Duty if error", gppwm1_dutyIfError, {gppwm1_pin != 0}
field = ""
field = "Load Axis", gppwm1_loadAxis, {gppwm1_pin != 0}
field = ""
field = ""
field = ""
field = ""
field = ""
dialog = gppwm1, "General Purpose PWM 1", xAxis
panel = gppwm1left
panel = gppwm1Tbl, {gppwm1_pin != 0}
dialog = gppwm2left, ""
field = "Pin", gppwm2_pin
field = ""
field = "Set frequency to 0hz for on-off mode"
field = "Frequency", gppwm2_pwmFrequency, {gppwm2_pin != 0}
field = ""
field = "On above duty", gppwm2_onAboveDuty, {gppwm2_pin != 0 && gppwm2_pwmFrequency == 0}
field = "Off below duty", gppwm2_offBelowDuty, {gppwm2_pin != 0 && gppwm2_pwmFrequency == 0}
field = "Duty if error", gppwm2_dutyIfError, {gppwm2_pin != 0}
field = ""
field = "Load Axis", gppwm2_loadAxis, {gppwm2_pin != 0}
field = ""
field = ""
field = ""
field = ""
field = ""
dialog = gppwm2, "General Purpose PWM 2", xAxis
panel = gppwm2left
panel = gppwm2Tbl, {gppwm2_pin != 0}
dialog = gppwm3left, ""
field = "Pin", gppwm3_pin
field = ""
field = "Set frequency to 0hz for on-off mode"
field = "Frequency", gppwm3_pwmFrequency, {gppwm3_pin != 0}
field = ""
field = "On above duty", gppwm3_onAboveDuty, {gppwm3_pin != 0 && gppwm3_pwmFrequency == 0}
field = "Off below duty", gppwm3_offBelowDuty, {gppwm3_pin != 0 && gppwm3_pwmFrequency == 0}
field = "Duty if error", gppwm3_dutyIfError, {gppwm3_pin != 0}
field = ""
field = "Load Axis", gppwm3_loadAxis, {gppwm3_pin != 0}
field = ""
field = ""
field = ""
field = ""
field = ""
dialog = gppwm3, "General Purpose PWM 3", xAxis
panel = gppwm3left
panel = gppwm3Tbl, {gppwm3_pin != 0}
dialog = gppwm4left, ""
field = "Pin", gppwm4_pin
field = ""
field = "Set frequency to 0hz for on-off mode"
field = "Frequency", gppwm4_pwmFrequency, {gppwm4_pin != 0}
field = ""
field = "On above duty", gppwm4_onAboveDuty, {gppwm4_pin != 0 && gppwm4_pwmFrequency == 0}
field = "Off below duty", gppwm4_offBelowDuty, {gppwm4_pin != 0 && gppwm4_pwmFrequency == 0}
field = "Duty if error", gppwm4_dutyIfError, {gppwm4_pin != 0}
field = ""
field = "Load Axis", gppwm4_loadAxis, {gppwm4_pin != 0}
field = ""
field = ""
field = ""
field = ""
field = ""
dialog = gppwm4, "General Purpose PWM 4", xAxis
panel = gppwm4left
panel = gppwm4Tbl, {gppwm4_pin != 0}
[Tools]
;addTool = toolName, PanelName

View File

@ -89,7 +89,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Fri Apr 24 23:24:18 EDT 2020
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Sat Apr 25 18:04:38 EDT 2020
pageSize = 20000
page = 1
@ -1038,7 +1038,47 @@ page = 1
iacPidMultLoadBins = array, U08, 4124, [8], "Load", 1, 0.0, 0, 500.0, 2
iacPidMultRpmBins = array, U08, 4132, [8], "RPM", 50, 0, 0.0, 12000.0, 0
canVssNbcType = bits, U32, 4140, [0:7], "BMW_e46", "W202"
;no TS info - skipping mainUnusedEnd offset 4144
gppwm1_pin = bits, U08, 4144, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6","PE7","PE8","PE9","PE10","PE11","PE12","PE13","PE14","PE15", "PF0","PF1","PF2","PF3","PF4","PF5","PF6","PF7","PF8","PF9","PF10","PF11","PF12","PF13","PF14","PF15", "PG0","PG1","PG2","PG3","PG4","PG5","PG6","PG7","PG8","PG9","PG10","PG11","PG12","PG13","PG14","PG15", "PH0","PH1","PH2","PH3","PH4","PH5","PH6","PH7","PH8","PH9","PH10","PH11","PH12","PH13","PH14","PH15","INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
gppwm1_dutyIfError = scalar, U08, 4145, "%", 1, 0, 0, 100, 0
gppwm1_pwmFrequency = scalar, U16, 4146, "hz", 1, 0, 0, 500, 0
gppwm1_onAboveDuty = scalar, U08, 4148, "%", 1, 0, 0, 100, 0
gppwm1_offBelowDuty = scalar, U08, 4149, "%", 1, 0, 0, 100, 0
gppwm1_loadAxis = bits, U08, 4150, [0:1], "TPS", "MAP", "CLT", "IAT"
;no TS info - skipping gppwm1_pad offset 4151
gppwm1_loadBins = array, U08, 4152, [8], "load", 1, 0, 0.0, 250, 0
gppwm1_rpmBins = array, U08, 4160, [8], "RPM", 50, 0, 0.0, 12000.0, 0
gppwm1_table = array, U08, 4168, [8x8], "duty", 1, 0, 0, 100, 0
gppwm2_pin = bits, U08, 4232, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6","PE7","PE8","PE9","PE10","PE11","PE12","PE13","PE14","PE15", "PF0","PF1","PF2","PF3","PF4","PF5","PF6","PF7","PF8","PF9","PF10","PF11","PF12","PF13","PF14","PF15", "PG0","PG1","PG2","PG3","PG4","PG5","PG6","PG7","PG8","PG9","PG10","PG11","PG12","PG13","PG14","PG15", "PH0","PH1","PH2","PH3","PH4","PH5","PH6","PH7","PH8","PH9","PH10","PH11","PH12","PH13","PH14","PH15","INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
gppwm2_dutyIfError = scalar, U08, 4233, "%", 1, 0, 0, 100, 0
gppwm2_pwmFrequency = scalar, U16, 4234, "hz", 1, 0, 0, 500, 0
gppwm2_onAboveDuty = scalar, U08, 4236, "%", 1, 0, 0, 100, 0
gppwm2_offBelowDuty = scalar, U08, 4237, "%", 1, 0, 0, 100, 0
gppwm2_loadAxis = bits, U08, 4238, [0:1], "TPS", "MAP", "CLT", "IAT"
;no TS info - skipping gppwm2_pad offset 4239
gppwm2_loadBins = array, U08, 4240, [8], "load", 1, 0, 0.0, 250, 0
gppwm2_rpmBins = array, U08, 4248, [8], "RPM", 50, 0, 0.0, 12000.0, 0
gppwm2_table = array, U08, 4256, [8x8], "duty", 1, 0, 0, 100, 0
gppwm3_pin = bits, U08, 4320, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6","PE7","PE8","PE9","PE10","PE11","PE12","PE13","PE14","PE15", "PF0","PF1","PF2","PF3","PF4","PF5","PF6","PF7","PF8","PF9","PF10","PF11","PF12","PF13","PF14","PF15", "PG0","PG1","PG2","PG3","PG4","PG5","PG6","PG7","PG8","PG9","PG10","PG11","PG12","PG13","PG14","PG15", "PH0","PH1","PH2","PH3","PH4","PH5","PH6","PH7","PH8","PH9","PH10","PH11","PH12","PH13","PH14","PH15","INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
gppwm3_dutyIfError = scalar, U08, 4321, "%", 1, 0, 0, 100, 0
gppwm3_pwmFrequency = scalar, U16, 4322, "hz", 1, 0, 0, 500, 0
gppwm3_onAboveDuty = scalar, U08, 4324, "%", 1, 0, 0, 100, 0
gppwm3_offBelowDuty = scalar, U08, 4325, "%", 1, 0, 0, 100, 0
gppwm3_loadAxis = bits, U08, 4326, [0:1], "TPS", "MAP", "CLT", "IAT"
;no TS info - skipping gppwm3_pad offset 4327
gppwm3_loadBins = array, U08, 4328, [8], "load", 1, 0, 0.0, 250, 0
gppwm3_rpmBins = array, U08, 4336, [8], "RPM", 50, 0, 0.0, 12000.0, 0
gppwm3_table = array, U08, 4344, [8x8], "duty", 1, 0, 0, 100, 0
gppwm4_pin = bits, U08, 4408, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6","PE7","PE8","PE9","PE10","PE11","PE12","PE13","PE14","PE15", "PF0","PF1","PF2","PF3","PF4","PF5","PF6","PF7","PF8","PF9","PF10","PF11","PF12","PF13","PF14","PF15", "PG0","PG1","PG2","PG3","PG4","PG5","PG6","PG7","PG8","PG9","PG10","PG11","PG12","PG13","PG14","PG15", "PH0","PH1","PH2","PH3","PH4","PH5","PH6","PH7","PH8","PH9","PH10","PH11","PH12","PH13","PH14","PH15","INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
gppwm4_dutyIfError = scalar, U08, 4409, "%", 1, 0, 0, 100, 0
gppwm4_pwmFrequency = scalar, U16, 4410, "hz", 1, 0, 0, 500, 0
gppwm4_onAboveDuty = scalar, U08, 4412, "%", 1, 0, 0, 100, 0
gppwm4_offBelowDuty = scalar, U08, 4413, "%", 1, 0, 0, 100, 0
gppwm4_loadAxis = bits, U08, 4414, [0:1], "TPS", "MAP", "CLT", "IAT"
;no TS info - skipping gppwm4_pad offset 4415
gppwm4_loadBins = array, U08, 4416, [8], "load", 1, 0, 0.0, 250, 0
gppwm4_rpmBins = array, U08, 4424, [8], "RPM", 50, 0, 0.0, 12000.0, 0
gppwm4_table = array, U08, 4432, [8x8], "duty", 1, 0, 0, 100, 0
;no TS info - skipping mainUnusedEnd offset 4496
warning_message = string, ASCII, 6000, 120
afterstartCoolantBins = array, F32, 6120, [8], "C", 1, 0, -100.0, 250.0, 0
afterstartHoldTime = array, F32, 6152, [8], "Seconds", 1, 0, 0, 100, 1
@ -1259,6 +1299,30 @@ page = 1
triggerCompHystMin = "Trigger comparator hysteresis voltage (Min)"
triggerCompHystMax = "Trigger comparator hysteresis voltage (Max)"
triggerCompSensorSatRpm = "VR-sensor saturation RPM"
gppwm1_pin = "Select a pin to use for PWM or on-off output."
gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm1_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
gppwm1_onAboveDuty = "In on-off mode, turn the output on when the table value is above this duty."
gppwm1_offBelowDuty = "In on-off mode, turn the output off when the table value is below this duty."
gppwm1_loadAxis = "Selects the load axis to use for the table."
gppwm2_pin = "Select a pin to use for PWM or on-off output."
gppwm2_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm2_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
gppwm2_onAboveDuty = "In on-off mode, turn the output on when the table value is above this duty."
gppwm2_offBelowDuty = "In on-off mode, turn the output off when the table value is below this duty."
gppwm2_loadAxis = "Selects the load axis to use for the table."
gppwm3_pin = "Select a pin to use for PWM or on-off output."
gppwm3_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm3_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
gppwm3_onAboveDuty = "In on-off mode, turn the output on when the table value is above this duty."
gppwm3_offBelowDuty = "In on-off mode, turn the output off when the table value is below this duty."
gppwm3_loadAxis = "Selects the load axis to use for the table."
gppwm4_pin = "Select a pin to use for PWM or on-off output."
gppwm4_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm4_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
gppwm4_onAboveDuty = "In on-off mode, turn the output on when the table value is above this duty."
gppwm4_offBelowDuty = "In on-off mode, turn the output off when the table value is below this duty."
gppwm4_loadAxis = "Selects the load axis to use for the table."
; CONFIG_DEFINITION_END
@ -1538,6 +1602,12 @@ fileVersion = { 20200310 }
time = { timeNow }
; engineLoad = { fuleAlgorithm == 0 ? MAF : TPS }
; These "synthetic" channels provide the Y-axis (load) value for gen purp PWM table's Y axes
gppwm1_load = {(gppwm1_loadAxis == 0) ? TPSValue : ((gppwm1_loadAxis == 1) ? MAPValue : ((gppwm1_loadAxis == 2) ? coolant : intake))}
gppwm2_load = {(gppwm2_loadAxis == 0) ? TPSValue : ((gppwm2_loadAxis == 1) ? MAPValue : ((gppwm2_loadAxis == 2) ? coolant : intake))}
gppwm3_load = {(gppwm3_loadAxis == 0) ? TPSValue : ((gppwm3_loadAxis == 1) ? MAPValue : ((gppwm3_loadAxis == 2) ? coolant : intake))}
gppwm4_load = {(gppwm4_loadAxis == 0) ? TPSValue : ((gppwm4_loadAxis == 1) ? MAPValue : ((gppwm4_loadAxis == 2) ? coolant : intake))}
[PcVariables]
wueAfrTargetOffset = array, S16, [ 16], ":1", 0.1, 0.0, -3.0, 3.0, 1;
wueAnalRecommend = array, U08, [ 16], "%", 1.00, 0.0, 100, 255.00, 0
@ -2025,6 +2095,30 @@ fileVersion = { 20200310 }
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
upDownLabel = "(Later)", "(Sooner)"
table = gppwm1Tbl, gppwm1Map, "", 1
xyLabels = "RPM", ""
xBins = gppwm1_rpmBins, RPMValue
yBins = gppwm1_loadBins, gppwm1_load
zBins = gppwm1_table
table = gppwm2Tbl, gppwm2Map, "", 1
xyLabels = "RPM", ""
xBins = gppwm2_rpmBins, RPMValue
yBins = gppwm2_loadBins, gppwm2_load
zBins = gppwm2_table
table = gppwm3Tbl, gppwm3Map, "", 1
xyLabels = "RPM", ""
xBins = gppwm3_rpmBins, RPMValue
yBins = gppwm3_loadBins, gppwm3_load
zBins = gppwm3_table
table = gppwm4Tbl, gppwm4Map, "", 1
xyLabels = "RPM", ""
xBins = gppwm4_rpmBins, RPMValue
yBins = gppwm4_loadBins, gppwm4_load
zBins = gppwm4_table
[GaugeConfigurations]
gaugeCategory = Sensors - Extra 2
@ -2463,8 +2557,14 @@ menuDialog = main
menu = "&Advanced"
subMenu = boostDialog, "Boost Control"
subMenu = boostPidDialog, "Closed Loop Boost", { boostType == 1 }
subMenu = mc33Dialog, "GDI Dreams"
subMenu = std_separator
subMenu = std_separator
subMenu = gppwm1, "General Purpose PWM 1"
subMenu = gppwm2, "General Purpose PWM 2"
subMenu = gppwm3, "General Purpose PWM 3"
subMenu = gppwm4, "General Purpose PWM 4"
subMenu = std_separator
subMenu = fsioInputsDialog, "FSIO inputs"
subMenu = auxPidDialog, "Aux PID"
subMenu = fsioOutputsDialog, "FSIO outputs"
@ -2536,6 +2636,7 @@ menuDialog = main
# EXPERIMENTAL FEATURES
subMenu = parkingLot, "Experimental/Broken"
subMenu = multisparkSettings, "Multispark", 0, {isIgnitionEnabled == 1}
subMenu = mc33Dialog, "GDI Dreams"
subMenu = std_separator
subMenu = std_separator
@ -4040,6 +4141,89 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
webHelp = "http://www.rusefi.com/"
text = "<img src='https://rusefi.com/style/logo_100.gif'>"
dialog = gppwm1left, ""
field = "Pin", gppwm1_pin
field = ""
field = "Set frequency to 0hz for on-off mode"
field = "Frequency", gppwm1_pwmFrequency, {gppwm1_pin != 0}
field = ""
field = "On above duty", gppwm1_onAboveDuty, {gppwm1_pin != 0 && gppwm1_pwmFrequency == 0}
field = "Off below duty", gppwm1_offBelowDuty, {gppwm1_pin != 0 && gppwm1_pwmFrequency == 0}
field = "Duty if error", gppwm1_dutyIfError, {gppwm1_pin != 0}
field = ""
field = "Load Axis", gppwm1_loadAxis, {gppwm1_pin != 0}
field = ""
field = ""
field = ""
field = ""
field = ""
dialog = gppwm1, "General Purpose PWM 1", xAxis
panel = gppwm1left
panel = gppwm1Tbl, {gppwm1_pin != 0}
dialog = gppwm2left, ""
field = "Pin", gppwm2_pin
field = ""
field = "Set frequency to 0hz for on-off mode"
field = "Frequency", gppwm2_pwmFrequency, {gppwm2_pin != 0}
field = ""
field = "On above duty", gppwm2_onAboveDuty, {gppwm2_pin != 0 && gppwm2_pwmFrequency == 0}
field = "Off below duty", gppwm2_offBelowDuty, {gppwm2_pin != 0 && gppwm2_pwmFrequency == 0}
field = "Duty if error", gppwm2_dutyIfError, {gppwm2_pin != 0}
field = ""
field = "Load Axis", gppwm2_loadAxis, {gppwm2_pin != 0}
field = ""
field = ""
field = ""
field = ""
field = ""
dialog = gppwm2, "General Purpose PWM 2", xAxis
panel = gppwm2left
panel = gppwm2Tbl, {gppwm2_pin != 0}
dialog = gppwm3left, ""
field = "Pin", gppwm3_pin
field = ""
field = "Set frequency to 0hz for on-off mode"
field = "Frequency", gppwm3_pwmFrequency, {gppwm3_pin != 0}
field = ""
field = "On above duty", gppwm3_onAboveDuty, {gppwm3_pin != 0 && gppwm3_pwmFrequency == 0}
field = "Off below duty", gppwm3_offBelowDuty, {gppwm3_pin != 0 && gppwm3_pwmFrequency == 0}
field = "Duty if error", gppwm3_dutyIfError, {gppwm3_pin != 0}
field = ""
field = "Load Axis", gppwm3_loadAxis, {gppwm3_pin != 0}
field = ""
field = ""
field = ""
field = ""
field = ""
dialog = gppwm3, "General Purpose PWM 3", xAxis
panel = gppwm3left
panel = gppwm3Tbl, {gppwm3_pin != 0}
dialog = gppwm4left, ""
field = "Pin", gppwm4_pin
field = ""
field = "Set frequency to 0hz for on-off mode"
field = "Frequency", gppwm4_pwmFrequency, {gppwm4_pin != 0}
field = ""
field = "On above duty", gppwm4_onAboveDuty, {gppwm4_pin != 0 && gppwm4_pwmFrequency == 0}
field = "Off below duty", gppwm4_offBelowDuty, {gppwm4_pin != 0 && gppwm4_pwmFrequency == 0}
field = "Duty if error", gppwm4_dutyIfError, {gppwm4_pin != 0}
field = ""
field = "Load Axis", gppwm4_loadAxis, {gppwm4_pin != 0}
field = ""
field = ""
field = ""
field = ""
field = ""
dialog = gppwm4, "General Purpose PWM 4", xAxis
panel = gppwm4left
panel = gppwm4Tbl, {gppwm4_pin != 0}
[Tools]
;addTool = toolName, PanelName

View File

@ -89,7 +89,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Fri Apr 24 23:25:43 EDT 2020
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Sat Apr 25 18:06:03 EDT 2020
pageSize = 20000
page = 1
@ -1038,7 +1038,47 @@ page = 1
iacPidMultLoadBins = array, U08, 4124, [8], "Load", 1, 0.0, 0, 500.0, 2
iacPidMultRpmBins = array, U08, 4132, [8], "RPM", 50, 0, 0.0, 12000.0, 0
canVssNbcType = bits, U32, 4140, [0:7], "BMW_e46", "W202"
;no TS info - skipping mainUnusedEnd offset 4144
gppwm1_pin = bits, U08, 4144, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6","PE7","PE8","PE9","PE10","PE11","PE12","PE13","PE14","PE15", "PF0","PF1","PF2","PF3","PF4","PF5","PF6","PF7","PF8","PF9","PF10","PF11","PF12","PF13","PF14","PF15", "PG0","PG1","PG2","PG3","PG4","PG5","PG6","PG7","PG8","PG9","PG10","PG11","PG12","PG13","PG14","PG15", "PH0","PH1","PH2","PH3","PH4","PH5","PH6","PH7","PH8","PH9","PH10","PH11","PH12","PH13","PH14","PH15","INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
gppwm1_dutyIfError = scalar, U08, 4145, "%", 1, 0, 0, 100, 0
gppwm1_pwmFrequency = scalar, U16, 4146, "hz", 1, 0, 0, 500, 0
gppwm1_onAboveDuty = scalar, U08, 4148, "%", 1, 0, 0, 100, 0
gppwm1_offBelowDuty = scalar, U08, 4149, "%", 1, 0, 0, 100, 0
gppwm1_loadAxis = bits, U08, 4150, [0:1], "TPS", "MAP", "CLT", "IAT"
;no TS info - skipping gppwm1_pad offset 4151
gppwm1_loadBins = array, U08, 4152, [8], "load", 1, 0, 0.0, 250, 0
gppwm1_rpmBins = array, U08, 4160, [8], "RPM", 50, 0, 0.0, 12000.0, 0
gppwm1_table = array, U08, 4168, [8x8], "duty", 1, 0, 0, 100, 0
gppwm2_pin = bits, U08, 4232, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6","PE7","PE8","PE9","PE10","PE11","PE12","PE13","PE14","PE15", "PF0","PF1","PF2","PF3","PF4","PF5","PF6","PF7","PF8","PF9","PF10","PF11","PF12","PF13","PF14","PF15", "PG0","PG1","PG2","PG3","PG4","PG5","PG6","PG7","PG8","PG9","PG10","PG11","PG12","PG13","PG14","PG15", "PH0","PH1","PH2","PH3","PH4","PH5","PH6","PH7","PH8","PH9","PH10","PH11","PH12","PH13","PH14","PH15","INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
gppwm2_dutyIfError = scalar, U08, 4233, "%", 1, 0, 0, 100, 0
gppwm2_pwmFrequency = scalar, U16, 4234, "hz", 1, 0, 0, 500, 0
gppwm2_onAboveDuty = scalar, U08, 4236, "%", 1, 0, 0, 100, 0
gppwm2_offBelowDuty = scalar, U08, 4237, "%", 1, 0, 0, 100, 0
gppwm2_loadAxis = bits, U08, 4238, [0:1], "TPS", "MAP", "CLT", "IAT"
;no TS info - skipping gppwm2_pad offset 4239
gppwm2_loadBins = array, U08, 4240, [8], "load", 1, 0, 0.0, 250, 0
gppwm2_rpmBins = array, U08, 4248, [8], "RPM", 50, 0, 0.0, 12000.0, 0
gppwm2_table = array, U08, 4256, [8x8], "duty", 1, 0, 0, 100, 0
gppwm3_pin = bits, U08, 4320, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6","PE7","PE8","PE9","PE10","PE11","PE12","PE13","PE14","PE15", "PF0","PF1","PF2","PF3","PF4","PF5","PF6","PF7","PF8","PF9","PF10","PF11","PF12","PF13","PF14","PF15", "PG0","PG1","PG2","PG3","PG4","PG5","PG6","PG7","PG8","PG9","PG10","PG11","PG12","PG13","PG14","PG15", "PH0","PH1","PH2","PH3","PH4","PH5","PH6","PH7","PH8","PH9","PH10","PH11","PH12","PH13","PH14","PH15","INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
gppwm3_dutyIfError = scalar, U08, 4321, "%", 1, 0, 0, 100, 0
gppwm3_pwmFrequency = scalar, U16, 4322, "hz", 1, 0, 0, 500, 0
gppwm3_onAboveDuty = scalar, U08, 4324, "%", 1, 0, 0, 100, 0
gppwm3_offBelowDuty = scalar, U08, 4325, "%", 1, 0, 0, 100, 0
gppwm3_loadAxis = bits, U08, 4326, [0:1], "TPS", "MAP", "CLT", "IAT"
;no TS info - skipping gppwm3_pad offset 4327
gppwm3_loadBins = array, U08, 4328, [8], "load", 1, 0, 0.0, 250, 0
gppwm3_rpmBins = array, U08, 4336, [8], "RPM", 50, 0, 0.0, 12000.0, 0
gppwm3_table = array, U08, 4344, [8x8], "duty", 1, 0, 0, 100, 0
gppwm4_pin = bits, U08, 4408, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6","PE7","PE8","PE9","PE10","PE11","PE12","PE13","PE14","PE15", "PF0","PF1","PF2","PF3","PF4","PF5","PF6","PF7","PF8","PF9","PF10","PF11","PF12","PF13","PF14","PF15", "PG0","PG1","PG2","PG3","PG4","PG5","PG6","PG7","PG8","PG9","PG10","PG11","PG12","PG13","PG14","PG15", "PH0","PH1","PH2","PH3","PH4","PH5","PH6","PH7","PH8","PH9","PH10","PH11","PH12","PH13","PH14","PH15","INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
gppwm4_dutyIfError = scalar, U08, 4409, "%", 1, 0, 0, 100, 0
gppwm4_pwmFrequency = scalar, U16, 4410, "hz", 1, 0, 0, 500, 0
gppwm4_onAboveDuty = scalar, U08, 4412, "%", 1, 0, 0, 100, 0
gppwm4_offBelowDuty = scalar, U08, 4413, "%", 1, 0, 0, 100, 0
gppwm4_loadAxis = bits, U08, 4414, [0:1], "TPS", "MAP", "CLT", "IAT"
;no TS info - skipping gppwm4_pad offset 4415
gppwm4_loadBins = array, U08, 4416, [8], "load", 1, 0, 0.0, 250, 0
gppwm4_rpmBins = array, U08, 4424, [8], "RPM", 50, 0, 0.0, 12000.0, 0
gppwm4_table = array, U08, 4432, [8x8], "duty", 1, 0, 0, 100, 0
;no TS info - skipping mainUnusedEnd offset 4496
warning_message = string, ASCII, 6000, 120
afterstartCoolantBins = array, F32, 6120, [8], "C", 1, 0, -100.0, 250.0, 0
afterstartHoldTime = array, F32, 6152, [8], "Seconds", 1, 0, 0, 100, 1
@ -1259,6 +1299,30 @@ page = 1
triggerCompHystMin = "Trigger comparator hysteresis voltage (Min)"
triggerCompHystMax = "Trigger comparator hysteresis voltage (Max)"
triggerCompSensorSatRpm = "VR-sensor saturation RPM"
gppwm1_pin = "Select a pin to use for PWM or on-off output."
gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm1_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
gppwm1_onAboveDuty = "In on-off mode, turn the output on when the table value is above this duty."
gppwm1_offBelowDuty = "In on-off mode, turn the output off when the table value is below this duty."
gppwm1_loadAxis = "Selects the load axis to use for the table."
gppwm2_pin = "Select a pin to use for PWM or on-off output."
gppwm2_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm2_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
gppwm2_onAboveDuty = "In on-off mode, turn the output on when the table value is above this duty."
gppwm2_offBelowDuty = "In on-off mode, turn the output off when the table value is below this duty."
gppwm2_loadAxis = "Selects the load axis to use for the table."
gppwm3_pin = "Select a pin to use for PWM or on-off output."
gppwm3_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm3_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
gppwm3_onAboveDuty = "In on-off mode, turn the output on when the table value is above this duty."
gppwm3_offBelowDuty = "In on-off mode, turn the output off when the table value is below this duty."
gppwm3_loadAxis = "Selects the load axis to use for the table."
gppwm4_pin = "Select a pin to use for PWM or on-off output."
gppwm4_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm4_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
gppwm4_onAboveDuty = "In on-off mode, turn the output on when the table value is above this duty."
gppwm4_offBelowDuty = "In on-off mode, turn the output off when the table value is below this duty."
gppwm4_loadAxis = "Selects the load axis to use for the table."
; CONFIG_DEFINITION_END
@ -1538,6 +1602,12 @@ fileVersion = { 20200310 }
time = { timeNow }
; engineLoad = { fuleAlgorithm == 0 ? MAF : TPS }
; These "synthetic" channels provide the Y-axis (load) value for gen purp PWM table's Y axes
gppwm1_load = {(gppwm1_loadAxis == 0) ? TPSValue : ((gppwm1_loadAxis == 1) ? MAPValue : ((gppwm1_loadAxis == 2) ? coolant : intake))}
gppwm2_load = {(gppwm2_loadAxis == 0) ? TPSValue : ((gppwm2_loadAxis == 1) ? MAPValue : ((gppwm2_loadAxis == 2) ? coolant : intake))}
gppwm3_load = {(gppwm3_loadAxis == 0) ? TPSValue : ((gppwm3_loadAxis == 1) ? MAPValue : ((gppwm3_loadAxis == 2) ? coolant : intake))}
gppwm4_load = {(gppwm4_loadAxis == 0) ? TPSValue : ((gppwm4_loadAxis == 1) ? MAPValue : ((gppwm4_loadAxis == 2) ? coolant : intake))}
[PcVariables]
wueAfrTargetOffset = array, S16, [ 16], ":1", 0.1, 0.0, -3.0, 3.0, 1;
wueAnalRecommend = array, U08, [ 16], "%", 1.00, 0.0, 100, 255.00, 0
@ -2025,6 +2095,30 @@ fileVersion = { 20200310 }
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
upDownLabel = "(Later)", "(Sooner)"
table = gppwm1Tbl, gppwm1Map, "", 1
xyLabels = "RPM", ""
xBins = gppwm1_rpmBins, RPMValue
yBins = gppwm1_loadBins, gppwm1_load
zBins = gppwm1_table
table = gppwm2Tbl, gppwm2Map, "", 1
xyLabels = "RPM", ""
xBins = gppwm2_rpmBins, RPMValue
yBins = gppwm2_loadBins, gppwm2_load
zBins = gppwm2_table
table = gppwm3Tbl, gppwm3Map, "", 1
xyLabels = "RPM", ""
xBins = gppwm3_rpmBins, RPMValue
yBins = gppwm3_loadBins, gppwm3_load
zBins = gppwm3_table
table = gppwm4Tbl, gppwm4Map, "", 1
xyLabels = "RPM", ""
xBins = gppwm4_rpmBins, RPMValue
yBins = gppwm4_loadBins, gppwm4_load
zBins = gppwm4_table
[GaugeConfigurations]
gaugeCategory = Sensors - Extra 2
@ -2463,8 +2557,14 @@ menuDialog = main
menu = "&Advanced"
subMenu = boostDialog, "Boost Control"
subMenu = boostPidDialog, "Closed Loop Boost", { boostType == 1 }
subMenu = mc33Dialog, "GDI Dreams"
subMenu = std_separator
subMenu = std_separator
subMenu = gppwm1, "General Purpose PWM 1"
subMenu = gppwm2, "General Purpose PWM 2"
subMenu = gppwm3, "General Purpose PWM 3"
subMenu = gppwm4, "General Purpose PWM 4"
subMenu = std_separator
subMenu = fsioInputsDialog, "FSIO inputs"
subMenu = auxPidDialog, "Aux PID"
subMenu = fsioOutputsDialog, "FSIO outputs"
@ -2543,6 +2643,7 @@ menuDialog = main
# EXPERIMENTAL FEATURES
subMenu = parkingLot, "Experimental/Broken"
subMenu = multisparkSettings, "Multispark", 0, {isIgnitionEnabled == 1}
subMenu = mc33Dialog, "GDI Dreams"
subMenu = std_separator
subMenu = std_separator
@ -4076,6 +4177,89 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
webHelp = "http://www.rusefi.com/"
text = "<img src='https://rusefi.com/style/logo_100.gif'>"
dialog = gppwm1left, ""
field = "Pin", gppwm1_pin
field = ""
field = "Set frequency to 0hz for on-off mode"
field = "Frequency", gppwm1_pwmFrequency, {gppwm1_pin != 0}
field = ""
field = "On above duty", gppwm1_onAboveDuty, {gppwm1_pin != 0 && gppwm1_pwmFrequency == 0}
field = "Off below duty", gppwm1_offBelowDuty, {gppwm1_pin != 0 && gppwm1_pwmFrequency == 0}
field = "Duty if error", gppwm1_dutyIfError, {gppwm1_pin != 0}
field = ""
field = "Load Axis", gppwm1_loadAxis, {gppwm1_pin != 0}
field = ""
field = ""
field = ""
field = ""
field = ""
dialog = gppwm1, "General Purpose PWM 1", xAxis
panel = gppwm1left
panel = gppwm1Tbl, {gppwm1_pin != 0}
dialog = gppwm2left, ""
field = "Pin", gppwm2_pin
field = ""
field = "Set frequency to 0hz for on-off mode"
field = "Frequency", gppwm2_pwmFrequency, {gppwm2_pin != 0}
field = ""
field = "On above duty", gppwm2_onAboveDuty, {gppwm2_pin != 0 && gppwm2_pwmFrequency == 0}
field = "Off below duty", gppwm2_offBelowDuty, {gppwm2_pin != 0 && gppwm2_pwmFrequency == 0}
field = "Duty if error", gppwm2_dutyIfError, {gppwm2_pin != 0}
field = ""
field = "Load Axis", gppwm2_loadAxis, {gppwm2_pin != 0}
field = ""
field = ""
field = ""
field = ""
field = ""
dialog = gppwm2, "General Purpose PWM 2", xAxis
panel = gppwm2left
panel = gppwm2Tbl, {gppwm2_pin != 0}
dialog = gppwm3left, ""
field = "Pin", gppwm3_pin
field = ""
field = "Set frequency to 0hz for on-off mode"
field = "Frequency", gppwm3_pwmFrequency, {gppwm3_pin != 0}
field = ""
field = "On above duty", gppwm3_onAboveDuty, {gppwm3_pin != 0 && gppwm3_pwmFrequency == 0}
field = "Off below duty", gppwm3_offBelowDuty, {gppwm3_pin != 0 && gppwm3_pwmFrequency == 0}
field = "Duty if error", gppwm3_dutyIfError, {gppwm3_pin != 0}
field = ""
field = "Load Axis", gppwm3_loadAxis, {gppwm3_pin != 0}
field = ""
field = ""
field = ""
field = ""
field = ""
dialog = gppwm3, "General Purpose PWM 3", xAxis
panel = gppwm3left
panel = gppwm3Tbl, {gppwm3_pin != 0}
dialog = gppwm4left, ""
field = "Pin", gppwm4_pin
field = ""
field = "Set frequency to 0hz for on-off mode"
field = "Frequency", gppwm4_pwmFrequency, {gppwm4_pin != 0}
field = ""
field = "On above duty", gppwm4_onAboveDuty, {gppwm4_pin != 0 && gppwm4_pwmFrequency == 0}
field = "Off below duty", gppwm4_offBelowDuty, {gppwm4_pin != 0 && gppwm4_pwmFrequency == 0}
field = "Duty if error", gppwm4_dutyIfError, {gppwm4_pin != 0}
field = ""
field = "Load Axis", gppwm4_loadAxis, {gppwm4_pin != 0}
field = ""
field = ""
field = ""
field = ""
field = ""
dialog = gppwm4, "General Purpose PWM 4", xAxis
panel = gppwm4left
panel = gppwm4Tbl, {gppwm4_pin != 0}
[Tools]
;addTool = toolName, PanelName

View File

@ -89,7 +89,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Fri Apr 24 23:25:50 EDT 2020
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Sat Apr 25 18:06:19 EDT 2020
pageSize = 20000
page = 1
@ -1038,7 +1038,47 @@ page = 1
iacPidMultLoadBins = array, U08, 4124, [8], "Load", 1, 0.0, 0, 500.0, 2
iacPidMultRpmBins = array, U08, 4132, [8], "RPM", 50, 0, 0.0, 12000.0, 0
canVssNbcType = bits, U32, 4140, [0:7], "BMW_e46", "W202"
;no TS info - skipping mainUnusedEnd offset 4144
gppwm1_pin = bits, U08, 4144, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6","PE7","PE8","PE9","PE10","PE11","PE12","PE13","PE14","PE15", "PF0","PF1","PF2","PF3","PF4","PF5","PF6","PF7","PF8","PF9","PF10","PF11","PF12","PF13","PF14","PF15", "PG0","PG1","PG2","PG3","PG4","PG5","PG6","PG7","PG8","PG9","PG10","PG11","PG12","PG13","PG14","PG15", "PH0","PH1","PH2","PH3","PH4","PH5","PH6","PH7","PH8","PH9","PH10","PH11","PH12","PH13","PH14","PH15","INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
gppwm1_dutyIfError = scalar, U08, 4145, "%", 1, 0, 0, 100, 0
gppwm1_pwmFrequency = scalar, U16, 4146, "hz", 1, 0, 0, 500, 0
gppwm1_onAboveDuty = scalar, U08, 4148, "%", 1, 0, 0, 100, 0
gppwm1_offBelowDuty = scalar, U08, 4149, "%", 1, 0, 0, 100, 0
gppwm1_loadAxis = bits, U08, 4150, [0:1], "TPS", "MAP", "CLT", "IAT"
;no TS info - skipping gppwm1_pad offset 4151
gppwm1_loadBins = array, U08, 4152, [8], "load", 1, 0, 0.0, 250, 0
gppwm1_rpmBins = array, U08, 4160, [8], "RPM", 50, 0, 0.0, 12000.0, 0
gppwm1_table = array, U08, 4168, [8x8], "duty", 1, 0, 0, 100, 0
gppwm2_pin = bits, U08, 4232, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6","PE7","PE8","PE9","PE10","PE11","PE12","PE13","PE14","PE15", "PF0","PF1","PF2","PF3","PF4","PF5","PF6","PF7","PF8","PF9","PF10","PF11","PF12","PF13","PF14","PF15", "PG0","PG1","PG2","PG3","PG4","PG5","PG6","PG7","PG8","PG9","PG10","PG11","PG12","PG13","PG14","PG15", "PH0","PH1","PH2","PH3","PH4","PH5","PH6","PH7","PH8","PH9","PH10","PH11","PH12","PH13","PH14","PH15","INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
gppwm2_dutyIfError = scalar, U08, 4233, "%", 1, 0, 0, 100, 0
gppwm2_pwmFrequency = scalar, U16, 4234, "hz", 1, 0, 0, 500, 0
gppwm2_onAboveDuty = scalar, U08, 4236, "%", 1, 0, 0, 100, 0
gppwm2_offBelowDuty = scalar, U08, 4237, "%", 1, 0, 0, 100, 0
gppwm2_loadAxis = bits, U08, 4238, [0:1], "TPS", "MAP", "CLT", "IAT"
;no TS info - skipping gppwm2_pad offset 4239
gppwm2_loadBins = array, U08, 4240, [8], "load", 1, 0, 0.0, 250, 0
gppwm2_rpmBins = array, U08, 4248, [8], "RPM", 50, 0, 0.0, 12000.0, 0
gppwm2_table = array, U08, 4256, [8x8], "duty", 1, 0, 0, 100, 0
gppwm3_pin = bits, U08, 4320, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6","PE7","PE8","PE9","PE10","PE11","PE12","PE13","PE14","PE15", "PF0","PF1","PF2","PF3","PF4","PF5","PF6","PF7","PF8","PF9","PF10","PF11","PF12","PF13","PF14","PF15", "PG0","PG1","PG2","PG3","PG4","PG5","PG6","PG7","PG8","PG9","PG10","PG11","PG12","PG13","PG14","PG15", "PH0","PH1","PH2","PH3","PH4","PH5","PH6","PH7","PH8","PH9","PH10","PH11","PH12","PH13","PH14","PH15","INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
gppwm3_dutyIfError = scalar, U08, 4321, "%", 1, 0, 0, 100, 0
gppwm3_pwmFrequency = scalar, U16, 4322, "hz", 1, 0, 0, 500, 0
gppwm3_onAboveDuty = scalar, U08, 4324, "%", 1, 0, 0, 100, 0
gppwm3_offBelowDuty = scalar, U08, 4325, "%", 1, 0, 0, 100, 0
gppwm3_loadAxis = bits, U08, 4326, [0:1], "TPS", "MAP", "CLT", "IAT"
;no TS info - skipping gppwm3_pad offset 4327
gppwm3_loadBins = array, U08, 4328, [8], "load", 1, 0, 0.0, 250, 0
gppwm3_rpmBins = array, U08, 4336, [8], "RPM", 50, 0, 0.0, 12000.0, 0
gppwm3_table = array, U08, 4344, [8x8], "duty", 1, 0, 0, 100, 0
gppwm4_pin = bits, U08, 4408, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6","PE7","PE8","PE9","PE10","PE11","PE12","PE13","PE14","PE15", "PF0","PF1","PF2","PF3","PF4","PF5","PF6","PF7","PF8","PF9","PF10","PF11","PF12","PF13","PF14","PF15", "PG0","PG1","PG2","PG3","PG4","PG5","PG6","PG7","PG8","PG9","PG10","PG11","PG12","PG13","PG14","PG15", "PH0","PH1","PH2","PH3","PH4","PH5","PH6","PH7","PH8","PH9","PH10","PH11","PH12","PH13","PH14","PH15","INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
gppwm4_dutyIfError = scalar, U08, 4409, "%", 1, 0, 0, 100, 0
gppwm4_pwmFrequency = scalar, U16, 4410, "hz", 1, 0, 0, 500, 0
gppwm4_onAboveDuty = scalar, U08, 4412, "%", 1, 0, 0, 100, 0
gppwm4_offBelowDuty = scalar, U08, 4413, "%", 1, 0, 0, 100, 0
gppwm4_loadAxis = bits, U08, 4414, [0:1], "TPS", "MAP", "CLT", "IAT"
;no TS info - skipping gppwm4_pad offset 4415
gppwm4_loadBins = array, U08, 4416, [8], "load", 1, 0, 0.0, 250, 0
gppwm4_rpmBins = array, U08, 4424, [8], "RPM", 50, 0, 0.0, 12000.0, 0
gppwm4_table = array, U08, 4432, [8x8], "duty", 1, 0, 0, 100, 0
;no TS info - skipping mainUnusedEnd offset 4496
warning_message = string, ASCII, 6000, 120
afterstartCoolantBins = array, F32, 6120, [8], "C", 1, 0, -100.0, 250.0, 0
afterstartHoldTime = array, F32, 6152, [8], "Seconds", 1, 0, 0, 100, 1
@ -1259,6 +1299,30 @@ page = 1
triggerCompHystMin = "Trigger comparator hysteresis voltage (Min)"
triggerCompHystMax = "Trigger comparator hysteresis voltage (Max)"
triggerCompSensorSatRpm = "VR-sensor saturation RPM"
gppwm1_pin = "Select a pin to use for PWM or on-off output."
gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm1_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
gppwm1_onAboveDuty = "In on-off mode, turn the output on when the table value is above this duty."
gppwm1_offBelowDuty = "In on-off mode, turn the output off when the table value is below this duty."
gppwm1_loadAxis = "Selects the load axis to use for the table."
gppwm2_pin = "Select a pin to use for PWM or on-off output."
gppwm2_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm2_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
gppwm2_onAboveDuty = "In on-off mode, turn the output on when the table value is above this duty."
gppwm2_offBelowDuty = "In on-off mode, turn the output off when the table value is below this duty."
gppwm2_loadAxis = "Selects the load axis to use for the table."
gppwm3_pin = "Select a pin to use for PWM or on-off output."
gppwm3_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm3_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
gppwm3_onAboveDuty = "In on-off mode, turn the output on when the table value is above this duty."
gppwm3_offBelowDuty = "In on-off mode, turn the output off when the table value is below this duty."
gppwm3_loadAxis = "Selects the load axis to use for the table."
gppwm4_pin = "Select a pin to use for PWM or on-off output."
gppwm4_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm4_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
gppwm4_onAboveDuty = "In on-off mode, turn the output on when the table value is above this duty."
gppwm4_offBelowDuty = "In on-off mode, turn the output off when the table value is below this duty."
gppwm4_loadAxis = "Selects the load axis to use for the table."
; CONFIG_DEFINITION_END
@ -1538,6 +1602,12 @@ fileVersion = { 20200310 }
time = { timeNow }
; engineLoad = { fuleAlgorithm == 0 ? MAF : TPS }
; These "synthetic" channels provide the Y-axis (load) value for gen purp PWM table's Y axes
gppwm1_load = {(gppwm1_loadAxis == 0) ? TPSValue : ((gppwm1_loadAxis == 1) ? MAPValue : ((gppwm1_loadAxis == 2) ? coolant : intake))}
gppwm2_load = {(gppwm2_loadAxis == 0) ? TPSValue : ((gppwm2_loadAxis == 1) ? MAPValue : ((gppwm2_loadAxis == 2) ? coolant : intake))}
gppwm3_load = {(gppwm3_loadAxis == 0) ? TPSValue : ((gppwm3_loadAxis == 1) ? MAPValue : ((gppwm3_loadAxis == 2) ? coolant : intake))}
gppwm4_load = {(gppwm4_loadAxis == 0) ? TPSValue : ((gppwm4_loadAxis == 1) ? MAPValue : ((gppwm4_loadAxis == 2) ? coolant : intake))}
[PcVariables]
wueAfrTargetOffset = array, S16, [ 16], ":1", 0.1, 0.0, -3.0, 3.0, 1;
wueAnalRecommend = array, U08, [ 16], "%", 1.00, 0.0, 100, 255.00, 0
@ -2025,6 +2095,30 @@ fileVersion = { 20200310 }
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
upDownLabel = "(Later)", "(Sooner)"
table = gppwm1Tbl, gppwm1Map, "", 1
xyLabels = "RPM", ""
xBins = gppwm1_rpmBins, RPMValue
yBins = gppwm1_loadBins, gppwm1_load
zBins = gppwm1_table
table = gppwm2Tbl, gppwm2Map, "", 1
xyLabels = "RPM", ""
xBins = gppwm2_rpmBins, RPMValue
yBins = gppwm2_loadBins, gppwm2_load
zBins = gppwm2_table
table = gppwm3Tbl, gppwm3Map, "", 1
xyLabels = "RPM", ""
xBins = gppwm3_rpmBins, RPMValue
yBins = gppwm3_loadBins, gppwm3_load
zBins = gppwm3_table
table = gppwm4Tbl, gppwm4Map, "", 1
xyLabels = "RPM", ""
xBins = gppwm4_rpmBins, RPMValue
yBins = gppwm4_loadBins, gppwm4_load
zBins = gppwm4_table
[GaugeConfigurations]
gaugeCategory = Sensors - Extra 2
@ -2463,8 +2557,14 @@ menuDialog = main
menu = "&Advanced"
subMenu = boostDialog, "Boost Control"
subMenu = boostPidDialog, "Closed Loop Boost", { boostType == 1 }
subMenu = mc33Dialog, "GDI Dreams"
subMenu = std_separator
subMenu = std_separator
subMenu = gppwm1, "General Purpose PWM 1"
subMenu = gppwm2, "General Purpose PWM 2"
subMenu = gppwm3, "General Purpose PWM 3"
subMenu = gppwm4, "General Purpose PWM 4"
subMenu = std_separator
subMenu = fsioInputsDialog, "FSIO inputs"
subMenu = auxPidDialog, "Aux PID"
subMenu = fsioOutputsDialog, "FSIO outputs"
@ -2536,6 +2636,7 @@ menuDialog = main
# EXPERIMENTAL FEATURES
subMenu = parkingLot, "Experimental/Broken"
subMenu = multisparkSettings, "Multispark", 0, {isIgnitionEnabled == 1}
subMenu = mc33Dialog, "GDI Dreams"
subMenu = std_separator
subMenu = std_separator
@ -4048,6 +4149,89 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
webHelp = "http://www.rusefi.com/"
text = "<img src='https://rusefi.com/style/logo_100.gif'>"
dialog = gppwm1left, ""
field = "Pin", gppwm1_pin
field = ""
field = "Set frequency to 0hz for on-off mode"
field = "Frequency", gppwm1_pwmFrequency, {gppwm1_pin != 0}
field = ""
field = "On above duty", gppwm1_onAboveDuty, {gppwm1_pin != 0 && gppwm1_pwmFrequency == 0}
field = "Off below duty", gppwm1_offBelowDuty, {gppwm1_pin != 0 && gppwm1_pwmFrequency == 0}
field = "Duty if error", gppwm1_dutyIfError, {gppwm1_pin != 0}
field = ""
field = "Load Axis", gppwm1_loadAxis, {gppwm1_pin != 0}
field = ""
field = ""
field = ""
field = ""
field = ""
dialog = gppwm1, "General Purpose PWM 1", xAxis
panel = gppwm1left
panel = gppwm1Tbl, {gppwm1_pin != 0}
dialog = gppwm2left, ""
field = "Pin", gppwm2_pin
field = ""
field = "Set frequency to 0hz for on-off mode"
field = "Frequency", gppwm2_pwmFrequency, {gppwm2_pin != 0}
field = ""
field = "On above duty", gppwm2_onAboveDuty, {gppwm2_pin != 0 && gppwm2_pwmFrequency == 0}
field = "Off below duty", gppwm2_offBelowDuty, {gppwm2_pin != 0 && gppwm2_pwmFrequency == 0}
field = "Duty if error", gppwm2_dutyIfError, {gppwm2_pin != 0}
field = ""
field = "Load Axis", gppwm2_loadAxis, {gppwm2_pin != 0}
field = ""
field = ""
field = ""
field = ""
field = ""
dialog = gppwm2, "General Purpose PWM 2", xAxis
panel = gppwm2left
panel = gppwm2Tbl, {gppwm2_pin != 0}
dialog = gppwm3left, ""
field = "Pin", gppwm3_pin
field = ""
field = "Set frequency to 0hz for on-off mode"
field = "Frequency", gppwm3_pwmFrequency, {gppwm3_pin != 0}
field = ""
field = "On above duty", gppwm3_onAboveDuty, {gppwm3_pin != 0 && gppwm3_pwmFrequency == 0}
field = "Off below duty", gppwm3_offBelowDuty, {gppwm3_pin != 0 && gppwm3_pwmFrequency == 0}
field = "Duty if error", gppwm3_dutyIfError, {gppwm3_pin != 0}
field = ""
field = "Load Axis", gppwm3_loadAxis, {gppwm3_pin != 0}
field = ""
field = ""
field = ""
field = ""
field = ""
dialog = gppwm3, "General Purpose PWM 3", xAxis
panel = gppwm3left
panel = gppwm3Tbl, {gppwm3_pin != 0}
dialog = gppwm4left, ""
field = "Pin", gppwm4_pin
field = ""
field = "Set frequency to 0hz for on-off mode"
field = "Frequency", gppwm4_pwmFrequency, {gppwm4_pin != 0}
field = ""
field = "On above duty", gppwm4_onAboveDuty, {gppwm4_pin != 0 && gppwm4_pwmFrequency == 0}
field = "Off below duty", gppwm4_offBelowDuty, {gppwm4_pin != 0 && gppwm4_pwmFrequency == 0}
field = "Duty if error", gppwm4_dutyIfError, {gppwm4_pin != 0}
field = ""
field = "Load Axis", gppwm4_loadAxis, {gppwm4_pin != 0}
field = ""
field = ""
field = ""
field = ""
field = ""
dialog = gppwm4, "General Purpose PWM 4", xAxis
panel = gppwm4left
panel = gppwm4Tbl, {gppwm4_pin != 0}
[Tools]
;addTool = toolName, PanelName

View File

@ -1,6 +1,6 @@
package com.rusefi.config.generated;
// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Fri Apr 24 23:22:49 EDT 2020
// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Sat Apr 25 18:03:45 EDT 2020
// by class com.rusefi.output.FileJavaFieldsConsumer
import com.rusefi.config.*;
@ -703,6 +703,74 @@ public class Fields {
public static final int gpioPinModes8_offset_hex = 303;
public static final int gpioPinModes9_offset = 772;
public static final int gpioPinModes9_offset_hex = 304;
public static final int gppwm1_dutyIfError_offset = 4145;
public static final int gppwm1_dutyIfError_offset_hex = 1031;
public static final int gppwm1_loadAxis_offset = 4150;
public static final int gppwm1_loadAxis_offset_hex = 1036;
public static final int gppwm1_loadBins_offset = 4152;
public static final int gppwm1_loadBins_offset_hex = 1038;
public static final int gppwm1_offBelowDuty_offset = 4149;
public static final int gppwm1_offBelowDuty_offset_hex = 1035;
public static final int gppwm1_offset = 4144;
public static final int gppwm1_offset_hex = 1030;
public static final int gppwm1_onAboveDuty_offset = 4148;
public static final int gppwm1_onAboveDuty_offset_hex = 1034;
public static final int gppwm1_pad_offset = 4151;
public static final int gppwm1_pad_offset_hex = 1037;
public static final int gppwm1_pin_offset = 4144;
public static final int gppwm1_pin_offset_hex = 1030;
public static final int gppwm1_pwmFrequency_offset = 4146;
public static final int gppwm1_pwmFrequency_offset_hex = 1032;
public static final int gppwm1_rpmBins_offset = 4160;
public static final int gppwm1_rpmBins_offset_hex = 1040;
public static final int gppwm1_table_offset = 4168;
public static final int gppwm1_table_offset_hex = 1048;
public static final int gppwm2_dutyIfError_offset = 4233;
public static final int gppwm2_dutyIfError_offset_hex = 1089;
public static final int gppwm2_loadAxis_offset = 4238;
public static final int gppwm2_loadBins_offset = 4240;
public static final int gppwm2_loadBins_offset_hex = 1090;
public static final int gppwm2_offBelowDuty_offset = 4237;
public static final int gppwm2_offset = 4232;
public static final int gppwm2_offset_hex = 1088;
public static final int gppwm2_onAboveDuty_offset = 4236;
public static final int gppwm2_pad_offset = 4239;
public static final int gppwm2_pin_offset = 4232;
public static final int gppwm2_pin_offset_hex = 1088;
public static final int gppwm2_pwmFrequency_offset = 4234;
public static final int gppwm2_rpmBins_offset = 4248;
public static final int gppwm2_rpmBins_offset_hex = 1098;
public static final int gppwm2_table_offset = 4256;
public static final int gppwm3_dutyIfError_offset = 4321;
public static final int gppwm3_loadAxis_offset = 4326;
public static final int gppwm3_loadBins_offset = 4328;
public static final int gppwm3_offBelowDuty_offset = 4325;
public static final int gppwm3_offset = 4320;
public static final int gppwm3_onAboveDuty_offset = 4324;
public static final int gppwm3_pad_offset = 4327;
public static final int gppwm3_pin_offset = 4320;
public static final int gppwm3_pwmFrequency_offset = 4322;
public static final int gppwm3_rpmBins_offset = 4336;
public static final int gppwm3_table_offset = 4344;
public static final int gppwm4_dutyIfError_offset = 4409;
public static final int gppwm4_dutyIfError_offset_hex = 1139;
public static final int gppwm4_loadAxis_offset = 4414;
public static final int gppwm4_loadBins_offset = 4416;
public static final int gppwm4_loadBins_offset_hex = 1140;
public static final int gppwm4_offBelowDuty_offset = 4413;
public static final int gppwm4_offset = 4408;
public static final int gppwm4_offset_hex = 1138;
public static final int gppwm4_onAboveDuty_offset = 4412;
public static final int gppwm4_pad_offset = 4415;
public static final int gppwm4_pin_offset = 4408;
public static final int gppwm4_pin_offset_hex = 1138;
public static final int gppwm4_pwmFrequency_offset = 4410;
public static final int gppwm4_rpmBins_offset = 4424;
public static final int gppwm4_rpmBins_offset_hex = 1148;
public static final int gppwm4_table_offset = 4432;
public static final int gppwm4_table_offset_hex = 1150;
public static final int GPPWM_LOAD_COUNT = 8;
public static final int GPPWM_RPM_COUNT = 8;
public static final int gps_rx_pin_offset = 656;
public static final int gps_rx_pin_offset_hex = 290;
public static final int gps_tx_pin_offset = 657;
@ -1001,8 +1069,8 @@ public class Fields {
public static final int mafSensorType_offset = 948;
public static final int mainRelayPin_offset = 706;
public static final int mainRelayPinMode_offset = 752;
public static final int mainUnusedEnd_offset = 4144;
public static final int mainUnusedEnd_offset_hex = 1030;
public static final int mainUnusedEnd_offset = 4496;
public static final int mainUnusedEnd_offset_hex = 1190;
public static final int malfunctionIndicatorPin_offset = 660;
public static final int malfunctionIndicatorPin_offset_hex = 294;
public static final int malfunctionIndicatorPinMode_offset = 661;
@ -2459,6 +2527,39 @@ public class Fields {
public static final Field IDLERPMPID2_MAXVALUE = Field.create("IDLERPMPID2_MAXVALUE", 4058, FieldType.INT16);
public static final Field IACPIDMULTTABLE = Field.create("IACPIDMULTTABLE", 4060, FieldType.INT);
public static final Field CANVSSNBCTYPE = Field.create("CANVSSNBCTYPE", 4140, FieldType.INT);
public static final Field GPPWM1_PIN = Field.create("GPPWM1_PIN", 4144, FieldType.INT8, brain_pin_e);
public static final Field GPPWM1_DUTYIFERROR = Field.create("GPPWM1_DUTYIFERROR", 4145, FieldType.INT8);
public static final Field GPPWM1_PWMFREQUENCY = Field.create("GPPWM1_PWMFREQUENCY", 4146, FieldType.INT16);
public static final Field GPPWM1_ONABOVEDUTY = Field.create("GPPWM1_ONABOVEDUTY", 4148, FieldType.INT8);
public static final Field GPPWM1_OFFBELOWDUTY = Field.create("GPPWM1_OFFBELOWDUTY", 4149, FieldType.INT8);
public static final String[] gppwm_channel_e = {"TPS", "MAP", "CLT", "IAT"};
public static final Field GPPWM1_LOADAXIS = Field.create("GPPWM1_LOADAXIS", 4150, FieldType.INT8, gppwm_channel_e);
public static final Field GPPWM1_PAD = Field.create("GPPWM1_PAD", 4151, FieldType.INT8);
public static final Field GPPWM1_TABLE = Field.create("GPPWM1_TABLE", 4168, FieldType.INT);
public static final Field GPPWM2_PIN = Field.create("GPPWM2_PIN", 4232, FieldType.INT8, brain_pin_e);
public static final Field GPPWM2_DUTYIFERROR = Field.create("GPPWM2_DUTYIFERROR", 4233, FieldType.INT8);
public static final Field GPPWM2_PWMFREQUENCY = Field.create("GPPWM2_PWMFREQUENCY", 4234, FieldType.INT16);
public static final Field GPPWM2_ONABOVEDUTY = Field.create("GPPWM2_ONABOVEDUTY", 4236, FieldType.INT8);
public static final Field GPPWM2_OFFBELOWDUTY = Field.create("GPPWM2_OFFBELOWDUTY", 4237, FieldType.INT8);
public static final Field GPPWM2_LOADAXIS = Field.create("GPPWM2_LOADAXIS", 4238, FieldType.INT8, gppwm_channel_e);
public static final Field GPPWM2_PAD = Field.create("GPPWM2_PAD", 4239, FieldType.INT8);
public static final Field GPPWM2_TABLE = Field.create("GPPWM2_TABLE", 4256, FieldType.INT);
public static final Field GPPWM3_PIN = Field.create("GPPWM3_PIN", 4320, FieldType.INT8, brain_pin_e);
public static final Field GPPWM3_DUTYIFERROR = Field.create("GPPWM3_DUTYIFERROR", 4321, FieldType.INT8);
public static final Field GPPWM3_PWMFREQUENCY = Field.create("GPPWM3_PWMFREQUENCY", 4322, FieldType.INT16);
public static final Field GPPWM3_ONABOVEDUTY = Field.create("GPPWM3_ONABOVEDUTY", 4324, FieldType.INT8);
public static final Field GPPWM3_OFFBELOWDUTY = Field.create("GPPWM3_OFFBELOWDUTY", 4325, FieldType.INT8);
public static final Field GPPWM3_LOADAXIS = Field.create("GPPWM3_LOADAXIS", 4326, FieldType.INT8, gppwm_channel_e);
public static final Field GPPWM3_PAD = Field.create("GPPWM3_PAD", 4327, FieldType.INT8);
public static final Field GPPWM3_TABLE = Field.create("GPPWM3_TABLE", 4344, FieldType.INT);
public static final Field GPPWM4_PIN = Field.create("GPPWM4_PIN", 4408, FieldType.INT8, brain_pin_e);
public static final Field GPPWM4_DUTYIFERROR = Field.create("GPPWM4_DUTYIFERROR", 4409, FieldType.INT8);
public static final Field GPPWM4_PWMFREQUENCY = Field.create("GPPWM4_PWMFREQUENCY", 4410, FieldType.INT16);
public static final Field GPPWM4_ONABOVEDUTY = Field.create("GPPWM4_ONABOVEDUTY", 4412, FieldType.INT8);
public static final Field GPPWM4_OFFBELOWDUTY = Field.create("GPPWM4_OFFBELOWDUTY", 4413, FieldType.INT8);
public static final Field GPPWM4_LOADAXIS = Field.create("GPPWM4_LOADAXIS", 4414, FieldType.INT8, gppwm_channel_e);
public static final Field GPPWM4_PAD = Field.create("GPPWM4_PAD", 4415, FieldType.INT8);
public static final Field GPPWM4_TABLE = Field.create("GPPWM4_TABLE", 4432, FieldType.INT);
public static final Field WARNING_MESSAGE = Field.create("WARNING_MESSAGE", 6000, FieldType.INT);
public static final Field BOOSTTABLEOPENLOOP = Field.create("BOOSTTABLEOPENLOOP", 6248, FieldType.INT);
public static final Field BOOSTTABLECLOSEDLOOP = Field.create("BOOSTTABLECLOSEDLOOP", 6328, FieldType.INT);
@ -3378,6 +3479,38 @@ public class Fields {
IDLERPMPID2_MAXVALUE,
IACPIDMULTTABLE,
CANVSSNBCTYPE,
GPPWM1_PIN,
GPPWM1_DUTYIFERROR,
GPPWM1_PWMFREQUENCY,
GPPWM1_ONABOVEDUTY,
GPPWM1_OFFBELOWDUTY,
GPPWM1_LOADAXIS,
GPPWM1_PAD,
GPPWM1_TABLE,
GPPWM2_PIN,
GPPWM2_DUTYIFERROR,
GPPWM2_PWMFREQUENCY,
GPPWM2_ONABOVEDUTY,
GPPWM2_OFFBELOWDUTY,
GPPWM2_LOADAXIS,
GPPWM2_PAD,
GPPWM2_TABLE,
GPPWM3_PIN,
GPPWM3_DUTYIFERROR,
GPPWM3_PWMFREQUENCY,
GPPWM3_ONABOVEDUTY,
GPPWM3_OFFBELOWDUTY,
GPPWM3_LOADAXIS,
GPPWM3_PAD,
GPPWM3_TABLE,
GPPWM4_PIN,
GPPWM4_DUTYIFERROR,
GPPWM4_PWMFREQUENCY,
GPPWM4_ONABOVEDUTY,
GPPWM4_OFFBELOWDUTY,
GPPWM4_LOADAXIS,
GPPWM4_PAD,
GPPWM4_TABLE,
WARNING_MESSAGE,
BOOSTTABLEOPENLOOP,
BOOSTTABLECLOSEDLOOP,