Merge remote-tracking branch 'upstream/master' into remove-table

This commit is contained in:
Matthew Kennedy 2020-08-03 12:02:24 -07:00
commit ff34bc878d
104 changed files with 1136 additions and 872 deletions

View File

@ -81,6 +81,10 @@ jobs:
bash gen_config_board.sh ${{matrix.folder}} ${{matrix.build-target}}
fi
- name: Generate Enum Strings
working-directory: ./firmware/
run: bash gen_enum_to_string.sh
- name: Generate Default config
working-directory: ./firmware/
run: bash gen_config_default.sh

View File

@ -17,6 +17,10 @@ jobs:
- name: Install Tools
run: sudo apt-get install ncftp sshpass
- name: Generate Enum Strings
working-directory: ./firmware/
run: bash gen_enum_to_string.sh
- name: Generate Configs
working-directory: ./firmware/
run: bash gen_config.sh

View File

@ -296,8 +296,8 @@ INCDIR = $(CHIBIOS)/os/license \
ext_algo \
console_util \
$(CONSOLE_INC) \
$(PROJECT_DIR)/hw_layer \
$(PROJECT_DIR)/mass_storage \
$(HW_LAYER_INC) \
$(PROJECT_DIR)/hw_layer/mass_storage \
$(PROJECT_DIR)/hw_layer/serial_over_usb \
$(PROJECT_DIR)/hw_layer/algo \
$(PROJECT_DIR)/hw_layer/lcd \

View File

@ -247,7 +247,8 @@ INCDIR = .. $(CHIBIOS)/os/license \
$(PROJECT_DIR)/console/binary_log \
$(PROJECT_DIR)/console/fl_binary \
$(PROJECT_DIR)/hw_layer \
$(PROJECT_DIR)/mass_storage \
$(PROJECT_DIR)/hw_layer/adc \
$(PROJECT_DIR)/hw_layer/mass_storage \
$(PROJECT_DIR)/hw_layer/serial_over_usb \
$(PROJECT_DIR)/hw_layer/algo \
$(PROJECT_DIR)/hw_layer/lcd \

View File

@ -1,4 +1,4 @@
// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Thu Jul 30 19:35:09 UTC 2020
// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Mon Aug 03 02:06:34 UTC 2020
// by class com.rusefi.output.CHeaderConsumer
// begin
#pragma once
@ -2582,14 +2582,22 @@ struct engine_configuration_s {
*/
can_baudrate_e canBaudRate;
/**
* need 4 byte alignment
* offset 2109
*/
uint8_t alignmentFill_at_2109[3];
uint8_t un1used_former_warmup_target_afr;
/**
* offset 2112
* offset 2110
*/
uint32_t unused_former_warmup_target_afr[5];
can_baudrate_e can2BaudRate;
/**
* offset 2111
*/
uint8_t unused_former_warmup_target_afr[18];
/**
* need 4 byte alignment
* offset 2129
*/
uint8_t alignmentFill_at_2129[3];
/**
* kPa value at which we need to cut fuel and spark, 0 if not enabled
* offset 2132
@ -3533,4 +3541,4 @@ struct persistent_config_s {
typedef struct persistent_config_s persistent_config_s;
// end
// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Thu Jul 30 19:35:09 UTC 2020
// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Mon Aug 03 02:06:34 UTC 2020

View File

@ -41,7 +41,7 @@
#define afterstartHoldTime_offset 6152
#define air_pressure_sensor_config_s_size 16
#define alignEngineSnifferAtTDC_offset 744
#define alignmentFill_at_2109_offset 2109
#define alignmentFill_at_2129_offset 2129
#define alignmentFill_at_4514_offset 4514
#define alternator_antiwindupFreq_offset 1764
#define alternator_derivativeFilterLoss_offset 1760
@ -176,6 +176,7 @@
#define camInputs2_offset 557
#define camInputs3_offset 558
#define camInputs4_offset 559
#define can2BaudRate_offset 2110
#define can_baudrate_e_enum "100kbps", "250kbps" , "500kbps", "1Mbps"
#define CAN_DEFAULT_BASE 0x200
#define canBaudRate_offset 2108
@ -305,7 +306,7 @@
#define enableLaunchRetard_offset 976
#define enableVerboseCanTx_offset 744
#define engine_configuration_s_size 6000
#define engine_load_mode_e_enum "MAF", "Alpha-N/TPS", "INVALID", "Speed Density", "MAF Air Charge", "Alpha-N", "INVALID"
#define engine_load_mode_e_enum "INVALID", "Alpha-N/TPS", "INVALID", "Speed Density", "MAF Air Charge", "Alpha-N", "INVALID"
#define ENGINE_MAKE_BMW "BMW"
#define ENGINE_MAKE_GM "GM"
#define ENGINE_MAKE_LADA "Lada"
@ -1077,8 +1078,8 @@
#define showHumanReadableWarning_offset 976
#define showSdCardWarning_offset 76
#define SIGNATURE_BOARD kin
#define SIGNATURE_DATE 2020.07.30
#define SIGNATURE_HASH 331815573
#define SIGNATURE_DATE 2020.08.03
#define SIGNATURE_HASH 220050204
#define silentTriggerError_offset 1464
#define slowAdcAlpha_offset 2088
#define sparkDwellRpmBins_offset 332
@ -1315,18 +1316,20 @@
#define TS_GET_STRUCT '9'
#define TS_GET_TEXT 'G'
#define TS_HELLO_COMMAND 'S'
#define TS_IO_TEST_COMMAND 'w'
#define TS_IO_TEST_COMMAND 'Z'
#define TS_ONLINE_PROTOCOL 'z'
#define TS_OUTPUT_COMMAND 'O'
#define TS_OUTPUT_SIZE 248
#define TS_OUTPUT_SIZE 288
#define TS_PAGE_COMMAND 'P'
#define TS_PERF_TRACE_BEGIN 'r'
#define TS_PERF_TRACE_BEGIN '_'
#define TS_PERF_TRACE_GET_BUFFER 'b'
#define TS_PROTOCOL "001"
#define TS_READ_COMMAND 'R'
#define TS_RESPONSE_BURN_OK 4
#define TS_RESPONSE_COMMAND_OK 7
#define TS_RESPONSE_OK 0
#define TS_SD_R_COMMAND 'r'
#define TS_SD_W_COMMAND 'w'
#define TS_SET_LOGGER_SWITCH 'l'
#define ts_show_analog_divider true
#define ts_show_auxserial_pins true
@ -1346,12 +1349,13 @@
#define ts_show_spi true
#define ts_show_trigger_comparator true
#define ts_show_tunerstudio_port true
#define TS_SIGNATURE "rusEFI 2020.07.30.kin.331815573"
#define TS_SIGNATURE "rusEFI 2020.08.03.kin.220050204"
#define TS_SINGLE_WRITE_COMMAND 'W'
#define tunerStudioSerialSpeed_offset 728
#define twoWireBatchIgnition_offset 1476
#define twoWireBatchInjection_offset 1476
#define uartConsoleSerialSpeed_offset 2076
#define un1used_former_warmup_target_afr_offset 2109
#define unused1059_offset 3964
#define unused1476b20_offset 1476
#define unused2432_offset 2432
@ -1372,7 +1376,7 @@
#define unused_1484_bit_30_offset 1476
#define unused_1484_bit_31_offset 1476
#define unused_alFIn_offset 4024
#define unused_former_warmup_target_afr_offset 2112
#define unused_former_warmup_target_afr_offset 2111
#define unusedAt712_offset 712
#define unusedAt716_offset 716
#define unusedAt720_offset 720

View File

@ -23,27 +23,6 @@ void setLCD(engine_configuration_s *engineConfiguration) {
engineConfiguration->HD44780_db7 = GPIOB_10;
}
#if DEFAULT_FUEL_LOAD_COUNT == FUEL_LOAD_COUNT
static const fuel_table_t tps_fuel_table = {
{/*0 engineLoad=0.00*/ /*0 800.0*/4.00, /*1 1213.0*/4.00, /*2 1626.0*/4.00, /*3 2040.0*/4.00, /*4 2453.0*/4.00, /*5 2866.0*/4.00, /*6 3280.0*/4.00, /*7 3693.0*/4.00, /*8 4106.0*/4.00, /*9 4520.0*/4.00, /*10 4933.0*/4.00, /*11 5346.0*/4.00, /*12 5760.0*/4.00, /*13 6173.0*/4.00, /*14 6586.0*/4.00, /*15 7000.0*/4.00},
{/*1 engineLoad=6.66*/ /*0 800.0*/5.07, /*1 1213.0*/5.07, /*2 1626.0*/5.07, /*3 2040.0*/5.07, /*4 2453.0*/5.07, /*5 2866.0*/5.07, /*6 3280.0*/5.07, /*7 3693.0*/5.07, /*8 4106.0*/5.07, /*9 4520.0*/5.07, /*10 4933.0*/5.07, /*11 5346.0*/5.07, /*12 5760.0*/5.07, /*13 6173.0*/5.07, /*14 6586.0*/5.07, /*15 7000.0*/5.07},
{/*2 engineLoad=13.33*/ /*0 800.0*/6.13, /*1 1213.0*/6.13, /*2 1626.0*/6.13, /*3 2040.0*/6.13, /*4 2453.0*/6.13, /*5 2866.0*/6.13, /*6 3280.0*/6.13, /*7 3693.0*/6.13, /*8 4106.0*/6.13, /*9 4520.0*/6.13, /*10 4933.0*/6.13, /*11 5346.0*/6.13, /*12 5760.0*/6.13, /*13 6173.0*/6.13, /*14 6586.0*/6.13, /*15 7000.0*/6.13},
{/*3 engineLoad=20.00*/ /*0 800.0*/7.20, /*1 1213.0*/7.20, /*2 1626.0*/7.20, /*3 2040.0*/7.20, /*4 2453.0*/7.20, /*5 2866.0*/7.20, /*6 3280.0*/7.20, /*7 3693.0*/7.20, /*8 4106.0*/7.20, /*9 4520.0*/7.20, /*10 4933.0*/7.20, /*11 5346.0*/7.20, /*12 5760.0*/7.20, /*13 6173.0*/7.20, /*14 6586.0*/7.20, /*15 7000.0*/7.20},
{/*4 engineLoad=26.66*/ /*0 800.0*/8.27, /*1 1213.0*/8.27, /*2 1626.0*/8.27, /*3 2040.0*/8.27, /*4 2453.0*/8.27, /*5 2866.0*/8.27, /*6 3280.0*/8.27, /*7 3693.0*/8.27, /*8 4106.0*/8.27, /*9 4520.0*/8.27, /*10 4933.0*/8.27, /*11 5346.0*/8.27, /*12 5760.0*/8.27, /*13 6173.0*/8.27, /*14 6586.0*/8.27, /*15 7000.0*/8.27},
{/*5 engineLoad=33.33*/ /*0 800.0*/9.33, /*1 1213.0*/9.33, /*2 1626.0*/9.33, /*3 2040.0*/9.33, /*4 2453.0*/9.33, /*5 2866.0*/9.33, /*6 3280.0*/9.33, /*7 3693.0*/9.33, /*8 4106.0*/9.33, /*9 4520.0*/9.33, /*10 4933.0*/9.33, /*11 5346.0*/9.33, /*12 5760.0*/9.33, /*13 6173.0*/9.33, /*14 6586.0*/9.33, /*15 7000.0*/9.33},
{/*6 engineLoad=40.00*/ /*0 800.0*/10.40, /*1 1213.0*/10.40, /*2 1626.0*/10.40, /*3 2040.0*/10.40, /*4 2453.0*/10.40, /*5 2866.0*/10.40, /*6 3280.0*/10.40, /*7 3693.0*/10.40, /*8 4106.0*/10.40, /*9 4520.0*/10.40, /*10 4933.0*/10.40, /*11 5346.0*/10.40, /*12 5760.0*/10.40, /*13 6173.0*/10.40, /*14 6586.0*/10.40, /*15 7000.0*/10.40},
{/*7 engineLoad=46.66*/ /*0 800.0*/11.47, /*1 1213.0*/11.47, /*2 1626.0*/11.47, /*3 2040.0*/11.47, /*4 2453.0*/11.47, /*5 2866.0*/11.47, /*6 3280.0*/11.47, /*7 3693.0*/11.47, /*8 4106.0*/11.47, /*9 4520.0*/11.47, /*10 4933.0*/11.47, /*11 5346.0*/11.47, /*12 5760.0*/11.47, /*13 6173.0*/11.47, /*14 6586.0*/11.47, /*15 7000.0*/11.47},
{/*8 engineLoad=53.33*/ /*0 800.0*/12.53, /*1 1213.0*/12.53, /*2 1626.0*/12.53, /*3 2040.0*/12.53, /*4 2453.0*/12.53, /*5 2866.0*/12.53, /*6 3280.0*/12.53, /*7 3693.0*/12.53, /*8 4106.0*/12.53, /*9 4520.0*/12.53, /*10 4933.0*/12.53, /*11 5346.0*/12.53, /*12 5760.0*/12.53, /*13 6173.0*/12.53, /*14 6586.0*/12.53, /*15 7000.0*/12.53},
{/*9 engineLoad=60.00*/ /*0 800.0*/12.60, /*1 1213.0*/13.60, /*2 1626.0*/13.60, /*3 2040.0*/13.60, /*4 2453.0*/13.60, /*5 2866.0*/13.60, /*6 3280.0*/13.60, /*7 3693.0*/13.60, /*8 4106.0*/13.60, /*9 4520.0*/13.60, /*10 4933.0*/13.60, /*11 5346.0*/13.60, /*12 5760.0*/13.60, /*13 6173.0*/13.60, /*14 6586.0*/13.60, /*15 7000.0*/13.60},
{/*10 engineLoad=66.66*/ /*0 800.0*/14.67, /*1 1213.0*/14.67, /*2 1626.0*/14.67, /*3 2040.0*/14.67, /*4 2453.0*/14.67, /*5 2866.0*/14.67, /*6 3280.0*/14.67, /*7 3693.0*/14.67, /*8 4106.0*/14.67, /*9 4520.0*/14.67, /*10 4933.0*/14.67, /*11 5346.0*/14.67, /*12 5760.0*/14.67, /*13 6173.0*/14.67, /*14 6586.0*/14.67, /*15 7000.0*/14.67},
{/*11 engineLoad=73.33*/ /*0 800.0*/15.73, /*1 1213.0*/15.73, /*2 1626.0*/15.73, /*3 2040.0*/15.73, /*4 2453.0*/15.73, /*5 2866.0*/15.73, /*6 3280.0*/15.73, /*7 3693.0*/15.73, /*8 4106.0*/15.73, /*9 4520.0*/15.73, /*10 4933.0*/15.73, /*11 5346.0*/15.73, /*12 5760.0*/15.73, /*13 6173.0*/15.73, /*14 6586.0*/15.73, /*15 7000.0*/15.73},
{/*12 engineLoad=80.00*/ /*0 800.0*/16.80, /*1 1213.0*/16.80, /*2 1626.0*/16.80, /*3 2040.0*/16.80, /*4 2453.0*/16.80, /*5 2866.0*/16.80, /*6 3280.0*/16.80, /*7 3693.0*/16.80, /*8 4106.0*/16.80, /*9 4520.0*/16.80, /*10 4933.0*/16.80, /*11 5346.0*/16.80, /*12 5760.0*/16.80, /*13 6173.0*/16.80, /*14 6586.0*/16.80, /*15 7000.0*/16.80},
{/*13 engineLoad=86.66*/ /*0 800.0*/17.87, /*1 1213.0*/17.87, /*2 1626.0*/17.87, /*3 2040.0*/17.87, /*4 2453.0*/17.87, /*5 2866.0*/17.87, /*6 3280.0*/17.87, /*7 3693.0*/17.87, /*8 4106.0*/17.87, /*9 4520.0*/17.87, /*10 4933.0*/17.87, /*11 5346.0*/17.87, /*12 5760.0*/17.87, /*13 6173.0*/17.87, /*14 6586.0*/17.87, /*15 7000.0*/17.87},
{/*14 engineLoad=93.33*/ /*0 800.0*/18.93, /*1 1213.0*/18.93, /*2 1626.0*/18.93, /*3 2040.0*/18.93, /*4 2453.0*/18.93, /*5 2866.0*/18.93, /*6 3280.0*/18.93, /*7 3693.0*/18.93, /*8 4106.0*/18.93, /*9 4520.0*/18.93, /*10 4933.0*/18.93, /*11 5346.0*/18.93, /*12 5760.0*/18.93, /*13 6173.0*/18.93, /*14 6586.0*/18.93, /*15 7000.0*/18.93},
{/*15 engineLoad=100.00*/ /*0 800.0*/20.00, /*1 1213.0*/20.00, /*2 1626.0*/20.00, /*3 2040.0*/20.00, /*4 2453.0*/20.00, /*5 2866.0*/20.00, /*6 3280.0*/20.00, /*7 3693.0*/20.00, /*8 4106.0*/20.00, /*9 4520.0*/20.00, /*10 4933.0*/20.00, /*11 5346.0*/20.00, /*12 5760.0*/20.00, /*13 6173.0*/20.00, /*14 6586.0*/20.00, /*15 7000.0*/20.00}
};
#endif
#if IGN_LOAD_COUNT == DEFAULT_IGN_LOAD_COUNT
static const ignition_table_t default_tps_advance_table = {
{/*0 engineLoad=0.00*/ /*0 800.0*/+15.00, /*1 1213.0*/+16.33, /*2 1626.0*/+17.67, /*3 2040.0*/+19.00, /*4 2453.0*/+20.33, /*5 2866.0*/+21.67, /*6 3280.0*/+23.00, /*7 3693.0*/+24.33, /*8 4106.0*/+25.67, /*9 4520.0*/+27.00, /*10 4933.0*/+28.33, /*11 5346.0*/+29.67, /*12 5760.0*/+31.00, /*13 6173.0*/+32.33, /*14 6586.0*/+33.67, /*15 7000.0*/+35.00},
@ -207,10 +186,6 @@ void setCitroenBerlingoTU3JPConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
*/
// engineConfiguration->mafAdcChannel = GPIO_UNASSIGNED;
#if DEFAULT_FUEL_LOAD_COUNT == FUEL_LOAD_COUNT
MEMCPY(config->fuelTable, tps_fuel_table);
#endif
#if IGN_LOAD_COUNT == DEFAULT_IGN_LOAD_COUNT
MEMCPY(config->ignitionTable, default_tps_advance_table);
#endif

View File

@ -630,7 +630,17 @@ void setTest33816EngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
CONFIG(isSdCardEnabled) = false;
CONFIG(mc33_hvolt) = 63;
CONFIG(mc33816spiDevice) = SPI_DEVICE_3;
// This is the configuration for bosch HDEV 5 injectors
CONFIG(mc33_hvolt) = 65;
CONFIG(mc33_i_boost) = 13000;
CONFIG(mc33_i_peak) = 9400;
CONFIG(mc33_i_hold) = 3700;
CONFIG(mc33_t_max_boost) = 470;
CONFIG(mc33_t_peak_off) = 10;
CONFIG(mc33_t_peak_tot) = 700;
CONFIG(mc33_t_bypass) = 15;
CONFIG(mc33_t_hold_off) = 60;
CONFIG(mc33_t_hold_tot) = 10000;
}

View File

@ -37,45 +37,6 @@ static const fsio_table_8x8_f32t vBattTarget = {
{/* 7 120.000 *//* 0 650.0*/12.000, /* 1 800.0*/12.000, /* 2 1650.0*/13.000, /* 3 2500.0*/14.000, /* 4 3350.0*/15.000, /* 5 4200.0*/15.000, /* 6 5050.0*/15.000, /* 7 7000.0*/15.000, },
};
static const fuel_table_t alphaNfuel = {
{/*0 engineLoad=0.00*/ /*0 800.0*/003.7, /*1 1213.0*/003.6, /*2 1626.0*/003.6, /*3 2040.0*/004.0, /*4 2453.0*/004.0, /*5 2866.0*/004.0, /*6 3280.0*/006.0, /*7 3693.0*/xxxxx, /*8 4106.0*/xxxxx, /*9 4520.0*/xxxxx, /*10 4933.0*/xxxxx, /*11 5346.0*/xxxxx, /*12 5760.0*/xxxxx, /*13 6173.0*/xxxxx, /*14 6586.0*/xxxxx, /*15 7000.0*/xxxxx},
{/*1 engineLoad=6.66*/ /*0 800.0*/004.0, /*1 1213.0*/004.0, /*2 1626.0*/004.0, /*3 2040.0*/005.0, /*4 2453.0*/004.5, /*5 2866.0*/004.5, /*6 3280.0*/005.0, /*7 3693.0*/xxxxx, /*8 4106.0*/xxxxx, /*9 4520.0*/xxxxx, /*10 4933.0*/xxxxx, /*11 5346.0*/xxxxx, /*12 5760.0*/xxxxx, /*13 6173.0*/xxxxx, /*14 6586.0*/xxxxx, /*15 7000.0*/xxxxx},
{/*2 engineLoad=13.33*/ /*0 800.0*/005.0, /*1 1213.0*/005.0, /*2 1626.0*/006.0, /*3 2040.0*/007.0, /*4 2453.0*/004.5, /*5 2866.0*/xxxxx, /*6 3280.0*/xxxxx, /*7 3693.0*/xxxxx, /*8 4106.0*/xxxxx, /*9 4520.0*/xxxxx, /*10 4933.0*/xxxxx, /*11 5346.0*/xxxxx, /*12 5760.0*/xxxxx, /*13 6173.0*/xxxxx, /*14 6586.0*/xxxxx, /*15 7000.0*/xxxxx},
{/*3 engineLoad=20.00*/ /*0 800.0*/006.0, /*1 1213.0*/007.0, /*2 1626.0*/007.0, /*3 2040.0*/007.0, /*4 2453.0*/005.0, /*5 2866.0*/xxxxx, /*6 3280.0*/xxxxx, /*7 3693.0*/xxxxx, /*8 4106.0*/xxxxx, /*9 4520.0*/xxxxx, /*10 4933.0*/xxxxx, /*11 5346.0*/xxxxx, /*12 5760.0*/xxxxx, /*13 6173.0*/xxxxx, /*14 6586.0*/xxxxx, /*15 7000.0*/xxxxx},
{/*4 engineLoad=26.66*/ /*0 800.0*/007.0, /*1 1213.0*/008.0, /*2 1626.0*/008.0, /*3 2040.0*/008.0, /*4 2453.0*/xxxxx, /*5 2866.0*/xxxxx, /*6 3280.0*/xxxxx, /*7 3693.0*/xxxxx, /*8 4106.0*/xxxxx, /*9 4520.0*/xxxxx, /*10 4933.0*/xxxxx, /*11 5346.0*/xxxxx, /*12 5760.0*/xxxxx, /*13 6173.0*/xxxxx, /*14 6586.0*/xxxxx, /*15 7000.0*/xxxxx},
{/*5 engineLoad=33.33*/ /*0 800.0*/xxxxx, /*1 1213.0*/xxxxx, /*2 1626.0*/xxxxx, /*3 2040.0*/xxxxx, /*4 2453.0*/xxxxx, /*5 2866.0*/xxxxx, /*6 3280.0*/xxxxx, /*7 3693.0*/xxxxx, /*8 4106.0*/xxxxx, /*9 4520.0*/xxxxx, /*10 4933.0*/xxxxx, /*11 5346.0*/xxxxx, /*12 5760.0*/xxxxx, /*13 6173.0*/xxxxx, /*14 6586.0*/xxxxx, /*15 7000.0*/xxxxx},
{/*6 engineLoad=40.00*/ /*0 800.0*/xxxxx, /*1 1213.0*/xxxxx, /*2 1626.0*/xxxxx, /*3 2040.0*/xxxxx, /*4 2453.0*/xxxxx, /*5 2866.0*/xxxxx, /*6 3280.0*/xxxxx, /*7 3693.0*/xxxxx, /*8 4106.0*/xxxxx, /*9 4520.0*/xxxxx, /*10 4933.0*/xxxxx, /*11 5346.0*/xxxxx, /*12 5760.0*/xxxxx, /*13 6173.0*/xxxxx, /*14 6586.0*/xxxxx, /*15 7000.0*/xxxxx},
{/*7 engineLoad=46.66*/ /*0 800.0*/xxxxx, /*1 1213.0*/xxxxx, /*2 1626.0*/xxxxx, /*3 2040.0*/xxxxx, /*4 2453.0*/xxxxx, /*5 2866.0*/xxxxx, /*6 3280.0*/xxxxx, /*7 3693.0*/xxxxx, /*8 4106.0*/xxxxx, /*9 4520.0*/xxxxx, /*10 4933.0*/xxxxx, /*11 5346.0*/xxxxx, /*12 5760.0*/xxxxx, /*13 6173.0*/xxxxx, /*14 6586.0*/xxxxx, /*15 7000.0*/xxxxx},
{/*8 engineLoad=53.33*/ /*0 800.0*/xxxxx, /*1 1213.0*/xxxxx, /*2 1626.0*/xxxxx, /*3 2040.0*/xxxxx, /*4 2453.0*/xxxxx, /*5 2866.0*/xxxxx, /*6 3280.0*/xxxxx, /*7 3693.0*/xxxxx, /*8 4106.0*/xxxxx, /*9 4520.0*/xxxxx, /*10 4933.0*/xxxxx, /*11 5346.0*/xxxxx, /*12 5760.0*/xxxxx, /*13 6173.0*/xxxxx, /*14 6586.0*/xxxxx, /*15 7000.0*/xxxxx},
{/*9 engineLoad=60.00*/ /*0 800.0*/xxxxx, /*1 1213.0*/xxxxx, /*2 1626.0*/xxxxx, /*3 2040.0*/xxxxx, /*4 2453.0*/xxxxx, /*5 2866.0*/xxxxx, /*6 3280.0*/xxxxx, /*7 3693.0*/xxxxx, /*8 4106.0*/xxxxx, /*9 4520.0*/xxxxx, /*10 4933.0*/xxxxx, /*11 5346.0*/xxxxx, /*12 5760.0*/xxxxx, /*13 6173.0*/xxxxx, /*14 6586.0*/xxxxx, /*15 7000.0*/xxxxx},
{/*10 engineLoad=66.66*/ /*0 800.0*/xxxxx, /*1 1213.0*/xxxxx, /*2 1626.0*/xxxxx, /*3 2040.0*/xxxxx, /*4 2453.0*/xxxxx, /*5 2866.0*/xxxxx, /*6 3280.0*/xxxxx, /*7 3693.0*/xxxxx, /*8 4106.0*/xxxxx, /*9 4520.0*/xxxxx, /*10 4933.0*/xxxxx, /*11 5346.0*/xxxxx, /*12 5760.0*/xxxxx, /*13 6173.0*/xxxxx, /*14 6586.0*/xxxxx, /*15 7000.0*/xxxxx},
{/*11 engineLoad=73.33*/ /*0 800.0*/xxxxx, /*1 1213.0*/xxxxx, /*2 1626.0*/xxxxx, /*3 2040.0*/xxxxx, /*4 2453.0*/xxxxx, /*5 2866.0*/xxxxx, /*6 3280.0*/xxxxx, /*7 3693.0*/xxxxx, /*8 4106.0*/xxxxx, /*9 4520.0*/xxxxx, /*10 4933.0*/xxxxx, /*11 5346.0*/xxxxx, /*12 5760.0*/xxxxx, /*13 6173.0*/xxxxx, /*14 6586.0*/xxxxx, /*15 7000.0*/xxxxx},
{/*12 engineLoad=80.00*/ /*0 800.0*/xxxxx, /*1 1213.0*/xxxxx, /*2 1626.0*/xxxxx, /*3 2040.0*/xxxxx, /*4 2453.0*/xxxxx, /*5 2866.0*/xxxxx, /*6 3280.0*/xxxxx, /*7 3693.0*/xxxxx, /*8 4106.0*/xxxxx, /*9 4520.0*/xxxxx, /*10 4933.0*/xxxxx, /*11 5346.0*/xxxxx, /*12 5760.0*/xxxxx, /*13 6173.0*/xxxxx, /*14 6586.0*/xxxxx, /*15 7000.0*/xxxxx},
{/*13 engineLoad=86.66*/ /*0 800.0*/xxxxx, /*1 1213.0*/xxxxx, /*2 1626.0*/xxxxx, /*3 2040.0*/xxxxx, /*4 2453.0*/xxxxx, /*5 2866.0*/xxxxx, /*6 3280.0*/xxxxx, /*7 3693.0*/xxxxx, /*8 4106.0*/xxxxx, /*9 4520.0*/xxxxx, /*10 4933.0*/xxxxx, /*11 5346.0*/xxxxx, /*12 5760.0*/xxxxx, /*13 6173.0*/xxxxx, /*14 6586.0*/xxxxx, /*15 7000.0*/xxxxx},
{/*14 engineLoad=93.33*/ /*0 800.0*/xxxxx, /*1 1213.0*/xxxxx, /*2 1626.0*/xxxxx, /*3 2040.0*/xxxxx, /*4 2453.0*/xxxxx, /*5 2866.0*/xxxxx, /*6 3280.0*/xxxxx, /*7 3693.0*/xxxxx, /*8 4106.0*/xxxxx, /*9 4520.0*/xxxxx, /*10 4933.0*/xxxxx, /*11 5346.0*/xxxxx, /*12 5760.0*/xxxxx, /*13 6173.0*/xxxxx, /*14 6586.0*/xxxxx, /*15 7000.0*/xxxxx},
{/*15 engineLoad=100.00*/ /*0 800.0*/xxxxx, /*1 1213.0*/xxxxx, /*2 1626.0*/xxxxx, /*3 2040.0*/xxxxx, /*4 2453.0*/xxxxx, /*5 2866.0*/xxxxx, /*6 3280.0*/xxxxx, /*7 3693.0*/xxxxx, /*8 4106.0*/xxxxx, /*9 4520.0*/xxxxx, /*10 4933.0*/xxxxx, /*11 5346.0*/xxxxx, /*12 5760.0*/xxxxx, /*13 6173.0*/xxxxx, /*14 6586.0*/xxxxx, /*15 7000.0*/xxxxx}
};
//static const ignition_table_t fromDyno = {
// {/* 0 0.000 *//* 0 800.0*/12.000, /* 1 1213.3281*/12.000, /* 2 1626.6562*/12.000, /* 3 2040.0*/26.000, /* 4 2453.3438*/29.000, /* 5 2866.6562*/31.000, /* 6 3280.0*/31.000, /* 7 3693.3438*/38.000, /* 8 4106.6875*/40.000, /* 9 4520.0*/40.000, /* 10 4933.3125*/40.000, /* 11 5346.6875*/42.000, /* 12 5760.0*/42.000, /* 13 6173.3125*/42.000, /* 14 6586.6875*/42.000, /* 15 7000.0*/42.000, },
// {/* 1 6.660 *//* 0 800.0*/12.000, /* 1 1213.3281*/12.000, /* 2 1626.6562*/12.000, /* 3 2040.0*/26.000, /* 4 2453.3438*/29.000, /* 5 2866.6562*/31.000, /* 6 3280.0*/31.000, /* 7 3693.3438*/38.000, /* 8 4106.6875*/40.000, /* 9 4520.0*/40.000, /* 10 4933.3125*/40.000, /* 11 5346.6875*/42.000, /* 12 5760.0*/42.000, /* 13 6173.3125*/42.000, /* 14 6586.6875*/42.000, /* 15 7000.0*/42.000, },
// {/* 2 13.330 *//* 0 800.0*/12.000, /* 1 1213.3281*/12.000, /* 2 1626.6562*/12.000, /* 3 2040.0*/26.000, /* 4 2453.3438*/29.000, /* 5 2866.6562*/31.000, /* 6 3280.0*/31.000, /* 7 3693.3438*/38.000, /* 8 4106.6875*/40.000, /* 9 4520.0*/40.000, /* 10 4933.3125*/40.000, /* 11 5346.6875*/42.000, /* 12 5760.0*/42.000, /* 13 6173.3125*/42.000, /* 14 6586.6875*/42.000, /* 15 7000.0*/42.000, },
// {/* 3 20.000 *//* 0 800.0*/12.000, /* 1 1213.3281*/12.000, /* 2 1626.6562*/12.000, /* 3 2040.0*/26.000, /* 4 2453.3438*/29.000, /* 5 2866.6562*/31.000, /* 6 3280.0*/31.000, /* 7 3693.3438*/38.000, /* 8 4106.6875*/40.000, /* 9 4520.0*/40.000, /* 10 4933.3125*/40.000, /* 11 5346.6875*/42.000, /* 12 5760.0*/42.000, /* 13 6173.3125*/42.000, /* 14 6586.6875*/42.000, /* 15 7000.0*/42.000, },
// {/* 4 26.660 *//* 0 800.0*/12.000, /* 1 1213.3281*/12.000, /* 2 1626.6562*/12.000, /* 3 2040.0*/26.000, /* 4 2453.3438*/29.000, /* 5 2866.6562*/31.000, /* 6 3280.0*/31.000, /* 7 3693.3438*/38.000, /* 8 4106.6875*/40.000, /* 9 4520.0*/40.000, /* 10 4933.3125*/40.000, /* 11 5346.6875*/42.000, /* 12 5760.0*/42.000, /* 13 6173.3125*/42.000, /* 14 6586.6875*/42.000, /* 15 7000.0*/42.000, },
// {/* 5 33.330 *//* 0 800.0*/12.000, /* 1 1213.3281*/12.000, /* 2 1626.6562*/12.000, /* 3 2040.0*/26.000, /* 4 2453.3438*/29.000, /* 5 2866.6562*/31.000, /* 6 3280.0*/31.000, /* 7 3693.3438*/38.000, /* 8 4106.6875*/40.000, /* 9 4520.0*/40.000, /* 10 4933.3125*/40.000, /* 11 5346.6875*/42.000, /* 12 5760.0*/42.000, /* 13 6173.3125*/42.000, /* 14 6586.6875*/42.000, /* 15 7000.0*/42.000, },
// {/* 6 40.000 *//* 0 800.0*/12.000, /* 1 1213.3281*/12.000, /* 2 1626.6562*/12.000, /* 3 2040.0*/26.000, /* 4 2453.3438*/29.000, /* 5 2866.6562*/31.000, /* 6 3280.0*/31.000, /* 7 3693.3438*/38.000, /* 8 4106.6875*/40.000, /* 9 4520.0*/40.000, /* 10 4933.3125*/40.000, /* 11 5346.6875*/42.000, /* 12 5760.0*/42.000, /* 13 6173.3125*/42.000, /* 14 6586.6875*/42.000, /* 15 7000.0*/42.000, },
// {/* 7 46.660 *//* 0 800.0*/12.000, /* 1 1213.3281*/12.000, /* 2 1626.6562*/12.000, /* 3 2040.0*/26.000, /* 4 2453.3438*/29.000, /* 5 2866.6562*/31.000, /* 6 3280.0*/31.000, /* 7 3693.3438*/38.000, /* 8 4106.6875*/40.000, /* 9 4520.0*/40.000, /* 10 4933.3125*/40.000, /* 11 5346.6875*/42.000, /* 12 5760.0*/42.000, /* 13 6173.3125*/42.000, /* 14 6586.6875*/42.000, /* 15 7000.0*/42.000, },
// {/* 8 53.330 *//* 0 800.0*/12.000, /* 1 1213.3281*/12.000, /* 2 1626.6562*/12.000, /* 3 2040.0*/26.000, /* 4 2453.3438*/29.000, /* 5 2866.6562*/31.000, /* 6 3280.0*/31.000, /* 7 3693.3438*/38.000, /* 8 4106.6875*/40.000, /* 9 4520.0*/40.000, /* 10 4933.3125*/40.000, /* 11 5346.6875*/42.000, /* 12 5760.0*/42.000, /* 13 6173.3125*/42.000, /* 14 6586.6875*/42.000, /* 15 7000.0*/42.000, },
// {/* 9 60.000 *//* 0 800.0*/12.000, /* 1 1213.3281*/12.000, /* 2 1626.6562*/12.000, /* 3 2040.0*/26.000, /* 4 2453.3438*/29.000, /* 5 2866.6562*/31.000, /* 6 3280.0*/31.000, /* 7 3693.3438*/38.000, /* 8 4106.6875*/40.000, /* 9 4520.0*/40.000, /* 10 4933.3125*/40.000, /* 11 5346.6875*/42.000, /* 12 5760.0*/42.000, /* 13 6173.3125*/42.000, /* 14 6586.6875*/42.000, /* 15 7000.0*/42.000, },
// {/* 10 66.660 *//* 0 800.0*/12.000, /* 1 1213.3281*/12.000, /* 2 1626.6562*/12.000, /* 3 2040.0*/26.000, /* 4 2453.3438*/29.000, /* 5 2866.6562*/31.000, /* 6 3280.0*/31.000, /* 7 3693.3438*/38.000, /* 8 4106.6875*/40.000, /* 9 4520.0*/40.000, /* 10 4933.3125*/40.000, /* 11 5346.6875*/42.000, /* 12 5760.0*/42.000, /* 13 6173.3125*/42.000, /* 14 6586.6875*/42.000, /* 15 7000.0*/42.000, },
// {/* 11 73.330 *//* 0 800.0*/12.000, /* 1 1213.3281*/12.000, /* 2 1626.6562*/12.000, /* 3 2040.0*/26.000, /* 4 2453.3438*/29.000, /* 5 2866.6562*/31.000, /* 6 3280.0*/31.000, /* 7 3693.3438*/38.000, /* 8 4106.6875*/40.000, /* 9 4520.0*/40.000, /* 10 4933.3125*/40.000, /* 11 5346.6875*/42.000, /* 12 5760.0*/42.000, /* 13 6173.3125*/42.000, /* 14 6586.6875*/42.000, /* 15 7000.0*/42.000, },
// {/* 12 80.000 *//* 0 800.0*/12.000, /* 1 1213.3281*/12.000, /* 2 1626.6562*/12.000, /* 3 2040.0*/26.000, /* 4 2453.3438*/29.000, /* 5 2866.6562*/31.000, /* 6 3280.0*/31.000, /* 7 3693.3438*/38.000, /* 8 4106.6875*/40.000, /* 9 4520.0*/40.000, /* 10 4933.3125*/40.000, /* 11 5346.6875*/42.000, /* 12 5760.0*/42.000, /* 13 6173.3125*/42.000, /* 14 6586.6875*/42.000, /* 15 7000.0*/42.000, },
// {/* 13 86.660 *//* 0 800.0*/12.000, /* 1 1213.3281*/12.000, /* 2 1626.6562*/12.000, /* 3 2040.0*/26.000, /* 4 2453.3438*/29.000, /* 5 2866.6562*/31.000, /* 6 3280.0*/31.000, /* 7 3693.3438*/38.000, /* 8 4106.6875*/40.000, /* 9 4520.0*/40.000, /* 10 4933.3125*/40.000, /* 11 5346.6875*/42.000, /* 12 5760.0*/42.000, /* 13 6173.3125*/42.000, /* 14 6586.6875*/42.000, /* 15 7000.0*/42.000, },
// {/* 14 93.330 *//* 0 800.0*/12.000, /* 1 1213.3281*/12.000, /* 2 1626.6562*/12.000, /* 3 2040.0*/26.000, /* 4 2453.3438*/29.000, /* 5 2866.6562*/31.000, /* 6 3280.0*/31.000, /* 7 3693.3438*/38.000, /* 8 4106.6875*/40.000, /* 9 4520.0*/40.000, /* 10 4933.3125*/40.000, /* 11 5346.6875*/42.000, /* 12 5760.0*/42.000, /* 13 6173.3125*/42.000, /* 14 6586.6875*/42.000, /* 15 7000.0*/42.000, },
// {/* 15 100.000 *//* 0 800.0*/12.000, /* 1 1213.3281*/12.000, /* 2 1626.6562*/12.000, /* 3 2040.0*/26.000, /* 4 2453.3438*/29.000, /* 5 2866.6562*/31.000, /* 6 3280.0*/31.000, /* 7 3693.3438*/38.000, /* 8 4106.6875*/40.000, /* 9 4520.0*/40.000, /* 10 4933.3125*/40.000, /* 11 5346.6875*/42.000, /* 12 5760.0*/42.000, /* 13 6173.3125*/42.000, /* 14 6586.6875*/42.000, /* 15 7000.0*/42.000, },
//};
#if IGN_LOAD_COUNT == DEFAULT_IGN_LOAD_COUNT
static const ignition_table_t fromODB = {
/* Generated by OBD2C on Tue Jun 30 18:47:52 EDT 2015*/
@ -276,7 +237,6 @@ void setDodgeNeonNGCEngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
* set_whole_fuel_map 12
*/
//setWholeFuelMap(12 PASS_CONFIG_PARAMETER_SUFFIX);
// MEMCPY(config->fuelTable, alphaNfuel);
//setWholeTimingTable_d(12 PASS_CONFIG_PARAMETER_SUFFIX);
#if IGN_LOAD_COUNT == DEFAULT_IGN_LOAD_COUNT
MEMCPY(config->ignitionTable, fromODB);

View File

@ -18,34 +18,6 @@
#include "advance_map.h"
#include "engine_configuration.h"
#if DEFAULT_FUEL_LOAD_COUNT == FUEL_LOAD_COUNT
/**
* This is just the default map which is stored into flash memory in case flash is empty
* The convenient way to override these default would be to tune this map using TunerStudio software
* with which rusEfi is integrated
*/
static const fuel_table_t default_aspire_fuel_table = {
/* RPM 800.000000 1213.333374 1626.666748 2040.000000 2453.333496 2866.666748 3280.000000 3693.333496 4106.666992 4520.000000 4933.333496 5346.666992 5760.000000 6173.333496 6586.666992 7000.000000*/
/* Load 1.200000 */{ 1.542000, 1.547600, 1.551867, 1.570000, 1.550000, 0.908666, 0.794800, 0.775200, 0.791733, 0.800000, 0.798667, 0.805733, 0.810000, 0.810000, 0.810000, 0.810000},
/* Load 1.413333 */{ 1.532133, 1.565325, 1.551244, 1.552773, 1.546018, 0.802089, 0.810000, 0.788507, 0.808898, 0.744987, 0.701378, 0.711404, 0.744667, 0.810000, 0.810000, 0.810000},
/* Load 1.626667 */{ 1.543600, 1.545573, 1.555956, 1.545973, 1.415333, 0.115288, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000},
/* Load 1.840000 */{ 1.538800, 1.741893, 1.558426, 1.591440, 1.228773, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000},
/* Load 2.053333 */{ 2.322933, 3.439928, 2.818523, 2.242266, 2.125839, 1.194041, 0.488959, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000},
/* Load 2.266667 */{ 7.696667, 5.957510, 4.700978, 3.879200, 3.099600, 2.403111, 2.458666, 1.790979, 2.190533, 2.074667, 1.368887, 1.287556, 0.000000, 0.000000, 0.000000, 0.000000},
/* Load 2.480000 */{ 14.330001, 8.710773, 6.558134, 5.491520, 5.117494, 4.308798, 3.185521, 3.339520, 2.883200, 2.840399, 2.643334, 2.505092, 2.296640, 0.000000, 0.000000, 0.000000},
/* Load 2.693333 */{ 21.354004, 15.415981, 10.953371, 8.779520, 5.866481, 5.038577, 5.113254, 4.395565, 4.537200, 3.559386, 3.828622, 3.147404, 3.377706, 2.780000, 2.780000, 2.780000},
/* Load 2.906667 */{ 20.020401, 16.311201, 17.209972, 15.600482, 10.950183, 7.773465, 6.243252, 7.400613, 6.672044, 6.133946, 5.529999, 4.769466, 4.528134, 4.010000, 4.010000, 4.010000},
/* Load 3.120000 */{ 18.264000, 15.464134, 15.595227, 15.395760, 12.987042, 13.339199, 8.897678, 8.927333, 8.032880, 6.769040, 5.823335, 6.413146, 6.089281, 5.730000, 5.730000, 5.730000},
/* Load 3.333333 */{ 17.414667, 15.366401, 15.187378, 15.338401, 15.306623, 15.386889, 14.470800, 11.941733, 10.985557, 9.956400, 9.019111, 8.441555, 7.515199, 6.900000, 6.900000, 6.900000},
/* Load 3.546667 */{ 17.005333, 15.372302, 15.188160, 15.278268, 15.325876, 15.561645, 15.638906, 15.415441, 13.630393, 10.918774, 11.508314, 10.660010, 9.551816, 9.230000, 9.230000, 9.230000},
/* Load 3.760000 */{ 16.978800, 15.360346, 15.170587, 15.301680, 15.331520, 15.684401, 15.810480, 15.702454, 15.828107, 15.114964, 14.666001, 11.908847, 12.046723, 9.230000, 9.230000, 9.230000},
/* Load 3.973333 */{ 16.975599, 15.343084, 15.305715, 15.287172, 15.288801, 15.484089, 15.928854, 15.780366, 15.669041, 15.836693, 16.123335, 15.054674, 14.972587, 14.610000, 14.610000, 14.610000},
/* Load 4.186667 */{ 16.961868, 15.368391, 15.210348, 15.290641, 15.263707, 15.485778, 15.827333, 15.802435, 15.677885, 15.827120, 15.997155, 16.027468, 15.478480, 15.190000, 15.190000, 15.190000},
/* Load 4.400000 */{ 17.010000, 15.250000, 15.680000, 15.440000, 15.270000, 15.470000, 15.800000, 15.730000, 15.600000, 15.790000, 16.120001, 16.110001, 15.630000, 15.150000, 15.150000, 15.150000}
};
#endif
#if IGN_LOAD_COUNT == DEFAULT_IGN_LOAD_COUNT
static const ignition_table_t default_aspire_timing_table = {
/* RPM 800.000000 1213.333374 1626.666748 2040.000000 2453.333496 2866.666748 3280.000000 3693.333496 4106.666992 4520.000000 4933.333496 5346.666992 5760.000000 6173.333496 6586.666992 7000.000000*/
@ -77,9 +49,6 @@ static void setDefaultAspireMaps(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
setTimingLoadBin(1.2, 4.4 PASS_CONFIG_PARAMETER_SUFFIX);
setTimingRpmBin(800, 7000 PASS_CONFIG_PARAMETER_SUFFIX);
#if DEFAULT_FUEL_LOAD_COUNT == FUEL_LOAD_COUNT
MEMCPY(config->fuelTable, default_aspire_fuel_table);
#endif
#if IGN_LOAD_COUNT == DEFAULT_IGN_LOAD_COUNT
MEMCPY(config->ignitionTable, default_aspire_timing_table);
#endif

View File

@ -16,19 +16,6 @@
#if EFI_PROD_CODE
#include "can_hw.h"
#endif
static const fuel_table_t default_custom_fuel_table = {
{1.8, 1.8, 1.65, 1.65, 1.65, 1.65, 1.5, 1.5, 2.025, 1.5, 1.5, 1.5, 1.5},
{1.8, 1.8, 1.65, 1.65, 1.65, 1.65, 1.5, 1.5, 2.025, 1.5, 1.5, 1.5, 1.5},
{1.95, 1.95, 1.95, 1.8, 2.1, 2.25, 2.34, 2.25, 2.7, 2.7, 2.7, 2.7, 2.7},
{2.55, 2.55, 2.55, 2.55, 2.55, 2.55, 2.55, 2.55, 2.4, 2.55, 3, 3, 2.7},
{3, 3, 3, 3, 3, 3.3, 3.3, 3.45, 3, 3.3, 3.6, 3.6, 3.3},
{3, 3, 3, 3, 3, 3, 3.6, 4.305, 3.6, 3.6, 3.9, 3.9, 3.3},
{3, 3, 3, 3, 3, 3, 3.6, 3.75 , 3.9, 3.9, 4.2, 4.2, 3.9},
{3, 3, 3, 3, 3, 3, 3.6, 3.9, 4.2, 4.5, 4.5, 4.5, 4.5},
{3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
{3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
{3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3}
};
#if IGN_LOAD_COUNT == DEFAULT_IGN_LOAD_COUNT
static const ignition_table_t default_custom_timing_table = {
@ -56,7 +43,6 @@ static void setDefaultCustomMaps(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
setTimingLoadBin(0,100 PASS_CONFIG_PARAMETER_SUFFIX);
setTimingRpmBin(0,7000 PASS_CONFIG_PARAMETER_SUFFIX);
MEMCPY(config->fuelTable, default_custom_fuel_table);
#if IGN_LOAD_COUNT == DEFAULT_IGN_LOAD_COUNT
MEMCPY(config->ignitionTable, default_custom_timing_table);
#endif

View File

@ -22,53 +22,6 @@
#include "allsensors.h"
#include "custom_engine.h"
#if DEFAULT_FUEL_LOAD_COUNT == FUEL_LOAD_COUNT
static const fuel_table_t miataNA8_maf_fuel_table = { {/*0 engineLoad=1.2*//*0 800.0*/1.53, /*1 1213.0*/0.92, /*2 1626.0*/
0.74, /*3 2040.0*/0.69, /*4 2453.0*/0.69, /*5 2866.0*/0.67, /*6 3280.0*/0.67, /*7 3693.0*/0.67, /*8 4106.0*/
0.67, /*9 4520.0*/1.02, /*10 4933.0*/0.98, /*11 5346.0*/0.98, /*12 5760.0*/0.92, /*13 6173.0*/0.89, /*14 6586.0*/
0.82, /*15 7000.0*/0.87 }, {/*1 engineLoad=1.413333*//*0 800.0*/2.98, /*1 1213.0*/2.07, /*2 1626.0*/1.74, /*3 2040.0*/
1.55, /*4 2453.0*/1.43, /*5 2866.0*/1.18, /*6 3280.0*/0.0, /*7 3693.0*/0.0, /*8 4106.0*/0.0, /*9 4520.0*/0.0, /*10 4933.0*/
0.0, /*11 5346.0*/0.0, /*12 5760.0*/0.0, /*13 6173.0*/0.0, /*14 6586.0*/0.0, /*15 7000.0*/0.0 }, {/*2 engineLoad=1.626666*//*0 800.0*/
4.9, /*1 1213.0*/3.45, /*2 1626.0*/2.76, /*3 2040.0*/2.35, /*4 2453.0*/2.08, /*5 2866.0*/1.84, /*6 3280.0*/0.0, /*7 3693.0*/
0.0, /*8 4106.0*/0.0, /*9 4520.0*/0.0, /*10 4933.0*/0.0, /*11 5346.0*/0.0, /*12 5760.0*/0.0, /*13 6173.0*/0.0, /*14 6586.0*/
0.0, /*15 7000.0*/0.0 }, {/*3 engineLoad=1.839999*//*0 800.0*/6.94, /*1 1213.0*/4.81, /*2 1626.0*/3.79, /*3 2040.0*/
3.14, /*4 2453.0*/2.72, /*5 2866.0*/2.42, /*6 3280.0*/1.93, /*7 3693.0*/1.8, /*8 4106.0*/0.0, /*9 4520.0*/0.0, /*10 4933.0*/
0.0, /*11 5346.0*/0.0, /*12 5760.0*/0.0, /*13 6173.0*/0.0, /*14 6586.0*/0.0, /*15 7000.0*/0.0 }, {/*4 engineLoad=2.053332*//*0 800.0*/
11.94, /*1 1213.0*/6.67, /*2 1626.0*/5.15, /*3 2040.0*/4.23, /*4 2453.0*/3.63, /*5 2866.0*/3.19, /*6 3280.0*/
2.83, /*7 3693.0*/2.59, /*8 4106.0*/2.39, /*9 4520.0*/2.24, /*10 4933.0*/0.0, /*11 5346.0*/0.0, /*12 5760.0*/
0.0, /*13 6173.0*/0.0, /*14 6586.0*/0.0, /*15 7000.0*/0.0 }, {/*5 engineLoad=2.266665*//*0 800.0*/12.63, /*1 1213.0*/
10.51, /*2 1626.0*/6.91, /*3 2040.0*/5.63, /*4 2453.0*/4.8, /*5 2866.0*/4.21, /*6 3280.0*/3.75, /*7 3693.0*/3.4, /*8 4106.0*/
3.09, /*9 4520.0*/2.87, /*10 4933.0*/2.8, /*11 5346.0*/2.68, /*12 5760.0*/2.52, /*13 6173.0*/2.38, /*14 6586.0*/
2.29, /*15 7000.0*/0.0 }, {/*6 engineLoad=2.479998*//*0 800.0*/12.11, /*1 1213.0*/12.5, /*2 1626.0*/10.04, /*3 2040.0*/
7.24, /*4 2453.0*/6.11, /*5 2866.0*/5.32, /*6 3280.0*/4.73, /*7 3693.0*/4.28, /*8 4106.0*/3.89, /*9 4520.0*/
3.61, /*10 4933.0*/3.54, /*11 5346.0*/3.32, /*12 5760.0*/3.13, /*13 6173.0*/2.92, /*14 6586.0*/2.82, /*15 7000.0*/
0.0 }, {/*7 engineLoad=2.693331*//*0 800.0*/12.09, /*1 1213.0*/12.19, /*2 1626.0*/12.43, /*3 2040.0*/10.69, /*4 2453.0*/
7.92, /*5 2866.0*/6.87, /*6 3280.0*/6.09, /*7 3693.0*/5.49, /*8 4106.0*/4.97, /*9 4520.0*/4.59, /*10 4933.0*/
4.44, /*11 5346.0*/4.21, /*12 5760.0*/3.97, /*13 6173.0*/3.7, /*14 6586.0*/3.55, /*15 7000.0*/0.0 }, {/*8 engineLoad=2.906664*//*0 800.0*/
12.09, /*1 1213.0*/12.18, /*2 1626.0*/12.34, /*3 2040.0*/12.48, /*4 2453.0*/11.36, /*5 2866.0*/9.48, /*6 3280.0*/
7.68, /*7 3693.0*/6.89, /*8 4106.0*/6.23, /*9 4520.0*/5.76, /*10 4933.0*/5.65, /*11 5346.0*/5.32, /*12 5760.0*/
4.97, /*13 6173.0*/4.6, /*14 6586.0*/4.4, /*15 7000.0*/0.0 }, {/*9 engineLoad=3.119997*//*0 800.0*/12.08, /*1 1213.0*/
12.17, /*2 1626.0*/12.34, /*3 2040.0*/12.41, /*4 2453.0*/12.76, /*5 2866.0*/12.47, /*6 3280.0*/11.02, /*7 3693.0*/
9.67, /*8 4106.0*/8.29, /*9 4520.0*/7.23, /*10 4933.0*/7.0, /*11 5346.0*/6.82, /*12 5760.0*/6.44, /*13 6173.0*/
6.06, /*14 6586.0*/5.76, /*15 7000.0*/0.0 }, {/*10 engineLoad=3.33333*//*0 800.0*/12.08, /*1 1213.0*/12.18, /*2 1626.0*/
12.34, /*3 2040.0*/12.43, /*4 2453.0*/12.7, /*5 2866.0*/12.93, /*6 3280.0*/12.78, /*7 3693.0*/12.4, /*8 4106.0*/
11.4, /*9 4520.0*/10.16, /*10 4933.0*/9.44, /*11 5346.0*/9.01, /*12 5760.0*/8.36, /*13 6173.0*/7.83, /*14 6586.0*/
7.45, /*15 7000.0*/0.0 }, {/*11 engineLoad=3.546663*//*0 800.0*/12.09, /*1 1213.0*/12.17, /*2 1626.0*/12.34, /*3 2040.0*/
12.43, /*4 2453.0*/12.7, /*5 2866.0*/12.89, /*6 3280.0*/12.72, /*7 3693.0*/12.55, /*8 4106.0*/12.98, /*9 4520.0*/
12.96, /*10 4933.0*/12.3, /*11 5346.0*/11.59, /*12 5760.0*/10.9, /*13 6173.0*/10.07, /*14 6586.0*/9.59, /*15 7000.0*/
0.0 }, {/*12 engineLoad=3.759996*//*0 800.0*/12.08, /*1 1213.0*/12.18, /*2 1626.0*/12.34, /*3 2040.0*/12.43, /*4 2453.0*/
12.7, /*5 2866.0*/12.93, /*6 3280.0*/12.72, /*7 3693.0*/12.63, /*8 4106.0*/12.87, /*9 4520.0*/13.56, /*10 4933.0*/
14.76, /*11 5346.0*/14.62, /*12 5760.0*/14.14, /*13 6173.0*/13.39, /*14 6586.0*/12.19, /*15 7000.0*/0.0 }, {/*13 engineLoad=3.973329*//*0 800.0*/
12.09, /*1 1213.0*/12.17, /*2 1626.0*/12.34, /*3 2040.0*/12.43, /*4 2453.0*/12.71, /*5 2866.0*/12.92, /*6 3280.0*/
12.74, /*7 3693.0*/12.57, /*8 4106.0*/12.88, /*9 4520.0*/13.82, /*10 4933.0*/15.15, /*11 5346.0*/15.57, /*12 5760.0*/
16.22, /*13 6173.0*/16.05, /*14 6586.0*/15.59, /*15 7000.0*/0.0 }, {/*14 engineLoad=4.186662*//*0 800.0*/12.08, /*1 1213.0*/
12.18, /*2 1626.0*/12.34, /*3 2040.0*/12.4, /*4 2453.0*/12.71, /*5 2866.0*/12.92, /*6 3280.0*/12.71, /*7 3693.0*/
12.53, /*8 4106.0*/12.97, /*9 4520.0*/13.55, /*10 4933.0*/14.87, /*11 5346.0*/15.67, /*12 5760.0*/16.16, /*13 6173.0*/
16.2, /*14 6586.0*/15.89, /*15 7000.0*/0.0 }, {/*15 engineLoad=4.399995*//*0 800.0*/12.08, /*1 1213.0*/12.17, /*2 1626.0*/
12.34, /*3 2040.0*/12.43, /*4 2453.0*/12.74, /*5 2866.0*/12.91, /*6 3280.0*/12.71, /*7 3693.0*/12.54, /*8 4106.0*/
12.97, /*9 4520.0*/13.53, /*10 4933.0*/14.87, /*11 5346.0*/15.48, /*12 5760.0*/16.1, /*13 6173.0*/16.18, /*14 6586.0*/
15.93, /*15 7000.0*/0.0 } };
#endif
#if IGN_LOAD_COUNT == DEFAULT_IGN_LOAD_COUNT
static const ignition_table_t miataNA8_maf_advance_table = { {/*0 engineLoad=1.200*//*0 800.0*/+4.498, /*1 1213.0*/+11.905, /*2 1626.0*/
@ -242,10 +195,6 @@ static void setMiata1994_common(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
engineConfiguration->crankingChargeAngle = 70;
#if DEFAULT_FUEL_LOAD_COUNT == FUEL_LOAD_COUNT
MEMCPY(config->fuelTable, miataNA8_maf_fuel_table);
#endif
#if IGN_LOAD_COUNT == DEFAULT_IGN_LOAD_COUNT
MEMCPY(config->ignitionTable, miataNA8_maf_advance_table);
#endif
@ -334,9 +283,6 @@ void setMiata1996(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
commonMiataNa(PASS_CONFIG_PARAMETER_SIGNATURE);
engineConfiguration->specs.displacement = 1.839;
#if DEFAULT_FUEL_LOAD_COUNT == FUEL_LOAD_COUNT
MEMCPY(config->fuelTable, miataNA8_maf_fuel_table);
#endif
#if IGN_LOAD_COUNT == DEFAULT_IGN_LOAD_COUNT
MEMCPY(config->ignitionTable, miataNA8_maf_advance_table);
#endif

View File

@ -16,29 +16,10 @@
#include "fsio_impl.h"
#include "thermistors.h"
#include "mazda_miata_1_6.h"
#include "mazda_miata_base_maps.h"
EXTERN_CONFIG;
// todo: use these defaults wider? make them global defaults maybe?
static const float hardCodedcrankingCycleBins[8] = {1.0, 16.0, 35.0, 54.0, 76.0, 102.0, 132.0, 169.0};
static const float hardCodedcrankingCycleCoef[8] = {1.9800034, 1.800003, 1.5999985, 1.4000015, 1.2300034, 1.1200027, 1.050003, 1.0199966};
/* Generated by TS2C on Thu Jul 30 00:03:20 EDT 2020*/
static void setCrankingCycleBins(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
MEMCPY(config->crankingCycleBins, hardCodedcrankingCycleBins);
MEMCPY(config->crankingCycleCoef, hardCodedcrankingCycleCoef);
}
// todo: use these defaults wider? make them global defaults maybe?
static const float hardCodedcrankingFuelBins[8] = {-20.0, -10.0, 3.6799927, 22.77002, 34.049805, 49.95996, 65.0, 90.0};
static const float hardCodedcrankingFuelCoef[8] = {2.7999878, 2.2000122, 1.6900024, 1.2900009, 1.199997, 1.050003, 1.0, 1.0};
/* Generated by TS2C on Thu Jul 30 00:03:20 EDT 2020*/
static void setCrankingFuelBins(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
MEMCPY(config->crankingFuelBins, hardCodedcrankingFuelBins);
MEMCPY(config->crankingFuelCoef, hardCodedcrankingFuelCoef);
}
static const float hardCodedmafDecodingBins[256] = {0.099999905, 0.19999981, 0.29999924, 0.39999962, 0.5, 0.5999985, 0.70000076, 0.79999924, 0.9000015, 1.0, 1.0999985, 1.199997, 1.300003, 1.4000015, 1.5, 1.5999985, 1.699997, 1.800003, 1.9000015, 2.0, 2.100006, 2.2000122, 2.2999878, 2.399994, 2.5, 2.600006, 2.7000122, 2.7999878, 2.899994, 3.0, 3.100006, 3.2000122, 3.2999878, 3.399994, 3.5, 3.600006, 3.7000122, 3.7999878, 3.899994, 4.0, 4.0999756, 4.200012, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988, 4.299988};
static const float hardCodedmafDecoding[256] = {570.0, 437.0, 351.5, 293.55078, 237.0, 186.0, 145.0, 116.0, 96.0, 78.84961, 65.549805, 56.049805, 48.0, 40.0, 33.25, 29.449951, 25.649902, 22.800049, 20.899902, 19.0, 17.100098, 16.149902, 13.775024, 12.824951, 11.400024, 10.449951, 9.5, 8.550049, 8.454956, 8.359985, 8.300049, 8.199951, 7.5999756, 7.125, 7.125, 7.125, 6.6500244, 6.6500244, 6.6500244, 6.6500244, 6.6500244, 6.6500244, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
@ -49,70 +30,37 @@ static void setMafDecodingBins(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
MEMCPY(config->mafDecoding, hardCodedmafDecoding);
}
static const float hardCodediacCoastingBins[16] = {-40.0, -30.0, -20.0, -10.0, 0.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0, 80.0, 90.0, 100.0, 110.0};
static const float hardCodedveLoadBins[16] = {20.0, 30.0, 34.0, 38.0, 43.0, 48.0, 54.0, 60.0, 67.0, 74.0, 82.0, 90.0, 99.0, 108.0, 118.0, 128.0};
static const float hardCodediacCoasting[16] = {-40.0, -30.0, -20.0, -10.0, 0.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0, 80.0, 90.0, 100.0, 110.0};
static const float hardCodedveRpmBins[16] = {650.0, 950.0, 1250.0, 1600.0, 1950.0, 2350.0, 2750.0, 3200.0, 3700.0, 4200.0, 4700.0, 5200.0, 5800.0, 6400.0, 7100.0, 7800.0};
/* Generated by TS2C on Fri Jul 31 14:02:18 EDT 2020*/
static void setIacCoastingBins(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
MEMCPY(engineConfiguration->iacCoastingBins, hardCodediacCoastingBins);
MEMCPY(engineConfiguration->iacCoasting, hardCodediacCoasting);
}
static const float hardCodedcltIdleCorrBins[16] = {-40.0, -30.0, -20.0, -10.0, 0.0, 9.439941, 19.120117, 30.810059, 42.509766, 54.529785, 64.21973, 71.90039, 80.0, 90.0, 100.0, 110.0};
static const float hardCodedcltIdleCorr[16] = {-40.0, -30.0, -20.0, -10.0, 0.0, 9.439941, 19.120117, 30.810059, 42.509766, 54.529785, 64.21973, 71.90039, 80.0, 90.0, 100.0, 110.0};
/* Generated by TS2C on Fri Jul 31 14:02:18 EDT 2020*/
static void setCltIdleCorrBins(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
MEMCPY(config->cltIdleCorrBins, hardCodedcltIdleCorrBins);
MEMCPY(config->cltIdleCorr, hardCodedcltIdleCorr);
}
static const float hardCodedcltIdleRpmBins[16] = {-40.0, -30.0, -20.0, 0.0, 10.0, 20.0, 30.0, 40.0, 60.0, 70.0, 80.0, 90.0, 100.0, 120.0, 130.0, 140.0};
static const float hardCodedcltIdleRpm[16] = {-40.0, -30.0, -20.0, 0.0, 10.0, 20.0, 30.0, 40.0, 60.0, 70.0, 80.0, 90.0, 100.0, 120.0, 130.0, 140.0};
/* Generated by TS2C on Fri Jul 31 14:02:18 EDT 2020*/
static void setCltIdleRpmBins(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
MEMCPY(engineConfiguration->cltIdleRpmBins, hardCodedcltIdleRpmBins);
MEMCPY(engineConfiguration->cltIdleRpm, hardCodedcltIdleRpm);
}
static const float ve16RpmBins[FUEL_RPM_COUNT] = {
650.0,1100.0,1550.0,2000.0,
2450.0,2900.0,3350.0,3800.0,
4250.0,4700.0,5150.0,5650.0,
6100.0,6550.0,7000.0,7450.0};
static const float ve16LoadBins[FUEL_LOAD_COUNT] = {
30.0, 35.0, 40.0, 45.0,
50.0, 60.0, 80.0, 100.0,
120.0, 140.0, 150.0, 160.0,
170.0, 180.0, 190.0, 200.0};
#if DEFAULT_FUEL_LOAD_COUNT == FUEL_LOAD_COUNT
static const fuel_table_t mapBased16VeTable = {
/* Generated by TS2C on Sun Oct 02 19:40:18 EDT 2016*/
{/* 0 30.000 *//* 0 650.0*/23.348, /* 1 1100.0*/32.544, /* 2 1550.0*/50.000, /* 3 2000.0*/57.000, /* 4 2450.0*/53.000, /* 5 2900.0*/53.000, /* 6 3350.0*/57.000, /* 7 3800.0*/59.000, /* 8 4250.0*/59.000, /* 9 4700.0*/59.000, /* 10 5150.0*/59.000, /* 11 5650.0*/61.000, /* 12 6100.0*/65.000, /* 13 6550.0*/65.000, /* 14 7000.0*/65.000, /* 15 7450.0*/65.000, },
{/* 1 35.000 *//* 0 650.0*/31.877, /* 1 1100.0*/36.888, /* 2 1550.0*/50.000, /* 3 2000.0*/57.000, /* 4 2450.0*/53.000, /* 5 2900.0*/53.000, /* 6 3350.0*/57.000, /* 7 3800.0*/59.000, /* 8 4250.0*/59.000, /* 9 4700.0*/59.000, /* 10 5150.0*/59.000, /* 11 5650.0*/61.000, /* 12 6100.0*/65.000, /* 13 6550.0*/65.000, /* 14 7000.0*/65.000, /* 15 7450.0*/65.000, },
{/* 2 40.000 *//* 0 650.0*/40.406, /* 1 1100.0*/41.232, /* 2 1550.0*/50.452, /* 3 2000.0*/57.000, /* 4 2450.0*/53.847, /* 5 2900.0*/53.909, /* 6 3350.0*/57.900, /* 7 3800.0*/56.264, /* 8 4250.0*/57.443, /* 9 4700.0*/58.621, /* 10 5150.0*/59.799, /* 11 5650.0*/61.000, /* 12 6100.0*/62.285, /* 13 6550.0*/63.463, /* 14 7000.0*/64.642, /* 15 7450.0*/65.818, },
{/* 3 45.000 *//* 0 650.0*/39.632, /* 1 1100.0*/41.232, /* 2 1550.0*/46.203, /* 3 2000.0*/55.525, /* 4 2450.0*/49.387, /* 5 2900.0*/51.656, /* 6 3350.0*/53.514, /* 7 3800.0*/56.264, /* 8 4250.0*/57.443, /* 9 4700.0*/57.728, /* 10 5150.0*/59.799, /* 11 5650.0*/61.107, /* 12 6100.0*/61.252, /* 13 6550.0*/62.515, /* 14 7000.0*/63.530, /* 15 7450.0*/64.545, },
{/* 4 50.000 *//* 0 650.0*/38.858, /* 1 1100.0*/42.271, /* 2 1550.0*/41.954, /* 3 2000.0*/53.756, /* 4 2450.0*/44.928, /* 5 2900.0*/49.404, /* 6 3350.0*/49.128, /* 7 3800.0*/56.362, /* 8 4250.0*/57.214, /* 9 4700.0*/56.834, /* 10 5150.0*/58.917, /* 11 5650.0*/59.863, /* 12 6100.0*/60.221, /* 13 6550.0*/61.566, /* 14 7000.0*/62.417, /* 15 7450.0*/63.270, },
{/* 5 60.000 *//* 0 650.0*/49.634, /* 1 1100.0*/42.053, /* 2 1550.0*/49.601, /* 3 2000.0*/47.654, /* 4 2450.0*/52.109, /* 5 2900.0*/48.840, /* 6 3350.0*/53.876, /* 7 3800.0*/55.312, /* 8 4250.0*/52.585, /* 9 4700.0*/54.218, /* 10 5150.0*/58.088, /* 11 5650.0*/58.660, /* 12 6100.0*/59.175, /* 13 6550.0*/59.690, /* 14 7000.0*/60.206, /* 15 7450.0*/60.720, },
{/* 6 80.000 *//* 0 650.0*/45.650, /* 1 1100.0*/52.751, /* 2 1550.0*/51.744, /* 3 2000.0*/58.603, /* 4 2450.0*/56.427, /* 5 2900.0*/55.073, /* 6 3350.0*/57.869, /* 7 3800.0*/55.562, /* 8 4250.0*/54.198, /* 9 4700.0*/56.585, /* 10 5150.0*/56.427, /* 11 5650.0*/56.253, /* 12 6100.0*/56.095, /* 13 6550.0*/55.938, /* 14 7000.0*/55.779, /* 15 7450.0*/55.623, },
{/* 7 100.000 *//* 0 650.0*/45.541, /* 1 1100.0*/43.911, /* 2 1550.0*/69.598, /* 3 2000.0*/69.534, /* 4 2450.0*/56.299, /* 5 2900.0*/66.710, /* 6 3350.0*/64.073, /* 7 3800.0*/59.968, /* 8 4250.0*/62.489, /* 9 4700.0*/68.074, /* 10 5150.0*/73.266, /* 11 5650.0*/75.644, /* 12 6100.0*/53.636, /* 13 6550.0*/55.891, /* 14 7000.0*/58.144, /* 15 7450.0*/60.398, },
{/* 8 120.000 *//* 0 650.0*/51.418, /* 1 1100.0*/52.427, /* 2 1550.0*/53.436, /* 3 2000.0*/54.445, /* 4 2450.0*/55.453, /* 5 2900.0*/57.040, /* 6 3350.0*/59.458, /* 7 3800.0*/63.820, /* 8 4250.0*/63.933, /* 9 4700.0*/70.255, /* 10 5150.0*/76.251, /* 11 5650.0*/75.242, /* 12 6100.0*/58.230, /* 13 6550.0*/60.543, /* 14 7000.0*/62.858, /* 15 7450.0*/65.172, },
{/* 9 140.000 *//* 0 650.0*/57.118, /* 1 1100.0*/59.040, /* 2 1550.0*/60.962, /* 3 2000.0*/62.884, /* 4 2450.0*/64.806, /* 5 2900.0*/69.796, /* 6 3350.0*/68.924, /* 7 3800.0*/72.413, /* 8 4250.0*/76.775, /* 9 4700.0*/79.393, /* 10 5150.0*/81.138, /* 11 5650.0*/80.267, /* 12 6100.0*/73.067, /* 13 6550.0*/76.288, /* 14 7000.0*/79.510, /* 15 7450.0*/82.730, },
{/* 10 150.000 *//* 0 650.0*/59.967, /* 1 1100.0*/62.346, /* 2 1550.0*/64.725, /* 3 2000.0*/67.104, /* 4 2450.0*/69.796, /* 5 2900.0*/84.629, /* 6 3350.0*/77.647, /* 7 3800.0*/79.393, /* 8 4250.0*/85.499, /* 9 4700.0*/88.990, /* 10 5150.0*/87.246, /* 11 5650.0*/84.629, /* 12 6100.0*/80.487, /* 13 6550.0*/84.160, /* 14 7000.0*/87.836, /* 15 7450.0*/91.511, },
{/* 11 160.000 *//* 0 650.0*/62.816, /* 1 1100.0*/65.652, /* 2 1550.0*/68.486, /* 3 2000.0*/71.322, /* 4 2450.0*/74.158, /* 5 2900.0*/86.373, /* 6 3350.0*/80.267, /* 7 3800.0*/82.010, /* 8 4250.0*/87.246, /* 9 4700.0*/93.352, /* 10 5150.0*/93.352, /* 11 5650.0*/93.352, /* 12 6100.0*/87.905, /* 13 6550.0*/92.032, /* 14 7000.0*/96.161, /* 15 7450.0*/100.287, },
{/* 12 170.000 *//* 0 650.0*/63.690, /* 1 1100.0*/63.690, /* 2 1550.0*/63.690, /* 3 2000.0*/81.138, /* 4 2450.0*/86.373, /* 5 2900.0*/87.246, /* 6 3350.0*/87.246, /* 7 3800.0*/87.246, /* 8 4250.0*/86.373, /* 9 4700.0*/87.246, /* 10 5150.0*/87.246, /* 11 5650.0*/87.246, /* 12 6100.0*/95.323, /* 13 6550.0*/99.904, /* 14 7000.0*/104.485, /* 15 7450.0*/109.066, },
{/* 13 180.000 *//* 0 650.0*/64.562, /* 1 1100.0*/64.562, /* 2 1550.0*/64.562, /* 3 2000.0*/82.010, /* 4 2450.0*/89.862, /* 5 2900.0*/90.735, /* 6 3350.0*/90.735, /* 7 3800.0*/90.735, /* 8 4250.0*/90.735, /* 9 4700.0*/90.735, /* 10 5150.0*/90.735, /* 11 5650.0*/90.735, /* 12 6100.0*/103.355, /* 13 6550.0*/108.388, /* 14 7000.0*/113.422, /* 15 7450.0*/118.458, },
{/* 14 190.000 *//* 0 650.0*/65.435, /* 1 1100.0*/65.435, /* 2 1550.0*/65.435, /* 3 2000.0*/82.884, /* 4 2450.0*/90.735, /* 5 2900.0*/92.479, /* 6 3350.0*/93.352, /* 7 3800.0*/93.352, /* 8 4250.0*/93.352, /* 9 4700.0*/93.352, /* 10 5150.0*/93.352, /* 11 5650.0*/93.352, /* 12 6100.0*/110.774, /* 13 6550.0*/116.262, /* 14 7000.0*/121.749, /* 15 7450.0*/127.237, },
{/* 15 200.000 *//* 0 650.0*/66.307, /* 1 1100.0*/66.307, /* 2 1550.0*/66.307, /* 3 2000.0*/83.756, /* 4 2450.0*/91.608, /* 5 2900.0*/93.352, /* 6 3350.0*/94.224, /* 7 3800.0*/94.224, /* 8 4250.0*/94.224, /* 9 4700.0*/94.224, /* 10 5150.0*/94.224, /* 11 5650.0*/94.224, /* 12 6100.0*/118.805, /* 13 6550.0*/124.742, /* 14 7000.0*/130.684, /* 15 7450.0*/136.627, },
static const float hardCodedveTable[16][16] = {
/* Generated by TS2C on Sun Aug 02 10:02:25 EDT 2020*/
{/* 0 20.000 *//* 0 650.0*/40.592, /* 1 950.0*/42.715, /* 2 1250.0*/44.205, /* 3 1600.0*/44.998, /* 4 1950.0*/45.586, /* 5 2350.0*/45.141, /* 6 2750.0*/42.739, /* 7 3200.0*/41.176, /* 8 3700.0*/39.921, /* 9 4200.0*/41.272, /* 10 4700.0*/43.726, /* 11 5200.0*/47.937, /* 12 5800.0*/52.229, /* 13 6400.0*/55.654, /* 14 7100.0*/58.140, /* 15 7800.0*/58.763, },
{/* 1 30.000 *//* 0 650.0*/46.506, /* 1 950.0*/49.126, /* 2 1250.0*/49.847, /* 3 1600.0*/49.706, /* 4 1950.0*/49.866, /* 5 2350.0*/50.828, /* 6 2750.0*/51.849, /* 7 3200.0*/50.064, /* 8 3700.0*/48.359, /* 9 4200.0*/49.920, /* 10 4700.0*/54.116, /* 11 5200.0*/58.954, /* 12 5800.0*/64.546, /* 13 6400.0*/66.713, /* 14 7100.0*/67.738, /* 15 7800.0*/68.457, },
{/* 2 34.000 *//* 0 650.0*/51.408, /* 1 950.0*/55.035, /* 2 1250.0*/56.457, /* 3 1600.0*/55.807, /* 4 1950.0*/56.117, /* 5 2350.0*/57.554, /* 6 2750.0*/59.953, /* 7 3200.0*/58.324, /* 8 3700.0*/55.696, /* 9 4200.0*/56.141, /* 10 4700.0*/59.908, /* 11 5200.0*/65.525, /* 12 5800.0*/70.589, /* 13 6400.0*/71.985, /* 14 7100.0*/72.969, /* 15 7800.0*/73.576, },
{/* 3 38.000 *//* 0 650.0*/55.131, /* 1 950.0*/58.797, /* 2 1250.0*/60.825, /* 3 1600.0*/62.831, /* 4 1950.0*/62.511, /* 5 2350.0*/63.555, /* 6 2750.0*/66.933, /* 7 3200.0*/66.365, /* 8 3700.0*/63.211, /* 9 4200.0*/63.721, /* 10 4700.0*/67.063, /* 11 5200.0*/72.315, /* 12 5800.0*/76.385, /* 13 6400.0*/78.133, /* 14 7100.0*/78.436, /* 15 7800.0*/78.577, },
{/* 4 43.000 *//* 0 650.0*/62.427, /* 1 950.0*/64.929, /* 2 1250.0*/68.336, /* 3 1600.0*/70.803, /* 4 1950.0*/70.206, /* 5 2350.0*/71.101, /* 6 2750.0*/74.762, /* 7 3200.0*/74.345, /* 8 3700.0*/71.209, /* 9 4200.0*/70.365, /* 10 4700.0*/73.419, /* 11 5200.0*/78.221, /* 12 5800.0*/82.753, /* 13 6400.0*/83.884, /* 14 7100.0*/84.646, /* 15 7800.0*/84.760, },
{/* 5 48.000 *//* 0 650.0*/69.850, /* 1 950.0*/72.581, /* 2 1250.0*/75.672, /* 3 1600.0*/78.355, /* 4 1950.0*/78.085, /* 5 2350.0*/80.211, /* 6 2750.0*/82.045, /* 7 3200.0*/81.545, /* 8 3700.0*/78.744, /* 9 4200.0*/78.467, /* 10 4700.0*/78.896, /* 11 5200.0*/83.297, /* 12 5800.0*/87.946, /* 13 6400.0*/90.166, /* 14 7100.0*/91.174, /* 15 7800.0*/91.355, },
{/* 6 54.000 *//* 0 650.0*/75.722, /* 1 950.0*/79.103, /* 2 1250.0*/82.361, /* 3 1600.0*/84.630, /* 4 1950.0*/84.046, /* 5 2350.0*/85.438, /* 6 2750.0*/86.868, /* 7 3200.0*/86.240, /* 8 3700.0*/84.198, /* 9 4200.0*/83.970, /* 10 4700.0*/85.578, /* 11 5200.0*/89.898, /* 12 5800.0*/93.576, /* 13 6400.0*/96.423, /* 14 7100.0*/97.712, /* 15 7800.0*/98.025, },
{/* 7 60.000 *//* 0 650.0*/80.931, /* 1 950.0*/83.518, /* 2 1250.0*/86.618, /* 3 1600.0*/90.079, /* 4 1950.0*/88.666, /* 5 2350.0*/88.837, /* 6 2750.0*/90.304, /* 7 3200.0*/89.797, /* 8 3700.0*/89.359, /* 9 4200.0*/89.215, /* 10 4700.0*/91.475, /* 11 5200.0*/95.601, /* 12 5800.0*/98.813, /* 13 6400.0*/101.662, /* 14 7100.0*/103.927, /* 15 7800.0*/104.533, },
{/* 8 67.000 *//* 0 650.0*/85.475, /* 1 950.0*/87.373, /* 2 1250.0*/90.576, /* 3 1600.0*/94.341, /* 4 1950.0*/93.254, /* 5 2350.0*/92.835, /* 6 2750.0*/94.631, /* 7 3200.0*/93.803, /* 8 3700.0*/93.489, /* 9 4200.0*/95.245, /* 10 4700.0*/97.738, /* 11 5200.0*/101.731, /* 12 5800.0*/105.341, /* 13 6400.0*/107.920, /* 14 7100.0*/109.300, /* 15 7800.0*/110.264, },
{/* 9 74.000 *//* 0 650.0*/90.588, /* 1 950.0*/92.696, /* 2 1250.0*/94.371, /* 3 1600.0*/99.087, /* 4 1950.0*/98.227, /* 5 2350.0*/98.105, /* 6 2750.0*/99.515, /* 7 3200.0*/98.095, /* 8 3700.0*/99.186, /* 9 4200.0*/101.554, /* 10 4700.0*/105.278, /* 11 5200.0*/108.206, /* 12 5800.0*/111.131, /* 13 6400.0*/112.939, /* 14 7100.0*/114.120, /* 15 7800.0*/114.274, },
{/* 10 82.000 *//* 0 650.0*/96.035, /* 1 950.0*/96.933, /* 2 1250.0*/99.341, /* 3 1600.0*/102.952, /* 4 1950.0*/103.774, /* 5 2350.0*/103.973, /* 6 2750.0*/103.334, /* 7 3200.0*/105.005, /* 8 3700.0*/106.212, /* 9 4200.0*/109.098, /* 10 4700.0*/111.624, /* 11 5200.0*/114.729, /* 12 5800.0*/116.929, /* 13 6400.0*/118.501, /* 14 7100.0*/118.165, /* 15 7800.0*/118.979, },
{/* 11 90.000 *//* 0 650.0*/100.834, /* 1 950.0*/101.388, /* 2 1250.0*/103.619, /* 3 1600.0*/107.806, /* 4 1950.0*/107.164, /* 5 2350.0*/106.776, /* 6 2750.0*/106.612, /* 7 3200.0*/108.891, /* 8 3700.0*/112.385, /* 9 4200.0*/114.962, /* 10 4700.0*/117.627, /* 11 5200.0*/120.118, /* 12 5800.0*/121.564, /* 13 6400.0*/122.254, /* 14 7100.0*/122.201, /* 15 7800.0*/121.964, },
{/* 12 99.000 *//* 0 650.0*/104.415, /* 1 950.0*/105.773, /* 2 1250.0*/107.849, /* 3 1600.0*/109.719, /* 4 1950.0*/109.161, /* 5 2350.0*/108.677, /* 6 2750.0*/108.340, /* 7 3200.0*/110.866, /* 8 3700.0*/114.415, /* 9 4200.0*/117.876, /* 10 4700.0*/120.450, /* 11 5200.0*/123.946, /* 12 5800.0*/125.295, /* 13 6400.0*/124.855, /* 14 7100.0*/125.070, /* 15 7800.0*/124.014, },
{/* 13 108.000 *//* 0 650.0*/105.599, /* 1 950.0*/106.125, /* 2 1250.0*/107.606, /* 3 1600.0*/108.824, /* 4 1950.0*/109.716, /* 5 2350.0*/108.998, /* 6 2750.0*/109.269, /* 7 3200.0*/110.926, /* 8 3700.0*/114.086, /* 9 4200.0*/117.390, /* 10 4700.0*/119.910, /* 11 5200.0*/123.648, /* 12 5800.0*/124.843, /* 13 6400.0*/126.550, /* 14 7100.0*/126.680, /* 15 7800.0*/125.881, },
{/* 14 118.000 *//* 0 650.0*/105.855, /* 1 950.0*/106.603, /* 2 1250.0*/107.652, /* 3 1600.0*/109.393, /* 4 1950.0*/110.349, /* 5 2350.0*/109.481, /* 6 2750.0*/109.790, /* 7 3200.0*/111.735, /* 8 3700.0*/114.132, /* 9 4200.0*/116.603, /* 10 4700.0*/119.263, /* 11 5200.0*/121.682, /* 12 5800.0*/123.221, /* 13 6400.0*/125.171, /* 14 7100.0*/128.184, /* 15 7800.0*/128.348, },
{/* 15 128.000 *//* 0 650.0*/104.430, /* 1 950.0*/105.297, /* 2 1250.0*/107.271, /* 3 1600.0*/108.832, /* 4 1950.0*/108.953, /* 5 2350.0*/110.116, /* 6 2750.0*/111.153, /* 7 3200.0*/112.316, /* 8 3700.0*/114.148, /* 9 4200.0*/116.354, /* 10 4700.0*/118.107, /* 11 5200.0*/119.835, /* 12 5800.0*/121.332, /* 13 6400.0*/124.078, /* 14 7100.0*/127.961, /* 15 7800.0*/130.209, }
};
#endif
/* Generated by TS2C on Sun Aug 02 10:02:25 EDT 2020*/
static void setVeTable(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
MEMCPY(config->veLoadBins, hardCodedveLoadBins);
MEMCPY(config->veRpmBins, hardCodedveRpmBins);
MEMCPY(config->veTable, hardCodedveTable);
}
#if IGN_LOAD_COUNT == DEFAULT_IGN_LOAD_COUNT
static const ignition_table_t mapBased16IgnitionTable = {
@ -136,25 +84,6 @@ static const ignition_table_t mapBased16IgnitionTable = {
};
#endif
static const fuel_table_t miataNA6_maf_fuel_table = {
/* Generated by TS2C on Tue Mar 12 13:59:29 EDT 2019*/
{/* 0 1.200 *//* 0 800.0*/9.000, /* 1 1213.33*/10.846, /* 2 1626.6699*/11.574, /* 3 2040.0*/11.420, /* 4 2453.3298*/8.813, /* 5 2866.67*/6.000, /* 6 3280.0*/6.000, /* 7 3693.3298*/6.000, /* 8 4106.67*/6.000, /* 9 4520.0*/6.000, /* 10 4933.33*/6.000, /* 11 5346.67*/6.000, /* 12 5760.0*/6.000, /* 13 6173.33*/6.000, /* 14 6586.67*/6.000, /* 15 7000.0*/6.000, },
{/* 1 1.410 *//* 0 800.0*/8.276, /* 1 1213.33*/10.727, /* 2 1626.6699*/9.000, /* 3 2040.0*/6.118, /* 4 2453.3298*/5.913, /* 5 2866.67*/6.000, /* 6 3280.0*/6.000, /* 7 3693.3298*/6.000, /* 8 4106.67*/6.000, /* 9 4520.0*/6.000, /* 10 4933.33*/6.000, /* 11 5346.67*/6.000, /* 12 5760.0*/6.000, /* 13 6173.33*/6.000, /* 14 6586.67*/6.000, /* 15 7000.0*/6.000, },
{/* 2 1.630 *//* 0 800.0*/4.888, /* 1 1213.33*/5.283, /* 2 1626.6699*/3.780, /* 3 2040.0*/3.454, /* 4 2453.3298*/3.936, /* 5 2866.67*/4.466, /* 6 3280.0*/6.000, /* 7 3693.3298*/6.000, /* 8 4106.67*/6.000, /* 9 4520.0*/6.000, /* 10 4933.33*/6.000, /* 11 5346.67*/6.000, /* 12 5760.0*/6.000, /* 13 6173.33*/6.000, /* 14 6586.67*/6.000, /* 15 7000.0*/6.000, },
{/* 3 1.840 *//* 0 800.0*/6.811, /* 1 1213.33*/4.178, /* 2 1626.6699*/2.534, /* 3 2040.0*/2.181, /* 4 2453.3298*/1.490, /* 5 2866.67*/6.000, /* 6 3280.0*/6.000, /* 7 3693.3298*/6.000, /* 8 4106.67*/6.000, /* 9 4520.0*/6.000, /* 10 4933.33*/6.000, /* 11 5346.67*/6.000, /* 12 5760.0*/6.000, /* 13 6173.33*/6.000, /* 14 6586.67*/6.000, /* 15 7000.0*/6.000, },
{/* 4 2.050 *//* 0 800.0*/5.569, /* 1 1213.33*/3.145, /* 2 1626.6699*/1.370, /* 3 2040.0*/1.205, /* 4 2453.3298*/1.490, /* 5 2866.67*/6.000, /* 6 3280.0*/6.000, /* 7 3693.3298*/6.000, /* 8 4106.67*/6.000, /* 9 4520.0*/6.000, /* 10 4933.33*/6.000, /* 11 5346.67*/6.000, /* 12 5760.0*/6.000, /* 13 6173.33*/6.000, /* 14 6586.67*/6.000, /* 15 7000.0*/6.000, },
{/* 5 2.270 *//* 0 800.0*/4.499, /* 1 1213.33*/2.668, /* 2 1626.6699*/1.407, /* 3 2040.0*/1.375, /* 4 2453.3298*/1.490, /* 5 2866.67*/3.000, /* 6 3280.0*/3.000, /* 7 3693.3298*/7.000, /* 8 4106.67*/6.000, /* 9 4520.0*/6.000, /* 10 4933.33*/6.000, /* 11 5346.67*/6.000, /* 12 5760.0*/6.000, /* 13 6173.33*/6.000, /* 14 6586.67*/6.000, /* 15 7000.0*/6.000, },
{/* 6 2.480 *//* 0 800.0*/2.967, /* 1 1213.33*/1.951, /* 2 1626.6699*/2.439, /* 3 2040.0*/4.185, /* 4 2453.3298*/3.000, /* 5 2866.67*/4.000, /* 6 3280.0*/4.000, /* 7 3693.3298*/4.000, /* 8 4106.67*/4.000, /* 9 4520.0*/4.000, /* 10 4933.33*/6.000, /* 11 5346.67*/6.000, /* 12 5760.0*/6.000, /* 13 6173.33*/6.000, /* 14 6586.67*/6.000, /* 15 7000.0*/6.000, },
{/* 7 2.690 *//* 0 800.0*/2.645, /* 1 1213.33*/1.764, /* 2 1626.6699*/1.819, /* 3 2040.0*/2.000, /* 4 2453.3298*/3.000, /* 5 2866.67*/4.000, /* 6 3280.0*/4.000, /* 7 3693.3298*/4.000, /* 8 4106.67*/4.000, /* 9 4520.0*/4.000, /* 10 4933.33*/6.000, /* 11 5346.67*/6.000, /* 12 5760.0*/6.000, /* 13 6173.33*/6.000, /* 14 6586.67*/6.000, /* 15 7000.0*/6.000, },
{/* 8 2.910 *//* 0 800.0*/3.000, /* 1 1213.33*/2.012, /* 2 1626.6699*/1.957, /* 3 2040.0*/3.000, /* 4 2453.3298*/3.000, /* 5 2866.67*/4.000, /* 6 3280.0*/4.000, /* 7 3693.3298*/4.000, /* 8 4106.67*/4.000, /* 9 4520.0*/4.000, /* 10 4933.33*/6.000, /* 11 5346.67*/6.000, /* 12 5760.0*/6.000, /* 13 6173.33*/6.000, /* 14 6586.67*/6.000, /* 15 7000.0*/6.000, },
{/* 9 3.120 *//* 0 800.0*/3.000, /* 1 1213.33*/3.000, /* 2 1626.6699*/3.000, /* 3 2040.0*/3.000, /* 4 2453.3298*/3.000, /* 5 2866.67*/4.000, /* 6 3280.0*/4.000, /* 7 3693.3298*/4.000, /* 8 4106.67*/4.000, /* 9 4520.0*/4.000, /* 10 4933.33*/6.000, /* 11 5346.67*/6.000, /* 12 5760.0*/6.000, /* 13 6173.33*/6.000, /* 14 6586.67*/6.000, /* 15 7000.0*/6.000, },
{/* 10 3.330 *//* 0 800.0*/3.000, /* 1 1213.33*/3.000, /* 2 1626.6699*/3.000, /* 3 2040.0*/3.000, /* 4 2453.3298*/3.000, /* 5 2866.67*/4.000, /* 6 3280.0*/4.000, /* 7 3693.3298*/4.000, /* 8 4106.67*/4.000, /* 9 4520.0*/4.000, /* 10 4933.33*/6.000, /* 11 5346.67*/6.000, /* 12 5760.0*/6.000, /* 13 6173.33*/6.000, /* 14 6586.67*/6.000, /* 15 7000.0*/6.000, },
{/* 11 3.550 *//* 0 800.0*/3.000, /* 1 1213.33*/3.000, /* 2 1626.6699*/3.000, /* 3 2040.0*/3.000, /* 4 2453.3298*/3.000, /* 5 2866.67*/4.000, /* 6 3280.0*/4.000, /* 7 3693.3298*/4.000, /* 8 4106.67*/4.000, /* 9 4520.0*/4.000, /* 10 4933.33*/6.000, /* 11 5346.67*/6.000, /* 12 5760.0*/6.000, /* 13 6173.33*/6.000, /* 14 6586.67*/6.000, /* 15 7000.0*/6.000, },
{/* 12 3.760 *//* 0 800.0*/7.672, /* 1 1213.33*/7.000, /* 2 1626.6699*/7.000, /* 3 2040.0*/7.000, /* 4 2453.3298*/7.000, /* 5 2866.67*/7.000, /* 6 3280.0*/7.000, /* 7 3693.3298*/7.000, /* 8 4106.67*/6.000, /* 9 4520.0*/6.000, /* 10 4933.33*/6.000, /* 11 5346.67*/6.000, /* 12 5760.0*/6.000, /* 13 6173.33*/6.000, /* 14 6586.67*/6.000, /* 15 7000.0*/6.000, },
{/* 13 3.970 *//* 0 800.0*/7.858, /* 1 1213.33*/7.000, /* 2 1626.6699*/7.000, /* 3 2040.0*/7.000, /* 4 2453.3298*/7.000, /* 5 2866.67*/7.000, /* 6 3280.0*/7.000, /* 7 3693.3298*/7.000, /* 8 4106.67*/6.000, /* 9 4520.0*/6.000, /* 10 4933.33*/6.000, /* 11 5346.67*/6.000, /* 12 5760.0*/6.000, /* 13 6173.33*/6.000, /* 14 6586.67*/6.000, /* 15 7000.0*/6.000, },
{/* 14 4.190 *//* 0 800.0*/7.000, /* 1 1213.33*/7.000, /* 2 1626.6699*/7.000, /* 3 2040.0*/7.000, /* 4 2453.3298*/7.000, /* 5 2866.67*/7.000, /* 6 3280.0*/7.000, /* 7 3693.3298*/7.000, /* 8 4106.67*/6.000, /* 9 4520.0*/6.000, /* 10 4933.33*/6.000, /* 11 5346.67*/6.000, /* 12 5760.0*/6.000, /* 13 6173.33*/6.000, /* 14 6586.67*/6.000, /* 15 7000.0*/6.000, },
{/* 15 4.400 *//* 0 800.0*/7.000, /* 1 1213.33*/7.000, /* 2 1626.6699*/7.000, /* 3 2040.0*/7.000, /* 4 2453.3298*/7.000, /* 5 2866.67*/7.000, /* 6 3280.0*/7.000, /* 7 3693.3298*/7.000, /* 8 4106.67*/6.000, /* 9 4520.0*/6.000, /* 10 4933.33*/6.000, /* 11 5346.67*/6.000, /* 12 5760.0*/6.000, /* 13 6173.33*/6.000, /* 14 6586.67*/6.000, /* 15 7000.0*/6.000, },
};
static void miataNAcommonEngineSettings(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
engineConfiguration->trigger.type = TT_MAZDA_MIATA_NA;
@ -172,13 +101,18 @@ static void miataNAcommonEngineSettings(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
MEMCPY(config->ignitionTable, mapBased16IgnitionTable);
#endif
setCrankingCycleBins(PASS_CONFIG_PARAMETER_SIGNATURE);
setCrankingFuelBins(PASS_CONFIG_PARAMETER_SIGNATURE);
engineConfiguration->silentTriggerError = false;
setCltIdleCorrBins(PASS_CONFIG_PARAMETER_SIGNATURE);
setCltIdleRpmBins(PASS_CONFIG_PARAMETER_SIGNATURE);
setIacCoastingBins(PASS_CONFIG_PARAMETER_SIGNATURE);
engineConfiguration->manIdlePosition = 34;
miataNA_setCrankingCycleBins(PASS_CONFIG_PARAMETER_SIGNATURE);
miataNA_setCrankingFuelBins(PASS_CONFIG_PARAMETER_SIGNATURE);
miataNA_setCltIdleCorrBins(PASS_CONFIG_PARAMETER_SIGNATURE);
miataNA_setCltIdleRpmBins(PASS_CONFIG_PARAMETER_SIGNATURE);
miataNA_setIacCoastingBins(PASS_CONFIG_PARAMETER_SIGNATURE);
setMafDecodingBins(PASS_CONFIG_PARAMETER_SIGNATURE);
miataNA_setIgnitionTable(PASS_CONFIG_PARAMETER_SIGNATURE);
engineConfiguration->idle.solenoidFrequency = 160;
engineConfiguration->ignitionMode = IM_WASTED_SPARK;
@ -199,11 +133,8 @@ void miataNAcommon(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
static void setMiataNA6_settings(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
engineConfiguration->isFasterEngineSpinUpEnabled = true;
MEMCPY(config->veRpmBins, ve16RpmBins);
MEMCPY(config->veLoadBins, ve16LoadBins);
#if DEFAULT_FUEL_LOAD_COUNT == FUEL_LOAD_COUNT
MEMCPY(config->veTable, mapBased16VeTable);
#endif
setVeTable(PASS_CONFIG_PARAMETER_SIGNATURE);
setWholeFuelMap(6 PASS_CONFIG_PARAMETER_SUFFIX);
@ -259,7 +190,6 @@ static void setMiataNA6_settings(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
engineConfiguration->tpsMax = 656; // convert 12to10 bit (ADC/4)
engineConfiguration->injectionMode = IM_BATCH;
MEMCPY(config->fuelTable, miataNA6_maf_fuel_table);
}
/**
@ -425,7 +355,6 @@ void setMiataNA6_MAP_MRE(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
engineConfiguration->triggerInputPins[1] = GPIOC_6;
engineConfiguration->camInputs[0] = GPIO_UNASSIGNED;
engineConfiguration->silentTriggerError = true;
engineConfiguration->fuelPumpPin = GPIO_UNASSIGNED;
@ -443,7 +372,7 @@ void setMiataNA6_MAP_MRE(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
engineConfiguration->acIdleExtraOffset = 14;
engineConfiguration->idleRpmPid.minValue = 30;
engineConfiguration->acIdleExtraMin = 14;
engineConfiguration->idleRpmPid.minValue = 70;
engineConfiguration->idleRpmPid.maxValue = 70;
engineConfiguration->idleRpmPid.periodMs = 40;
engineConfiguration->idlerpmpid_iTermMin = -6;
engineConfiguration->idlerpmpid_iTermMax = 30;

View File

@ -1,5 +1,5 @@
/*
* mazda_miata_base_maps.cpp
* @file mazda_miata_base_maps.cpp
*
* Created on: Dec 31, 2018
* @author Andrey Belomutskiy, (c) 2012-2020
@ -7,8 +7,85 @@
#include "engine_configuration.h"
//const float ve16RpmBins[FUEL_RPM_COUNT] = {
//650.0,1100.0,1550.0,2000.0,
//2450.0,2900.0,3350.0,3800.0,
//4250.0,4700.0,5150.0,5650.0,
//6100.0,6550.0,7000.0,7450.0};
EXTERN_CONFIG;
// todo: use these defaults wider? make them global defaults maybe?
static const float hardCodedcrankingCycleBins[8] = {1.0, 16.0, 35.0, 54.0, 76.0, 102.0, 132.0, 169.0};
static const float hardCodedcrankingCycleCoef[8] = {1.9800034, 1.800003, 1.5999985, 1.4000015, 1.2300034, 1.1200027, 1.050003, 1.0199966};
/* Generated by TS2C on Thu Jul 30 00:03:20 EDT 2020*/
void miataNA_setCrankingCycleBins(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
MEMCPY(config->crankingCycleBins, hardCodedcrankingCycleBins);
MEMCPY(config->crankingCycleCoef, hardCodedcrankingCycleCoef);
}
// todo: use these defaults wider? make them global defaults maybe?
static const float hardCodedcrankingFuelBins[8] = {-20.0, -10.0, 3.6799927, 22.77002, 34.049805, 49.95996, 65.0, 90.0};
static const float hardCodedcrankingFuelCoef[8] = {2.7999878, 2.2000122, 1.6900024, 1.2900009, 1.199997, 1.050003, 1.0, 1.0};
/* Generated by TS2C on Thu Jul 30 00:03:20 EDT 2020*/
void miataNA_setCrankingFuelBins(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
MEMCPY(config->crankingFuelBins, hardCodedcrankingFuelBins);
MEMCPY(config->crankingFuelCoef, hardCodedcrankingFuelCoef);
}
static const float hardCodediacCoastingBins[16] = {-40.0, -30.0, -20.0, -10.0, 0.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0, 80.0, 90.0, 100.0, 110.0};
static const float hardCodediacCoasting[16] = {40.0, 40.0, 40.0, 40.0, 40.0, 40.0, 40.0, 40.0, 40.0, 40.0, 40.0, 40.0, 40.0, 40.0, 40.0, 40.0};
/* Generated by TS2C on Fri Jul 31 14:02:18 EDT 2020*/
void miataNA_setIacCoastingBins(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
MEMCPY(engineConfiguration->iacCoastingBins, hardCodediacCoastingBins);
MEMCPY(engineConfiguration->iacCoasting, hardCodediacCoasting);
}
static const float hardCodedcltIdleCorrBins[16] = {-40.0, -30.0, -20.0, -10.0, 0.0, 9.439941, 19.120117, 30.810059, 42.509766, 54.529785, 64.21973, 71.90039, 80.0, 90.0, 100.0, 110.0};
static const float hardCodedcltIdleCorr[16] = {1.4000015, 1.3199997, 1.2600021, 1.2099991, 1.1699982, 1.050003, 1.0299988, 1.0199966, 1.0299988, 1.0199966, 1.0100021, 1.0, 0.9900017, 0.9900017, 0.9900017, 0.9900017};
/* Generated by TS2C on Fri Jul 31 14:02:18 EDT 2020*/
void miataNA_setCltIdleCorrBins(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
MEMCPY(config->cltIdleCorrBins, hardCodedcltIdleCorrBins);
MEMCPY(config->cltIdleCorr, hardCodedcltIdleCorr);
}
static const float hardCodedcltIdleRpmBins[16] = {-40.0, -30.0, -20.0, 0.0, 10.0, 20.0, 30.0, 40.0, 60.0, 70.0, 80.0, 90.0, 100.0, 120.0, 130.0, 140.0};
static const float hardCodedcltIdleRpm[16] = {1180.0, 1150.0, 1130.0, 1110.0, 1090.0, 1070.0, 1050.0, 1020.0, 990.0, 970.0, 950.0, 950.0, 950.0, 950.0, 950.0, 950.0};
/* Generated by TS2C on Fri Jul 31 14:02:18 EDT 2020*/
void miataNA_setCltIdleRpmBins(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
MEMCPY(engineConfiguration->cltIdleRpmBins, hardCodedcltIdleRpmBins);
MEMCPY(engineConfiguration->cltIdleRpm, hardCodedcltIdleRpm);
}
static const float hardCodedignitionLoadBins[16] = {10.0, 24.0, 35.0, 55.0, 65.0, 75.0, 84.0, 99.0, 110.0, 125.0, 140.0, 160.0, 180.0, 200.0, 220.0, 250.0};
static const float hardCodedignitionRpmBins[16] = {500.0, 800.0, 1000.0, 1500.0, 1800.0, 2300.0, 2900.0, 3400.0, 3900.0, 4300.0, 4800.0, 5300.0, 5900.0, 6500.0, 7200.0, 8000.0};
static const float hardCodedignitionTable[16][16] = {
/* Generated by TS2C on Sun Aug 02 11:58:01 EDT 2020*/
{/* 0 10.000 *//* 0 500.0*/15.000, /* 1 800.0*/15.000, /* 2 1000.0*/20.300, /* 3 1500.0*/21.900, /* 4 1800.0*/32.900, /* 5 2300.0*/33.400, /* 6 2900.0*/34.700, /* 7 3400.0*/35.900, /* 8 3900.0*/37.300, /* 9 4300.0*/37.600, /* 10 4800.0*/38.000, /* 11 5300.0*/38.100, /* 12 5900.0*/38.800, /* 13 6500.0*/39.500, /* 14 7200.0*/40.300, /* 15 8000.0*/41.000, },
{/* 1 24.000 *//* 0 500.0*/15.000, /* 1 800.0*/15.000, /* 2 1000.0*/18.700, /* 3 1500.0*/23.600, /* 4 1800.0*/30.900, /* 5 2300.0*/34.800, /* 6 2900.0*/35.600, /* 7 3400.0*/36.400, /* 8 3900.0*/37.300, /* 9 4300.0*/37.600, /* 10 4800.0*/38.000, /* 11 5300.0*/38.100, /* 12 5900.0*/38.800, /* 13 6500.0*/39.500, /* 14 7200.0*/40.300, /* 15 8000.0*/41.000, },
{/* 2 35.000 *//* 0 500.0*/15.000, /* 1 800.0*/15.000, /* 2 1000.0*/18.700, /* 3 1500.0*/23.600, /* 4 1800.0*/30.900, /* 5 2300.0*/33.800, /* 6 2900.0*/34.400, /* 7 3400.0*/35.000, /* 8 3900.0*/35.600, /* 9 4300.0*/35.900, /* 10 4800.0*/36.300, /* 11 5300.0*/36.400, /* 12 5900.0*/37.100, /* 13 6500.0*/37.900, /* 14 7200.0*/38.600, /* 15 8000.0*/39.300, },
{/* 3 55.000 *//* 0 500.0*/15.000, /* 1 800.0*/15.000, /* 2 1000.0*/22.600, /* 3 1500.0*/24.800, /* 4 1800.0*/28.800, /* 5 2300.0*/31.900, /* 6 2900.0*/32.500, /* 7 3400.0*/33.100, /* 8 3900.0*/33.800, /* 9 4300.0*/34.200, /* 10 4800.0*/34.600, /* 11 5300.0*/34.700, /* 12 5900.0*/35.400, /* 13 6500.0*/36.100, /* 14 7200.0*/36.900, /* 15 8000.0*/37.600, },
{/* 4 65.000 *//* 0 500.0*/17.000, /* 1 800.0*/17.000, /* 2 1000.0*/22.800, /* 3 1500.0*/24.700, /* 4 1800.0*/28.100, /* 5 2300.0*/30.300, /* 6 2900.0*/32.200, /* 7 3400.0*/32.200, /* 8 3900.0*/32.200, /* 9 4300.0*/32.700, /* 10 4800.0*/33.100, /* 11 5300.0*/33.200, /* 12 5900.0*/33.900, /* 13 6500.0*/34.700, /* 14 7200.0*/35.400, /* 15 8000.0*/36.100, },
{/* 5 75.000 *//* 0 500.0*/18.500, /* 1 800.0*/18.700, /* 2 1000.0*/24.300, /* 3 1500.0*/26.100, /* 4 1800.0*/27.600, /* 5 2300.0*/28.700, /* 6 2900.0*/29.300, /* 7 3400.0*/29.200, /* 8 3900.0*/28.800, /* 9 4300.0*/29.700, /* 10 4800.0*/30.600, /* 11 5300.0*/31.100, /* 12 5900.0*/31.800, /* 13 6500.0*/32.500, /* 14 7200.0*/33.300, /* 15 8000.0*/34.000, },
{/* 6 84.000 *//* 0 500.0*/19.600, /* 1 800.0*/19.900, /* 2 1000.0*/24.500, /* 3 1500.0*/27.800, /* 4 1800.0*/27.700, /* 5 2300.0*/27.700, /* 6 2900.0*/28.200, /* 7 3400.0*/28.100, /* 8 3900.0*/27.700, /* 9 4300.0*/28.800, /* 10 4800.0*/29.900, /* 11 5300.0*/30.700, /* 12 5900.0*/31.400, /* 13 6500.0*/32.100, /* 14 7200.0*/32.900, /* 15 8000.0*/33.600, },
{/* 7 99.000 *//* 0 500.0*/19.000, /* 1 800.0*/19.600, /* 2 1000.0*/23.900, /* 3 1500.0*/26.700, /* 4 1800.0*/26.600, /* 5 2300.0*/26.500, /* 6 2900.0*/26.900, /* 7 3400.0*/26.800, /* 8 3900.0*/26.800, /* 9 4300.0*/27.900, /* 10 4800.0*/29.100, /* 11 5300.0*/29.800, /* 12 5900.0*/30.500, /* 13 6500.0*/31.300, /* 14 7200.0*/32.000, /* 15 8000.0*/32.700, },
{/* 8 110.000 *//* 0 500.0*/19.000, /* 1 800.0*/19.100, /* 2 1000.0*/23.100, /* 3 1500.0*/26.200, /* 4 1800.0*/26.600, /* 5 2300.0*/25.500, /* 6 2900.0*/26.100, /* 7 3400.0*/26.000, /* 8 3900.0*/25.400, /* 9 4300.0*/26.500, /* 10 4800.0*/27.600, /* 11 5300.0*/28.300, /* 12 5900.0*/29.100, /* 13 6500.0*/29.800, /* 14 7200.0*/30.500, /* 15 8000.0*/31.300, },
{/* 9 125.000 *//* 0 500.0*/17.200, /* 1 800.0*/18.500, /* 2 1000.0*/21.800, /* 3 1500.0*/25.400, /* 4 1800.0*/26.700, /* 5 2300.0*/27.300, /* 6 2900.0*/26.900, /* 7 3400.0*/25.700, /* 8 3900.0*/24.900, /* 9 4300.0*/25.300, /* 10 4800.0*/25.700, /* 11 5300.0*/26.100, /* 12 5900.0*/26.800, /* 13 6500.0*/27.900, /* 14 7200.0*/28.900, /* 15 8000.0*/29.600, },
{/* 10 140.000 *//* 0 500.0*/15.000, /* 1 800.0*/17.200, /* 2 1000.0*/20.800, /* 3 1500.0*/24.200, /* 4 1800.0*/26.900, /* 5 2300.0*/26.800, /* 6 2900.0*/25.600, /* 7 3400.0*/24.900, /* 8 3900.0*/24.100, /* 9 4300.0*/24.000, /* 10 4800.0*/24.000, /* 11 5300.0*/24.100, /* 12 5900.0*/24.800, /* 13 6500.0*/24.900, /* 14 7200.0*/25.900, /* 15 8000.0*/24.700, },
{/* 11 160.000 *//* 0 500.0*/13.000, /* 1 800.0*/15.200, /* 2 1000.0*/18.700, /* 3 1500.0*/22.000, /* 4 1800.0*/22.800, /* 5 2300.0*/22.200, /* 6 2900.0*/21.100, /* 7 3400.0*/19.800, /* 8 3900.0*/18.900, /* 9 4300.0*/18.800, /* 10 4800.0*/18.800, /* 11 5300.0*/18.900, /* 12 5900.0*/19.700, /* 13 6500.0*/20.200, /* 14 7200.0*/20.600, /* 15 8000.0*/21.400, },
{/* 12 180.000 *//* 0 500.0*/13.000, /* 1 800.0*/15.200, /* 2 1000.0*/17.300, /* 3 1500.0*/19.300, /* 4 1800.0*/21.200, /* 5 2300.0*/21.300, /* 6 2900.0*/20.400, /* 7 3400.0*/18.700, /* 8 3900.0*/16.300, /* 9 4300.0*/16.300, /* 10 4800.0*/16.900, /* 11 5300.0*/17.200, /* 12 5900.0*/17.200, /* 13 6500.0*/17.500, /* 14 7200.0*/17.700, /* 15 8000.0*/17.700, },
{/* 13 200.000 *//* 0 500.0*/14.100, /* 1 800.0*/15.100, /* 2 1000.0*/16.400, /* 3 1500.0*/18.000, /* 4 1800.0*/19.800, /* 5 2300.0*/20.300, /* 6 2900.0*/19.500, /* 7 3400.0*/17.500, /* 8 3900.0*/14.900, /* 9 4300.0*/15.100, /* 10 4800.0*/15.800, /* 11 5300.0*/16.200, /* 12 5900.0*/16.300, /* 13 6500.0*/16.600, /* 14 7200.0*/16.700, /* 15 8000.0*/16.800, },
{/* 14 220.000 *//* 0 500.0*/15.000, /* 1 800.0*/15.000, /* 2 1000.0*/15.700, /* 3 1500.0*/16.900, /* 4 1800.0*/18.600, /* 5 2300.0*/19.200, /* 6 2900.0*/18.300, /* 7 3400.0*/16.100, /* 8 3900.0*/14.100, /* 9 4300.0*/14.300, /* 10 4800.0*/15.000, /* 11 5300.0*/15.200, /* 12 5900.0*/15.400, /* 13 6500.0*/15.600, /* 14 7200.0*/15.600, /* 15 8000.0*/15.600, },
{/* 15 250.000 *//* 0 500.0*/15.000, /* 1 800.0*/15.000, /* 2 1000.0*/15.000, /* 3 1500.0*/15.600, /* 4 1800.0*/17.800, /* 5 2300.0*/18.000, /* 6 2900.0*/16.800, /* 7 3400.0*/14.700, /* 8 3900.0*/13.300, /* 9 4300.0*/13.600, /* 10 4800.0*/14.000, /* 11 5300.0*/13.800, /* 12 5900.0*/13.900, /* 13 6500.0*/13.700, /* 14 7200.0*/13.400, /* 15 8000.0*/13.400, }
};
/* Generated by TS2C on Sun Aug 02 11:58:01 EDT 2020*/
void miataNA_setIgnitionTable(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
MEMCPY(config->ignitionLoadBins, hardCodedignitionLoadBins);
MEMCPY(config->ignitionRpmBins, hardCodedignitionRpmBins);
MEMCPY(config->ignitionTable, hardCodedignitionTable);
}

View File

@ -0,0 +1,17 @@
/*
* @file mazda_miata_base_maps.h
*
* @date Aug 2, 2020
* @author Andrey Belomutskiy, (c) 2012-2020
*/
#pragma once
#include "global.h"
void miataNA_setCrankingCycleBins(DECLARE_CONFIG_PARAMETER_SIGNATURE);
void miataNA_setCrankingFuelBins(DECLARE_CONFIG_PARAMETER_SIGNATURE);
void miataNA_setIacCoastingBins(DECLARE_CONFIG_PARAMETER_SIGNATURE);
void miataNA_setCltIdleCorrBins(DECLARE_CONFIG_PARAMETER_SIGNATURE);
void miataNA_setCltIdleRpmBins(DECLARE_CONFIG_PARAMETER_SIGNATURE);
void miataNA_setIgnitionTable(DECLARE_CONFIG_PARAMETER_SIGNATURE);

View File

@ -51,6 +51,7 @@
#include "fsio_impl.h"
#include "ego.h"
#include "thermistors.h"
#include "mazda_miata_base_maps.h"
EXTERN_CONFIG;
@ -366,6 +367,14 @@ static void setMazdaMiataEngineNB2Defaults(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
engineConfiguration->idleRpmPid.iFactor = 0.0001;
engineConfiguration->idleRpmPid.dFactor = 5;
engineConfiguration->idleRpmPid.periodMs = 10;
miataNA_setCrankingCycleBins(PASS_CONFIG_PARAMETER_SIGNATURE);
miataNA_setCrankingFuelBins(PASS_CONFIG_PARAMETER_SIGNATURE);
miataNA_setCltIdleCorrBins(PASS_CONFIG_PARAMETER_SIGNATURE);
miataNA_setCltIdleRpmBins(PASS_CONFIG_PARAMETER_SIGNATURE);
miataNA_setIacCoastingBins(PASS_CONFIG_PARAMETER_SIGNATURE);
} // end of setMazdaMiataEngineNB2Defaults
// MAZDA_MIATA_2003

View File

@ -119,7 +119,7 @@ static efitimems_t previousWriteReportMs = 0;
static ts_channel_s tsChannel;
// this thread wants a bit extra stack
static THD_WORKING_AREA(tunerstudioThreadStack, 3 * UTILITY_THREAD_STACK_SIZE);
static THD_WORKING_AREA(tunerstudioThreadStack, CONNECTIVITY_THREAD_STACK);
static void resetTs(void) {
memset(&tsState, 0, sizeof(tsState));
@ -482,6 +482,8 @@ static bool isKnownCommand(char command) {
|| command == TS_GET_FIRMWARE_VERSION
|| command == TS_PERF_TRACE_BEGIN
|| command == TS_PERF_TRACE_GET_BUFFER
|| command == TS_SD_R_COMMAND
|| command == TS_SD_W_COMMAND
|| command == TS_GET_CONFIG_ERROR;
}
@ -490,6 +492,8 @@ void runBinaryProtocolLoop(ts_channel_s *tsChannel) {
int wasReady = false;
while (true) {
validateStack("communication", STACK_USAGE_COMMUNICATION, 128);
int isReady = sr5IsReady(tsChannel);
if (!isReady) {
chThdSleepMilliseconds(10);
@ -773,6 +777,14 @@ int tunerStudioHandleCrcCommand(ts_channel_s *tsChannel, char *data, int incomin
case TS_GET_FIRMWARE_VERSION:
handleGetVersion(tsChannel, TS_CRC);
break;
#if EFI_FILE_LOGGING
case TS_SD_R_COMMAND:
handleTsR(data);
break;
case TS_SD_W_COMMAND:
handleTsW(data);
break;
#endif //EFI_FILE_LOGGING
case TS_GET_TEXT:
handleGetText(tsChannel);
break;

View File

@ -29,6 +29,8 @@ typedef struct {
extern tunerstudio_counters_s tsState;
#define CONNECTIVITY_THREAD_STACK (2 * UTILITY_THREAD_STACK_SIZE)
/**
* handle non CRC wrapped command
*/

View File

@ -225,7 +225,7 @@ typedef struct {
scaled_voltage rawOilPressure; // 242
int16_t tuneCrc16; // 244
uint8_t unusedAtTheEnd[2]; // we have some unused bytes to allow compatible TS changes
uint8_t unusedAtTheEnd[42]; // we have some unused bytes to allow compatible TS changes
// Temporary - will remove soon
TsDebugChannels* getDebugChannels() {
@ -233,6 +233,8 @@ typedef struct {
}
/* see also [OutputChannels] in rusefi.input */
/* see also TS_OUTPUT_SIZE in rusefi_config.txt */
} TunerStudioOutputChannels;
extern TunerStudioOutputChannels tsOutputChannels;

View File

@ -252,7 +252,7 @@ bool isCommandLineConsoleReady(void) {
#if !defined(EFI_CONSOLE_NO_THREAD)
static THD_WORKING_AREA(consoleThreadStack, 3 * UTILITY_THREAD_STACK_SIZE);
static THD_WORKING_AREA(consoleThreadStack, CONNECTIVITY_THREAD_STACK);
static THD_FUNCTION(consoleThreadEntryPoint, arg) {
(void) arg;
chRegSetThreadName("console thread");

View File

@ -21,7 +21,7 @@
* If not, see <http://www.gnu.org/licenses/>.
*/
#include "global.h"
#include "globalaccess.h"
#include "os_access.h"
#include "eficonsole.h"
#include "console_io.h"
@ -118,19 +118,28 @@ static void sayHello(void) {
chThdSleepMilliseconds(5);
}
void validateStack(const char*msg, obd_code_e code, int desiredStackUnusedSize) {
#if CH_DBG_THREADS_PROFILING && CH_DBG_FILL_THREADS
static uintptr_t CountFreeStackSpace(const void* wabase)
{
int unusedStack = CountFreeStackSpace(chThdGetSelfX()->wabase);
if (unusedStack < desiredStackUnusedSize) {
warning(code, "Stack low on %s: %d", msg, unusedStack);
}
#endif
}
#if CH_DBG_THREADS_PROFILING && CH_DBG_FILL_THREADS
int CountFreeStackSpace(const void* wabase) {
const uint8_t* stackBase = reinterpret_cast<const uint8_t*>(wabase);
const uint8_t* stackUsage = stackBase;
// thread stacks are filled with 0x55
// thread stacks are filled with CH_DBG_STACK_FILL_VALUE
// find out where that ends - that's the last thing we needed on the stack
while(*stackUsage == 0x55) {
while (*stackUsage == CH_DBG_STACK_FILL_VALUE) {
stackUsage++;
}
return stackUsage - stackBase;
return (int)(stackUsage - stackBase);
}
#endif
@ -144,15 +153,15 @@ static void cmd_threads(void) {
scheduleMsg(&logger, "name\twabase\ttime\tfree stack");
while(tp) {
uintptr_t freeBytes = CountFreeStackSpace(tp->wabase);
scheduleMsg(&logger, "%s\t%08x\t%lu\t%lu", tp->name, tp->wabase, tp->time, freeBytes);
while (tp) {
int freeBytes = CountFreeStackSpace(tp->wabase);
scheduleMsg(&logger, "%s\t%08x\t%lu\t%d", tp->name, tp->wabase, tp->time, freeBytes);
tp = chRegNextThread(tp);
}
uintptr_t isrSpace = CountFreeStackSpace(reinterpret_cast<void*>(0x20000000));
scheduleMsg(&logger, "isr\t0\t0\t%lu", isrSpace);
int isrSpace = CountFreeStackSpace(reinterpret_cast<void*>(0x20000000));
scheduleMsg(&logger, "isr\t0\t0\t%d", isrSpace);
#else // CH_DBG_THREADS_PROFILING && CH_DBG_FILL_THREADS

View File

@ -1452,11 +1452,6 @@ void validateConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
for (int i = 0;i < CLT_CURVE_SIZE;i++) {
engineConfiguration->cltIdleRpmBins[i] = fixNegativeZero(engineConfiguration->cltIdleRpmBins[i]);
}
// having zeros in unsued fields is important for REO CRC match
engineConfiguration->unusedAt712 = 0;
engineConfiguration->unusedAt716 = 0;
engineConfiguration->unusedAt720 = 0;
engineConfiguration->unusedAt724 = 0;
}
void applyNonPersistentConfiguration(Logging * logger DECLARE_ENGINE_PARAMETER_SUFFIX) {

View File

@ -2089,6 +2089,12 @@ typedef enum {
CUSTOM_ERR_6729 = 6729,
STACK_USAGE_COMMUNICATION = 6900,
STACK_USAGE_MIL = 6901,
STACK_USAGE_BENCH = 6902,
STACK_USAGE_STATUS = 6903,
STACK_USAGE_4 = 6904,
// 8000-8050 logging errors
CUSTOM_OBD_MMC_ERROR = 8000,

View File

@ -26,6 +26,7 @@
#if EFI_ENGINE_CONTROL
#if !EFI_UNIT_TEST
#include "os_access.h"
#include "flash_main.h"
#include "bench_test.h"
#include "io_pins.h"
@ -213,6 +214,8 @@ private:
UNUSED(nowNt);
setPeriod(50 /* ms */);
validateStack("Bench", STACK_USAGE_BENCH, 128);
// naive inter-thread communication - waiting for a flag
if (isBenchTestPending) {
isBenchTestPending = false;

View File

@ -1,2 +1,2 @@
#pragma once
#define VCS_DATE 20200731
#define VCS_DATE 20200803

View File

@ -695,10 +695,10 @@ void initEngineContoller(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX)
* linking process which is the way to raise the alarm
*
* You get "cannot move location counter backwards" linker error when you run out of RAM. When you run out of RAM you shall reduce these
* UNUSED_SIZE contants.
* UNUSED_SIZE constants.
*/
#ifndef RAM_UNUSED_SIZE
#define RAM_UNUSED_SIZE 8600
#define RAM_UNUSED_SIZE 9600
#endif
#ifndef CCM_UNUSED_SIZE
#define CCM_UNUSED_SIZE 2900

View File

@ -32,6 +32,7 @@
#include "malfunction_central.h"
#include "malfunction_indicator.h"
#include "efi_gpio.h"
#include "os_access.h"
#include "periodic_thread_controller.h"
#define TEST_MIL_CODE FALSE
@ -87,6 +88,8 @@ private:
void PeriodicTask(efitick_t nowNt) override {
UNUSED(nowNt);
validateStack("MIL", STACK_USAGE_MIL, 128);
if (nowNt - engine->triggerCentral.triggerState.mostRecentSyncTime < MS2NT(500)) {
enginePins.checkEnginePin.setValue(1);
chThdSleepMilliseconds(500);

View File

@ -1,4 +1,4 @@
// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Jul 30 19:34:58 UTC 2020
// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Aug 03 02:06:23 UTC 2020
// by class com.rusefi.output.CHeaderConsumer
// begin
#pragma once
@ -2582,14 +2582,22 @@ struct engine_configuration_s {
*/
can_baudrate_e canBaudRate;
/**
* need 4 byte alignment
* offset 2109
*/
uint8_t alignmentFill_at_2109[3];
uint8_t un1used_former_warmup_target_afr;
/**
* offset 2112
* offset 2110
*/
uint32_t unused_former_warmup_target_afr[5];
can_baudrate_e can2BaudRate;
/**
* offset 2111
*/
uint8_t unused_former_warmup_target_afr[18];
/**
* need 4 byte alignment
* offset 2129
*/
uint8_t alignmentFill_at_2129[3];
/**
* kPa value at which we need to cut fuel and spark, 0 if not enabled
* offset 2132
@ -3533,4 +3541,4 @@ struct persistent_config_s {
typedef struct persistent_config_s persistent_config_s;
// end
// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Jul 30 19:34:58 UTC 2020
// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Aug 03 02:06:23 UTC 2020

View File

@ -1,4 +1,4 @@
// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Jul 30 19:34:58 UTC 2020
// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Aug 03 02:06:23 UTC 2020
// by class com.rusefi.output.FileFsioSettingsConsumer
FSIO_SETTING_FANONTEMPERATURE = 1000,

View File

@ -1,4 +1,4 @@
// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Jul 30 19:34:58 UTC 2020
// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Aug 03 02:06:23 UTC 2020
// by class com.rusefi.output.FileFsioSettingsConsumer
case FSIO_SETTING_FANONTEMPERATURE:

View File

@ -1,4 +1,4 @@
// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Jul 30 19:34:58 UTC 2020
// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Aug 03 02:06:23 UTC 2020
// by class com.rusefi.output.FileFsioSettingsConsumer
static LENameOrdinalPair lefanOnTemperature(FSIO_SETTING_FANONTEMPERATURE, "cfg_fanOnTemperature");

View File

@ -1,4 +1,4 @@
// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Jul 30 19:34:58 UTC 2020
// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Aug 03 02:06:23 UTC 2020
// by class com.rusefi.output.FileFsioSettingsConsumer
case FSIO_SETTING_FANONTEMPERATURE:

View File

@ -41,7 +41,7 @@
#define afterstartHoldTime_offset 6152
#define air_pressure_sensor_config_s_size 16
#define alignEngineSnifferAtTDC_offset 744
#define alignmentFill_at_2109_offset 2109
#define alignmentFill_at_2129_offset 2129
#define alignmentFill_at_4514_offset 4514
#define alternator_antiwindupFreq_offset 1764
#define alternator_derivativeFilterLoss_offset 1760
@ -176,6 +176,7 @@
#define camInputs2_offset 557
#define camInputs3_offset 558
#define camInputs4_offset 559
#define can2BaudRate_offset 2110
#define can_baudrate_e_enum "100kbps", "250kbps" , "500kbps", "1Mbps"
#define CAN_DEFAULT_BASE 0x200
#define canBaudRate_offset 2108
@ -305,7 +306,7 @@
#define enableLaunchRetard_offset 976
#define enableVerboseCanTx_offset 744
#define engine_configuration_s_size 6000
#define engine_load_mode_e_enum "MAF", "Alpha-N/TPS", "INVALID", "Speed Density", "MAF Air Charge", "Alpha-N", "INVALID"
#define engine_load_mode_e_enum "INVALID", "Alpha-N/TPS", "INVALID", "Speed Density", "MAF Air Charge", "Alpha-N", "INVALID"
#define ENGINE_MAKE_BMW "BMW"
#define ENGINE_MAKE_GM "GM"
#define ENGINE_MAKE_LADA "Lada"
@ -1077,8 +1078,8 @@
#define showHumanReadableWarning_offset 976
#define showSdCardWarning_offset 76
#define SIGNATURE_BOARD all
#define SIGNATURE_DATE 2020.07.30
#define SIGNATURE_HASH 3740911119
#define SIGNATURE_DATE 2020.08.03
#define SIGNATURE_HASH 3223547782
#define silentTriggerError_offset 1464
#define slowAdcAlpha_offset 2088
#define sparkDwellRpmBins_offset 332
@ -1315,18 +1316,20 @@
#define TS_GET_STRUCT '9'
#define TS_GET_TEXT 'G'
#define TS_HELLO_COMMAND 'S'
#define TS_IO_TEST_COMMAND 'w'
#define TS_IO_TEST_COMMAND 'Z'
#define TS_ONLINE_PROTOCOL 'z'
#define TS_OUTPUT_COMMAND 'O'
#define TS_OUTPUT_SIZE 248
#define TS_OUTPUT_SIZE 288
#define TS_PAGE_COMMAND 'P'
#define TS_PERF_TRACE_BEGIN 'r'
#define TS_PERF_TRACE_BEGIN '_'
#define TS_PERF_TRACE_GET_BUFFER 'b'
#define TS_PROTOCOL "001"
#define TS_READ_COMMAND 'R'
#define TS_RESPONSE_BURN_OK 4
#define TS_RESPONSE_COMMAND_OK 7
#define TS_RESPONSE_OK 0
#define TS_SD_R_COMMAND 'r'
#define TS_SD_W_COMMAND 'w'
#define TS_SET_LOGGER_SWITCH 'l'
#define ts_show_analog_divider true
#define ts_show_auxserial_pins true
@ -1346,12 +1349,13 @@
#define ts_show_spi true
#define ts_show_trigger_comparator false
#define ts_show_tunerstudio_port true
#define TS_SIGNATURE "rusEFI 2020.07.30.all.3740911119"
#define TS_SIGNATURE "rusEFI 2020.08.03.all.3223547782"
#define TS_SINGLE_WRITE_COMMAND 'W'
#define tunerStudioSerialSpeed_offset 728
#define twoWireBatchIgnition_offset 1476
#define twoWireBatchInjection_offset 1476
#define uartConsoleSerialSpeed_offset 2076
#define un1used_former_warmup_target_afr_offset 2109
#define unused1059_offset 3964
#define unused1476b20_offset 1476
#define unused2432_offset 2432
@ -1372,7 +1376,7 @@
#define unused_1484_bit_30_offset 1476
#define unused_1484_bit_31_offset 1476
#define unused_alFIn_offset 4024
#define unused_former_warmup_target_afr_offset 2112
#define unused_former_warmup_target_afr_offset 2111
#define unusedAt712_offset 712
#define unusedAt716_offset 716
#define unusedAt720_offset 720

View File

@ -3,6 +3,6 @@
//
#define SIGNATURE_BOARD all
#define SIGNATURE_DATE 2020.07.30
#define SIGNATURE_HASH 3740911119
#define TS_SIGNATURE "rusEFI 2020.07.30.all.3740911119"
#define SIGNATURE_DATE 2020.08.03
#define SIGNATURE_HASH 3223547782
#define TS_SIGNATURE "rusEFI 2020.08.03.all.3223547782"

View File

@ -3,6 +3,6 @@
//
#define SIGNATURE_BOARD frankenso_na6
#define SIGNATURE_DATE 2020.07.30
#define SIGNATURE_HASH 8301292
#define TS_SIGNATURE "rusEFI 2020.07.30.frankenso_na6.8301292"
#define SIGNATURE_DATE 2020.08.03
#define SIGNATURE_HASH 514065253
#define TS_SIGNATURE "rusEFI 2020.08.03.frankenso_na6.514065253"

View File

@ -3,6 +3,6 @@
//
#define SIGNATURE_BOARD kin
#define SIGNATURE_DATE 2020.07.30
#define SIGNATURE_HASH 331815573
#define TS_SIGNATURE "rusEFI 2020.07.30.kin.331815573"
#define SIGNATURE_DATE 2020.08.03
#define SIGNATURE_HASH 220050204
#define TS_SIGNATURE "rusEFI 2020.08.03.kin.220050204"

View File

@ -3,6 +3,6 @@
//
#define SIGNATURE_BOARD mre_f4
#define SIGNATURE_DATE 2020.07.30
#define SIGNATURE_HASH 2533822593
#define TS_SIGNATURE "rusEFI 2020.07.30.mre_f4.2533822593"
#define SIGNATURE_DATE 2020.08.03
#define SIGNATURE_HASH 2313009416
#define TS_SIGNATURE "rusEFI 2020.08.03.mre_f4.2313009416"

View File

@ -3,6 +3,6 @@
//
#define SIGNATURE_BOARD mre_f7
#define SIGNATURE_DATE 2020.07.30
#define SIGNATURE_HASH 2533822593
#define TS_SIGNATURE "rusEFI 2020.07.30.mre_f7.2533822593"
#define SIGNATURE_DATE 2020.08.03
#define SIGNATURE_HASH 2313009416
#define TS_SIGNATURE "rusEFI 2020.08.03.mre_f7.2313009416"

View File

@ -3,6 +3,6 @@
//
#define SIGNATURE_BOARD prometheus_405
#define SIGNATURE_DATE 2020.07.30
#define SIGNATURE_HASH 736435851
#define TS_SIGNATURE "rusEFI 2020.07.30.prometheus_405.736435851"
#define SIGNATURE_DATE 2020.08.03
#define SIGNATURE_HASH 893368066
#define TS_SIGNATURE "rusEFI 2020.08.03.prometheus_405.893368066"

View File

@ -3,6 +3,6 @@
//
#define SIGNATURE_BOARD prometheus_469
#define SIGNATURE_DATE 2020.07.30
#define SIGNATURE_HASH 736435851
#define TS_SIGNATURE "rusEFI 2020.07.30.prometheus_469.736435851"
#define SIGNATURE_DATE 2020.08.03
#define SIGNATURE_HASH 893368066
#define TS_SIGNATURE "rusEFI 2020.08.03.prometheus_469.893368066"

View File

@ -3,6 +3,6 @@
//
#define SIGNATURE_BOARD proteus_f4
#define SIGNATURE_DATE 2020.07.30
#define SIGNATURE_HASH 1399371712
#define TS_SIGNATURE "rusEFI 2020.07.30.proteus_f4.1399371712"
#define SIGNATURE_DATE 2020.08.03
#define SIGNATURE_HASH 1303518793
#define TS_SIGNATURE "rusEFI 2020.08.03.proteus_f4.1303518793"

View File

@ -3,6 +3,6 @@
//
#define SIGNATURE_BOARD proteus_f7
#define SIGNATURE_DATE 2020.07.30
#define SIGNATURE_HASH 1399371712
#define TS_SIGNATURE "rusEFI 2020.07.30.proteus_f7.1399371712"
#define SIGNATURE_DATE 2020.08.03
#define SIGNATURE_HASH 1303518793
#define TS_SIGNATURE "rusEFI 2020.08.03.proteus_f7.1303518793"

View File

@ -92,3 +92,11 @@
#define EXPECTED_REMAINING_STACK 128
#endif /* __cplusplus */
/*
* Stack debugging
* See also getMaxUsedStack()
*/
EXTERNC int getRemainingStack(thread_t *otp);
int CountFreeStackSpace(const void* wabase);
void validateStack(const char*msg, obd_code_e code, int stackUnusedSize);

View File

@ -74,7 +74,7 @@ static void sendToPot(Mcp42010Driver *driver, int channel, int value) {
spiSend(driver->spi, 1, &word);
spiUnselect(driver->spi);
spiStop(driver->spi);
unlockSpi();
unlockSpi(SPI_NONE);
}
void setPotResistance(Mcp42010Driver *driver, int channel, int resistance) {

View File

@ -50,12 +50,15 @@ typedef unsigned int time_t;
* project-wide default thread stack size
* See also PORT_INT_REQUIRED_STACK
* See getRemainingStack()
* See getMaxUsedStack()
* See getMaxUsedStack() and CountFreeStackSpace()
* See "threadsinfo" command cmd_threads
*/
#ifndef UTILITY_THREAD_STACK_SIZE
#define UTILITY_THREAD_STACK_SIZE 400
#endif /* UTILITY_THREAD_STACK_SIZE */
#define getCurrentRemainingStack() getRemainingStack(chThdGetSelfX())
#define EFI_ERROR_CODE 0xffffffff
#if EFI_USE_CCM && defined __GNUC__
@ -93,9 +96,6 @@ typedef unsigned int time_t;
#define CCM_OPTIONAL
#endif /* EFI_USE_CCM */
#define getCurrentRemainingStack() getRemainingStack(chThdGetSelfX())
// 168 ticks in microsecond in case of 168MHz 407
#define US_TO_NT_MULTIPLIER (CORE_CLOCK / 1000000)

View File

@ -88,7 +88,7 @@ void lockSpi(spi_device_e device) {
chMtxLock(&spiMtx);
}
void unlockSpi(void) {
void unlockSpi(spi_device_e device) {
chMtxUnlock(&spiMtx);
}

View File

@ -35,7 +35,7 @@ int getSpiPrescaler(spi_speed_e speed, spi_device_e device);
EXTERNC SPIDriver * getSpiDevice(spi_device_e spiDevice);
void turnOnSpi(spi_device_e device);
void lockSpi(spi_device_e device);
void unlockSpi(void);
void unlockSpi(spi_device_e device);
brain_pin_e getMisoPin(spi_device_e device);
brain_pin_e getMosiPin(spi_device_e device);
brain_pin_e getSckPin(spi_device_e device);

View File

@ -1,6 +1,10 @@
HW_LAYER_EGT = $(PROJECT_DIR)/hw_layer/serial_over_usb/usbcfg.c \
$(PROJECT_DIR)/hw_layer/serial_over_usb/usbconsole.c
HW_LAYER_INC= $(PROJECT_DIR)/hw_layer $(PROJECT_DIR)/hw_layer/adc \
$(PROJECT_DIR)/hw_layer/digital_input \
$(PROJECT_DIR)/hw_layer/digital_input/trigger
HW_INC = hw_layer/$(CPU_HWLAYER) \
$(PROJECT_DIR)/hw_layer/ports
@ -8,28 +12,29 @@ HW_LAYER_EGT_CPP = \
$(PROJECT_DIR)/hw_layer/max31855.cpp
HW_LAYER_EMS = $(HW_LAYER_EGT) \
$(PROJECT_DIR)/hw_layer/mcp3208.c \
$(PROJECT_DIR)/hw_layer/mc33816_data.c \
$(PROJECT_DIR)/hw_layer/adc/mcp3208.c \
$(PROJECT_DIR)/hw_layer/mc33816_data.c
HW_LAYER_EMS_CPP = $(HW_LAYER_EGT_CPP) \
$(PROJECT_DIR)/hw_layer/pin_repository.cpp \
$(PROJECT_DIR)/hw_layer/microsecond_timer.cpp \
$(PROJECT_DIR)/hw_layer/digital_input.cpp \
$(PROJECT_DIR)/hw_layer/digital_input_icu.cpp \
$(PROJECT_DIR)/hw_layer/digital_input_exti.cpp \
$(PROJECT_DIR)/hw_layer/digital_input/digital_input.cpp \
$(PROJECT_DIR)/hw_layer/digital_input/digital_input_icu.cpp \
$(PROJECT_DIR)/hw_layer/digital_input/digital_input_exti.cpp \
$(PROJECT_DIR)/hw_layer/digital_input/trigger/trigger_input.cpp \
$(PROJECT_DIR)/hw_layer/digital_input/trigger/trigger_input_icu.cpp \
$(PROJECT_DIR)/hw_layer/digital_input/trigger/trigger_input_exti.cpp \
$(PROJECT_DIR)/hw_layer/hardware.cpp \
$(PROJECT_DIR)/hw_layer/smart_gpio.cpp \
$(PROJECT_DIR)/hw_layer/neo6m.cpp \
$(PROJECT_DIR)/hw_layer/mmc_card.cpp \
$(PROJECT_DIR)/hw_layer/mmc_card_access.cpp \
$(PROJECT_DIR)/hw_layer/lcd/lcd_HD44780.cpp \
$(PROJECT_DIR)/hw_layer/adc_inputs.cpp \
$(PROJECT_DIR)/hw_layer/adc_subscription.cpp \
$(PROJECT_DIR)/hw_layer/trigger_input.cpp \
$(PROJECT_DIR)/hw_layer/trigger_input_icu.cpp \
$(PROJECT_DIR)/hw_layer/trigger_input_exti.cpp \
$(PROJECT_DIR)/hw_layer/hip9011.cpp \
$(PROJECT_DIR)/hw_layer/adc/adc_inputs.cpp \
$(PROJECT_DIR)/hw_layer/adc/adc_subscription.cpp \
$(PROJECT_DIR)/hw_layer/sensors/hip9011.cpp \
$(PROJECT_DIR)/hw_layer/sensors/hip9011_logic.cpp \
$(PROJECT_DIR)/hw_layer/mc33816.cpp \
$(PROJECT_DIR)/hw_layer/hip9011_logic.cpp \
$(PROJECT_DIR)/hw_layer/vehicle_speed.cpp \
$(PROJECT_DIR)/hw_layer/stepper.cpp \
$(PROJECT_DIR)/hw_layer/stepper_dual_hbridge.cpp \
@ -37,7 +42,7 @@ HW_LAYER_EMS_CPP = $(HW_LAYER_EGT_CPP) \
$(PROJECT_DIR)/hw_layer/io_pins.cpp \
$(PROJECT_DIR)/hw_layer/rtc_helper.cpp \
$(PROJECT_DIR)/hw_layer/cdm_ion_sense.cpp \
$(PROJECT_DIR)/hw_layer/backup_ram.cpp \
$(PROJECT_DIR)/hw_layer/backup_ram.cpp
#
# '-include' is a magic kind of 'include' which would survive if file to be included is not found

View File

@ -52,8 +52,10 @@ static int totalSyncCounter = 0;
#define LOG_INDEX_FILENAME "index.txt"
#define RUSEFI_LOG_PREFIX "rusefi_"
#define PREFIX_LEN 7
#define DOT_MLG ".mlg"
#define RUSEFI_LOG_PREFIX "re_"
#define PREFIX_LEN 3
#define SHORT_TIME_LEN 13
#define LS_RESPONSE "ls_result"
@ -69,6 +71,8 @@ static int totalSyncCounter = 0;
extern const USBConfig msdusbcfg;
#endif /* HAL_USE_USB_MSD */
#define LOCK_SD_SPI lockSpi(engineConfiguration->sdCardSpiDevice)
#define UNLOCK_SD_SPI unlockSpi(engineConfiguration->sdCardSpiDevice)
static THD_WORKING_AREA(mmcThreadStack,3 * UTILITY_THREAD_STACK_SIZE); // MMC monitor thread
@ -145,7 +149,7 @@ static void sdStatistics(void) {
}
static void incLogFileName(void) {
lockSpi(SPI_NONE);
LOCK_SD_SPI;
memset(&FDCurrFile, 0, sizeof(FIL)); // clear the memory
FRESULT err = f_open(&FDCurrFile, LOG_INDEX_FILENAME, FA_READ); // This file has the index for next log file name
@ -177,20 +181,22 @@ static void incLogFileName(void) {
f_write(&FDCurrFile, (void*)data, strlen(data), &result);
f_close(&FDCurrFile);
scheduleMsg(&logger, "Done %d", logFileIndex);
unlockSpi();
UNLOCK_SD_SPI;
}
static void prepareLogFileName(void) {
strcpy(logName, RUSEFI_LOG_PREFIX);
bool result = dateToStringShort(&logName[PREFIX_LEN]);
char *ptr;
/* TS SD protocol supports only short 8 symbol file names :(
bool result = dateToStringShort(&logName[PREFIX_LEN]);
if (result) {
ptr = &logName[PREFIX_LEN + SHORT_TIME_LEN];
} else {
*/
ptr = itoa10(&logName[PREFIX_LEN], logFileIndex);
}
strcat(ptr, ".mlg");
// }
strcat(ptr, DOT_MLG);
}
/**
@ -200,13 +206,13 @@ static void prepareLogFileName(void) {
* so that we can later append to that file
*/
static void createLogFile(void) {
lockSpi(SPI_NONE);
LOCK_SD_SPI;
memset(&FDLogFile, 0, sizeof(FIL)); // clear the memory
prepareLogFileName();
FRESULT err = f_open(&FDLogFile, logName, FA_OPEN_ALWAYS | FA_WRITE); // Create new file
if (err != FR_OK && err != FR_EXIST) {
unlockSpi();
UNLOCK_SD_SPI;
sdStatus = SD_STATE_OPEN_FAILED;
warning(CUSTOM_ERR_SD_MOUNT_FAILED, "SD: mount failed");
printError("FS mount failed", err); // else - show error
@ -215,7 +221,7 @@ static void createLogFile(void) {
err = f_lseek(&FDLogFile, f_size(&FDLogFile)); // Move to end of the file to append data
if (err) {
unlockSpi();
UNLOCK_SD_SPI;
sdStatus = SD_STATE_SEEK_FAILED;
warning(CUSTOM_ERR_SD_SEEK_FAILED, "SD: seek failed");
printError("Seek error", err);
@ -223,7 +229,7 @@ static void createLogFile(void) {
}
f_sync(&FDLogFile);
setSdCardReady(true); // everything Ok
unlockSpi();
UNLOCK_SD_SPI;
}
static void removeFile(const char *pathx) {
@ -231,10 +237,10 @@ static void removeFile(const char *pathx) {
scheduleMsg(&logger, "Error: No File system is mounted");
return;
}
lockSpi(SPI_NONE);
LOCK_SD_SPI;
f_unlink(pathx);
unlockSpi();
UNLOCK_SD_SPI;
}
int
@ -262,14 +268,14 @@ static void listDirectory(const char *path) {
scheduleMsg(&logger, "Error: No File system is mounted");
return;
}
lockSpi(SPI_NONE);
LOCK_SD_SPI;
DIR dir;
FRESULT res = f_opendir(&dir, path);
if (res != FR_OK) {
scheduleMsg(&logger, "Error opening directory %s", path);
unlockSpi();
UNLOCK_SD_SPI;
return;
}
@ -295,7 +301,7 @@ static void listDirectory(const char *path) {
// (fno.fdate >> 5) & 15, fno.fdate & 31, (fno.ftime >> 11), (fno.ftime >> 5) & 63, fno.fsize,
// fno.fname);
}
unlockSpi();
UNLOCK_SD_SPI;
}
static int errorReported = FALSE; // this is used to report the error only once
@ -319,7 +325,7 @@ void appendToLog(const char *line, size_t lineLength) {
}
totalLoggedBytes += lineLength;
lockSpi(SPI_NONE);
LOCK_SD_SPI;
FRESULT err = f_write(&FDLogFile, line, lineLength, &bytesWritten);
if (bytesWritten < lineLength) {
printError("write error or disk full", err); // error or disk full
@ -338,7 +344,7 @@ void appendToLog(const char *line, size_t lineLength) {
}
}
unlockSpi();
UNLOCK_SD_SPI;
}
/*
@ -382,12 +388,12 @@ static void MMCmount(void) {
}
// Performs the initialization procedure on the inserted card.
lockSpi(SPI_NONE);
LOCK_SD_SPI;
sdStatus = SD_STATE_CONNECTING;
if (mmcConnect(&MMCD1) != HAL_SUCCESS) {
sdStatus = SD_STATE_NOT_CONNECTED;
warning(CUSTOM_OBD_MMC_ERROR, "Can't connect or mount MMC/SD");
unlockSpi();
UNLOCK_SD_SPI;
return;
}
@ -415,7 +421,7 @@ static void MMCmount(void) {
//}
unlockSpi();
UNLOCK_SD_SPI;
#if HAL_USE_USB_MSD
sdStatus = SD_STATE_MOUNTED;
return;

View File

@ -9,18 +9,11 @@
#pragma once
#ifdef __cplusplus
extern "C"
{
#endif /* __cplusplus */
void initMmcCard(void);
bool isSdCardAlive(void);
void appendToLog(const char *line, size_t length);
void readLogFileContent(char *buffer, short fileId, short offset, short length);
#ifdef __cplusplus
}
#endif /* __cplusplus */
void handleTsR(char *input);
void handleTsW(char *input);

View File

@ -0,0 +1,58 @@
/**
* @file mmc_card_access.cpp
*
*/
#include "global.h"
#if EFI_FILE_LOGGING
#include "mmc_card.h"
extern LoggingWithStorage sharedLogger;
static char *buffer[2048];
void handleTsR(char *input) {
const uint16_t* data16 = reinterpret_cast<uint16_t*>(input);
if (input[0] == 0 && input[1] == 1) {
scheduleMsg(&sharedLogger, "TS_SD: RTC read command");
memset(buffer, 0, 9);
} else if (input[0] == 0 && input[1] == 0x11) {
int length = data16[2];
scheduleMsg(&sharedLogger, "TS_SD: fetch buffer command, length=%d", length);
if (length == 16) {
} else {
// SD read directory command
}
} else if (input[0] == 0 && input[1] == 0x14) {
scheduleMsg(&sharedLogger, "TS_SD: fetch data command blockNumber=");
} else {
scheduleMsg(&sharedLogger, "TS_SD: unexpected r");
}
}
void handleTsW(char *input) {
const uint16_t* data16 = reinterpret_cast<uint16_t*>(input);
if (input[0] == 0 && input[1] == 0x11) {
int code = data16[2];
scheduleMsg(&sharedLogger, "TS_SD: w, code=%d", code);
} else {
scheduleMsg(&sharedLogger, "TS_SD: unexpected w");
}
}
#endif // EFI_FILE_LOGGING

View File

@ -360,7 +360,7 @@ static void hipStartupCode(void) {
instance.state = READY_TO_INTEGRATE;
}
static THD_WORKING_AREA(hipTreadStack, UTILITY_THREAD_STACK_SIZE);
static THD_WORKING_AREA(hipThreadStack, UTILITY_THREAD_STACK_SIZE);
static msg_t hipThread(void *arg) {
(void)arg;
@ -438,7 +438,7 @@ void initHip9011(Logging *sharedLogger) {
addConsoleActionI("set_hip_prescalerandsdo", setPrescalerAndSDO);
addConsoleActionF("set_knock_threshold", setKnockThresh);
addConsoleActionI("set_max_knock_sub_deg", setMaxKnockSubDeg);
chThdCreateStatic(hipTreadStack, sizeof(hipTreadStack), NORMALPRIO, (tfunc_t)(void*) hipThread, NULL);
chThdCreateStatic(hipThreadStack, sizeof(hipThreadStack), NORMALPRIO, (tfunc_t)(void*) hipThread, NULL);
}
#endif /* EFI_HIP_9011 */

View File

@ -24,12 +24,28 @@
!
! each field is declared as
! type name;comment
!
! Q: how does 'custom' work?
! A: let's look at
! #define can_baudrate_e_enum "100kbps", "250kbps" , "500kbps", "1Mbps"
! custom can_baudrate_e 1 bits, U08, @OFFSET@, [0:1], @@can_baudrate_e_enum@@
! can_baudrate_e canBaudRate; set can_baudrate
!
! here #define XXX_enum defines enum options in a reusable way
! @@XXX_e_enum@@ is using the enum options defined above
!
! "custom NEW_TYPE_NAME 1 bits, U08, @OFFSET@, [0:1], @@can_baudrate_e_enum@@" defines NEW_TYPE_NAME
! and "can_baudrate_e canBaudRate; set can_baudrate" creates a parameter of that custom type "can_baudrate_e"
!
!
!
! this is here so that rusEfi console can access it, too
! [IMPORTANT] every time TS_OUTPUT_SIZE is changed make sure to increment TS_SIGNATURE above
!
#define TS_OUTPUT_SIZE 248
#define TS_OUTPUT_SIZE 288
!
! this is used to confirm that firmware and TunerStudio are using the same rusefi.ini version
@ -725,7 +741,7 @@ pin_output_mode_e hip9011IntHoldPinMode;
! 536870911 = 2^29-1, the maximum valid extended ID
uint32_t verboseCanBaseAddress;;"", 1, 0, 0, 536870911, 0
uint8_t mc33_hvolt;;"v", 1, 0, 0, 100, 0
uint8_t mc33_hvolt;;"v", 1, 0, 40, 70, 0
uint8_t fsio_visible acIdleExtraMin;+Additional idle PID minValue while A/C is active;"Percent", 1, 0, 0, 255, 0
uint8_t[2] unusedHere;;"units", 1, 0, -20, 100, 0
@ -1086,7 +1102,6 @@ int16_t tps2Max;Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\
float engineLoadAccelEnrichmentMultiplier;;"coeff", 1, 0, 0, 200, 3
uint32_t uartConsoleSerialSpeed;Band rate for primary TTL;"BPs", 1, 0, 0,1000000, 0
float tpsDecelEnleanmentThreshold;;"roc", 1, 0, 0, 200, 3
float tpsDecelEnleanmentMultiplier;;"coeff", 1, 0, 0, 200, 3
@ -1101,8 +1116,10 @@ int16_t tps2Max;Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\
#define can_baudrate_e_enum "100kbps", "250kbps" , "500kbps", "1Mbps"
custom can_baudrate_e 1 bits, U08, @OFFSET@, [0:1], @@can_baudrate_e_enum@@
can_baudrate_e canBaudRate; set can_baudrate
uint8_t un1used_former_warmup_target_afr;;"units", 1, 0, -20, 100, 0
can_baudrate_e can2BaudRate;
uint32_t[5] unused_former_warmup_target_afr;;"units", 1, 0, -20, 100, 0
uint8_t[18] unused_former_warmup_target_afr;;"units", 1, 0, -20, 100, 0
float boostCutPressure;kPa value at which we need to cut fuel and spark, 0 if not enabled;"kPa", 1, 0, 0, 500, 0
@ -1292,15 +1309,15 @@ uint8_t[4] unusedsw;;"units", 1, 0, -20, 100, 0
gppwm_channel[GPPWM_CHANNELS iterate] gppwm;
uint16_t mc33_i_boost;;"X", 1, 0.0, 0, 64000, 0
uint16_t mc33_i_peak;;"X", 1, 0.0, 0, 64000, 0
uint16_t mc33_i_hold;;"X", 1, 0.0, 0, 64000, 0
uint16_t mc33_t_max_boost;;"X", 1, 0.0, 0, 64000, 0
uint16_t mc33_t_peak_off;;"X", 1, 0.0, 0, 64000, 0
uint16_t mc33_t_peak_tot;;"X", 1, 0.0, 0, 64000, 0
uint16_t mc33_t_bypass;;"X", 1, 0.0, 0, 64000, 0
uint16_t mc33_t_hold_off;;"X", 1, 0.0, 0, 64000, 0
uint16_t mc33_t_hold_tot;;"X", 1, 0.0, 0, 64000, 0
uint16_t mc33_i_boost;;"mA", 1, 0.0, 1000, 25000, 0
uint16_t mc33_i_peak;;"mA", 1, 0.0, 1000, 20000, 0
uint16_t mc33_i_hold;;"mA", 1, 0.0, 1000, 20000, 0
uint16_t mc33_t_max_boost;;"us", 1, 0.0, 0, 10000, 0
uint16_t mc33_t_peak_off;;"us", 1, 0.0, 0, 10000, 0
uint16_t mc33_t_peak_tot;;"us", 1, 0.0, 0, 10000, 0
uint16_t mc33_t_bypass;;"us", 1, 0.0, 0, 10000, 0
uint16_t mc33_t_hold_off;;"us", 1, 0.0, 0, 10000, 0
uint16_t mc33_t_hold_tot;;"us", 1, 0.0, 0, 10000, 0
! just a reminder that 'int' and 'float' are 4 bytes each
int[371] mainUnusedEnd;;"units", 1, 0, -20, 100, 0
@ -1602,7 +1619,7 @@ end_struct
#define TS_COMPOSITE_DISABLE 2
// Performance tracing
#define TS_PERF_TRACE_BEGIN 'r'
#define TS_PERF_TRACE_BEGIN '_'
#define TS_PERF_TRACE_GET_BUFFER 'b'
// 0x50
@ -1622,7 +1639,7 @@ end_struct
// 0x42 burnCommand
#define TS_BURN_COMMAND 'B'
// 0x77
#define TS_IO_TEST_COMMAND 'w'
#define TS_IO_TEST_COMMAND 'Z'
#define TS_RESPONSE_OK 0
#define TS_RESPONSE_BURN_OK 4
@ -1631,6 +1648,9 @@ end_struct
// Engine Sniffer time stamp unit, in microseconds
#define ENGINE_SNIFFER_UNIT_US 10
#define TS_SD_R_COMMAND 'r'
#define TS_SD_W_COMMAND 'w'
// High speed logger commands
#define TS_SET_LOGGER_SWITCH 'l'
#define TS_GET_LOGGER_GET_BUFFER 'L'

View File

@ -1,5 +1,5 @@
/*
* os_access.h
* @file os_access.h
*
* OS access is not part of global.h in order to help separate synchronous code from asynchronous
*
@ -24,10 +24,4 @@ extern "C"
#include "io_pins.h"
/*
* Stack debugging
* See also getMaxUsedStack()
*/
EXTERNC int getRemainingStack(thread_t *otp);
#define HAS_OS_ACCESS

View File

@ -33,12 +33,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2020.07.30.all.3740911119"
signature = "rusEFI 2020.08.03.all.3223547782"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2020.07.30.all.3740911119" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2020.08.03.all.3223547782" ; signature is expected to be 7 or more characters.
[Constants]
; new packet serial format with CRC
@ -76,7 +76,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Jul 30 19:34:58 UTC 2020
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Aug 03 02:06:23 UTC 2020
pageSize = 20000
page = 1
@ -166,7 +166,7 @@ page = 1
cylinderBore = scalar, F32, 408, "mm", 1, 0, 0, 20000.0, 2
sensorSnifferRpmThreshold = scalar, S32, 412, "RPM", 1, 0, 0,30000, 0
rpmHardLimit = scalar, S32, 416, "rpm", 1, 0, 0, 20000.0, 2
fuelAlgorithm = bits, U32, 420, [0:2], "MAF", "Alpha-N/TPS", "INVALID", "Speed Density", "MAF Air Charge", "Alpha-N", "INVALID", "INVALID"
fuelAlgorithm = bits, U32, 420, [0:2], "INVALID", "Alpha-N/TPS", "INVALID", "Speed Density", "MAF Air Charge", "Alpha-N", "INVALID", "INVALID"
crankingInjectionMode = bits, U32, 424, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point"
injectionMode = bits, U32, 428, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point"
extraInjectionOffset = scalar, F32, 432, "deg", 1, 0.0, -720, 720, 2
@ -396,7 +396,7 @@ page = 1
hip9011IntHoldPin = bits, U08, 754, [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", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
hip9011IntHoldPinMode = bits, U08, 755, [0:1], "default", "default inverted", "open collector", "open collector inverted"
verboseCanBaseAddress = scalar, U32, 756, "", 1, 0, 0, 536870911, 0
mc33_hvolt = scalar, U08, 760, "v", 1, 0, 0, 100, 0
mc33_hvolt = scalar, U08, 760, "v", 1, 0, 40, 70, 0
acIdleExtraMin = scalar, U08, 761, "Percent", 1, 0, 0, 255, 0
unusedHere = array, U08, 762, [2], "units", 1, 0, -20, 100, 0
gpioPinModes1 = bits, U08, 764, [0:1], "default", "default inverted", "open collector", "open collector inverted"
@ -821,8 +821,10 @@ page = 1
throttlePedalSecondaryUpVoltage = scalar, F32, 2100, "voltage", 1, 0, -6, 6, 2
throttlePedalSecondaryWOTVoltage = scalar, F32, 2104, "voltage", 1, 0, -6, 6, 2
canBaudRate = bits, U08, 2108, [0:1], "100kbps", "250kbps" , "500kbps", "1Mbps"
alignmentFill_at_2109 = array, U08, 2109, [3], "units", 1, 0, -20, 100, 0
unused_former_warmup_target_afr = array, U32, 2112, [5], "units", 1, 0, -20, 100, 0
un1used_former_warmup_target_afr = scalar, U08, 2109, "units", 1, 0, -20, 100, 0
can2BaudRate = bits, U08, 2110, [0:1], "100kbps", "250kbps" , "500kbps", "1Mbps"
unused_former_warmup_target_afr = array, U08, 2111, [18], "units", 1, 0, -20, 100, 0
alignmentFill_at_2129 = array, U08, 2129, [3], "units", 1, 0, -20, 100, 0
boostCutPressure = scalar, F32, 2132, "kPa", 1, 0, 0, 500, 0
mapAccelTaperBins = array, F32, 2136, [8], "counter", 1, 0, 0.0, 300, 0
mapAccelTaperMult = array, F32, 2168, [8], "mult", 1, 0, 0.0, 300, 2
@ -1085,15 +1087,15 @@ page = 1
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
mc33_i_boost = scalar, U16, 4496, "X", 1, 0.0, 0, 64000, 0
mc33_i_peak = scalar, U16, 4498, "X", 1, 0.0, 0, 64000, 0
mc33_i_hold = scalar, U16, 4500, "X", 1, 0.0, 0, 64000, 0
mc33_t_max_boost = scalar, U16, 4502, "X", 1, 0.0, 0, 64000, 0
mc33_t_peak_off = scalar, U16, 4504, "X", 1, 0.0, 0, 64000, 0
mc33_t_peak_tot = scalar, U16, 4506, "X", 1, 0.0, 0, 64000, 0
mc33_t_bypass = scalar, U16, 4508, "X", 1, 0.0, 0, 64000, 0
mc33_t_hold_off = scalar, U16, 4510, "X", 1, 0.0, 0, 64000, 0
mc33_t_hold_tot = scalar, U16, 4512, "X", 1, 0.0, 0, 64000, 0
mc33_i_boost = scalar, U16, 4496, "mA", 1, 0.0, 1000, 25000, 0
mc33_i_peak = scalar, U16, 4498, "mA", 1, 0.0, 1000, 20000, 0
mc33_i_hold = scalar, U16, 4500, "mA", 1, 0.0, 1000, 20000, 0
mc33_t_max_boost = scalar, U16, 4502, "us", 1, 0.0, 0, 10000, 0
mc33_t_peak_off = scalar, U16, 4504, "us", 1, 0.0, 0, 10000, 0
mc33_t_peak_tot = scalar, U16, 4506, "us", 1, 0.0, 0, 10000, 0
mc33_t_bypass = scalar, U16, 4508, "us", 1, 0.0, 0, 10000, 0
mc33_t_hold_off = scalar, U16, 4510, "us", 1, 0.0, 0, 10000, 0
mc33_t_hold_tot = scalar, U16, 4512, "us", 1, 0.0, 0, 10000, 0
alignmentFill_at_4514 = array, U08, 4514, [2], "units", 1, 0, -20, 100, 0
mainUnusedEnd = array, S32, 4516, [371], "units", 1, 0, -20, 100, 0
warning_message = string, ASCII, 6000, 120
@ -1445,7 +1447,7 @@ page = 1
ochGetCommand = "O%2o%2c"
; see TS_OUTPUT_SIZE in console source code
ochBlockSize = 248
ochBlockSize = 288
;
; see TunerStudioOutputChannels struct
@ -1633,13 +1635,13 @@ page = 1
; we use this to match logs to tunes
tuneCrc16 = scalar, U16, 244, "crc16", 1, 0
sd_status = scalar, U08, 246, "", 1.0, 0.0
;
; see TunerStudioOutputChannels struct
;
; todo: generate this section programatically
LM_PLAIN_MAF = {0},
LM_SPEED_DENSITY = {3},
LM_REAL_MAF = {4}
@ -1990,16 +1992,6 @@ page = 1
[TableEditor]
; table_id, map3d_id, "title", page
table = fuelTableMAFTbl, fuelTableMAFMap, "Fuel Table", 1
topicHelp = "fuelHelp"
; constant, variable
xBins = fuelRpmBins, RPMValue
yBins = fuelLoadBins, MAFValue
zBins = fuelTable
; gridHeight = 2.0
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
upDownLabel = "(RICHER)", "(LEANER)"
table = fuelTableTPSTbl, fuelTableTPSMap, "Fuel Table", 1
topicHelp = "fuelHelp"
; constant, variable
@ -2328,6 +2320,11 @@ gaugeCategory = Sensors - Raw
indicator = { isIgnitionEnabledIndicator}, "no ignition", "ignition", yellow, black, white, black
indicator = { ind_injection_enabled}, "no injection", "injection", yellow, black, white, black
indicator = { ind_isTriggerError}, "trigger ok", "trigger err", white, black, red, black
indicator = { sd_status & 1}, "No SD", "SD in", white, black, green, black
indicator = { sd_status & 4}, "SD ready", "SD ready", white, black, green, black
indicator = { sd_status & 8}, "SD Log", "SD Log", white, black, green, black
indicator = { sd_status & 16}, "SD Err", "SD Err", white, black, red, black
; this is required so that the "config error" feature works in TS
; don't change this line - TS is looking for an indicator with particular text/styling
@ -2487,6 +2484,9 @@ gaugeCategory = Sensors - Raw
[Menu]
menuDialog = main
menu = "Data Logging"
subMenu = std_ms3SdConsole, "Browse / Import SD Card"
menu = "&Base &Engine"
subMenu = engineChars, "Base engine"
subMenu = triggerConfiguration, "Trigger"
@ -2804,7 +2804,6 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
[UserDefined]
dialog = fuelTableBottomDialog, "", card
panel = fuelTableMAFTbl, Center, {fuelAlgorithm==LM_PLAIN_MAF}
panel = fuelTableELTbl, Center
dialog = fuelTableRight, "", yAxis
@ -3093,20 +3092,24 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
panel = pedalGauges, East
dialog = mc33Dialog, "GDI Dreams"
field = mc33816_cs, mc33816_cs
field = mc33816_rstb, mc33816_rstb
field = mc33816_flag0, mc33816_flag0
field = "mc33972 SPI", mc33972spiDevice
field = mc33_hvolt, mc33_hvolt
field = mc33_i_boost, mc33_i_boost
field = mc33_i_peak, mc33_i_peak
field = mc33_i_hold, mc33_i_hold
field = mc33_t_max_boost, mc33_t_max_boost
field = mc33_t_peak_off, mc33_t_peak_off
field = mc33_t_peak_tot, mc33_t_peak_tot
field = mc33_t_bypass, mc33_t_bypass
field = mc33_t_hold_off, mc33_t_hold_off
field = mc33_t_hold_tot, mc33_t_hold_tot
field = "MC33816 cs", mc33816_cs
field = "MC33816 rstb", mc33816_rstb
field = "MC33816 flag0", mc33816_flag0
field = "MC33816 SPI Device", mc33972spiDevice
field = "Boost voltage", mc33_hvolt
field = "Boost current target", mc33_i_boost
field = "Max boost time (timeout)", mc33_t_max_boost
field = "Boost -> Peak Bypass Time", mc33_t_peak_off
field = "Peak current target", mc33_i_peak
field = "Peak time", mc33_t_peak_tot
field = "Peak -> Hold Bypass Time", mc33_t_bypass
field = "Hold current target", mc33_i_hold
field = "mc33_t_hold_off ?????", mc33_t_hold_off
field = "Maximum injection duration", mc33_t_hold_tot
; Sensor Inputs

View File

@ -33,12 +33,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2020.07.30.frankenso_na6.8301292"
signature = "rusEFI 2020.08.03.frankenso_na6.514065253"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2020.07.30.frankenso_na6.8301292" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2020.08.03.frankenso_na6.514065253" ; signature is expected to be 7 or more characters.
[Constants]
; new packet serial format with CRC
@ -76,7 +76,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Jul 30 19:35:02 UTC 2020
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Aug 03 02:06:27 UTC 2020
pageSize = 20000
page = 1
@ -166,7 +166,7 @@ page = 1
cylinderBore = scalar, F32, 408, "mm", 1, 0, 0, 20000.0, 2
sensorSnifferRpmThreshold = scalar, S32, 412, "RPM", 1, 0, 0,30000, 0
rpmHardLimit = scalar, S32, 416, "rpm", 1, 0, 0, 20000.0, 2
fuelAlgorithm = bits, U32, 420, [0:2], "MAF", "Alpha-N/TPS", "INVALID", "Speed Density", "MAF Air Charge", "Alpha-N", "INVALID", "INVALID"
fuelAlgorithm = bits, U32, 420, [0:2], "INVALID", "Alpha-N/TPS", "INVALID", "Speed Density", "MAF Air Charge", "Alpha-N", "INVALID", "INVALID"
crankingInjectionMode = bits, U32, 424, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point"
injectionMode = bits, U32, 428, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point"
extraInjectionOffset = scalar, F32, 432, "deg", 1, 0.0, -720, 720, 2
@ -396,7 +396,7 @@ page = 1
hip9011IntHoldPin = bits, U08, 754, [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", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
hip9011IntHoldPinMode = bits, U08, 755, [0:1], "default", "default inverted", "open collector", "open collector inverted"
verboseCanBaseAddress = scalar, U32, 756, "", 1, 0, 0, 536870911, 0
mc33_hvolt = scalar, U08, 760, "v", 1, 0, 0, 100, 0
mc33_hvolt = scalar, U08, 760, "v", 1, 0, 40, 70, 0
acIdleExtraMin = scalar, U08, 761, "Percent", 1, 0, 0, 255, 0
unusedHere = array, U08, 762, [2], "units", 1, 0, -20, 100, 0
gpioPinModes1 = bits, U08, 764, [0:1], "default", "default inverted", "open collector", "open collector inverted"
@ -821,8 +821,10 @@ page = 1
throttlePedalSecondaryUpVoltage = scalar, F32, 2100, "voltage", 1, 0, -6, 6, 2
throttlePedalSecondaryWOTVoltage = scalar, F32, 2104, "voltage", 1, 0, -6, 6, 2
canBaudRate = bits, U08, 2108, [0:1], "100kbps", "250kbps" , "500kbps", "1Mbps"
alignmentFill_at_2109 = array, U08, 2109, [3], "units", 1, 0, -20, 100, 0
unused_former_warmup_target_afr = array, U32, 2112, [5], "units", 1, 0, -20, 100, 0
un1used_former_warmup_target_afr = scalar, U08, 2109, "units", 1, 0, -20, 100, 0
can2BaudRate = bits, U08, 2110, [0:1], "100kbps", "250kbps" , "500kbps", "1Mbps"
unused_former_warmup_target_afr = array, U08, 2111, [18], "units", 1, 0, -20, 100, 0
alignmentFill_at_2129 = array, U08, 2129, [3], "units", 1, 0, -20, 100, 0
boostCutPressure = scalar, F32, 2132, "kPa", 1, 0, 0, 500, 0
mapAccelTaperBins = array, F32, 2136, [8], "counter", 1, 0, 0.0, 300, 0
mapAccelTaperMult = array, F32, 2168, [8], "mult", 1, 0, 0.0, 300, 2
@ -1085,15 +1087,15 @@ page = 1
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
mc33_i_boost = scalar, U16, 4496, "X", 1, 0.0, 0, 64000, 0
mc33_i_peak = scalar, U16, 4498, "X", 1, 0.0, 0, 64000, 0
mc33_i_hold = scalar, U16, 4500, "X", 1, 0.0, 0, 64000, 0
mc33_t_max_boost = scalar, U16, 4502, "X", 1, 0.0, 0, 64000, 0
mc33_t_peak_off = scalar, U16, 4504, "X", 1, 0.0, 0, 64000, 0
mc33_t_peak_tot = scalar, U16, 4506, "X", 1, 0.0, 0, 64000, 0
mc33_t_bypass = scalar, U16, 4508, "X", 1, 0.0, 0, 64000, 0
mc33_t_hold_off = scalar, U16, 4510, "X", 1, 0.0, 0, 64000, 0
mc33_t_hold_tot = scalar, U16, 4512, "X", 1, 0.0, 0, 64000, 0
mc33_i_boost = scalar, U16, 4496, "mA", 1, 0.0, 1000, 25000, 0
mc33_i_peak = scalar, U16, 4498, "mA", 1, 0.0, 1000, 20000, 0
mc33_i_hold = scalar, U16, 4500, "mA", 1, 0.0, 1000, 20000, 0
mc33_t_max_boost = scalar, U16, 4502, "us", 1, 0.0, 0, 10000, 0
mc33_t_peak_off = scalar, U16, 4504, "us", 1, 0.0, 0, 10000, 0
mc33_t_peak_tot = scalar, U16, 4506, "us", 1, 0.0, 0, 10000, 0
mc33_t_bypass = scalar, U16, 4508, "us", 1, 0.0, 0, 10000, 0
mc33_t_hold_off = scalar, U16, 4510, "us", 1, 0.0, 0, 10000, 0
mc33_t_hold_tot = scalar, U16, 4512, "us", 1, 0.0, 0, 10000, 0
alignmentFill_at_4514 = array, U08, 4514, [2], "units", 1, 0, -20, 100, 0
mainUnusedEnd = array, S32, 4516, [371], "units", 1, 0, -20, 100, 0
warning_message = string, ASCII, 6000, 120
@ -1445,7 +1447,7 @@ page = 1
ochGetCommand = "O%2o%2c"
; see TS_OUTPUT_SIZE in console source code
ochBlockSize = 248
ochBlockSize = 288
;
; see TunerStudioOutputChannels struct
@ -1633,13 +1635,13 @@ page = 1
; we use this to match logs to tunes
tuneCrc16 = scalar, U16, 244, "crc16", 1, 0
sd_status = scalar, U08, 246, "", 1.0, 0.0
;
; see TunerStudioOutputChannels struct
;
; todo: generate this section programatically
LM_PLAIN_MAF = {0},
LM_SPEED_DENSITY = {3},
LM_REAL_MAF = {4}
@ -1990,16 +1992,6 @@ page = 1
[TableEditor]
; table_id, map3d_id, "title", page
table = fuelTableMAFTbl, fuelTableMAFMap, "Fuel Table", 1
topicHelp = "fuelHelp"
; constant, variable
xBins = fuelRpmBins, RPMValue
yBins = fuelLoadBins, MAFValue
zBins = fuelTable
; gridHeight = 2.0
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
upDownLabel = "(RICHER)", "(LEANER)"
table = fuelTableTPSTbl, fuelTableTPSMap, "Fuel Table", 1
topicHelp = "fuelHelp"
; constant, variable
@ -2328,6 +2320,11 @@ gaugeCategory = Sensors - Raw
indicator = { isIgnitionEnabledIndicator}, "no ignition", "ignition", yellow, black, white, black
indicator = { ind_injection_enabled}, "no injection", "injection", yellow, black, white, black
indicator = { ind_isTriggerError}, "trigger ok", "trigger err", white, black, red, black
indicator = { sd_status & 1}, "No SD", "SD in", white, black, green, black
indicator = { sd_status & 4}, "SD ready", "SD ready", white, black, green, black
indicator = { sd_status & 8}, "SD Log", "SD Log", white, black, green, black
indicator = { sd_status & 16}, "SD Err", "SD Err", white, black, red, black
; this is required so that the "config error" feature works in TS
; don't change this line - TS is looking for an indicator with particular text/styling
@ -2487,6 +2484,9 @@ gaugeCategory = Sensors - Raw
[Menu]
menuDialog = main
menu = "Data Logging"
subMenu = std_ms3SdConsole, "Browse / Import SD Card"
menu = "&Base &Engine"
subMenu = engineChars, "Base engine"
subMenu = triggerConfiguration, "Trigger"
@ -2804,7 +2804,6 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
[UserDefined]
dialog = fuelTableBottomDialog, "", card
panel = fuelTableMAFTbl, Center, {fuelAlgorithm==LM_PLAIN_MAF}
panel = fuelTableELTbl, Center
dialog = fuelTableRight, "", yAxis
@ -3093,20 +3092,24 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
panel = pedalGauges, East
dialog = mc33Dialog, "GDI Dreams"
field = mc33816_cs, mc33816_cs
field = mc33816_rstb, mc33816_rstb
field = mc33816_flag0, mc33816_flag0
field = "mc33972 SPI", mc33972spiDevice
field = mc33_hvolt, mc33_hvolt
field = mc33_i_boost, mc33_i_boost
field = mc33_i_peak, mc33_i_peak
field = mc33_i_hold, mc33_i_hold
field = mc33_t_max_boost, mc33_t_max_boost
field = mc33_t_peak_off, mc33_t_peak_off
field = mc33_t_peak_tot, mc33_t_peak_tot
field = mc33_t_bypass, mc33_t_bypass
field = mc33_t_hold_off, mc33_t_hold_off
field = mc33_t_hold_tot, mc33_t_hold_tot
field = "MC33816 cs", mc33816_cs
field = "MC33816 rstb", mc33816_rstb
field = "MC33816 flag0", mc33816_flag0
field = "MC33816 SPI Device", mc33972spiDevice
field = "Boost voltage", mc33_hvolt
field = "Boost current target", mc33_i_boost
field = "Max boost time (timeout)", mc33_t_max_boost
field = "Boost -> Peak Bypass Time", mc33_t_peak_off
field = "Peak current target", mc33_i_peak
field = "Peak time", mc33_t_peak_tot
field = "Peak -> Hold Bypass Time", mc33_t_bypass
field = "Hold current target", mc33_i_hold
field = "mc33_t_hold_off ?????", mc33_t_hold_off
field = "Maximum injection duration", mc33_t_hold_tot
; Sensor Inputs

View File

@ -33,12 +33,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2020.07.30.kin.331815573"
signature = "rusEFI 2020.08.03.kin.220050204"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2020.07.30.kin.331815573" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2020.08.03.kin.220050204" ; signature is expected to be 7 or more characters.
[Constants]
; new packet serial format with CRC
@ -76,7 +76,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Thu Jul 30 19:35:09 UTC 2020
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Mon Aug 03 02:06:34 UTC 2020
pageSize = 20000
page = 1
@ -166,7 +166,7 @@ page = 1
cylinderBore = scalar, F32, 408, "mm", 1, 0, 0, 20000.0, 2
sensorSnifferRpmThreshold = scalar, S32, 412, "RPM", 1, 0, 0,30000, 0
rpmHardLimit = scalar, S32, 416, "rpm", 1, 0, 0, 20000.0, 2
fuelAlgorithm = bits, U32, 420, [0:2], "MAF", "Alpha-N/TPS", "INVALID", "Speed Density", "MAF Air Charge", "Alpha-N", "INVALID", "INVALID"
fuelAlgorithm = bits, U32, 420, [0:2], "INVALID", "Alpha-N/TPS", "INVALID", "Speed Density", "MAF Air Charge", "Alpha-N", "INVALID", "INVALID"
crankingInjectionMode = bits, U32, 424, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point"
injectionMode = bits, U32, 428, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point"
extraInjectionOffset = scalar, F32, 432, "deg", 1, 0.0, -720, 720, 2
@ -396,7 +396,7 @@ page = 1
hip9011IntHoldPin = bits, U08, 754, [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", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
hip9011IntHoldPinMode = bits, U08, 755, [0:1], "default", "default inverted", "open collector", "open collector inverted"
verboseCanBaseAddress = scalar, U32, 756, "", 1, 0, 0, 536870911, 0
mc33_hvolt = scalar, U08, 760, "v", 1, 0, 0, 100, 0
mc33_hvolt = scalar, U08, 760, "v", 1, 0, 40, 70, 0
acIdleExtraMin = scalar, U08, 761, "Percent", 1, 0, 0, 255, 0
unusedHere = array, U08, 762, [2], "units", 1, 0, -20, 100, 0
gpioPinModes1 = bits, U08, 764, [0:1], "default", "default inverted", "open collector", "open collector inverted"
@ -821,8 +821,10 @@ page = 1
throttlePedalSecondaryUpVoltage = scalar, F32, 2100, "voltage", 1, 0, -6, 6, 2
throttlePedalSecondaryWOTVoltage = scalar, F32, 2104, "voltage", 1, 0, -6, 6, 2
canBaudRate = bits, U08, 2108, [0:1], "100kbps", "250kbps" , "500kbps", "1Mbps"
alignmentFill_at_2109 = array, U08, 2109, [3], "units", 1, 0, -20, 100, 0
unused_former_warmup_target_afr = array, U32, 2112, [5], "units", 1, 0, -20, 100, 0
un1used_former_warmup_target_afr = scalar, U08, 2109, "units", 1, 0, -20, 100, 0
can2BaudRate = bits, U08, 2110, [0:1], "100kbps", "250kbps" , "500kbps", "1Mbps"
unused_former_warmup_target_afr = array, U08, 2111, [18], "units", 1, 0, -20, 100, 0
alignmentFill_at_2129 = array, U08, 2129, [3], "units", 1, 0, -20, 100, 0
boostCutPressure = scalar, F32, 2132, "kPa", 1, 0, 0, 500, 0
mapAccelTaperBins = array, F32, 2136, [8], "counter", 1, 0, 0.0, 300, 0
mapAccelTaperMult = array, F32, 2168, [8], "mult", 1, 0, 0.0, 300, 2
@ -1085,15 +1087,15 @@ page = 1
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
mc33_i_boost = scalar, U16, 4496, "X", 1, 0.0, 0, 64000, 0
mc33_i_peak = scalar, U16, 4498, "X", 1, 0.0, 0, 64000, 0
mc33_i_hold = scalar, U16, 4500, "X", 1, 0.0, 0, 64000, 0
mc33_t_max_boost = scalar, U16, 4502, "X", 1, 0.0, 0, 64000, 0
mc33_t_peak_off = scalar, U16, 4504, "X", 1, 0.0, 0, 64000, 0
mc33_t_peak_tot = scalar, U16, 4506, "X", 1, 0.0, 0, 64000, 0
mc33_t_bypass = scalar, U16, 4508, "X", 1, 0.0, 0, 64000, 0
mc33_t_hold_off = scalar, U16, 4510, "X", 1, 0.0, 0, 64000, 0
mc33_t_hold_tot = scalar, U16, 4512, "X", 1, 0.0, 0, 64000, 0
mc33_i_boost = scalar, U16, 4496, "mA", 1, 0.0, 1000, 25000, 0
mc33_i_peak = scalar, U16, 4498, "mA", 1, 0.0, 1000, 20000, 0
mc33_i_hold = scalar, U16, 4500, "mA", 1, 0.0, 1000, 20000, 0
mc33_t_max_boost = scalar, U16, 4502, "us", 1, 0.0, 0, 10000, 0
mc33_t_peak_off = scalar, U16, 4504, "us", 1, 0.0, 0, 10000, 0
mc33_t_peak_tot = scalar, U16, 4506, "us", 1, 0.0, 0, 10000, 0
mc33_t_bypass = scalar, U16, 4508, "us", 1, 0.0, 0, 10000, 0
mc33_t_hold_off = scalar, U16, 4510, "us", 1, 0.0, 0, 10000, 0
mc33_t_hold_tot = scalar, U16, 4512, "us", 1, 0.0, 0, 10000, 0
alignmentFill_at_4514 = array, U08, 4514, [2], "units", 1, 0, -20, 100, 0
mainUnusedEnd = array, S32, 4516, [371], "units", 1, 0, -20, 100, 0
warning_message = string, ASCII, 6000, 120
@ -1445,7 +1447,7 @@ page = 1
ochGetCommand = "O%2o%2c"
; see TS_OUTPUT_SIZE in console source code
ochBlockSize = 248
ochBlockSize = 288
;
; see TunerStudioOutputChannels struct
@ -1633,13 +1635,13 @@ page = 1
; we use this to match logs to tunes
tuneCrc16 = scalar, U16, 244, "crc16", 1, 0
sd_status = scalar, U08, 246, "", 1.0, 0.0
;
; see TunerStudioOutputChannels struct
;
; todo: generate this section programatically
LM_PLAIN_MAF = {0},
LM_SPEED_DENSITY = {3},
LM_REAL_MAF = {4}
@ -1990,16 +1992,6 @@ page = 1
[TableEditor]
; table_id, map3d_id, "title", page
table = fuelTableMAFTbl, fuelTableMAFMap, "Fuel Table", 1
topicHelp = "fuelHelp"
; constant, variable
xBins = fuelRpmBins, RPMValue
yBins = fuelLoadBins, MAFValue
zBins = fuelTable
; gridHeight = 2.0
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
upDownLabel = "(RICHER)", "(LEANER)"
table = fuelTableTPSTbl, fuelTableTPSMap, "Fuel Table", 1
topicHelp = "fuelHelp"
; constant, variable
@ -2328,6 +2320,11 @@ gaugeCategory = Sensors - Raw
indicator = { isIgnitionEnabledIndicator}, "no ignition", "ignition", yellow, black, white, black
indicator = { ind_injection_enabled}, "no injection", "injection", yellow, black, white, black
indicator = { ind_isTriggerError}, "trigger ok", "trigger err", white, black, red, black
indicator = { sd_status & 1}, "No SD", "SD in", white, black, green, black
indicator = { sd_status & 4}, "SD ready", "SD ready", white, black, green, black
indicator = { sd_status & 8}, "SD Log", "SD Log", white, black, green, black
indicator = { sd_status & 16}, "SD Err", "SD Err", white, black, red, black
; this is required so that the "config error" feature works in TS
; don't change this line - TS is looking for an indicator with particular text/styling
@ -2487,6 +2484,9 @@ gaugeCategory = Sensors - Raw
[Menu]
menuDialog = main
menu = "Data Logging"
subMenu = std_ms3SdConsole, "Browse / Import SD Card"
menu = "&Base &Engine"
subMenu = engineChars, "Base engine"
subMenu = triggerConfiguration, "Trigger"
@ -2804,7 +2804,6 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
[UserDefined]
dialog = fuelTableBottomDialog, "", card
panel = fuelTableMAFTbl, Center, {fuelAlgorithm==LM_PLAIN_MAF}
panel = fuelTableELTbl, Center
dialog = fuelTableRight, "", yAxis
@ -3094,20 +3093,24 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
panel = pedalGauges, East
dialog = mc33Dialog, "GDI Dreams"
field = mc33816_cs, mc33816_cs
field = mc33816_rstb, mc33816_rstb
field = mc33816_flag0, mc33816_flag0
field = "mc33972 SPI", mc33972spiDevice
field = mc33_hvolt, mc33_hvolt
field = mc33_i_boost, mc33_i_boost
field = mc33_i_peak, mc33_i_peak
field = mc33_i_hold, mc33_i_hold
field = mc33_t_max_boost, mc33_t_max_boost
field = mc33_t_peak_off, mc33_t_peak_off
field = mc33_t_peak_tot, mc33_t_peak_tot
field = mc33_t_bypass, mc33_t_bypass
field = mc33_t_hold_off, mc33_t_hold_off
field = mc33_t_hold_tot, mc33_t_hold_tot
field = "MC33816 cs", mc33816_cs
field = "MC33816 rstb", mc33816_rstb
field = "MC33816 flag0", mc33816_flag0
field = "MC33816 SPI Device", mc33972spiDevice
field = "Boost voltage", mc33_hvolt
field = "Boost current target", mc33_i_boost
field = "Max boost time (timeout)", mc33_t_max_boost
field = "Boost -> Peak Bypass Time", mc33_t_peak_off
field = "Peak current target", mc33_i_peak
field = "Peak time", mc33_t_peak_tot
field = "Peak -> Hold Bypass Time", mc33_t_bypass
field = "Hold current target", mc33_i_hold
field = "mc33_t_hold_off ?????", mc33_t_hold_off
field = "Maximum injection duration", mc33_t_hold_tot
; Sensor Inputs

View File

@ -33,12 +33,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2020.07.30.mre_f4.2533822593"
signature = "rusEFI 2020.08.03.mre_f4.2313009416"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2020.07.30.mre_f4.2533822593" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2020.08.03.mre_f4.2313009416" ; signature is expected to be 7 or more characters.
[Constants]
; new packet serial format with CRC
@ -76,7 +76,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Jul 30 19:35:01 UTC 2020
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Aug 03 02:06:26 UTC 2020
pageSize = 20000
page = 1
@ -166,7 +166,7 @@ page = 1
cylinderBore = scalar, F32, 408, "mm", 1, 0, 0, 20000.0, 2
sensorSnifferRpmThreshold = scalar, S32, 412, "RPM", 1, 0, 0,30000, 0
rpmHardLimit = scalar, S32, 416, "rpm", 1, 0, 0, 20000.0, 2
fuelAlgorithm = bits, U32, 420, [0:2], "MAF", "Alpha-N/TPS", "INVALID", "Speed Density", "MAF Air Charge", "Alpha-N", "INVALID", "INVALID"
fuelAlgorithm = bits, U32, 420, [0:2], "INVALID", "Alpha-N/TPS", "INVALID", "Speed Density", "MAF Air Charge", "Alpha-N", "INVALID", "INVALID"
crankingInjectionMode = bits, U32, 424, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point"
injectionMode = bits, U32, 428, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point"
extraInjectionOffset = scalar, F32, 432, "deg", 1, 0.0, -720, 720, 2
@ -396,7 +396,7 @@ page = 1
hip9011IntHoldPin = bits, U08, 754, [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", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
hip9011IntHoldPinMode = bits, U08, 755, [0:1], "default", "default inverted", "open collector", "open collector inverted"
verboseCanBaseAddress = scalar, U32, 756, "", 1, 0, 0, 536870911, 0
mc33_hvolt = scalar, U08, 760, "v", 1, 0, 0, 100, 0
mc33_hvolt = scalar, U08, 760, "v", 1, 0, 40, 70, 0
acIdleExtraMin = scalar, U08, 761, "Percent", 1, 0, 0, 255, 0
unusedHere = array, U08, 762, [2], "units", 1, 0, -20, 100, 0
gpioPinModes1 = bits, U08, 764, [0:1], "default", "default inverted", "open collector", "open collector inverted"
@ -821,8 +821,10 @@ page = 1
throttlePedalSecondaryUpVoltage = scalar, F32, 2100, "voltage", 1, 0, -6, 6, 2
throttlePedalSecondaryWOTVoltage = scalar, F32, 2104, "voltage", 1, 0, -6, 6, 2
canBaudRate = bits, U08, 2108, [0:1], "100kbps", "250kbps" , "500kbps", "1Mbps"
alignmentFill_at_2109 = array, U08, 2109, [3], "units", 1, 0, -20, 100, 0
unused_former_warmup_target_afr = array, U32, 2112, [5], "units", 1, 0, -20, 100, 0
un1used_former_warmup_target_afr = scalar, U08, 2109, "units", 1, 0, -20, 100, 0
can2BaudRate = bits, U08, 2110, [0:1], "100kbps", "250kbps" , "500kbps", "1Mbps"
unused_former_warmup_target_afr = array, U08, 2111, [18], "units", 1, 0, -20, 100, 0
alignmentFill_at_2129 = array, U08, 2129, [3], "units", 1, 0, -20, 100, 0
boostCutPressure = scalar, F32, 2132, "kPa", 1, 0, 0, 500, 0
mapAccelTaperBins = array, F32, 2136, [8], "counter", 1, 0, 0.0, 300, 0
mapAccelTaperMult = array, F32, 2168, [8], "mult", 1, 0, 0.0, 300, 2
@ -1085,15 +1087,15 @@ page = 1
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
mc33_i_boost = scalar, U16, 4496, "X", 1, 0.0, 0, 64000, 0
mc33_i_peak = scalar, U16, 4498, "X", 1, 0.0, 0, 64000, 0
mc33_i_hold = scalar, U16, 4500, "X", 1, 0.0, 0, 64000, 0
mc33_t_max_boost = scalar, U16, 4502, "X", 1, 0.0, 0, 64000, 0
mc33_t_peak_off = scalar, U16, 4504, "X", 1, 0.0, 0, 64000, 0
mc33_t_peak_tot = scalar, U16, 4506, "X", 1, 0.0, 0, 64000, 0
mc33_t_bypass = scalar, U16, 4508, "X", 1, 0.0, 0, 64000, 0
mc33_t_hold_off = scalar, U16, 4510, "X", 1, 0.0, 0, 64000, 0
mc33_t_hold_tot = scalar, U16, 4512, "X", 1, 0.0, 0, 64000, 0
mc33_i_boost = scalar, U16, 4496, "mA", 1, 0.0, 1000, 25000, 0
mc33_i_peak = scalar, U16, 4498, "mA", 1, 0.0, 1000, 20000, 0
mc33_i_hold = scalar, U16, 4500, "mA", 1, 0.0, 1000, 20000, 0
mc33_t_max_boost = scalar, U16, 4502, "us", 1, 0.0, 0, 10000, 0
mc33_t_peak_off = scalar, U16, 4504, "us", 1, 0.0, 0, 10000, 0
mc33_t_peak_tot = scalar, U16, 4506, "us", 1, 0.0, 0, 10000, 0
mc33_t_bypass = scalar, U16, 4508, "us", 1, 0.0, 0, 10000, 0
mc33_t_hold_off = scalar, U16, 4510, "us", 1, 0.0, 0, 10000, 0
mc33_t_hold_tot = scalar, U16, 4512, "us", 1, 0.0, 0, 10000, 0
alignmentFill_at_4514 = array, U08, 4514, [2], "units", 1, 0, -20, 100, 0
mainUnusedEnd = array, S32, 4516, [371], "units", 1, 0, -20, 100, 0
warning_message = string, ASCII, 6000, 120
@ -1445,7 +1447,7 @@ page = 1
ochGetCommand = "O%2o%2c"
; see TS_OUTPUT_SIZE in console source code
ochBlockSize = 248
ochBlockSize = 288
;
; see TunerStudioOutputChannels struct
@ -1633,13 +1635,13 @@ page = 1
; we use this to match logs to tunes
tuneCrc16 = scalar, U16, 244, "crc16", 1, 0
sd_status = scalar, U08, 246, "", 1.0, 0.0
;
; see TunerStudioOutputChannels struct
;
; todo: generate this section programatically
LM_PLAIN_MAF = {0},
LM_SPEED_DENSITY = {3},
LM_REAL_MAF = {4}
@ -1990,16 +1992,6 @@ page = 1
[TableEditor]
; table_id, map3d_id, "title", page
table = fuelTableMAFTbl, fuelTableMAFMap, "Fuel Table", 1
topicHelp = "fuelHelp"
; constant, variable
xBins = fuelRpmBins, RPMValue
yBins = fuelLoadBins, MAFValue
zBins = fuelTable
; gridHeight = 2.0
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
upDownLabel = "(RICHER)", "(LEANER)"
table = fuelTableTPSTbl, fuelTableTPSMap, "Fuel Table", 1
topicHelp = "fuelHelp"
; constant, variable
@ -2328,6 +2320,11 @@ gaugeCategory = Sensors - Raw
indicator = { isIgnitionEnabledIndicator}, "no ignition", "ignition", yellow, black, white, black
indicator = { ind_injection_enabled}, "no injection", "injection", yellow, black, white, black
indicator = { ind_isTriggerError}, "trigger ok", "trigger err", white, black, red, black
indicator = { sd_status & 1}, "No SD", "SD in", white, black, green, black
indicator = { sd_status & 4}, "SD ready", "SD ready", white, black, green, black
indicator = { sd_status & 8}, "SD Log", "SD Log", white, black, green, black
indicator = { sd_status & 16}, "SD Err", "SD Err", white, black, red, black
; this is required so that the "config error" feature works in TS
; don't change this line - TS is looking for an indicator with particular text/styling
@ -2487,6 +2484,9 @@ gaugeCategory = Sensors - Raw
[Menu]
menuDialog = main
menu = "Data Logging"
subMenu = std_ms3SdConsole, "Browse / Import SD Card"
menu = "&Base &Engine"
subMenu = engineChars, "Base engine"
subMenu = triggerConfiguration, "Trigger"
@ -2799,7 +2799,6 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
[UserDefined]
dialog = fuelTableBottomDialog, "", card
panel = fuelTableMAFTbl, Center, {fuelAlgorithm==LM_PLAIN_MAF}
panel = fuelTableELTbl, Center
dialog = fuelTableRight, "", yAxis
@ -3088,20 +3087,24 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
panel = pedalGauges, East
dialog = mc33Dialog, "GDI Dreams"
field = mc33816_cs, mc33816_cs
field = mc33816_rstb, mc33816_rstb
field = mc33816_flag0, mc33816_flag0
field = "mc33972 SPI", mc33972spiDevice
field = mc33_hvolt, mc33_hvolt
field = mc33_i_boost, mc33_i_boost
field = mc33_i_peak, mc33_i_peak
field = mc33_i_hold, mc33_i_hold
field = mc33_t_max_boost, mc33_t_max_boost
field = mc33_t_peak_off, mc33_t_peak_off
field = mc33_t_peak_tot, mc33_t_peak_tot
field = mc33_t_bypass, mc33_t_bypass
field = mc33_t_hold_off, mc33_t_hold_off
field = mc33_t_hold_tot, mc33_t_hold_tot
field = "MC33816 cs", mc33816_cs
field = "MC33816 rstb", mc33816_rstb
field = "MC33816 flag0", mc33816_flag0
field = "MC33816 SPI Device", mc33972spiDevice
field = "Boost voltage", mc33_hvolt
field = "Boost current target", mc33_i_boost
field = "Max boost time (timeout)", mc33_t_max_boost
field = "Boost -> Peak Bypass Time", mc33_t_peak_off
field = "Peak current target", mc33_i_peak
field = "Peak time", mc33_t_peak_tot
field = "Peak -> Hold Bypass Time", mc33_t_bypass
field = "Hold current target", mc33_i_hold
field = "mc33_t_hold_off ?????", mc33_t_hold_off
field = "Maximum injection duration", mc33_t_hold_tot
; Sensor Inputs

View File

@ -33,12 +33,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2020.07.30.mre_f7.2533822593"
signature = "rusEFI 2020.08.03.mre_f7.2313009416"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2020.07.30.mre_f7.2533822593" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2020.08.03.mre_f7.2313009416" ; signature is expected to be 7 or more characters.
[Constants]
; new packet serial format with CRC
@ -76,7 +76,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Jul 30 19:34:59 UTC 2020
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Aug 03 02:06:25 UTC 2020
pageSize = 20000
page = 1
@ -166,7 +166,7 @@ page = 1
cylinderBore = scalar, F32, 408, "mm", 1, 0, 0, 20000.0, 2
sensorSnifferRpmThreshold = scalar, S32, 412, "RPM", 1, 0, 0,30000, 0
rpmHardLimit = scalar, S32, 416, "rpm", 1, 0, 0, 20000.0, 2
fuelAlgorithm = bits, U32, 420, [0:2], "MAF", "Alpha-N/TPS", "INVALID", "Speed Density", "MAF Air Charge", "Alpha-N", "INVALID", "INVALID"
fuelAlgorithm = bits, U32, 420, [0:2], "INVALID", "Alpha-N/TPS", "INVALID", "Speed Density", "MAF Air Charge", "Alpha-N", "INVALID", "INVALID"
crankingInjectionMode = bits, U32, 424, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point"
injectionMode = bits, U32, 428, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point"
extraInjectionOffset = scalar, F32, 432, "deg", 1, 0.0, -720, 720, 2
@ -396,7 +396,7 @@ page = 1
hip9011IntHoldPin = bits, U08, 754, [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", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
hip9011IntHoldPinMode = bits, U08, 755, [0:1], "default", "default inverted", "open collector", "open collector inverted"
verboseCanBaseAddress = scalar, U32, 756, "", 1, 0, 0, 536870911, 0
mc33_hvolt = scalar, U08, 760, "v", 1, 0, 0, 100, 0
mc33_hvolt = scalar, U08, 760, "v", 1, 0, 40, 70, 0
acIdleExtraMin = scalar, U08, 761, "Percent", 1, 0, 0, 255, 0
unusedHere = array, U08, 762, [2], "units", 1, 0, -20, 100, 0
gpioPinModes1 = bits, U08, 764, [0:1], "default", "default inverted", "open collector", "open collector inverted"
@ -821,8 +821,10 @@ page = 1
throttlePedalSecondaryUpVoltage = scalar, F32, 2100, "voltage", 1, 0, -6, 6, 2
throttlePedalSecondaryWOTVoltage = scalar, F32, 2104, "voltage", 1, 0, -6, 6, 2
canBaudRate = bits, U08, 2108, [0:1], "100kbps", "250kbps" , "500kbps", "1Mbps"
alignmentFill_at_2109 = array, U08, 2109, [3], "units", 1, 0, -20, 100, 0
unused_former_warmup_target_afr = array, U32, 2112, [5], "units", 1, 0, -20, 100, 0
un1used_former_warmup_target_afr = scalar, U08, 2109, "units", 1, 0, -20, 100, 0
can2BaudRate = bits, U08, 2110, [0:1], "100kbps", "250kbps" , "500kbps", "1Mbps"
unused_former_warmup_target_afr = array, U08, 2111, [18], "units", 1, 0, -20, 100, 0
alignmentFill_at_2129 = array, U08, 2129, [3], "units", 1, 0, -20, 100, 0
boostCutPressure = scalar, F32, 2132, "kPa", 1, 0, 0, 500, 0
mapAccelTaperBins = array, F32, 2136, [8], "counter", 1, 0, 0.0, 300, 0
mapAccelTaperMult = array, F32, 2168, [8], "mult", 1, 0, 0.0, 300, 2
@ -1085,15 +1087,15 @@ page = 1
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
mc33_i_boost = scalar, U16, 4496, "X", 1, 0.0, 0, 64000, 0
mc33_i_peak = scalar, U16, 4498, "X", 1, 0.0, 0, 64000, 0
mc33_i_hold = scalar, U16, 4500, "X", 1, 0.0, 0, 64000, 0
mc33_t_max_boost = scalar, U16, 4502, "X", 1, 0.0, 0, 64000, 0
mc33_t_peak_off = scalar, U16, 4504, "X", 1, 0.0, 0, 64000, 0
mc33_t_peak_tot = scalar, U16, 4506, "X", 1, 0.0, 0, 64000, 0
mc33_t_bypass = scalar, U16, 4508, "X", 1, 0.0, 0, 64000, 0
mc33_t_hold_off = scalar, U16, 4510, "X", 1, 0.0, 0, 64000, 0
mc33_t_hold_tot = scalar, U16, 4512, "X", 1, 0.0, 0, 64000, 0
mc33_i_boost = scalar, U16, 4496, "mA", 1, 0.0, 1000, 25000, 0
mc33_i_peak = scalar, U16, 4498, "mA", 1, 0.0, 1000, 20000, 0
mc33_i_hold = scalar, U16, 4500, "mA", 1, 0.0, 1000, 20000, 0
mc33_t_max_boost = scalar, U16, 4502, "us", 1, 0.0, 0, 10000, 0
mc33_t_peak_off = scalar, U16, 4504, "us", 1, 0.0, 0, 10000, 0
mc33_t_peak_tot = scalar, U16, 4506, "us", 1, 0.0, 0, 10000, 0
mc33_t_bypass = scalar, U16, 4508, "us", 1, 0.0, 0, 10000, 0
mc33_t_hold_off = scalar, U16, 4510, "us", 1, 0.0, 0, 10000, 0
mc33_t_hold_tot = scalar, U16, 4512, "us", 1, 0.0, 0, 10000, 0
alignmentFill_at_4514 = array, U08, 4514, [2], "units", 1, 0, -20, 100, 0
mainUnusedEnd = array, S32, 4516, [371], "units", 1, 0, -20, 100, 0
warning_message = string, ASCII, 6000, 120
@ -1445,7 +1447,7 @@ page = 1
ochGetCommand = "O%2o%2c"
; see TS_OUTPUT_SIZE in console source code
ochBlockSize = 248
ochBlockSize = 288
;
; see TunerStudioOutputChannels struct
@ -1633,13 +1635,13 @@ page = 1
; we use this to match logs to tunes
tuneCrc16 = scalar, U16, 244, "crc16", 1, 0
sd_status = scalar, U08, 246, "", 1.0, 0.0
;
; see TunerStudioOutputChannels struct
;
; todo: generate this section programatically
LM_PLAIN_MAF = {0},
LM_SPEED_DENSITY = {3},
LM_REAL_MAF = {4}
@ -1990,16 +1992,6 @@ page = 1
[TableEditor]
; table_id, map3d_id, "title", page
table = fuelTableMAFTbl, fuelTableMAFMap, "Fuel Table", 1
topicHelp = "fuelHelp"
; constant, variable
xBins = fuelRpmBins, RPMValue
yBins = fuelLoadBins, MAFValue
zBins = fuelTable
; gridHeight = 2.0
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
upDownLabel = "(RICHER)", "(LEANER)"
table = fuelTableTPSTbl, fuelTableTPSMap, "Fuel Table", 1
topicHelp = "fuelHelp"
; constant, variable
@ -2328,6 +2320,11 @@ gaugeCategory = Sensors - Raw
indicator = { isIgnitionEnabledIndicator}, "no ignition", "ignition", yellow, black, white, black
indicator = { ind_injection_enabled}, "no injection", "injection", yellow, black, white, black
indicator = { ind_isTriggerError}, "trigger ok", "trigger err", white, black, red, black
indicator = { sd_status & 1}, "No SD", "SD in", white, black, green, black
indicator = { sd_status & 4}, "SD ready", "SD ready", white, black, green, black
indicator = { sd_status & 8}, "SD Log", "SD Log", white, black, green, black
indicator = { sd_status & 16}, "SD Err", "SD Err", white, black, red, black
; this is required so that the "config error" feature works in TS
; don't change this line - TS is looking for an indicator with particular text/styling
@ -2487,6 +2484,9 @@ gaugeCategory = Sensors - Raw
[Menu]
menuDialog = main
menu = "Data Logging"
subMenu = std_ms3SdConsole, "Browse / Import SD Card"
menu = "&Base &Engine"
subMenu = engineChars, "Base engine"
subMenu = triggerConfiguration, "Trigger"
@ -2799,7 +2799,6 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
[UserDefined]
dialog = fuelTableBottomDialog, "", card
panel = fuelTableMAFTbl, Center, {fuelAlgorithm==LM_PLAIN_MAF}
panel = fuelTableELTbl, Center
dialog = fuelTableRight, "", yAxis
@ -3088,20 +3087,24 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
panel = pedalGauges, East
dialog = mc33Dialog, "GDI Dreams"
field = mc33816_cs, mc33816_cs
field = mc33816_rstb, mc33816_rstb
field = mc33816_flag0, mc33816_flag0
field = "mc33972 SPI", mc33972spiDevice
field = mc33_hvolt, mc33_hvolt
field = mc33_i_boost, mc33_i_boost
field = mc33_i_peak, mc33_i_peak
field = mc33_i_hold, mc33_i_hold
field = mc33_t_max_boost, mc33_t_max_boost
field = mc33_t_peak_off, mc33_t_peak_off
field = mc33_t_peak_tot, mc33_t_peak_tot
field = mc33_t_bypass, mc33_t_bypass
field = mc33_t_hold_off, mc33_t_hold_off
field = mc33_t_hold_tot, mc33_t_hold_tot
field = "MC33816 cs", mc33816_cs
field = "MC33816 rstb", mc33816_rstb
field = "MC33816 flag0", mc33816_flag0
field = "MC33816 SPI Device", mc33972spiDevice
field = "Boost voltage", mc33_hvolt
field = "Boost current target", mc33_i_boost
field = "Max boost time (timeout)", mc33_t_max_boost
field = "Boost -> Peak Bypass Time", mc33_t_peak_off
field = "Peak current target", mc33_i_peak
field = "Peak time", mc33_t_peak_tot
field = "Peak -> Hold Bypass Time", mc33_t_bypass
field = "Hold current target", mc33_i_hold
field = "mc33_t_hold_off ?????", mc33_t_hold_off
field = "Maximum injection duration", mc33_t_hold_tot
; Sensor Inputs

View File

@ -33,12 +33,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2020.07.30.prometheus_405.736435851"
signature = "rusEFI 2020.08.03.prometheus_405.893368066"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2020.07.30.prometheus_405.736435851" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2020.08.03.prometheus_405.893368066" ; signature is expected to be 7 or more characters.
[Constants]
; new packet serial format with CRC
@ -76,7 +76,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Jul 30 19:35:05 UTC 2020
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Aug 03 02:06:30 UTC 2020
pageSize = 20000
page = 1
@ -166,7 +166,7 @@ page = 1
cylinderBore = scalar, F32, 408, "mm", 1, 0, 0, 20000.0, 2
sensorSnifferRpmThreshold = scalar, S32, 412, "RPM", 1, 0, 0,30000, 0
rpmHardLimit = scalar, S32, 416, "rpm", 1, 0, 0, 20000.0, 2
fuelAlgorithm = bits, U32, 420, [0:2], "MAF", "Alpha-N/TPS", "INVALID", "Speed Density", "MAF Air Charge", "Alpha-N", "INVALID", "INVALID"
fuelAlgorithm = bits, U32, 420, [0:2], "INVALID", "Alpha-N/TPS", "INVALID", "Speed Density", "MAF Air Charge", "Alpha-N", "INVALID", "INVALID"
crankingInjectionMode = bits, U32, 424, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point"
injectionMode = bits, U32, 428, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point"
extraInjectionOffset = scalar, F32, 432, "deg", 1, 0.0, -720, 720, 2
@ -396,7 +396,7 @@ page = 1
hip9011IntHoldPin = bits, U08, 754, [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", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
hip9011IntHoldPinMode = bits, U08, 755, [0:1], "default", "default inverted", "open collector", "open collector inverted"
verboseCanBaseAddress = scalar, U32, 756, "", 1, 0, 0, 536870911, 0
mc33_hvolt = scalar, U08, 760, "v", 1, 0, 0, 100, 0
mc33_hvolt = scalar, U08, 760, "v", 1, 0, 40, 70, 0
acIdleExtraMin = scalar, U08, 761, "Percent", 1, 0, 0, 255, 0
unusedHere = array, U08, 762, [2], "units", 1, 0, -20, 100, 0
gpioPinModes1 = bits, U08, 764, [0:1], "default", "default inverted", "open collector", "open collector inverted"
@ -821,8 +821,10 @@ page = 1
throttlePedalSecondaryUpVoltage = scalar, F32, 2100, "voltage", 1, 0, -6, 6, 2
throttlePedalSecondaryWOTVoltage = scalar, F32, 2104, "voltage", 1, 0, -6, 6, 2
canBaudRate = bits, U08, 2108, [0:1], "100kbps", "250kbps" , "500kbps", "1Mbps"
alignmentFill_at_2109 = array, U08, 2109, [3], "units", 1, 0, -20, 100, 0
unused_former_warmup_target_afr = array, U32, 2112, [5], "units", 1, 0, -20, 100, 0
un1used_former_warmup_target_afr = scalar, U08, 2109, "units", 1, 0, -20, 100, 0
can2BaudRate = bits, U08, 2110, [0:1], "100kbps", "250kbps" , "500kbps", "1Mbps"
unused_former_warmup_target_afr = array, U08, 2111, [18], "units", 1, 0, -20, 100, 0
alignmentFill_at_2129 = array, U08, 2129, [3], "units", 1, 0, -20, 100, 0
boostCutPressure = scalar, F32, 2132, "kPa", 1, 0, 0, 500, 0
mapAccelTaperBins = array, F32, 2136, [8], "counter", 1, 0, 0.0, 300, 0
mapAccelTaperMult = array, F32, 2168, [8], "mult", 1, 0, 0.0, 300, 2
@ -1085,15 +1087,15 @@ page = 1
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
mc33_i_boost = scalar, U16, 4496, "X", 1, 0.0, 0, 64000, 0
mc33_i_peak = scalar, U16, 4498, "X", 1, 0.0, 0, 64000, 0
mc33_i_hold = scalar, U16, 4500, "X", 1, 0.0, 0, 64000, 0
mc33_t_max_boost = scalar, U16, 4502, "X", 1, 0.0, 0, 64000, 0
mc33_t_peak_off = scalar, U16, 4504, "X", 1, 0.0, 0, 64000, 0
mc33_t_peak_tot = scalar, U16, 4506, "X", 1, 0.0, 0, 64000, 0
mc33_t_bypass = scalar, U16, 4508, "X", 1, 0.0, 0, 64000, 0
mc33_t_hold_off = scalar, U16, 4510, "X", 1, 0.0, 0, 64000, 0
mc33_t_hold_tot = scalar, U16, 4512, "X", 1, 0.0, 0, 64000, 0
mc33_i_boost = scalar, U16, 4496, "mA", 1, 0.0, 1000, 25000, 0
mc33_i_peak = scalar, U16, 4498, "mA", 1, 0.0, 1000, 20000, 0
mc33_i_hold = scalar, U16, 4500, "mA", 1, 0.0, 1000, 20000, 0
mc33_t_max_boost = scalar, U16, 4502, "us", 1, 0.0, 0, 10000, 0
mc33_t_peak_off = scalar, U16, 4504, "us", 1, 0.0, 0, 10000, 0
mc33_t_peak_tot = scalar, U16, 4506, "us", 1, 0.0, 0, 10000, 0
mc33_t_bypass = scalar, U16, 4508, "us", 1, 0.0, 0, 10000, 0
mc33_t_hold_off = scalar, U16, 4510, "us", 1, 0.0, 0, 10000, 0
mc33_t_hold_tot = scalar, U16, 4512, "us", 1, 0.0, 0, 10000, 0
alignmentFill_at_4514 = array, U08, 4514, [2], "units", 1, 0, -20, 100, 0
mainUnusedEnd = array, S32, 4516, [371], "units", 1, 0, -20, 100, 0
warning_message = string, ASCII, 6000, 120
@ -1445,7 +1447,7 @@ page = 1
ochGetCommand = "O%2o%2c"
; see TS_OUTPUT_SIZE in console source code
ochBlockSize = 248
ochBlockSize = 288
;
; see TunerStudioOutputChannels struct
@ -1633,13 +1635,13 @@ page = 1
; we use this to match logs to tunes
tuneCrc16 = scalar, U16, 244, "crc16", 1, 0
sd_status = scalar, U08, 246, "", 1.0, 0.0
;
; see TunerStudioOutputChannels struct
;
; todo: generate this section programatically
LM_PLAIN_MAF = {0},
LM_SPEED_DENSITY = {3},
LM_REAL_MAF = {4}
@ -1990,16 +1992,6 @@ page = 1
[TableEditor]
; table_id, map3d_id, "title", page
table = fuelTableMAFTbl, fuelTableMAFMap, "Fuel Table", 1
topicHelp = "fuelHelp"
; constant, variable
xBins = fuelRpmBins, RPMValue
yBins = fuelLoadBins, MAFValue
zBins = fuelTable
; gridHeight = 2.0
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
upDownLabel = "(RICHER)", "(LEANER)"
table = fuelTableTPSTbl, fuelTableTPSMap, "Fuel Table", 1
topicHelp = "fuelHelp"
; constant, variable
@ -2328,6 +2320,11 @@ gaugeCategory = Sensors - Raw
indicator = { isIgnitionEnabledIndicator}, "no ignition", "ignition", yellow, black, white, black
indicator = { ind_injection_enabled}, "no injection", "injection", yellow, black, white, black
indicator = { ind_isTriggerError}, "trigger ok", "trigger err", white, black, red, black
indicator = { sd_status & 1}, "No SD", "SD in", white, black, green, black
indicator = { sd_status & 4}, "SD ready", "SD ready", white, black, green, black
indicator = { sd_status & 8}, "SD Log", "SD Log", white, black, green, black
indicator = { sd_status & 16}, "SD Err", "SD Err", white, black, red, black
; this is required so that the "config error" feature works in TS
; don't change this line - TS is looking for an indicator with particular text/styling
@ -2487,6 +2484,9 @@ gaugeCategory = Sensors - Raw
[Menu]
menuDialog = main
menu = "Data Logging"
subMenu = std_ms3SdConsole, "Browse / Import SD Card"
menu = "&Base &Engine"
subMenu = engineChars, "Base engine"
subMenu = triggerConfiguration, "Trigger"
@ -2800,7 +2800,6 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
[UserDefined]
dialog = fuelTableBottomDialog, "", card
panel = fuelTableMAFTbl, Center, {fuelAlgorithm==LM_PLAIN_MAF}
panel = fuelTableELTbl, Center
dialog = fuelTableRight, "", yAxis
@ -3089,20 +3088,24 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
panel = pedalGauges, East
dialog = mc33Dialog, "GDI Dreams"
field = mc33816_cs, mc33816_cs
field = mc33816_rstb, mc33816_rstb
field = mc33816_flag0, mc33816_flag0
field = "mc33972 SPI", mc33972spiDevice
field = mc33_hvolt, mc33_hvolt
field = mc33_i_boost, mc33_i_boost
field = mc33_i_peak, mc33_i_peak
field = mc33_i_hold, mc33_i_hold
field = mc33_t_max_boost, mc33_t_max_boost
field = mc33_t_peak_off, mc33_t_peak_off
field = mc33_t_peak_tot, mc33_t_peak_tot
field = mc33_t_bypass, mc33_t_bypass
field = mc33_t_hold_off, mc33_t_hold_off
field = mc33_t_hold_tot, mc33_t_hold_tot
field = "MC33816 cs", mc33816_cs
field = "MC33816 rstb", mc33816_rstb
field = "MC33816 flag0", mc33816_flag0
field = "MC33816 SPI Device", mc33972spiDevice
field = "Boost voltage", mc33_hvolt
field = "Boost current target", mc33_i_boost
field = "Max boost time (timeout)", mc33_t_max_boost
field = "Boost -> Peak Bypass Time", mc33_t_peak_off
field = "Peak current target", mc33_i_peak
field = "Peak time", mc33_t_peak_tot
field = "Peak -> Hold Bypass Time", mc33_t_bypass
field = "Hold current target", mc33_i_hold
field = "mc33_t_hold_off ?????", mc33_t_hold_off
field = "Maximum injection duration", mc33_t_hold_tot
; Sensor Inputs

View File

@ -33,12 +33,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2020.07.30.prometheus_469.736435851"
signature = "rusEFI 2020.08.03.prometheus_469.893368066"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2020.07.30.prometheus_469.736435851" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2020.08.03.prometheus_469.893368066" ; signature is expected to be 7 or more characters.
[Constants]
; new packet serial format with CRC
@ -76,7 +76,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Jul 30 19:35:03 UTC 2020
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Aug 03 02:06:29 UTC 2020
pageSize = 20000
page = 1
@ -166,7 +166,7 @@ page = 1
cylinderBore = scalar, F32, 408, "mm", 1, 0, 0, 20000.0, 2
sensorSnifferRpmThreshold = scalar, S32, 412, "RPM", 1, 0, 0,30000, 0
rpmHardLimit = scalar, S32, 416, "rpm", 1, 0, 0, 20000.0, 2
fuelAlgorithm = bits, U32, 420, [0:2], "MAF", "Alpha-N/TPS", "INVALID", "Speed Density", "MAF Air Charge", "Alpha-N", "INVALID", "INVALID"
fuelAlgorithm = bits, U32, 420, [0:2], "INVALID", "Alpha-N/TPS", "INVALID", "Speed Density", "MAF Air Charge", "Alpha-N", "INVALID", "INVALID"
crankingInjectionMode = bits, U32, 424, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point"
injectionMode = bits, U32, 428, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point"
extraInjectionOffset = scalar, F32, 432, "deg", 1, 0.0, -720, 720, 2
@ -396,7 +396,7 @@ page = 1
hip9011IntHoldPin = bits, U08, 754, [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", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
hip9011IntHoldPinMode = bits, U08, 755, [0:1], "default", "default inverted", "open collector", "open collector inverted"
verboseCanBaseAddress = scalar, U32, 756, "", 1, 0, 0, 536870911, 0
mc33_hvolt = scalar, U08, 760, "v", 1, 0, 0, 100, 0
mc33_hvolt = scalar, U08, 760, "v", 1, 0, 40, 70, 0
acIdleExtraMin = scalar, U08, 761, "Percent", 1, 0, 0, 255, 0
unusedHere = array, U08, 762, [2], "units", 1, 0, -20, 100, 0
gpioPinModes1 = bits, U08, 764, [0:1], "default", "default inverted", "open collector", "open collector inverted"
@ -821,8 +821,10 @@ page = 1
throttlePedalSecondaryUpVoltage = scalar, F32, 2100, "voltage", 1, 0, -6, 6, 2
throttlePedalSecondaryWOTVoltage = scalar, F32, 2104, "voltage", 1, 0, -6, 6, 2
canBaudRate = bits, U08, 2108, [0:1], "100kbps", "250kbps" , "500kbps", "1Mbps"
alignmentFill_at_2109 = array, U08, 2109, [3], "units", 1, 0, -20, 100, 0
unused_former_warmup_target_afr = array, U32, 2112, [5], "units", 1, 0, -20, 100, 0
un1used_former_warmup_target_afr = scalar, U08, 2109, "units", 1, 0, -20, 100, 0
can2BaudRate = bits, U08, 2110, [0:1], "100kbps", "250kbps" , "500kbps", "1Mbps"
unused_former_warmup_target_afr = array, U08, 2111, [18], "units", 1, 0, -20, 100, 0
alignmentFill_at_2129 = array, U08, 2129, [3], "units", 1, 0, -20, 100, 0
boostCutPressure = scalar, F32, 2132, "kPa", 1, 0, 0, 500, 0
mapAccelTaperBins = array, F32, 2136, [8], "counter", 1, 0, 0.0, 300, 0
mapAccelTaperMult = array, F32, 2168, [8], "mult", 1, 0, 0.0, 300, 2
@ -1085,15 +1087,15 @@ page = 1
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
mc33_i_boost = scalar, U16, 4496, "X", 1, 0.0, 0, 64000, 0
mc33_i_peak = scalar, U16, 4498, "X", 1, 0.0, 0, 64000, 0
mc33_i_hold = scalar, U16, 4500, "X", 1, 0.0, 0, 64000, 0
mc33_t_max_boost = scalar, U16, 4502, "X", 1, 0.0, 0, 64000, 0
mc33_t_peak_off = scalar, U16, 4504, "X", 1, 0.0, 0, 64000, 0
mc33_t_peak_tot = scalar, U16, 4506, "X", 1, 0.0, 0, 64000, 0
mc33_t_bypass = scalar, U16, 4508, "X", 1, 0.0, 0, 64000, 0
mc33_t_hold_off = scalar, U16, 4510, "X", 1, 0.0, 0, 64000, 0
mc33_t_hold_tot = scalar, U16, 4512, "X", 1, 0.0, 0, 64000, 0
mc33_i_boost = scalar, U16, 4496, "mA", 1, 0.0, 1000, 25000, 0
mc33_i_peak = scalar, U16, 4498, "mA", 1, 0.0, 1000, 20000, 0
mc33_i_hold = scalar, U16, 4500, "mA", 1, 0.0, 1000, 20000, 0
mc33_t_max_boost = scalar, U16, 4502, "us", 1, 0.0, 0, 10000, 0
mc33_t_peak_off = scalar, U16, 4504, "us", 1, 0.0, 0, 10000, 0
mc33_t_peak_tot = scalar, U16, 4506, "us", 1, 0.0, 0, 10000, 0
mc33_t_bypass = scalar, U16, 4508, "us", 1, 0.0, 0, 10000, 0
mc33_t_hold_off = scalar, U16, 4510, "us", 1, 0.0, 0, 10000, 0
mc33_t_hold_tot = scalar, U16, 4512, "us", 1, 0.0, 0, 10000, 0
alignmentFill_at_4514 = array, U08, 4514, [2], "units", 1, 0, -20, 100, 0
mainUnusedEnd = array, S32, 4516, [371], "units", 1, 0, -20, 100, 0
warning_message = string, ASCII, 6000, 120
@ -1445,7 +1447,7 @@ page = 1
ochGetCommand = "O%2o%2c"
; see TS_OUTPUT_SIZE in console source code
ochBlockSize = 248
ochBlockSize = 288
;
; see TunerStudioOutputChannels struct
@ -1633,13 +1635,13 @@ page = 1
; we use this to match logs to tunes
tuneCrc16 = scalar, U16, 244, "crc16", 1, 0
sd_status = scalar, U08, 246, "", 1.0, 0.0
;
; see TunerStudioOutputChannels struct
;
; todo: generate this section programatically
LM_PLAIN_MAF = {0},
LM_SPEED_DENSITY = {3},
LM_REAL_MAF = {4}
@ -1990,16 +1992,6 @@ page = 1
[TableEditor]
; table_id, map3d_id, "title", page
table = fuelTableMAFTbl, fuelTableMAFMap, "Fuel Table", 1
topicHelp = "fuelHelp"
; constant, variable
xBins = fuelRpmBins, RPMValue
yBins = fuelLoadBins, MAFValue
zBins = fuelTable
; gridHeight = 2.0
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
upDownLabel = "(RICHER)", "(LEANER)"
table = fuelTableTPSTbl, fuelTableTPSMap, "Fuel Table", 1
topicHelp = "fuelHelp"
; constant, variable
@ -2328,6 +2320,11 @@ gaugeCategory = Sensors - Raw
indicator = { isIgnitionEnabledIndicator}, "no ignition", "ignition", yellow, black, white, black
indicator = { ind_injection_enabled}, "no injection", "injection", yellow, black, white, black
indicator = { ind_isTriggerError}, "trigger ok", "trigger err", white, black, red, black
indicator = { sd_status & 1}, "No SD", "SD in", white, black, green, black
indicator = { sd_status & 4}, "SD ready", "SD ready", white, black, green, black
indicator = { sd_status & 8}, "SD Log", "SD Log", white, black, green, black
indicator = { sd_status & 16}, "SD Err", "SD Err", white, black, red, black
; this is required so that the "config error" feature works in TS
; don't change this line - TS is looking for an indicator with particular text/styling
@ -2487,6 +2484,9 @@ gaugeCategory = Sensors - Raw
[Menu]
menuDialog = main
menu = "Data Logging"
subMenu = std_ms3SdConsole, "Browse / Import SD Card"
menu = "&Base &Engine"
subMenu = engineChars, "Base engine"
subMenu = triggerConfiguration, "Trigger"
@ -2800,7 +2800,6 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
[UserDefined]
dialog = fuelTableBottomDialog, "", card
panel = fuelTableMAFTbl, Center, {fuelAlgorithm==LM_PLAIN_MAF}
panel = fuelTableELTbl, Center
dialog = fuelTableRight, "", yAxis
@ -3089,20 +3088,24 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
panel = pedalGauges, East
dialog = mc33Dialog, "GDI Dreams"
field = mc33816_cs, mc33816_cs
field = mc33816_rstb, mc33816_rstb
field = mc33816_flag0, mc33816_flag0
field = "mc33972 SPI", mc33972spiDevice
field = mc33_hvolt, mc33_hvolt
field = mc33_i_boost, mc33_i_boost
field = mc33_i_peak, mc33_i_peak
field = mc33_i_hold, mc33_i_hold
field = mc33_t_max_boost, mc33_t_max_boost
field = mc33_t_peak_off, mc33_t_peak_off
field = mc33_t_peak_tot, mc33_t_peak_tot
field = mc33_t_bypass, mc33_t_bypass
field = mc33_t_hold_off, mc33_t_hold_off
field = mc33_t_hold_tot, mc33_t_hold_tot
field = "MC33816 cs", mc33816_cs
field = "MC33816 rstb", mc33816_rstb
field = "MC33816 flag0", mc33816_flag0
field = "MC33816 SPI Device", mc33972spiDevice
field = "Boost voltage", mc33_hvolt
field = "Boost current target", mc33_i_boost
field = "Max boost time (timeout)", mc33_t_max_boost
field = "Boost -> Peak Bypass Time", mc33_t_peak_off
field = "Peak current target", mc33_i_peak
field = "Peak time", mc33_t_peak_tot
field = "Peak -> Hold Bypass Time", mc33_t_bypass
field = "Hold current target", mc33_i_hold
field = "mc33_t_hold_off ?????", mc33_t_hold_off
field = "Maximum injection duration", mc33_t_hold_tot
; Sensor Inputs

View File

@ -33,12 +33,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2020.07.30.proteus_f4.1399371712"
signature = "rusEFI 2020.08.03.proteus_f4.1303518793"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2020.07.30.proteus_f4.1399371712" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2020.08.03.proteus_f4.1303518793" ; signature is expected to be 7 or more characters.
[Constants]
; new packet serial format with CRC
@ -76,7 +76,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Jul 30 19:35:07 UTC 2020
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Aug 03 02:06:33 UTC 2020
pageSize = 20000
page = 1
@ -166,7 +166,7 @@ page = 1
cylinderBore = scalar, F32, 408, "mm", 1, 0, 0, 20000.0, 2
sensorSnifferRpmThreshold = scalar, S32, 412, "RPM", 1, 0, 0,30000, 0
rpmHardLimit = scalar, S32, 416, "rpm", 1, 0, 0, 20000.0, 2
fuelAlgorithm = bits, U32, 420, [0:2], "MAF", "Alpha-N/TPS", "INVALID", "Speed Density", "MAF Air Charge", "Alpha-N", "INVALID", "INVALID"
fuelAlgorithm = bits, U32, 420, [0:2], "INVALID", "Alpha-N/TPS", "INVALID", "Speed Density", "MAF Air Charge", "Alpha-N", "INVALID", "INVALID"
crankingInjectionMode = bits, U32, 424, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point"
injectionMode = bits, U32, 428, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point"
extraInjectionOffset = scalar, F32, 432, "deg", 1, 0.0, -720, 720, 2
@ -396,7 +396,7 @@ page = 1
hip9011IntHoldPin = bits, U08, 754, [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", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
hip9011IntHoldPinMode = bits, U08, 755, [0:1], "default", "default inverted", "open collector", "open collector inverted"
verboseCanBaseAddress = scalar, U32, 756, "", 1, 0, 0, 536870911, 0
mc33_hvolt = scalar, U08, 760, "v", 1, 0, 0, 100, 0
mc33_hvolt = scalar, U08, 760, "v", 1, 0, 40, 70, 0
acIdleExtraMin = scalar, U08, 761, "Percent", 1, 0, 0, 255, 0
unusedHere = array, U08, 762, [2], "units", 1, 0, -20, 100, 0
gpioPinModes1 = bits, U08, 764, [0:1], "default", "default inverted", "open collector", "open collector inverted"
@ -821,8 +821,10 @@ page = 1
throttlePedalSecondaryUpVoltage = scalar, F32, 2100, "voltage", 1, 0, -6, 6, 2
throttlePedalSecondaryWOTVoltage = scalar, F32, 2104, "voltage", 1, 0, -6, 6, 2
canBaudRate = bits, U08, 2108, [0:1], "100kbps", "250kbps" , "500kbps", "1Mbps"
alignmentFill_at_2109 = array, U08, 2109, [3], "units", 1, 0, -20, 100, 0
unused_former_warmup_target_afr = array, U32, 2112, [5], "units", 1, 0, -20, 100, 0
un1used_former_warmup_target_afr = scalar, U08, 2109, "units", 1, 0, -20, 100, 0
can2BaudRate = bits, U08, 2110, [0:1], "100kbps", "250kbps" , "500kbps", "1Mbps"
unused_former_warmup_target_afr = array, U08, 2111, [18], "units", 1, 0, -20, 100, 0
alignmentFill_at_2129 = array, U08, 2129, [3], "units", 1, 0, -20, 100, 0
boostCutPressure = scalar, F32, 2132, "kPa", 1, 0, 0, 500, 0
mapAccelTaperBins = array, F32, 2136, [8], "counter", 1, 0, 0.0, 300, 0
mapAccelTaperMult = array, F32, 2168, [8], "mult", 1, 0, 0.0, 300, 2
@ -1085,15 +1087,15 @@ page = 1
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
mc33_i_boost = scalar, U16, 4496, "X", 1, 0.0, 0, 64000, 0
mc33_i_peak = scalar, U16, 4498, "X", 1, 0.0, 0, 64000, 0
mc33_i_hold = scalar, U16, 4500, "X", 1, 0.0, 0, 64000, 0
mc33_t_max_boost = scalar, U16, 4502, "X", 1, 0.0, 0, 64000, 0
mc33_t_peak_off = scalar, U16, 4504, "X", 1, 0.0, 0, 64000, 0
mc33_t_peak_tot = scalar, U16, 4506, "X", 1, 0.0, 0, 64000, 0
mc33_t_bypass = scalar, U16, 4508, "X", 1, 0.0, 0, 64000, 0
mc33_t_hold_off = scalar, U16, 4510, "X", 1, 0.0, 0, 64000, 0
mc33_t_hold_tot = scalar, U16, 4512, "X", 1, 0.0, 0, 64000, 0
mc33_i_boost = scalar, U16, 4496, "mA", 1, 0.0, 1000, 25000, 0
mc33_i_peak = scalar, U16, 4498, "mA", 1, 0.0, 1000, 20000, 0
mc33_i_hold = scalar, U16, 4500, "mA", 1, 0.0, 1000, 20000, 0
mc33_t_max_boost = scalar, U16, 4502, "us", 1, 0.0, 0, 10000, 0
mc33_t_peak_off = scalar, U16, 4504, "us", 1, 0.0, 0, 10000, 0
mc33_t_peak_tot = scalar, U16, 4506, "us", 1, 0.0, 0, 10000, 0
mc33_t_bypass = scalar, U16, 4508, "us", 1, 0.0, 0, 10000, 0
mc33_t_hold_off = scalar, U16, 4510, "us", 1, 0.0, 0, 10000, 0
mc33_t_hold_tot = scalar, U16, 4512, "us", 1, 0.0, 0, 10000, 0
alignmentFill_at_4514 = array, U08, 4514, [2], "units", 1, 0, -20, 100, 0
mainUnusedEnd = array, S32, 4516, [371], "units", 1, 0, -20, 100, 0
warning_message = string, ASCII, 6000, 120
@ -1445,7 +1447,7 @@ page = 1
ochGetCommand = "O%2o%2c"
; see TS_OUTPUT_SIZE in console source code
ochBlockSize = 248
ochBlockSize = 288
;
; see TunerStudioOutputChannels struct
@ -1633,13 +1635,13 @@ page = 1
; we use this to match logs to tunes
tuneCrc16 = scalar, U16, 244, "crc16", 1, 0
sd_status = scalar, U08, 246, "", 1.0, 0.0
;
; see TunerStudioOutputChannels struct
;
; todo: generate this section programatically
LM_PLAIN_MAF = {0},
LM_SPEED_DENSITY = {3},
LM_REAL_MAF = {4}
@ -1990,16 +1992,6 @@ page = 1
[TableEditor]
; table_id, map3d_id, "title", page
table = fuelTableMAFTbl, fuelTableMAFMap, "Fuel Table", 1
topicHelp = "fuelHelp"
; constant, variable
xBins = fuelRpmBins, RPMValue
yBins = fuelLoadBins, MAFValue
zBins = fuelTable
; gridHeight = 2.0
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
upDownLabel = "(RICHER)", "(LEANER)"
table = fuelTableTPSTbl, fuelTableTPSMap, "Fuel Table", 1
topicHelp = "fuelHelp"
; constant, variable
@ -2328,6 +2320,11 @@ gaugeCategory = Sensors - Raw
indicator = { isIgnitionEnabledIndicator}, "no ignition", "ignition", yellow, black, white, black
indicator = { ind_injection_enabled}, "no injection", "injection", yellow, black, white, black
indicator = { ind_isTriggerError}, "trigger ok", "trigger err", white, black, red, black
indicator = { sd_status & 1}, "No SD", "SD in", white, black, green, black
indicator = { sd_status & 4}, "SD ready", "SD ready", white, black, green, black
indicator = { sd_status & 8}, "SD Log", "SD Log", white, black, green, black
indicator = { sd_status & 16}, "SD Err", "SD Err", white, black, red, black
; this is required so that the "config error" feature works in TS
; don't change this line - TS is looking for an indicator with particular text/styling
@ -2487,6 +2484,9 @@ gaugeCategory = Sensors - Raw
[Menu]
menuDialog = main
menu = "Data Logging"
subMenu = std_ms3SdConsole, "Browse / Import SD Card"
menu = "&Base &Engine"
subMenu = engineChars, "Base engine"
subMenu = triggerConfiguration, "Trigger"
@ -2795,7 +2795,6 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
[UserDefined]
dialog = fuelTableBottomDialog, "", card
panel = fuelTableMAFTbl, Center, {fuelAlgorithm==LM_PLAIN_MAF}
panel = fuelTableELTbl, Center
dialog = fuelTableRight, "", yAxis
@ -3084,20 +3083,24 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
panel = pedalGauges, East
dialog = mc33Dialog, "GDI Dreams"
field = mc33816_cs, mc33816_cs
field = mc33816_rstb, mc33816_rstb
field = mc33816_flag0, mc33816_flag0
field = "mc33972 SPI", mc33972spiDevice
field = mc33_hvolt, mc33_hvolt
field = mc33_i_boost, mc33_i_boost
field = mc33_i_peak, mc33_i_peak
field = mc33_i_hold, mc33_i_hold
field = mc33_t_max_boost, mc33_t_max_boost
field = mc33_t_peak_off, mc33_t_peak_off
field = mc33_t_peak_tot, mc33_t_peak_tot
field = mc33_t_bypass, mc33_t_bypass
field = mc33_t_hold_off, mc33_t_hold_off
field = mc33_t_hold_tot, mc33_t_hold_tot
field = "MC33816 cs", mc33816_cs
field = "MC33816 rstb", mc33816_rstb
field = "MC33816 flag0", mc33816_flag0
field = "MC33816 SPI Device", mc33972spiDevice
field = "Boost voltage", mc33_hvolt
field = "Boost current target", mc33_i_boost
field = "Max boost time (timeout)", mc33_t_max_boost
field = "Boost -> Peak Bypass Time", mc33_t_peak_off
field = "Peak current target", mc33_i_peak
field = "Peak time", mc33_t_peak_tot
field = "Peak -> Hold Bypass Time", mc33_t_bypass
field = "Hold current target", mc33_i_hold
field = "mc33_t_hold_off ?????", mc33_t_hold_off
field = "Maximum injection duration", mc33_t_hold_tot
; Sensor Inputs

View File

@ -33,12 +33,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2020.07.30.proteus_f7.1399371712"
signature = "rusEFI 2020.08.03.proteus_f7.1303518793"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2020.07.30.proteus_f7.1399371712" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2020.08.03.proteus_f7.1303518793" ; signature is expected to be 7 or more characters.
[Constants]
; new packet serial format with CRC
@ -76,7 +76,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Jul 30 19:35:06 UTC 2020
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Aug 03 02:06:31 UTC 2020
pageSize = 20000
page = 1
@ -166,7 +166,7 @@ page = 1
cylinderBore = scalar, F32, 408, "mm", 1, 0, 0, 20000.0, 2
sensorSnifferRpmThreshold = scalar, S32, 412, "RPM", 1, 0, 0,30000, 0
rpmHardLimit = scalar, S32, 416, "rpm", 1, 0, 0, 20000.0, 2
fuelAlgorithm = bits, U32, 420, [0:2], "MAF", "Alpha-N/TPS", "INVALID", "Speed Density", "MAF Air Charge", "Alpha-N", "INVALID", "INVALID"
fuelAlgorithm = bits, U32, 420, [0:2], "INVALID", "Alpha-N/TPS", "INVALID", "Speed Density", "MAF Air Charge", "Alpha-N", "INVALID", "INVALID"
crankingInjectionMode = bits, U32, 424, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point"
injectionMode = bits, U32, 428, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point"
extraInjectionOffset = scalar, F32, 432, "deg", 1, 0.0, -720, 720, 2
@ -396,7 +396,7 @@ page = 1
hip9011IntHoldPin = bits, U08, 754, [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", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
hip9011IntHoldPinMode = bits, U08, 755, [0:1], "default", "default inverted", "open collector", "open collector inverted"
verboseCanBaseAddress = scalar, U32, 756, "", 1, 0, 0, 536870911, 0
mc33_hvolt = scalar, U08, 760, "v", 1, 0, 0, 100, 0
mc33_hvolt = scalar, U08, 760, "v", 1, 0, 40, 70, 0
acIdleExtraMin = scalar, U08, 761, "Percent", 1, 0, 0, 255, 0
unusedHere = array, U08, 762, [2], "units", 1, 0, -20, 100, 0
gpioPinModes1 = bits, U08, 764, [0:1], "default", "default inverted", "open collector", "open collector inverted"
@ -821,8 +821,10 @@ page = 1
throttlePedalSecondaryUpVoltage = scalar, F32, 2100, "voltage", 1, 0, -6, 6, 2
throttlePedalSecondaryWOTVoltage = scalar, F32, 2104, "voltage", 1, 0, -6, 6, 2
canBaudRate = bits, U08, 2108, [0:1], "100kbps", "250kbps" , "500kbps", "1Mbps"
alignmentFill_at_2109 = array, U08, 2109, [3], "units", 1, 0, -20, 100, 0
unused_former_warmup_target_afr = array, U32, 2112, [5], "units", 1, 0, -20, 100, 0
un1used_former_warmup_target_afr = scalar, U08, 2109, "units", 1, 0, -20, 100, 0
can2BaudRate = bits, U08, 2110, [0:1], "100kbps", "250kbps" , "500kbps", "1Mbps"
unused_former_warmup_target_afr = array, U08, 2111, [18], "units", 1, 0, -20, 100, 0
alignmentFill_at_2129 = array, U08, 2129, [3], "units", 1, 0, -20, 100, 0
boostCutPressure = scalar, F32, 2132, "kPa", 1, 0, 0, 500, 0
mapAccelTaperBins = array, F32, 2136, [8], "counter", 1, 0, 0.0, 300, 0
mapAccelTaperMult = array, F32, 2168, [8], "mult", 1, 0, 0.0, 300, 2
@ -1085,15 +1087,15 @@ page = 1
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
mc33_i_boost = scalar, U16, 4496, "X", 1, 0.0, 0, 64000, 0
mc33_i_peak = scalar, U16, 4498, "X", 1, 0.0, 0, 64000, 0
mc33_i_hold = scalar, U16, 4500, "X", 1, 0.0, 0, 64000, 0
mc33_t_max_boost = scalar, U16, 4502, "X", 1, 0.0, 0, 64000, 0
mc33_t_peak_off = scalar, U16, 4504, "X", 1, 0.0, 0, 64000, 0
mc33_t_peak_tot = scalar, U16, 4506, "X", 1, 0.0, 0, 64000, 0
mc33_t_bypass = scalar, U16, 4508, "X", 1, 0.0, 0, 64000, 0
mc33_t_hold_off = scalar, U16, 4510, "X", 1, 0.0, 0, 64000, 0
mc33_t_hold_tot = scalar, U16, 4512, "X", 1, 0.0, 0, 64000, 0
mc33_i_boost = scalar, U16, 4496, "mA", 1, 0.0, 1000, 25000, 0
mc33_i_peak = scalar, U16, 4498, "mA", 1, 0.0, 1000, 20000, 0
mc33_i_hold = scalar, U16, 4500, "mA", 1, 0.0, 1000, 20000, 0
mc33_t_max_boost = scalar, U16, 4502, "us", 1, 0.0, 0, 10000, 0
mc33_t_peak_off = scalar, U16, 4504, "us", 1, 0.0, 0, 10000, 0
mc33_t_peak_tot = scalar, U16, 4506, "us", 1, 0.0, 0, 10000, 0
mc33_t_bypass = scalar, U16, 4508, "us", 1, 0.0, 0, 10000, 0
mc33_t_hold_off = scalar, U16, 4510, "us", 1, 0.0, 0, 10000, 0
mc33_t_hold_tot = scalar, U16, 4512, "us", 1, 0.0, 0, 10000, 0
alignmentFill_at_4514 = array, U08, 4514, [2], "units", 1, 0, -20, 100, 0
mainUnusedEnd = array, S32, 4516, [371], "units", 1, 0, -20, 100, 0
warning_message = string, ASCII, 6000, 120
@ -1445,7 +1447,7 @@ page = 1
ochGetCommand = "O%2o%2c"
; see TS_OUTPUT_SIZE in console source code
ochBlockSize = 248
ochBlockSize = 288
;
; see TunerStudioOutputChannels struct
@ -1633,13 +1635,13 @@ page = 1
; we use this to match logs to tunes
tuneCrc16 = scalar, U16, 244, "crc16", 1, 0
sd_status = scalar, U08, 246, "", 1.0, 0.0
;
; see TunerStudioOutputChannels struct
;
; todo: generate this section programatically
LM_PLAIN_MAF = {0},
LM_SPEED_DENSITY = {3},
LM_REAL_MAF = {4}
@ -1990,16 +1992,6 @@ page = 1
[TableEditor]
; table_id, map3d_id, "title", page
table = fuelTableMAFTbl, fuelTableMAFMap, "Fuel Table", 1
topicHelp = "fuelHelp"
; constant, variable
xBins = fuelRpmBins, RPMValue
yBins = fuelLoadBins, MAFValue
zBins = fuelTable
; gridHeight = 2.0
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
upDownLabel = "(RICHER)", "(LEANER)"
table = fuelTableTPSTbl, fuelTableTPSMap, "Fuel Table", 1
topicHelp = "fuelHelp"
; constant, variable
@ -2328,6 +2320,11 @@ gaugeCategory = Sensors - Raw
indicator = { isIgnitionEnabledIndicator}, "no ignition", "ignition", yellow, black, white, black
indicator = { ind_injection_enabled}, "no injection", "injection", yellow, black, white, black
indicator = { ind_isTriggerError}, "trigger ok", "trigger err", white, black, red, black
indicator = { sd_status & 1}, "No SD", "SD in", white, black, green, black
indicator = { sd_status & 4}, "SD ready", "SD ready", white, black, green, black
indicator = { sd_status & 8}, "SD Log", "SD Log", white, black, green, black
indicator = { sd_status & 16}, "SD Err", "SD Err", white, black, red, black
; this is required so that the "config error" feature works in TS
; don't change this line - TS is looking for an indicator with particular text/styling
@ -2487,6 +2484,9 @@ gaugeCategory = Sensors - Raw
[Menu]
menuDialog = main
menu = "Data Logging"
subMenu = std_ms3SdConsole, "Browse / Import SD Card"
menu = "&Base &Engine"
subMenu = engineChars, "Base engine"
subMenu = triggerConfiguration, "Trigger"
@ -2795,7 +2795,6 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
[UserDefined]
dialog = fuelTableBottomDialog, "", card
panel = fuelTableMAFTbl, Center, {fuelAlgorithm==LM_PLAIN_MAF}
panel = fuelTableELTbl, Center
dialog = fuelTableRight, "", yAxis
@ -3084,20 +3083,24 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
panel = pedalGauges, East
dialog = mc33Dialog, "GDI Dreams"
field = mc33816_cs, mc33816_cs
field = mc33816_rstb, mc33816_rstb
field = mc33816_flag0, mc33816_flag0
field = "mc33972 SPI", mc33972spiDevice
field = mc33_hvolt, mc33_hvolt
field = mc33_i_boost, mc33_i_boost
field = mc33_i_peak, mc33_i_peak
field = mc33_i_hold, mc33_i_hold
field = mc33_t_max_boost, mc33_t_max_boost
field = mc33_t_peak_off, mc33_t_peak_off
field = mc33_t_peak_tot, mc33_t_peak_tot
field = mc33_t_bypass, mc33_t_bypass
field = mc33_t_hold_off, mc33_t_hold_off
field = mc33_t_hold_tot, mc33_t_hold_tot
field = "MC33816 cs", mc33816_cs
field = "MC33816 rstb", mc33816_rstb
field = "MC33816 flag0", mc33816_flag0
field = "MC33816 SPI Device", mc33972spiDevice
field = "Boost voltage", mc33_hvolt
field = "Boost current target", mc33_i_boost
field = "Max boost time (timeout)", mc33_t_max_boost
field = "Boost -> Peak Bypass Time", mc33_t_peak_off
field = "Peak current target", mc33_i_peak
field = "Peak time", mc33_t_peak_tot
field = "Peak -> Hold Bypass Time", mc33_t_bypass
field = "Hold current target", mc33_i_hold
field = "mc33_t_hold_off ?????", mc33_t_hold_off
field = "Maximum injection duration", mc33_t_hold_tot
; Sensor Inputs

View File

@ -342,6 +342,7 @@ enable2ndByteCanID = false
; we use this to match logs to tunes
tuneCrc16 = scalar, U16, 244, "crc16", 1, 0
sd_status = scalar, U08, 246, "", 1.0, 0.0
;
; see TunerStudioOutputChannels struct
@ -1006,6 +1007,11 @@ gaugeCategory = Sensors - Raw
indicator = { isIgnitionEnabledIndicator}, "no ignition", "ignition", yellow, black, white, black
indicator = { ind_injection_enabled}, "no injection", "injection", yellow, black, white, black
indicator = { ind_isTriggerError}, "trigger ok", "trigger err", white, black, red, black
indicator = { sd_status & 1}, "No SD", "SD in", white, black, green, black
indicator = { sd_status & 4}, "SD ready", "SD ready", white, black, green, black
indicator = { sd_status & 8}, "SD Log", "SD Log", white, black, green, black
indicator = { sd_status & 16}, "SD Err", "SD Err", white, black, red, black
; this is required so that the "config error" feature works in TS
; don't change this line - TS is looking for an indicator with particular text/styling
@ -1165,6 +1171,9 @@ gaugeCategory = Sensors - Raw
[Menu]
menuDialog = main
menu = "Data Logging"
subMenu = std_ms3SdConsole, "Browse / Import SD Card"
menu = "&Base &Engine"
subMenu = engineChars, "Base engine"
subMenu = triggerConfiguration, "Trigger"
@ -1738,20 +1747,24 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
panel = pedalGauges, East
dialog = mc33Dialog, "GDI Dreams"
field = mc33816_cs, mc33816_cs
field = mc33816_rstb, mc33816_rstb
field = mc33816_flag0, mc33816_flag0
field = "mc33972 SPI", mc33972spiDevice
field = mc33_hvolt, mc33_hvolt
field = mc33_i_boost, mc33_i_boost
field = mc33_i_peak, mc33_i_peak
field = mc33_i_hold, mc33_i_hold
field = mc33_t_max_boost, mc33_t_max_boost
field = mc33_t_peak_off, mc33_t_peak_off
field = mc33_t_peak_tot, mc33_t_peak_tot
field = mc33_t_bypass, mc33_t_bypass
field = mc33_t_hold_off, mc33_t_hold_off
field = mc33_t_hold_tot, mc33_t_hold_tot
field = "MC33816 cs", mc33816_cs
field = "MC33816 rstb", mc33816_rstb
field = "MC33816 flag0", mc33816_flag0
field = "MC33816 SPI Device", mc33972spiDevice
field = "Boost voltage", mc33_hvolt
field = "Boost current target", mc33_i_boost
field = "Max boost time (timeout)", mc33_t_max_boost
field = "Boost -> Peak Bypass Time", mc33_t_peak_off
field = "Peak current target", mc33_i_peak
field = "Peak time", mc33_t_peak_tot
field = "Peak -> Hold Bypass Time", mc33_t_bypass
field = "Hold current target", mc33_i_hold
field = "mc33_t_hold_off ?????", mc33_t_hold_off
field = "Maximum injection duration", mc33_t_hold_tot
; Sensor Inputs

View File

@ -30,7 +30,7 @@
*
*/
#include "global.h"
#include "globalaccess.h"
#if ! EFI_UNIT_TEST
#include "os_access.h"

View File

@ -30,6 +30,9 @@ public abstract class IniField {
public abstract int getSize();
/**
* @see com.rusefi.config.Field#getValue
*/
public String getValue(ConfigurationImage image) {
return null;
}

View File

@ -85,6 +85,12 @@ public class BinaryProtocol implements BinaryProtocolCommands {
public static String findCommand(byte command) {
switch (command) {
case Fields.TS_SD_R_COMMAND:
return "SD_R_COMMAND";
case Fields.TS_SD_W_COMMAND:
return "SD_W_COMMAND";
case Fields.TS_PAGE_COMMAND:
return "PAGE";
case Fields.TS_COMMAND_F:
return "PROTOCOL";
case Fields.TS_CRC_CHECK_COMMAND:

View File

@ -39,11 +39,11 @@ public class IoHelper {
return (((x & 0xff) << 8) | ((x >> 8) & 0xff));
}
static int swap32(int x) {
public static int swap32(int x) {
return (((x) >> 24) & 0xff) | (((x) << 8) & 0xff0000) | (((x) >> 8) & 0xff00) | (((x) << 24) & 0xff000000);
}
private static void putInt(byte[] packet, int offset, int value) {
public static void putInt(byte[] packet, int offset, int value) {
int index = offset + 3;
for (int i = 0; i < 4; i++) {
packet[index--] = (byte) value;

View File

@ -53,6 +53,8 @@ public interface IoStream extends WriteStream, Closeable, StreamStatistics {
}
default void sendPacket(byte[] plainPacket) throws IOException {
if (plainPacket.length == 0)
throw new IllegalArgumentException("Empty packets are not valid.");
byte[] packet;
if (BinaryProtocol.PLAIN_PROTOCOL) {
packet = plainPacket;

View File

@ -16,6 +16,9 @@ import org.jetbrains.annotations.NotNull;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.util.Arrays;
import java.util.Objects;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ThreadFactory;
@ -25,8 +28,7 @@ import java.util.function.Function;
import static com.devexperts.logging.Logging.getLogging;
import static com.rusefi.binaryprotocol.IoHelper.swap16;
import static com.rusefi.config.generated.Fields.TS_PROTOCOL;
import static com.rusefi.config.generated.Fields.TS_RESPONSE_BURN_OK;
import static com.rusefi.config.generated.Fields.*;
/**
* This class makes rusEfi console a proxy for other tuning software, this way we can have two tools connected via same
@ -37,10 +39,15 @@ import static com.rusefi.config.generated.Fields.TS_RESPONSE_BURN_OK;
*/
public class BinaryProtocolServer implements BinaryProtocolCommands {
public static final String TEST_FILE = "test_log.mlg.Z";
private static final Logging log = getLogging(BinaryProtocolServer.class);
private static final int DEFAULT_PROXY_PORT = 2390;
public static final String TS_OK = "\0";
private final static boolean MOCK_SD_CARD = true;
private static final int SD_STATUS_OFFSET = 246;
private static final int FAST_TRANSFER_PACKET_SIZE = 2048;
public AtomicInteger unknownCommands = new AtomicInteger();
public static final ServerSocketFunction SECURE_SOCKET_FACTORY = rusEFISSLContext::getSSLServerSocket;
@ -55,7 +62,7 @@ public class BinaryProtocolServer implements BinaryProtocolCommands {
public void start(LinkManager linkManager) {
try {
start(linkManager, DEFAULT_PROXY_PORT, Listener.empty(), new Context());
start(linkManager, DEFAULT_PROXY_PORT, Listener.empty(), new Context());
} catch (IOException e) {
log.error("Error starting local proxy", e);
}
@ -173,6 +180,10 @@ public class BinaryProtocolServer implements BinaryProtocolCommands {
System.err.println("NOT IMPLEMENTED TS_GET_COMPOSITE_BUFFER_DONE_DIFFERENTLY relay");
// todo: relay command
stream.sendPacket(TS_OK.getBytes());
} else if (command == TS_SD_R_COMMAND) {
handleSD_R_command(stream, packet, payload);
} else if (command == TS_SD_W_COMMAND) {
handleSD_W_command(stream, packet, payload);
} else if (command == Fields.TS_OUTPUT_COMMAND) {
DataInputStream dis = new DataInputStream(new ByteArrayInputStream(payload, 1, payload.length - 1));
int offset = swap16(dis.readShort());
@ -183,8 +194,10 @@ public class BinaryProtocolServer implements BinaryProtocolCommands {
response[0] = (byte) TS_OK.charAt(0);
BinaryProtocolState binaryProtocolState = linkManager.getBinaryProtocolState();
byte[] currentOutputs = binaryProtocolState.getCurrentOutputs();
if (MOCK_SD_CARD)
currentOutputs[SD_STATUS_OFFSET] = 1 + 4;
if (currentOutputs != null)
System.arraycopy(currentOutputs, 1 + offset, response, 1, count);
System.arraycopy(currentOutputs, offset, response, 1, count);
stream.sendPacket(response);
} else if (command == Fields.TS_GET_TEXT) {
// todo: relay command
@ -198,6 +211,126 @@ public class BinaryProtocolServer implements BinaryProtocolCommands {
}
}
private void handleSD_W_command(TcpIoStream stream, Packet packet, byte[] payload) throws IOException {
log.info("TS_SD: 'w' " + IoStream.printHexBinary(packet.packet));
if (payload[1] == 0 && payload[2] == 0x11) {
if (payload[6] == 1) {
log.info("TS_SD: do command, command=" + payload[payload.length - 1]);
sendOkResponse(stream);
} else if (payload[6] == 2) {
log.info("TS_SD: read directory command " + payload[payload.length - 1]);
sendOkResponse(stream);
} else if (payload[6] == 6) {
log.info("TS_SD: remove file command " + Arrays.toString(packet.packet));
sendOkResponse(stream);
} else if (payload[6] == 8) {
log.info("TS_SD: read compressed file command " + Arrays.toString(packet.packet));
ByteBuffer bb = ByteBuffer.wrap(payload, 7, 8);
bb.order(ByteOrder.BIG_ENDIAN);
int sectorNumber = bb.getInt();
int sectorCount = bb.getInt();
log.info("TS_SD: sectorNumber=" + sectorNumber + ", sectorCount=" + sectorCount);
sendOkResponse(stream);
}
} else {
log.info("TS_SD: Got unexpected w " + IoStream.printHexBinary(packet.packet));
}
}
private void handleSD_R_command(TcpIoStream stream, Packet packet, byte[] payload) throws IOException {
log.info("TS_SD: 'r' " + IoStream.printHexBinary(packet.packet));
if (payload[1] == 0 && payload[2] == 7) {
log.info("TS_SD: RTC read command");
byte[] response = new byte[9];
stream.sendPacket(response);
} else if (payload[1] == 0 && payload[2] == 0x11) {
ByteBuffer bb = ByteBuffer.wrap(payload, 5, 2);
bb.order(ByteOrder.BIG_ENDIAN);
int bufferLength = bb.getShort();
log.info("TS_SD: fetch buffer command, length=" + bufferLength);
byte[] response = new byte[1 + bufferLength];
response[0] = TS_RESPONSE_OK;
if (bufferLength == 16) {
response[1] = 1 + 4; // Card present + Ready
response[2] = 0; // Y - error code
response[3] = 2; // higher byte of '512' sector size
response[4] = 0; // lower byte
response[5] = 0;
response[6] = 0x20; // 0x20 00 00 of 512 is 1G virtual card
response[7] = 0;
response[8] = 0;
response[9] = 0;
response[10] = 1; // number of files
} else {
// SD read directory command
//
System.arraycopy("hello123mlq".getBytes(), 0, response, 1, 11);
response[1 + 11] = 1; // file
response[1 + 23] = 3; // sector number
response[1 + 24] = (byte) 0; // size
response[1 + 25] = (byte) 0; // size
File f = new File(TEST_FILE);
int size = (int) f.length();
IoHelper.putInt(response, 29, IoHelper.swap32(size));
// response[1 + 29] = (byte) 128;
// response[1 + 30] = (byte) 1;
// response[1 + 31] = (byte) 0; // size
}
stream.sendPacket(response);
} else if (payload[1] == 0 && payload[2] == 0x14) {
ByteBuffer bb = ByteBuffer.wrap(payload, 3, 4);
bb.order(ByteOrder.BIG_ENDIAN);
int blockNumber = bb.getShort();
int suffix = bb.getShort();
log.info("TS_SD: fetch data command blockNumber=" + blockNumber + ", requesting=" + suffix);
File f = new File(BinaryProtocolServer.TEST_FILE);
FileInputStream fis = new FileInputStream(f);
int size = (int) f.length();
int offset = blockNumber * FAST_TRANSFER_PACKET_SIZE;
int len = Math.max(0, Math.min(size - offset, FAST_TRANSFER_PACKET_SIZE));
byte[] response = new byte[1 + 2 + len];
response[0] = TS_RESPONSE_OK;
response[1] = payload[3];
response[2] = payload[4];
if (len > 0) {
fis.skip(offset);
log.info("TS_SD reading " + offset + " " + len + " of " + size);
fis.read(response, 3, len);
}
stream.sendPacket(response);
} else {
log.info("TS_SD: Got unexpected r " + IoStream.printHexBinary(packet.packet));
}
}
private static void sendOkResponse(TcpIoStream stream) throws IOException {
byte[] response = new byte[1];
response[0] = TS_RESPONSE_OK;
stream.sendPacket(response);
}
public static int getPacketLength(IncomingDataBuffer in, Handler protocolCommandHandler) throws IOException {
return getPacketLength(in, protocolCommandHandler, Timeouts.BINARY_IO_TIMEOUT);
}

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.sh integration/rusefi_config.txt Thu Jul 30 19:34:58 UTC 2020
// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Aug 03 02:06:23 UTC 2020
// by class com.rusefi.output.FileJavaFieldsConsumer
import com.rusefi.config.*;
@ -44,7 +44,7 @@ public class Fields {
public static final int afterstartHoldTime_offset = 6152;
public static final int air_pressure_sensor_config_s_size = 16;
public static final int alignEngineSnifferAtTDC_offset = 744;
public static final int alignmentFill_at_2109_offset = 2109;
public static final int alignmentFill_at_2129_offset = 2129;
public static final int alignmentFill_at_4514_offset = 4514;
public static final int alternator_antiwindupFreq_offset = 1764;
public static final int alternator_derivativeFilterLoss_offset = 1760;
@ -176,6 +176,7 @@ public class Fields {
public static final int camInputs2_offset = 557;
public static final int camInputs3_offset = 558;
public static final int camInputs4_offset = 559;
public static final int can2BaudRate_offset = 2110;
public static final int canBaudRate_offset = 2108;
public static final int canNbcType_offset = 480;
public static final int canReadEnabled_offset = 1464;
@ -1292,25 +1293,28 @@ public class Fields {
public static final char TS_GET_STRUCT = '9';
public static final char TS_GET_TEXT = 'G';
public static final char TS_HELLO_COMMAND = 'S';
public static final char TS_IO_TEST_COMMAND = 'w';
public static final char TS_IO_TEST_COMMAND = 'Z';
public static final char TS_ONLINE_PROTOCOL = 'z';
public static final char TS_OUTPUT_COMMAND = 'O';
public static final int TS_OUTPUT_SIZE = 248;
public static final int TS_OUTPUT_SIZE = 288;
public static final char TS_PAGE_COMMAND = 'P';
public static final char TS_PERF_TRACE_BEGIN = 'r';
public static final char TS_PERF_TRACE_BEGIN = '_';
public static final char TS_PERF_TRACE_GET_BUFFER = 'b';
public static final String TS_PROTOCOL = "001";
public static final char TS_READ_COMMAND = 'R';
public static final int TS_RESPONSE_BURN_OK = 4;
public static final int TS_RESPONSE_COMMAND_OK = 7;
public static final int TS_RESPONSE_OK = 0;
public static final char TS_SD_R_COMMAND = 'r';
public static final char TS_SD_W_COMMAND = 'w';
public static final char TS_SET_LOGGER_SWITCH = 'l';
public static final String TS_SIGNATURE = "rusEFI 2020.07.30.all.3740911119";
public static final String TS_SIGNATURE = "rusEFI 2020.08.03.all.3223547782";
public static final char TS_SINGLE_WRITE_COMMAND = 'W';
public static final int tunerStudioSerialSpeed_offset = 728;
public static final int twoWireBatchIgnition_offset = 1476;
public static final int twoWireBatchInjection_offset = 1476;
public static final int uartConsoleSerialSpeed_offset = 2076;
public static final int un1used_former_warmup_target_afr_offset = 2109;
public static final int unused1059_offset = 3964;
public static final int unused1476b20_offset = 1476;
public static final int unused2432_offset = 2432;
@ -1331,7 +1335,7 @@ public class Fields {
public static final int unused_1484_bit_30_offset = 1476;
public static final int unused_1484_bit_31_offset = 1476;
public static final int unused_alFIn_offset = 4024;
public static final int unused_former_warmup_target_afr_offset = 2112;
public static final int unused_former_warmup_target_afr_offset = 2111;
public static final int unusedAt712_offset = 712;
public static final int unusedAt716_offset = 716;
public static final int unusedAt720_offset = 720;
@ -1507,7 +1511,7 @@ public class Fields {
public static final Field CYLINDERBORE = Field.create("CYLINDERBORE", 408, FieldType.FLOAT);
public static final Field SENSORSNIFFERRPMTHRESHOLD = Field.create("SENSORSNIFFERRPMTHRESHOLD", 412, FieldType.INT);
public static final Field RPMHARDLIMIT = Field.create("RPMHARDLIMIT", 416, FieldType.INT);
public static final String[] engine_load_mode_e = {"MAF", "Alpha-N/TPS", "INVALID", "Speed Density", "MAF Air Charge", "Alpha-N", "INVALID"};
public static final String[] engine_load_mode_e = {"INVALID", "Alpha-N/TPS", "INVALID", "Speed Density", "MAF Air Charge", "Alpha-N", "INVALID"};
public static final Field FUELALGORITHM = Field.create("FUELALGORITHM", 420, FieldType.INT, engine_load_mode_e);
public static final Field CRANKINGINJECTIONMODE = Field.create("CRANKINGINJECTIONMODE", 424, FieldType.INT);
public static final Field INJECTIONMODE = Field.create("INJECTIONMODE", 428, FieldType.INT);
@ -2164,6 +2168,8 @@ public class Fields {
public static final Field THROTTLEPEDALSECONDARYWOTVOLTAGE = Field.create("THROTTLEPEDALSECONDARYWOTVOLTAGE", 2104, FieldType.FLOAT);
public static final String[] can_baudrate_e = {"100kbps", "250kbps" , "500kbps", "1Mbps"};
public static final Field CANBAUDRATE = Field.create("CANBAUDRATE", 2108, FieldType.INT8, can_baudrate_e);
public static final Field UN1USED_FORMER_WARMUP_TARGET_AFR = Field.create("UN1USED_FORMER_WARMUP_TARGET_AFR", 2109, FieldType.INT8);
public static final Field CAN2BAUDRATE = Field.create("CAN2BAUDRATE", 2110, FieldType.INT8, can_baudrate_e);
public static final Field BOOSTCUTPRESSURE = Field.create("BOOSTCUTPRESSURE", 2132, FieldType.FLOAT);
public static final Field FSIOADC1 = Field.create("FSIOADC1", 2200, FieldType.INT8, adc_channel_e);
public static final Field FSIOADC2 = Field.create("FSIOADC2", 2201, FieldType.INT8, adc_channel_e);
@ -3146,6 +3152,8 @@ public class Fields {
THROTTLEPEDALSECONDARYUPVOLTAGE,
THROTTLEPEDALSECONDARYWOTVOLTAGE,
CANBAUDRATE,
UN1USED_FORMER_WARMUP_TARGET_AFR,
CAN2BAUDRATE,
BOOSTCUTPRESSURE,
FSIOADC1,
FSIOADC2,

View File

@ -27,7 +27,7 @@ public class CurveData {
static CurveData processCurve(String msqFileName, String loadSectionName, IniFileModel model, BufferedWriter w) throws IOException {
ArrayIniField field = (ArrayIniField) model.allIniFields.get(loadSectionName);
int curveSize = field.getRows();
BufferedReader r = TS2C.readAndScroll(msqFileName, loadSectionName);
BufferedReader r = TS2C.readAndScroll(msqFileName, loadSectionName + "\"");
float[] curve = new float[curveSize];
readAxle(curve, r);

View File

@ -75,8 +75,10 @@ public class TS2C {
BufferedReader r = readAndScroll(msqFileName, tableName);
readTable(table, r);
w.write("static const float hardCoded" + tableName + "[" + size + "][" + size + "] = {\n");
writeTable(w, (loadIndex, rpmIndex) -> table[loadIndex][rpmIndex]);
w.write("\r\n\r\n");
w.write("};\n\n");
}
w.write(FINGER_PRINT);
@ -85,7 +87,7 @@ public class TS2C {
w.write("\tMEMCPY(config->" + rpmSectionName + ", hardCoded" + rpmSectionName + ");\n");
if (!tableName.equalsIgnoreCase("none")) {
w.write("\tMEMCPY(config->" + tableName + ", hardCoded" + tableName + ");\n");
}

View File

@ -16,6 +16,10 @@ public class TS2CRunner {
TS2C.main(new String[]{tuneFileName, "crankingFuelBins", "crankingFuelCoef"});
TS2C.main(new String[]{tuneFileName, "iacCoastingBins", "iacCoasting"});
TS2C.main(new String[]{tuneFileName, "cltFuelCorrBins", "cltFuelCorr"});
TS2C.main(new String[]{tuneFileName, "veLoadBins", "veRpmBins", "veTable"});
TS2C.main(new String[]{tuneFileName, "ignitionLoadBins", "ignitionRpmBins", "ignitionTable"});
// TS2C.main(new String[]{tuneFileName, "afrLoadBins", "afrRpmBins", "afrTable"});
// TS2C.main(new String[]{tuneFileName, "fuelLoadBins", "fuelRpmBins", "fuelTable"});

View File

@ -1,6 +1,6 @@
<roms>
<!-- was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh Thu Jul 30 19:34:59 UTC 2020 -->
<!-- was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh Mon Aug 03 02:06:24 UTC 2020 -->
<rom>
<romid>

BIN
java_console/test_log.mlg.Z Normal file

Binary file not shown.

View File

@ -18,7 +18,7 @@ public class PresetsPane {
private static final int MINIMAL_PINS = 99;
private final UIContext uiContext;
private JPanel content = new JPanel(new GridLayout(2, 4));
private final JPanel content = new JPanel(new GridLayout(4, 5));
public PresetsPane(UIContext uiContext) {
this.uiContext = uiContext;

Some files were not shown because too many files have changed in this diff Show More