Merge remote-tracking branch 'upstream/master' into remove-plain-maf
This commit is contained in:
commit
978fa20916
|
@ -1,7 +1,7 @@
|
|||
#include "global.h"
|
||||
#include "rusefi_enums.h"
|
||||
#include "rusefi_hw_enums.h"
|
||||
// was generated automatically by rusEfi tool from rusefi_hw_enums.h // was generated automatically by rusEfi tool from rusefi_enums.h // by enum2string.jar tool on Sat Jul 04 21:11:33 EDT 2020
|
||||
// was generated automatically by rusEfi tool from rusefi_hw_enums.h // was generated automatically by rusEfi tool from rusefi_enums.h // by enum2string.jar tool on Wed Jul 29 15:37:24 EDT 2020
|
||||
// see also gen_config_and_enums.bat
|
||||
|
||||
|
||||
|
@ -587,16 +587,14 @@ const char *getEngine_load_mode_e(engine_load_mode_e value){
|
|||
switch(value) {
|
||||
case Force_4_bytes_size_engine_load_mode:
|
||||
return "Force_4_bytes_size_engine_load_mode";
|
||||
case LM_ALPHA_N:
|
||||
return "LM_ALPHA_N";
|
||||
case LM_REAL_MAF:
|
||||
return "LM_REAL_MAF";
|
||||
case LM_SPEED_DENSITY:
|
||||
return "LM_SPEED_DENSITY";
|
||||
case LM_ALPHA_N_2:
|
||||
return "LM_ALPHA_N_2";
|
||||
case LM_MOCK:
|
||||
return "LM_MOCK";
|
||||
case LM_REAL_MAF:
|
||||
return "LM_REAL_MAF";
|
||||
case LM_SPEED_DENSITY:
|
||||
return "LM_SPEED_DENSITY";
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
@ -698,8 +696,10 @@ case MRE_BOARD_NEW_TEST:
|
|||
return "MRE_BOARD_NEW_TEST";
|
||||
case MRE_BOARD_OLD_TEST:
|
||||
return "MRE_BOARD_OLD_TEST";
|
||||
case MRE_MIATA_NA6:
|
||||
return "MRE_MIATA_NA6";
|
||||
case MRE_MIATA_NA6_MAP:
|
||||
return "MRE_MIATA_NA6_MAP";
|
||||
case MRE_MIATA_NA6_VAF:
|
||||
return "MRE_MIATA_NA6_VAF";
|
||||
case MRE_MIATA_NB2_ETB:
|
||||
return "MRE_MIATA_NB2_ETB";
|
||||
case MRE_MIATA_NB2_MAF:
|
||||
|
@ -774,16 +774,16 @@ const char *getGppwm_channel_e(gppwm_channel_e value){
|
|||
switch(value) {
|
||||
case GPPWM_Clt:
|
||||
return "GPPWM_Clt";
|
||||
case GPPWM_FuelLoad:
|
||||
return "GPPWM_FuelLoad";
|
||||
case GPPWM_Iat:
|
||||
return "GPPWM_Iat";
|
||||
case GPPWM_IgnLoad:
|
||||
return "GPPWM_IgnLoad";
|
||||
case GPPWM_Map:
|
||||
return "GPPWM_Map";
|
||||
case GPPWM_Tps:
|
||||
return "GPPWM_Tps";
|
||||
case GPPWM_FuelLoad:
|
||||
return "GPPWM_FuelLoad";
|
||||
case GPPWM_IgnLoad:
|
||||
return "GPPWM_IgnLoad";
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Tue Jul 28 13:12:25 UTC 2020
|
||||
// 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
|
||||
// by class com.rusefi.output.CHeaderConsumer
|
||||
// begin
|
||||
#pragma once
|
||||
|
@ -3533,4 +3533,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 Tue Jul 28 13:12:25 UTC 2020
|
||||
// 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
|
||||
|
|
|
@ -332,7 +332,8 @@
|
|||
#define ET_FRANKENSO_MIATA_NA6_VAF 57
|
||||
#define ET_FRANKENSO_MIATA_NB2 47
|
||||
#define ET_MRE_DEFAULTS 60
|
||||
#define ET_MRE_MIATA_NA6 12
|
||||
#define ET_MRE_MIATA_NA6_MAP 66
|
||||
#define ET_MRE_MIATA_NA6_VAF 12
|
||||
#define ET_MRE_MIATA_NB2_MAF 15
|
||||
#define ET_MRE_MIATA_NB2_MAP 11
|
||||
#define ET_MRE_NEW_TEST_BOARD 31
|
||||
|
@ -590,6 +591,7 @@
|
|||
#define GAUGE_NAME_TIME "Time"
|
||||
#define GAUGE_NAME_TIMING_ADVANCE "timing"
|
||||
#define GAUGE_NAME_TPS "TPS"
|
||||
#define GAUGE_NAME_TPS2 "TPS2"
|
||||
#define GAUGE_NAME_TRG_ERR "trg err"
|
||||
#define GAUGE_NAME_VBAT "VBatt"
|
||||
#define GAUGE_NAME_VERSION "firmware"
|
||||
|
@ -1075,8 +1077,8 @@
|
|||
#define showHumanReadableWarning_offset 976
|
||||
#define showSdCardWarning_offset 76
|
||||
#define SIGNATURE_BOARD kin
|
||||
#define SIGNATURE_DATE 2020.07.28
|
||||
#define SIGNATURE_HASH 2529711359
|
||||
#define SIGNATURE_DATE 2020.07.30
|
||||
#define SIGNATURE_HASH 331815573
|
||||
#define silentTriggerError_offset 1464
|
||||
#define slowAdcAlpha_offset 2088
|
||||
#define sparkDwellRpmBins_offset 332
|
||||
|
@ -1344,7 +1346,7 @@
|
|||
#define ts_show_spi true
|
||||
#define ts_show_trigger_comparator true
|
||||
#define ts_show_tunerstudio_port true
|
||||
#define TS_SIGNATURE "rusEFI 2020.07.28.kin.2529711359"
|
||||
#define TS_SIGNATURE "rusEFI 2020.07.30.kin.331815573"
|
||||
#define TS_SINGLE_WRITE_COMMAND 'W'
|
||||
#define tunerStudioSerialSpeed_offset 728
|
||||
#define twoWireBatchIgnition_offset 1476
|
||||
|
|
|
@ -125,7 +125,7 @@ void setEngineBMW_M73_microRusEfi(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
CONFIG(crankingTimingAngle) = 15;
|
||||
|
||||
// I am too lazy to add MAP sensor
|
||||
engineConfiguration->fuelAlgorithm = LM_ALPHA_N;
|
||||
engineConfiguration->fuelAlgorithm = LM_ALPHA_N_2;
|
||||
|
||||
// set cranking_fuel 15
|
||||
engineConfiguration->cranking.baseFuel = 15;
|
||||
|
|
|
@ -95,7 +95,7 @@ void setCitroenBerlingoTU3JPConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
/**
|
||||
* Algorithm Alpha-N setting
|
||||
*/
|
||||
setAlgorithm(LM_ALPHA_N PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
setAlgorithm(LM_ALPHA_N_2 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
setFuelLoadBin(0, 100 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
setFuelRpmBin(800, 7000 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
setTimingRpmBin(800, 7000 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
|
@ -208,11 +208,11 @@ void setCitroenBerlingoTU3JPConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
// engineConfiguration->mafAdcChannel = GPIO_UNASSIGNED;
|
||||
|
||||
#if DEFAULT_FUEL_LOAD_COUNT == FUEL_LOAD_COUNT
|
||||
copyFuelTable(tps_fuel_table, config->fuelTable);
|
||||
MEMCPY(config->fuelTable, tps_fuel_table);
|
||||
#endif
|
||||
|
||||
#if IGN_LOAD_COUNT == DEFAULT_IGN_LOAD_COUNT
|
||||
copyTimingTable(default_tps_advance_table, config->ignitionTable);
|
||||
MEMCPY(config->ignitionTable, default_tps_advance_table);
|
||||
#endif
|
||||
|
||||
engineConfiguration->dizzySparkOutputPin = GPIOE_3;
|
||||
|
|
|
@ -147,7 +147,7 @@ void setDodgeNeon1995EngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
|
||||
engineConfiguration->trigger.type = TT_DODGE_NEON_1995;
|
||||
|
||||
engineConfiguration->fuelAlgorithm = LM_ALPHA_N;
|
||||
engineConfiguration->fuelAlgorithm = LM_ALPHA_N_2;
|
||||
|
||||
// engineConfiguration->spi2SckMode = PAL_STM32_OTYPE_OPENDRAIN; // 4
|
||||
// engineConfiguration->spi2MosiMode = PAL_STM32_OTYPE_OPENDRAIN; // 4
|
||||
|
@ -276,15 +276,15 @@ void setDodgeNeonNGCEngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
* set_whole_fuel_map 12
|
||||
*/
|
||||
//setWholeFuelMap(12 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
// copyFuelTable(alphaNfuel, config->fuelTable);
|
||||
// MEMCPY(config->fuelTable, alphaNfuel);
|
||||
//setWholeTimingTable_d(12 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
#if IGN_LOAD_COUNT == DEFAULT_IGN_LOAD_COUNT
|
||||
copyTimingTable(fromODB, config->ignitionTable);
|
||||
MEMCPY(config->ignitionTable, fromODB);
|
||||
#endif
|
||||
|
||||
copy2DTable<FSIO_TABLE_8, FSIO_TABLE_8, float, float>(vBattTarget, config->fsioTable1);
|
||||
|
||||
copyFuelTable(veDodgeNeon2003Table, config->veTable);
|
||||
MEMCPY(config->veTable, veDodgeNeon2003Table);
|
||||
//setMap(config->veTable, 50);
|
||||
|
||||
// set cranking_charge_angle 70
|
||||
|
@ -299,8 +299,6 @@ void setDodgeNeonNGCEngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
*/
|
||||
engineConfiguration->injector.flow = 199;
|
||||
|
||||
//engineConfiguration->fuelAlgorithm = LM_ALPHA_N; // I want to start with a simple Alpha-N
|
||||
|
||||
setFuelLoadBin(0, 100 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
setLinearCurve(config->ignitionLoadBins, 20, 120, 1);
|
||||
|
||||
|
|
|
@ -78,10 +78,10 @@ static void setDefaultAspireMaps(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
setTimingRpmBin(800, 7000 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
|
||||
#if DEFAULT_FUEL_LOAD_COUNT == FUEL_LOAD_COUNT
|
||||
copyFuelTable(default_aspire_fuel_table, config->fuelTable);
|
||||
MEMCPY(config->fuelTable, default_aspire_fuel_table);
|
||||
#endif
|
||||
#if IGN_LOAD_COUNT == DEFAULT_IGN_LOAD_COUNT
|
||||
copyTimingTable(default_aspire_timing_table, config->ignitionTable);
|
||||
MEMCPY(config->ignitionTable, default_aspire_timing_table);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
@ -108,7 +108,7 @@ void setFordEscortGt(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
copyArray(config->veRpmBins, veRpmBins);
|
||||
|
||||
|
||||
copyFuelTable(racingFestivaVeTable, config->veTable);
|
||||
MEMCPY(config->veTable, racingFestivaVeTable);
|
||||
|
||||
// engineConfiguration->triggerInputPins[0] = GPIOC_6; // 2G YEL/BLU
|
||||
// engineConfiguration->triggerInputPins[1] = GPIOA_5; // 2E White CKP
|
||||
|
@ -279,7 +279,7 @@ void setFordEscortGt(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
copyArray(config->ignitionRpmBins, ignitionRpmBins);
|
||||
|
||||
#if IGN_LOAD_COUNT == DEFAULT_IGN_LOAD_COUNT
|
||||
copyTimingTable(racingFestivaIgnitionTable, config->ignitionTable);
|
||||
MEMCPY(config->ignitionTable, racingFestivaIgnitionTable);
|
||||
#endif
|
||||
|
||||
engineConfiguration->tpsAccelEnrichmentThreshold = 40;
|
||||
|
|
|
@ -56,17 +56,16 @@ static void setDefaultCustomMaps(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
setTimingLoadBin(0,100 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
setTimingRpmBin(0,7000 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
|
||||
copyFuelTable(default_custom_fuel_table, config->fuelTable);
|
||||
copyFuelTable(default_custom_fuel_table, config->veTable);
|
||||
MEMCPY(config->fuelTable, default_custom_fuel_table);
|
||||
#if IGN_LOAD_COUNT == DEFAULT_IGN_LOAD_COUNT
|
||||
copyTimingTable(default_custom_timing_table, config->ignitionTable);
|
||||
MEMCPY(config->ignitionTable, default_custom_timing_table);
|
||||
#endif
|
||||
}
|
||||
|
||||
void setHonda600(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||
setDefaultFrankensoConfiguration(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
engineConfiguration->trigger.type = TT_HONDA_CBR_600_CUSTOM;
|
||||
engineConfiguration->fuelAlgorithm = LM_ALPHA_N;
|
||||
engineConfiguration->fuelAlgorithm = LM_ALPHA_N_2;
|
||||
|
||||
// upside down wiring
|
||||
engineConfiguration->triggerInputPins[0] = GPIOA_5;
|
||||
|
@ -150,7 +149,7 @@ void setHonda600(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->injectionPins[3] = GPIOB_8; // #4
|
||||
|
||||
setDefaultCustomMaps(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
setAlgorithm(LM_ALPHA_N PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
setAlgorithm(LM_ALPHA_N_2 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
|
||||
engineConfiguration->injectionPins[4] = GPIO_UNASSIGNED;
|
||||
engineConfiguration->injectionPins[5] = GPIO_UNASSIGNED;
|
||||
|
|
|
@ -243,11 +243,11 @@ static void setMiata1994_common(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->crankingChargeAngle = 70;
|
||||
|
||||
#if DEFAULT_FUEL_LOAD_COUNT == FUEL_LOAD_COUNT
|
||||
copyFuelTable(miataNA8_maf_fuel_table, config->fuelTable);
|
||||
MEMCPY(config->fuelTable, miataNA8_maf_fuel_table);
|
||||
#endif
|
||||
|
||||
#if IGN_LOAD_COUNT == DEFAULT_IGN_LOAD_COUNT
|
||||
copyTimingTable(miataNA8_maf_advance_table, config->ignitionTable);
|
||||
MEMCPY(config->ignitionTable, miataNA8_maf_advance_table);
|
||||
#endif
|
||||
|
||||
// engineConfiguration->triggerSimulatorPins[0] = GPIOD_2; // 2G - YEL/BLU
|
||||
|
@ -335,10 +335,10 @@ void setMiata1996(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->specs.displacement = 1.839;
|
||||
|
||||
#if DEFAULT_FUEL_LOAD_COUNT == FUEL_LOAD_COUNT
|
||||
copyFuelTable(miataNA8_maf_fuel_table, config->fuelTable);
|
||||
MEMCPY(config->fuelTable, miataNA8_maf_fuel_table);
|
||||
#endif
|
||||
#if IGN_LOAD_COUNT == DEFAULT_IGN_LOAD_COUNT
|
||||
copyTimingTable(miataNA8_maf_advance_table, config->ignitionTable);
|
||||
MEMCPY(config->ignitionTable, miataNA8_maf_advance_table);
|
||||
#endif
|
||||
|
||||
// upside down
|
||||
|
|
|
@ -19,8 +19,65 @@
|
|||
|
||||
EXTERN_CONFIG;
|
||||
|
||||
// todo:
|
||||
// extern const float ve16RpmBins[FUEL_RPM_COUNT];
|
||||
// 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};
|
||||
|
||||
/* Generated by TS2C on Fri Jul 31 14:02:18 EDT 2020*/
|
||||
static void setMafDecodingBins(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||
MEMCPY(config->mafDecodingBins, hardCodedmafDecodingBins);
|
||||
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 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};
|
||||
|
||||
/* 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] = {
|
||||
|
@ -104,6 +161,7 @@ static void miataNAcommonEngineSettings(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->useOnlyRisingEdgeForTrigger = false;
|
||||
engineConfiguration->specs.cylindersCount = 4;
|
||||
engineConfiguration->specs.firingOrder = FO_1_3_4_2;
|
||||
engineConfiguration->compressionRatio = 9.1;
|
||||
|
||||
engineConfiguration->debugMode = DBG_TRIGGER_COUNTERS;
|
||||
|
||||
|
@ -111,9 +169,17 @@ static void miataNAcommonEngineSettings(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
setCommonNTCSensor(&engineConfiguration->iat, 2700);
|
||||
|
||||
#if IGN_LOAD_COUNT == DEFAULT_IGN_LOAD_COUNT
|
||||
copyTimingTable(mapBased16IgnitionTable, config->ignitionTable);
|
||||
MEMCPY(config->ignitionTable, mapBased16IgnitionTable);
|
||||
#endif
|
||||
|
||||
setCrankingCycleBins(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
setCrankingFuelBins(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
|
||||
setCltIdleCorrBins(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
setCltIdleRpmBins(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
setIacCoastingBins(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
setMafDecodingBins(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
|
||||
engineConfiguration->idle.solenoidFrequency = 160;
|
||||
engineConfiguration->ignitionMode = IM_WASTED_SPARK;
|
||||
}
|
||||
|
@ -133,10 +199,10 @@ void miataNAcommon(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
static void setMiataNA6_settings(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||
engineConfiguration->isFasterEngineSpinUpEnabled = true;
|
||||
|
||||
memcpy(config->veRpmBins, ve16RpmBins, sizeof(ve16RpmBins));
|
||||
memcpy(config->veLoadBins, ve16LoadBins, sizeof(ve16LoadBins));
|
||||
MEMCPY(config->veRpmBins, ve16RpmBins);
|
||||
MEMCPY(config->veLoadBins, ve16LoadBins);
|
||||
#if DEFAULT_FUEL_LOAD_COUNT == FUEL_LOAD_COUNT
|
||||
copyFuelTable(mapBased16VeTable, config->veTable);
|
||||
MEMCPY(config->veTable, mapBased16VeTable);
|
||||
#endif
|
||||
|
||||
setWholeFuelMap(6 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
|
@ -193,7 +259,7 @@ static void setMiataNA6_settings(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->tpsMax = 656; // convert 12to10 bit (ADC/4)
|
||||
|
||||
engineConfiguration->injectionMode = IM_BATCH;
|
||||
copyFuelTable(miataNA6_maf_fuel_table, config->fuelTable);
|
||||
MEMCPY(config->fuelTable, miataNA6_maf_fuel_table);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -304,6 +370,9 @@ void setMiataNA6_VAF_Frankenso(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
* set engine_type 12
|
||||
*/
|
||||
void setMiataNA6_VAF_MRE(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||
setMiataNA6_settings(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
miataNAcommonEngineSettings(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
|
||||
#if (BOARD_TLE8888_COUNT > 0)
|
||||
// idle.solenoidPin output is inherited from boards/microrusefi/board_configuration.cpp
|
||||
// CLT: "18 - AN temp 1"
|
||||
|
@ -346,7 +415,93 @@ void setMiataNA6_VAF_MRE(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->isHip9011Enabled = false;
|
||||
engineConfiguration->isSdCardEnabled = true;
|
||||
|
||||
setMiataNA6_settings(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
miataNAcommonEngineSettings(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
engineConfiguration->fuelAlgorithm = LM_PLAIN_MAF;
|
||||
#endif /* BOARD_TLE8888_COUNT */
|
||||
}
|
||||
|
||||
void setMiataNA6_MAP_MRE(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||
setMiataNA6_settings(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
miataNAcommonEngineSettings(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
|
||||
engineConfiguration->triggerInputPins[0] = GPIOA_5;
|
||||
engineConfiguration->triggerInputPins[1] = GPIOC_6;
|
||||
engineConfiguration->camInputs[0] = GPIO_UNASSIGNED;
|
||||
|
||||
engineConfiguration->silentTriggerError = true;
|
||||
engineConfiguration->fuelPumpPin = GPIO_UNASSIGNED;
|
||||
|
||||
|
||||
engineConfiguration->useIacTableForCoasting = true;
|
||||
engineConfiguration->idlePidDeactivationTpsThreshold = 90;
|
||||
|
||||
engineConfiguration->isVerboseIAC = true;
|
||||
|
||||
engineConfiguration->idleRpmPid.pFactor = 0.01;
|
||||
engineConfiguration->idleRpmPid.iFactor = 0.02;
|
||||
engineConfiguration->idle_antiwindupFreq = 0.1;
|
||||
engineConfiguration->idle_derivativeFilterLoss = 0.1;
|
||||
engineConfiguration->idleRpmPid.dFactor = 0.002;
|
||||
engineConfiguration->idleRpmPid.offset = 37;
|
||||
engineConfiguration->acIdleExtraOffset = 14;
|
||||
engineConfiguration->idleRpmPid.minValue = 30;
|
||||
engineConfiguration->acIdleExtraMin = 14;
|
||||
engineConfiguration->idleRpmPid.minValue = 70;
|
||||
engineConfiguration->idleRpmPid.periodMs = 40;
|
||||
engineConfiguration->idlerpmpid_iTermMin = -6;
|
||||
engineConfiguration->idlerpmpid_iTermMax = 30;
|
||||
engineConfiguration->pidExtraForLowRpm = 25;
|
||||
engineConfiguration->idlePidRpmDeadZone = 25;
|
||||
engineConfiguration->idlePidRpmUpperLimit = 1000;
|
||||
|
||||
|
||||
engineConfiguration->useFSIO12ForIdleOffset = true;
|
||||
setFsioExpression(QUOTE(MAGIC_OFFSET_FOR_IDLE_OFFSET), "ac_on_switch 0 cfg_acIdleExtraOffset if" PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
|
||||
engineConfiguration->useFSIO13ForIdleMinValue = true;
|
||||
setFsioExpression(QUOTE(MAGIC_OFFSET_FOR_IDLE_MIN_VALUE), "ac_on_switch 0 cfg_acIdleExtraMin if" PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
|
||||
|
||||
engineConfiguration->useIdleTimingPidControl = true;
|
||||
engineConfiguration->idleTimingPid.pFactor = 0.05;
|
||||
engineConfiguration->idleTimingPid.iFactor = 0.0;
|
||||
engineConfiguration->idleTimingPid.dFactor = 0.0;
|
||||
engineConfiguration->idleTimingPid.minValue = -13;
|
||||
engineConfiguration->idleTimingPid.maxValue = 13;
|
||||
engineConfiguration->idleTimingPid.periodMs = 8;
|
||||
engineConfiguration->idleTimingPidWorkZone = 150;
|
||||
engineConfiguration->idlePidFalloffDeltaRpm = 50;
|
||||
engineConfiguration->idleTimingPidDeadZone = 10;
|
||||
|
||||
|
||||
// EFI_ADC_3: "22 - AN temp 4"
|
||||
engineConfiguration->acSwitchAdc = EFI_ADC_3;
|
||||
|
||||
engineConfiguration->warningLedPin = GPIOD_13;
|
||||
engineConfiguration->triggerErrorPin = GPIOE_1;
|
||||
|
||||
// todo: ask Stefan to clarify this
|
||||
engineConfiguration->tps1_1AdcChannel = EFI_ADC_6; // "26 - AN volt 2"
|
||||
engineConfiguration->tpsMin = 0;
|
||||
engineConfiguration->tpsMax = 982;
|
||||
|
||||
engineConfiguration->map.sensor.hwChannel = EFI_ADC_13; // "20 - AN volt 5"
|
||||
|
||||
engineConfiguration->mafAdcChannel = EFI_ADC_10;// "27 - AN volt 1"
|
||||
|
||||
#if (BOARD_TLE8888_COUNT > 0)
|
||||
// GPIOG_1: "Clutch Switch"
|
||||
engineConfiguration->clutchDownPin = GPIOG_1;
|
||||
|
||||
engineConfiguration->fanPin = GPIO_UNASSIGNED;
|
||||
|
||||
|
||||
// TLE8888_PIN_23: "33 - GP Out 3"
|
||||
engineConfiguration->malfunctionIndicatorPin = TLE8888_PIN_23;
|
||||
|
||||
// GPIOA_15: "AUX J2 PA15"
|
||||
engineConfiguration->fsioOutputPins[0] = GPIOA_15;
|
||||
// TLE8888_PIN_24: "43 - GP Out 4"
|
||||
engineConfiguration->fsioOutputPins[1] = TLE8888_PIN_24;
|
||||
|
||||
#endif /* BOARD_TLE8888_COUNT */
|
||||
}
|
||||
|
|
|
@ -20,4 +20,5 @@ void setMiataNA6_MAP_Frankenso(DECLARE_CONFIG_PARAMETER_SIGNATURE);
|
|||
void miataNAcommon(DECLARE_CONFIG_PARAMETER_SIGNATURE);
|
||||
|
||||
void setMiataNA6_VAF_MRE(DECLARE_CONFIG_PARAMETER_SIGNATURE);
|
||||
void setMiataNA6_MAP_MRE(DECLARE_CONFIG_PARAMETER_SIGNATURE);
|
||||
|
||||
|
|
|
@ -112,15 +112,15 @@ void setMazdaMiata2003EngineConfigurationNaFuelRail(DECLARE_CONFIG_PARAMETER_SIG
|
|||
config->fsioTable1[loadIndex][rpmIndex] = fsio_table_dyno[loadIndex][rpmIndex];
|
||||
}
|
||||
}
|
||||
memcpy(config->veRpmBins, mazda_miata_nb2_RpmBins, sizeof(mazda_miata_nb2_RpmBins));
|
||||
memcpy(config->veLoadBins, mazda_miata_nb2_LoadBins, sizeof(mazda_miata_nb2_LoadBins));
|
||||
copyFuelTable(mapBased18vvtVeTable_NA_fuel_rail, config->veTable);
|
||||
MEMCPY(config->veRpmBins, mazda_miata_nb2_RpmBins);
|
||||
MEMCPY(config->veLoadBins, mazda_miata_nb2_LoadBins);
|
||||
MEMCPY(config->veTable, mapBased18vvtVeTable_NA_fuel_rail);
|
||||
|
||||
engineConfiguration->vvtOffset = 83; // 2002 green car value
|
||||
|
||||
memcpy(config->afrRpmBins, mazda_miata_nb2_targetAfrRpmBins, sizeof(mazda_miata_nb2_targetAfrRpmBins));
|
||||
memcpy(config->afrLoadBins, mazda_miata_nb2_targetAfrLoadBins, sizeof(mazda_miata_nb2_targetAfrLoadBins));
|
||||
copyTargetAfrTable(target_AFR_hunchback, config->afrTable);
|
||||
MEMCPY(config->afrRpmBins, mazda_miata_nb2_targetAfrRpmBins);
|
||||
MEMCPY(config->afrLoadBins, mazda_miata_nb2_targetAfrLoadBins);
|
||||
MEMCPY(config->afrTable, target_AFR_hunchback);
|
||||
|
||||
engineConfiguration->ignitionPins[2] = GPIOC_7;
|
||||
|
||||
|
|
|
@ -335,14 +335,14 @@ static void setMazdaMiataEngineNB2Defaults(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->vvtMode = MIATA_NB2;
|
||||
engineConfiguration->vvtOffset = 98; // 2003 red car value
|
||||
|
||||
memcpy(config->veRpmBins, mazda_miata_nb2_RpmBins, sizeof(mazda_miata_nb2_RpmBins));
|
||||
memcpy(config->veLoadBins, mazda_miata_nb2_LoadBins, sizeof(mazda_miata_nb2_LoadBins));
|
||||
copyFuelTable(mapBased18vvtVeTable_NB_fuel_rail, config->veTable);
|
||||
MEMCPY(config->veRpmBins, mazda_miata_nb2_RpmBins);
|
||||
MEMCPY(config->veLoadBins, mazda_miata_nb2_LoadBins);
|
||||
MEMCPY(config->veTable, mapBased18vvtVeTable_NB_fuel_rail);
|
||||
|
||||
memcpy(config->ignitionRpmBins, ignition18vvtRpmBins, sizeof(ignition18vvtRpmBins));
|
||||
memcpy(config->ignitionLoadBins, ignition18vvtLoadBins, sizeof(ignition18vvtLoadBins));
|
||||
MEMCPY(config->ignitionRpmBins, ignition18vvtRpmBins);
|
||||
MEMCPY(config->ignitionLoadBins, ignition18vvtLoadBins);
|
||||
#if IGN_LOAD_COUNT == DEFAULT_IGN_LOAD_COUNT
|
||||
copyTimingTable(mapBased18vvtTimingTable, config->ignitionTable);
|
||||
MEMCPY(config->ignitionTable, mapBased18vvtTimingTable);
|
||||
#endif
|
||||
|
||||
setMazdaNB2VVTSettings(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
|
|
|
@ -94,9 +94,11 @@ void vag_18_Turbo(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
|||
engineConfiguration->is_enabled_spi_1 = true;
|
||||
engineConfiguration->is_enabled_spi_3 = false;
|
||||
|
||||
#if EFI_CJ125
|
||||
cj125defaultPinout(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
engineConfiguration->cj125ur = EFI_ADC_11; // PC3
|
||||
engineConfiguration->cj125CsPin = GPIOB_11;
|
||||
#endif
|
||||
|
||||
engineConfiguration->debugMode = DBG_CJ125;
|
||||
|
||||
|
|
|
@ -17,6 +17,7 @@ static const LogField fields[] = {
|
|||
{tsOutputChannels.coolantTemperature, GAUGE_NAME_CLT, "C", 1},
|
||||
{tsOutputChannels.intakeAirTemperature, GAUGE_NAME_IAT, "C", 1},
|
||||
{tsOutputChannels.throttlePosition, GAUGE_NAME_TPS, "%", 2},
|
||||
{tsOutputChannels.throttle2Position, GAUGE_NAME_TPS2, "%", 2},
|
||||
{tsOutputChannels.pedalPosition, GAUGE_NAME_THROTTLE_PEDAL, "%", 2},
|
||||
{tsOutputChannels.manifoldAirPressure, GAUGE_NAME_MAP, "kPa", 1},
|
||||
{tsOutputChannels.airFuelRatio, GAUGE_NAME_AFR, "afr", 2},
|
||||
|
|
|
@ -323,7 +323,7 @@ expected<percent_t> EtbController::getClosedLoopAutotune(percent_t actualThrottl
|
|||
return autotuneAmplitude * (isPositive ? -1 : 1);
|
||||
}
|
||||
|
||||
expected<percent_t> EtbController::getClosedLoop(percent_t target, percent_t actualThrottlePosition) {
|
||||
expected<percent_t> EtbController::getClosedLoop(percent_t target, percent_t observation) {
|
||||
if (m_shouldResetPid) {
|
||||
m_pid.reset();
|
||||
m_shouldResetPid = false;
|
||||
|
@ -333,16 +333,16 @@ expected<percent_t> EtbController::getClosedLoop(percent_t target, percent_t act
|
|||
if (m_myIndex == 0) {
|
||||
#if EFI_TUNER_STUDIO
|
||||
// Error is positive if the throttle needs to open further
|
||||
tsOutputChannels.etb1Error = target - actualThrottlePosition;
|
||||
tsOutputChannels.etb1Error = target - observation;
|
||||
#endif /* EFI_TUNER_STUDIO */
|
||||
}
|
||||
|
||||
// Only allow autotune with stopped engine
|
||||
if (GET_RPM() == 0 && engine->etbAutoTune) {
|
||||
return getClosedLoopAutotune(actualThrottlePosition);
|
||||
return getClosedLoopAutotune(observation);
|
||||
} else {
|
||||
// Normal case - use PID to compute closed loop part
|
||||
return m_pid.getOutput(target, actualThrottlePosition, 1.0f / ETB_LOOP_FREQUENCY);
|
||||
return m_pid.getOutput(target, observation, 1.0f / ETB_LOOP_FREQUENCY);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -55,7 +55,7 @@ public:
|
|||
expected<percent_t> getSetpoint() const override;
|
||||
|
||||
expected<percent_t> getOpenLoop(percent_t target) const override;
|
||||
expected<percent_t> getClosedLoop(percent_t setpoint, percent_t target) override;
|
||||
expected<percent_t> getClosedLoop(percent_t setpoint, percent_t observation) override;
|
||||
expected<percent_t> getClosedLoopAutotune(percent_t actualThrottlePosition);
|
||||
|
||||
void setOutput(expected<percent_t> outputValue) override;
|
||||
|
|
|
@ -54,11 +54,11 @@ private:
|
|||
/**
|
||||
* Used for Fractional TPS enrichment.
|
||||
*/
|
||||
floatms_t accumulatedValue;
|
||||
floatms_t maxExtraPerCycle;
|
||||
floatms_t maxExtraPerPeriod;
|
||||
floatms_t maxInjectedPerPeriod;
|
||||
int cycleCnt;
|
||||
floatms_t accumulatedValue = 0;
|
||||
floatms_t maxExtraPerCycle = 0;
|
||||
floatms_t maxExtraPerPeriod = 0;
|
||||
floatms_t maxInjectedPerPeriod = 0;
|
||||
int cycleCnt = 0;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -278,8 +278,8 @@ size_t getMultiSparkCount(int rpm DECLARE_ENGINE_PARAMETER_SUFFIX) {
|
|||
void setDefaultIatTimingCorrection(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
||||
setLinearCurve(config->ignitionIatCorrLoadBins, /*from*/CLT_CURVE_RANGE_FROM, 110, 1);
|
||||
#if IGN_LOAD_COUNT == DEFAULT_IGN_LOAD_COUNT
|
||||
memcpy(config->ignitionIatCorrRpmBins, iatTimingRpmBins, sizeof(iatTimingRpmBins));
|
||||
copyTimingTable(defaultIatTiming, config->ignitionIatCorrTable);
|
||||
MEMCPY(config->ignitionIatCorrRpmBins, iatTimingRpmBins);
|
||||
MEMCPY(config->ignitionIatCorrTable, defaultIatTiming);
|
||||
#else
|
||||
setLinearCurve(config->ignitionIatCorrLoadBins, /*from*/0, 6000, 1);
|
||||
#endif /* IGN_LOAD_COUNT == DEFAULT_IGN_LOAD_COUNT */
|
||||
|
|
|
@ -12,7 +12,7 @@ struct AirmassResult {
|
|||
struct AirmassModelBase {
|
||||
DECLARE_ENGINE_PTR;
|
||||
|
||||
AirmassModelBase(const ValueProvider3D& veTable);
|
||||
explicit AirmassModelBase(const ValueProvider3D& veTable);
|
||||
virtual AirmassResult getAirmass(int rpm) = 0;
|
||||
|
||||
protected:
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
class AlphaNAirmass : public SpeedDensityBase {
|
||||
public:
|
||||
AlphaNAirmass(const ValueProvider3D& veTable) : SpeedDensityBase(veTable) {}
|
||||
explicit AlphaNAirmass(const ValueProvider3D& veTable) : SpeedDensityBase(veTable) {}
|
||||
|
||||
AirmassResult getAirmass(int rpm) override;
|
||||
};
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
class MafAirmass final : public AirmassModelBase {
|
||||
public:
|
||||
MafAirmass(const ValueProvider3D& veTable) : AirmassModelBase(veTable) {}
|
||||
explicit MafAirmass(const ValueProvider3D& veTable) : AirmassModelBase(veTable) {}
|
||||
|
||||
AirmassResult getAirmass(int rpm) override;
|
||||
|
||||
|
|
|
@ -4,6 +4,6 @@
|
|||
|
||||
class SpeedDensityAirmass : public SpeedDensityBase {
|
||||
public:
|
||||
SpeedDensityAirmass(const ValueProvider3D& veTable) : SpeedDensityBase(veTable) {}
|
||||
explicit SpeedDensityAirmass(const ValueProvider3D& veTable) : SpeedDensityBase(veTable) {}
|
||||
AirmassResult getAirmass(int rpm) override;
|
||||
};
|
||||
|
|
|
@ -15,7 +15,7 @@ float idealGasLaw(float volume, float pressure, float temperature);
|
|||
|
||||
class SpeedDensityBase : public AirmassModelBase {
|
||||
protected:
|
||||
SpeedDensityBase(const ValueProvider3D& veTable) : AirmassModelBase(veTable) {}
|
||||
explicit SpeedDensityBase(const ValueProvider3D& veTable) : AirmassModelBase(veTable) {}
|
||||
|
||||
public:
|
||||
static float getAirmassImpl(float ve, float manifoldPressure, float temperature DECLARE_ENGINE_PARAMETER_SUFFIX);
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#include "global.h"
|
||||
#include "rusefi_enums.h"
|
||||
#include "rusefi_hw_enums.h"
|
||||
// was generated automatically by rusEfi tool from rusefi_hw_enums.h // was generated automatically by rusEfi tool from rusefi_enums.h // by enum2string.jar tool on Sat Jul 04 21:11:32 EDT 2020
|
||||
// was generated automatically by rusEfi tool from rusefi_hw_enums.h // was generated automatically by rusEfi tool from rusefi_enums.h // by enum2string.jar tool on Wed Jul 29 15:37:22 EDT 2020
|
||||
// see also gen_config_and_enums.bat
|
||||
|
||||
|
||||
|
@ -725,16 +725,14 @@ const char *getEngine_load_mode_e(engine_load_mode_e value){
|
|||
switch(value) {
|
||||
case Force_4_bytes_size_engine_load_mode:
|
||||
return "Force_4_bytes_size_engine_load_mode";
|
||||
case LM_ALPHA_N:
|
||||
return "LM_ALPHA_N";
|
||||
case LM_REAL_MAF:
|
||||
return "LM_REAL_MAF";
|
||||
case LM_SPEED_DENSITY:
|
||||
return "LM_SPEED_DENSITY";
|
||||
case LM_ALPHA_N_2:
|
||||
return "LM_ALPHA_N_2";
|
||||
case LM_MOCK:
|
||||
return "LM_MOCK";
|
||||
case LM_REAL_MAF:
|
||||
return "LM_REAL_MAF";
|
||||
case LM_SPEED_DENSITY:
|
||||
return "LM_SPEED_DENSITY";
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
@ -836,8 +834,10 @@ case MRE_BOARD_NEW_TEST:
|
|||
return "MRE_BOARD_NEW_TEST";
|
||||
case MRE_BOARD_OLD_TEST:
|
||||
return "MRE_BOARD_OLD_TEST";
|
||||
case MRE_MIATA_NA6:
|
||||
return "MRE_MIATA_NA6";
|
||||
case MRE_MIATA_NA6_MAP:
|
||||
return "MRE_MIATA_NA6_MAP";
|
||||
case MRE_MIATA_NA6_VAF:
|
||||
return "MRE_MIATA_NA6_VAF";
|
||||
case MRE_MIATA_NB2_ETB:
|
||||
return "MRE_MIATA_NB2_ETB";
|
||||
case MRE_MIATA_NB2_MAF:
|
||||
|
@ -912,16 +912,16 @@ const char *getGppwm_channel_e(gppwm_channel_e value){
|
|||
switch(value) {
|
||||
case GPPWM_Clt:
|
||||
return "GPPWM_Clt";
|
||||
case GPPWM_FuelLoad:
|
||||
return "GPPWM_FuelLoad";
|
||||
case GPPWM_Iat:
|
||||
return "GPPWM_Iat";
|
||||
case GPPWM_IgnLoad:
|
||||
return "GPPWM_IgnLoad";
|
||||
case GPPWM_Map:
|
||||
return "GPPWM_Map";
|
||||
case GPPWM_Tps:
|
||||
return "GPPWM_Tps";
|
||||
case GPPWM_FuelLoad:
|
||||
return "GPPWM_FuelLoad";
|
||||
case GPPWM_IgnLoad:
|
||||
return "GPPWM_IgnLoad";
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
|
|
@ -1257,9 +1257,12 @@ void resetConfigurationExt(Logging * logger, configuration_callback_t boardCallb
|
|||
case BMW_M73_PROTEUS:
|
||||
setEngineBMW_M73_Proteus(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
break;
|
||||
case MRE_MIATA_NA6:
|
||||
case MRE_MIATA_NA6_VAF:
|
||||
setMiataNA6_VAF_MRE(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
break;
|
||||
case MRE_MIATA_NA6_MAP:
|
||||
setMiataNA6_MAP_MRE(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
break;
|
||||
case MRE_MIATA_NB2_MAP:
|
||||
setMiataNB2_MRE_MAP(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||
break;
|
||||
|
@ -1512,33 +1515,6 @@ void setFrankenso0_1_joystick(engine_configuration_s *engineConfiguration) {
|
|||
engineConfiguration->joystickDPin = GPIOD_11;
|
||||
}
|
||||
|
||||
void copyTargetAfrTable(fuel_table_t const source, afr_table_t destination) {
|
||||
// todo: extract a template!
|
||||
for (int loadIndex = 0; loadIndex < FUEL_LOAD_COUNT; loadIndex++) {
|
||||
for (int rpmIndex = 0; rpmIndex < FUEL_RPM_COUNT; rpmIndex++) {
|
||||
destination[loadIndex][rpmIndex] = AFR_STORAGE_MULT * source[loadIndex][rpmIndex];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void copyFuelTable(fuel_table_t const source, fuel_table_t destination) {
|
||||
// todo: extract a template!
|
||||
for (int loadIndex = 0; loadIndex < FUEL_LOAD_COUNT; loadIndex++) {
|
||||
for (int rpmIndex = 0; rpmIndex < FUEL_RPM_COUNT; rpmIndex++) {
|
||||
destination[loadIndex][rpmIndex] = source[loadIndex][rpmIndex];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void copyTimingTable(ignition_table_t const source, ignition_table_t destination) {
|
||||
// todo: extract a template!
|
||||
for (int k = 0; k < IGN_LOAD_COUNT; k++) {
|
||||
for (int rpmIndex = 0; rpmIndex < IGN_RPM_COUNT; rpmIndex++) {
|
||||
destination[k][rpmIndex] = source[k][rpmIndex];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static const ConfigOverrides defaultConfigOverrides{};
|
||||
// This symbol is weak so that a board_configuration.cpp file can override it
|
||||
__attribute__((weak)) const ConfigOverrides& getConfigOverrides() {
|
||||
|
|
|
@ -39,7 +39,6 @@ void setWholeIatCorrTimingTable(float value DECLARE_CONFIG_PARAMETER_SUFFIX);
|
|||
void setWholeTimingTable_d(angle_t value DECLARE_CONFIG_PARAMETER_SUFFIX);
|
||||
#define setWholeTimingTable(x) setWholeTimingTable_d(x PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
void setConstantDwell(floatms_t dwellMs DECLARE_CONFIG_PARAMETER_SUFFIX);
|
||||
void printFloatArray(const char *prefix, float array[], int size);
|
||||
|
||||
// needed by bootloader
|
||||
void setDefaultBasePins(DECLARE_CONFIG_PARAMETER_SIGNATURE);
|
||||
|
@ -54,9 +53,7 @@ void incrementGlobalConfigurationVersion(DECLARE_ENGINE_PARAMETER_SIGNATURE);
|
|||
void commonFrankensoAnalogInputs(engine_configuration_s *engineConfiguration);
|
||||
void setFrankenso0_1_joystick(engine_configuration_s *engineConfiguration);
|
||||
|
||||
void copyTargetAfrTable(fuel_table_t const source, afr_table_t destination);
|
||||
void copyFuelTable(fuel_table_t const source, fuel_table_t destination);
|
||||
void copyTimingTable(ignition_table_t const source, ignition_table_t destination);
|
||||
#define MEMCPY(dest, src) {memcpy(dest, src, sizeof(src));}
|
||||
|
||||
void emptyCallbackWithConfiguration(engine_configuration_s * engine);
|
||||
void setDefaultFrankensoConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE);
|
||||
|
|
|
@ -37,7 +37,7 @@ public:
|
|||
Accelerometer accelerometer;
|
||||
|
||||
float vBatt = 0;
|
||||
float currentAfr;
|
||||
float currentAfr = 0;
|
||||
/**
|
||||
* that's fuel in tank - just a gauge
|
||||
*/
|
||||
|
@ -131,7 +131,7 @@ private:
|
|||
|
||||
struct multispark_state
|
||||
{
|
||||
efitick_t delay;
|
||||
efitick_t dwell;
|
||||
uint8_t count;
|
||||
efitick_t delay = 0;
|
||||
efitick_t dwell = 0;
|
||||
uint8_t count = 0;
|
||||
};
|
||||
|
|
|
@ -107,12 +107,12 @@ public:
|
|||
* Desired timing advance
|
||||
*/
|
||||
angle_t sparkAngle = NAN;
|
||||
floatms_t sparkDwell;
|
||||
floatms_t sparkDwell = 0;
|
||||
/**
|
||||
* this timestamp allows us to measure actual dwell time
|
||||
*/
|
||||
uint32_t actualStartOfDwellNt;
|
||||
event_trigger_position_s dwellPosition;
|
||||
uint32_t actualStartOfDwellNt = 0;
|
||||
event_trigger_position_s dwellPosition{};
|
||||
/**
|
||||
* Sequential number of currently processed spark event
|
||||
* @see globalSparkIdCounter
|
||||
|
|
|
@ -62,7 +62,7 @@ typedef enum {
|
|||
|
||||
MRE_MIATA_NB2_MAP = 11,
|
||||
|
||||
MRE_MIATA_NA6 = ET_MRE_MIATA_NA6,
|
||||
MRE_MIATA_NA6_VAF = ET_MRE_MIATA_NA6_VAF,
|
||||
|
||||
MRE_MIATA_NB2_ETB = 13,
|
||||
|
||||
|
@ -189,6 +189,9 @@ typedef enum {
|
|||
DODGE_RAM = 64,
|
||||
CITROEN_TU3JP = ET_CITROEN_TU3JP,
|
||||
|
||||
MRE_MIATA_NA6_MAP = ET_MRE_MIATA_NA6_MAP,
|
||||
|
||||
|
||||
/**
|
||||
* this configuration has as few pins configured as possible
|
||||
*/
|
||||
|
@ -424,10 +427,6 @@ typedef enum {
|
|||
* This enum is used to select your desired Engine Load calculation algorithm
|
||||
*/
|
||||
typedef enum {
|
||||
/**
|
||||
* Throttle Position Sensor value is used as engine load. http://en.wikipedia.org/wiki/Throttle_position_sensor
|
||||
*/
|
||||
LM_ALPHA_N = 1,
|
||||
/**
|
||||
* Speed Density algorithm - Engine Load is a function of MAP, VE and target AFR
|
||||
* http://articles.sae.org/8539/
|
||||
|
|
|
@ -182,11 +182,9 @@ void canDashboardVAG(void) {
|
|||
}
|
||||
|
||||
void canDashboardW202(void) {
|
||||
|
||||
uint16_t tmp;
|
||||
{
|
||||
CanTxMessage msg(W202_STAT_1);
|
||||
tmp = GET_RPM();
|
||||
uint16_t tmp = GET_RPM();
|
||||
msg[0] = 0x08; // Unknown
|
||||
msg[1] = (tmp >> 8); //RPM
|
||||
msg[2] = (tmp & 0xff); //RPM
|
||||
|
|
|
@ -614,7 +614,7 @@ static void setFsioSetting(float humanIndexF, float value) {
|
|||
#endif
|
||||
}
|
||||
|
||||
void setFsioExpression(const char *indexStr, const char *quotedLine DECLARE_ENGINE_PARAMETER_SUFFIX) {
|
||||
void setFsioExpression(const char *indexStr, const char *quotedLine DECLARE_CONFIG_PARAMETER_SUFFIX) {
|
||||
int index = atoi(indexStr) - 1;
|
||||
if (index < 0 || index >= FSIO_COMMAND_COUNT) {
|
||||
scheduleMsg(logger, "invalid FSIO index: %d", index);
|
||||
|
@ -628,6 +628,11 @@ void setFsioExpression(const char *indexStr, const char *quotedLine DECLARE_ENGI
|
|||
|
||||
scheduleMsg(logger, "setting user out #%d to [%s]", index + 1, l);
|
||||
strcpy(config->fsioFormulas[index], l);
|
||||
}
|
||||
|
||||
void applyFsioExpression(const char *indexStr, const char *quotedLine DECLARE_ENGINE_PARAMETER_SUFFIX) {
|
||||
setFsioExpression(indexStr, quotedLine PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
|
||||
// this would apply the changes
|
||||
applyFsioConfiguration(PASS_ENGINE_PARAMETER_SIGNATURE);
|
||||
showFsioInfo();
|
||||
|
@ -718,7 +723,7 @@ void initFsioImpl(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX) {
|
|||
#endif /* EFI_PROD_CODE */
|
||||
|
||||
#if EFI_PROD_CODE || EFI_SIMULATOR
|
||||
addConsoleActionSS("set_rpn_expression", setFsioExpression);
|
||||
addConsoleActionSS("set_rpn_expression", applyFsioExpression);
|
||||
addConsoleActionFF("set_fsio_setting", setFsioSetting);
|
||||
addConsoleAction("fsioinfo", showFsioInfo);
|
||||
addConsoleActionS("rpn_eval", (VoidCharPtr) rpnEval);
|
||||
|
|
|
@ -40,7 +40,8 @@ void setFsioExt(int index, brain_pin_e pin, const char * exp, int pwmFrequency D
|
|||
|
||||
void initFsioImpl(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX);
|
||||
void runFsio(DECLARE_ENGINE_PARAMETER_SIGNATURE);
|
||||
void setFsioExpression(const char *indexStr, const char *quotedLine DECLARE_ENGINE_PARAMETER_SUFFIX);
|
||||
void setFsioExpression(const char *indexStr, const char *quotedLine DECLARE_CONFIG_PARAMETER_SUFFIX);
|
||||
void applyFsioExpression(const char *indexStr, const char *quotedLine DECLARE_ENGINE_PARAMETER_SUFFIX);
|
||||
float getFsioOutputValue(int index DECLARE_ENGINE_PARAMETER_SUFFIX);
|
||||
void applyFsioConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE);
|
||||
void onConfigurationChangeFsioCallback(engine_configuration_s *previousConfiguration DECLARE_ENGINE_PARAMETER_SUFFIX);
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#pragma once
|
||||
#define VCS_DATE 20200729
|
||||
#define VCS_DATE 20200731
|
||||
|
|
|
@ -350,11 +350,11 @@ float getMap(void) {
|
|||
void initMapAveraging(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX) {
|
||||
logger = sharedLogger;
|
||||
|
||||
#if !EFI_UNIT_TEST
|
||||
#if EFI_SHAFT_POSITION_INPUT
|
||||
addTriggerEventListener(&mapAveragingTriggerCallback, "MAP averaging", engine);
|
||||
#endif /* EFI_SHAFT_POSITION_INPUT */
|
||||
|
||||
#if !EFI_UNIT_TEST
|
||||
addConsoleAction("faststat", showMapStats);
|
||||
#endif /* EFI_UNIT_TEST */
|
||||
|
||||
|
|
|
@ -358,7 +358,9 @@ void initRpmCalculator(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX) {
|
|||
return;
|
||||
}
|
||||
|
||||
#if !EFI_UNIT_TEST
|
||||
addTriggerEventListener(tdcMarkCallback, "chart TDC mark", engine);
|
||||
#endif
|
||||
|
||||
addTriggerEventListener(rpmShaftPositionCallback, "rpm reporter", engine);
|
||||
}
|
||||
|
|
|
@ -191,8 +191,6 @@ if (engineConfiguration->debugMode == DBG_DWELL_METRIC) {
|
|||
{
|
||||
event->sparksRemaining--;
|
||||
|
||||
efitick_t nowNt = getTimeNowNt();
|
||||
|
||||
efitick_t nextDwellStart = nowNt + engine->engineState.multispark.delay;
|
||||
efitick_t nextFiring = nextDwellStart + engine->engineState.multispark.dwell;
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jul 28 13:12:08 UTC 2020
|
||||
// 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
|
||||
// by class com.rusefi.output.CHeaderConsumer
|
||||
// begin
|
||||
#pragma once
|
||||
|
@ -3533,4 +3533,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 Tue Jul 28 13:12:08 UTC 2020
|
||||
// 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
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jul 28 13:12:08 UTC 2020
|
||||
// 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
|
||||
|
||||
// by class com.rusefi.output.FileFsioSettingsConsumer
|
||||
FSIO_SETTING_FANONTEMPERATURE = 1000,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jul 28 13:12:08 UTC 2020
|
||||
// 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
|
||||
|
||||
// by class com.rusefi.output.FileFsioSettingsConsumer
|
||||
case FSIO_SETTING_FANONTEMPERATURE:
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jul 28 13:12:08 UTC 2020
|
||||
// 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
|
||||
|
||||
// by class com.rusefi.output.FileFsioSettingsConsumer
|
||||
static LENameOrdinalPair lefanOnTemperature(FSIO_SETTING_FANONTEMPERATURE, "cfg_fanOnTemperature");
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jul 28 13:12:08 UTC 2020
|
||||
// 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
|
||||
|
||||
// by class com.rusefi.output.FileFsioSettingsConsumer
|
||||
case FSIO_SETTING_FANONTEMPERATURE:
|
||||
|
|
|
@ -332,7 +332,8 @@
|
|||
#define ET_FRANKENSO_MIATA_NA6_VAF 57
|
||||
#define ET_FRANKENSO_MIATA_NB2 47
|
||||
#define ET_MRE_DEFAULTS 60
|
||||
#define ET_MRE_MIATA_NA6 12
|
||||
#define ET_MRE_MIATA_NA6_MAP 66
|
||||
#define ET_MRE_MIATA_NA6_VAF 12
|
||||
#define ET_MRE_MIATA_NB2_MAF 15
|
||||
#define ET_MRE_MIATA_NB2_MAP 11
|
||||
#define ET_MRE_NEW_TEST_BOARD 31
|
||||
|
@ -590,6 +591,7 @@
|
|||
#define GAUGE_NAME_TIME "Time"
|
||||
#define GAUGE_NAME_TIMING_ADVANCE "timing"
|
||||
#define GAUGE_NAME_TPS "TPS"
|
||||
#define GAUGE_NAME_TPS2 "TPS2"
|
||||
#define GAUGE_NAME_TRG_ERR "trg err"
|
||||
#define GAUGE_NAME_VBAT "VBatt"
|
||||
#define GAUGE_NAME_VERSION "firmware"
|
||||
|
@ -1075,8 +1077,8 @@
|
|||
#define showHumanReadableWarning_offset 976
|
||||
#define showSdCardWarning_offset 76
|
||||
#define SIGNATURE_BOARD all
|
||||
#define SIGNATURE_DATE 2020.07.28
|
||||
#define SIGNATURE_HASH 1542883429
|
||||
#define SIGNATURE_DATE 2020.07.30
|
||||
#define SIGNATURE_HASH 3740911119
|
||||
#define silentTriggerError_offset 1464
|
||||
#define slowAdcAlpha_offset 2088
|
||||
#define sparkDwellRpmBins_offset 332
|
||||
|
@ -1344,7 +1346,7 @@
|
|||
#define ts_show_spi true
|
||||
#define ts_show_trigger_comparator false
|
||||
#define ts_show_tunerstudio_port true
|
||||
#define TS_SIGNATURE "rusEFI 2020.07.28.all.1542883429"
|
||||
#define TS_SIGNATURE "rusEFI 2020.07.30.all.3740911119"
|
||||
#define TS_SINGLE_WRITE_COMMAND 'W'
|
||||
#define tunerStudioSerialSpeed_offset 728
|
||||
#define twoWireBatchIgnition_offset 1476
|
||||
|
|
|
@ -3,6 +3,6 @@
|
|||
//
|
||||
|
||||
#define SIGNATURE_BOARD all
|
||||
#define SIGNATURE_DATE 2020.07.28
|
||||
#define SIGNATURE_HASH 1542883429
|
||||
#define TS_SIGNATURE "rusEFI 2020.07.28.all.1542883429"
|
||||
#define SIGNATURE_DATE 2020.07.30
|
||||
#define SIGNATURE_HASH 3740911119
|
||||
#define TS_SIGNATURE "rusEFI 2020.07.30.all.3740911119"
|
||||
|
|
|
@ -3,6 +3,6 @@
|
|||
//
|
||||
|
||||
#define SIGNATURE_BOARD frankenso_na6
|
||||
#define SIGNATURE_DATE 2020.07.28
|
||||
#define SIGNATURE_HASH 2238833798
|
||||
#define TS_SIGNATURE "rusEFI 2020.07.28.frankenso_na6.2238833798"
|
||||
#define SIGNATURE_DATE 2020.07.30
|
||||
#define SIGNATURE_HASH 8301292
|
||||
#define TS_SIGNATURE "rusEFI 2020.07.30.frankenso_na6.8301292"
|
||||
|
|
|
@ -3,6 +3,6 @@
|
|||
//
|
||||
|
||||
#define SIGNATURE_BOARD kin
|
||||
#define SIGNATURE_DATE 2020.07.28
|
||||
#define SIGNATURE_HASH 2529711359
|
||||
#define TS_SIGNATURE "rusEFI 2020.07.28.kin.2529711359"
|
||||
#define SIGNATURE_DATE 2020.07.30
|
||||
#define SIGNATURE_HASH 331815573
|
||||
#define TS_SIGNATURE "rusEFI 2020.07.30.kin.331815573"
|
||||
|
|
|
@ -3,6 +3,6 @@
|
|||
//
|
||||
|
||||
#define SIGNATURE_BOARD mre_f4
|
||||
#define SIGNATURE_DATE 2020.07.28
|
||||
#define SIGNATURE_HASH 302538475
|
||||
#define TS_SIGNATURE "rusEFI 2020.07.28.mre_f4.302538475"
|
||||
#define SIGNATURE_DATE 2020.07.30
|
||||
#define SIGNATURE_HASH 2533822593
|
||||
#define TS_SIGNATURE "rusEFI 2020.07.30.mre_f4.2533822593"
|
||||
|
|
|
@ -3,6 +3,6 @@
|
|||
//
|
||||
|
||||
#define SIGNATURE_BOARD mre_f7
|
||||
#define SIGNATURE_DATE 2020.07.28
|
||||
#define SIGNATURE_HASH 302538475
|
||||
#define TS_SIGNATURE "rusEFI 2020.07.28.mre_f7.302538475"
|
||||
#define SIGNATURE_DATE 2020.07.30
|
||||
#define SIGNATURE_HASH 2533822593
|
||||
#define TS_SIGNATURE "rusEFI 2020.07.30.mre_f7.2533822593"
|
||||
|
|
|
@ -3,6 +3,6 @@
|
|||
//
|
||||
|
||||
#define SIGNATURE_BOARD prometheus_405
|
||||
#define SIGNATURE_DATE 2020.07.28
|
||||
#define SIGNATURE_HASH 2934591713
|
||||
#define TS_SIGNATURE "rusEFI 2020.07.28.prometheus_405.2934591713"
|
||||
#define SIGNATURE_DATE 2020.07.30
|
||||
#define SIGNATURE_HASH 736435851
|
||||
#define TS_SIGNATURE "rusEFI 2020.07.30.prometheus_405.736435851"
|
||||
|
|
|
@ -3,6 +3,6 @@
|
|||
//
|
||||
|
||||
#define SIGNATURE_BOARD prometheus_469
|
||||
#define SIGNATURE_DATE 2020.07.28
|
||||
#define SIGNATURE_HASH 2934591713
|
||||
#define TS_SIGNATURE "rusEFI 2020.07.28.prometheus_469.2934591713"
|
||||
#define SIGNATURE_DATE 2020.07.30
|
||||
#define SIGNATURE_HASH 736435851
|
||||
#define TS_SIGNATURE "rusEFI 2020.07.30.prometheus_469.736435851"
|
||||
|
|
|
@ -3,6 +3,6 @@
|
|||
//
|
||||
|
||||
#define SIGNATURE_BOARD proteus_f4
|
||||
#define SIGNATURE_DATE 2020.07.28
|
||||
#define SIGNATURE_HASH 3597138346
|
||||
#define TS_SIGNATURE "rusEFI 2020.07.28.proteus_f4.3597138346"
|
||||
#define SIGNATURE_DATE 2020.07.30
|
||||
#define SIGNATURE_HASH 1399371712
|
||||
#define TS_SIGNATURE "rusEFI 2020.07.30.proteus_f4.1399371712"
|
||||
|
|
|
@ -3,6 +3,6 @@
|
|||
//
|
||||
|
||||
#define SIGNATURE_BOARD proteus_f7
|
||||
#define SIGNATURE_DATE 2020.07.28
|
||||
#define SIGNATURE_HASH 3597138346
|
||||
#define TS_SIGNATURE "rusEFI 2020.07.28.proteus_f7.3597138346"
|
||||
#define SIGNATURE_DATE 2020.07.30
|
||||
#define SIGNATURE_HASH 1399371712
|
||||
#define TS_SIGNATURE "rusEFI 2020.07.30.proteus_f7.1399371712"
|
||||
|
|
|
@ -67,7 +67,6 @@ float getEngineLoadT(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|||
switch (engineConfiguration->fuelAlgorithm) {
|
||||
case LM_SPEED_DENSITY:
|
||||
return getMap(PASS_ENGINE_PARAMETER_SIGNATURE);
|
||||
case LM_ALPHA_N:
|
||||
case LM_ALPHA_N_2:
|
||||
return Sensor::get(SensorType::Tps1).value_or(0);
|
||||
case LM_REAL_MAF:
|
||||
|
@ -439,9 +438,7 @@ void setTimingLoadBin(float from, float to DECLARE_CONFIG_PARAMETER_SUFFIX) {
|
|||
*/
|
||||
void setAlgorithm(engine_load_mode_e algo DECLARE_CONFIG_PARAMETER_SUFFIX) {
|
||||
engineConfiguration->fuelAlgorithm = algo;
|
||||
if (algo == LM_ALPHA_N) {
|
||||
setTimingLoadBin(20, 120 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
} else if (algo == LM_SPEED_DENSITY) {
|
||||
if (algo == LM_SPEED_DENSITY) {
|
||||
setLinearCurve(config->ignitionLoadBins, 20, 120, 3);
|
||||
buildTimingMap(35 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@ public:
|
|||
|
||||
private:
|
||||
// Steinhart-Hart coefficients
|
||||
float m_a;
|
||||
float m_b;
|
||||
float m_c;
|
||||
float m_a = 0;
|
||||
float m_b = 0;
|
||||
float m_c = 0;
|
||||
};
|
||||
|
|
|
@ -24,7 +24,7 @@ public:
|
|||
void showInfo(Logging* logger, const char* sensorName) const override;
|
||||
|
||||
private:
|
||||
SensorResult get() const {
|
||||
SensorResult get() const override {
|
||||
return Sensor::get(m_proxiedSensor);
|
||||
}
|
||||
|
||||
|
|
|
@ -51,7 +51,7 @@ bool Sensor::Register() {
|
|||
return false;
|
||||
} else {
|
||||
// put ourselves in the registry
|
||||
s_sensorRegistry[getIndex()].sensor = this;
|
||||
entry.sensor = this;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -60,25 +60,6 @@ static Logging logger("settings control", LOGGING_BUFFER, sizeof(LOGGING_BUFFER)
|
|||
|
||||
EXTERN_ENGINE;
|
||||
|
||||
/*
|
||||
static void printIntArray(int array[], int size) {
|
||||
for (int j = 0; j < size; j++) {
|
||||
print("%d ", array[j]);
|
||||
}
|
||||
print("\r\n");
|
||||
}
|
||||
*/
|
||||
|
||||
void printFloatArray(const char *prefix, float array[], int size) {
|
||||
appendMsgPrefix(&logger);
|
||||
appendPrintf(&logger, prefix);
|
||||
for (int j = 0; j < size; j++) {
|
||||
appendPrintf(&logger, "%.2f ", array[j]);
|
||||
}
|
||||
appendMsgPostfix(&logger);
|
||||
scheduleLogging(&logger);
|
||||
}
|
||||
|
||||
void printSpiState(Logging *logger, const engine_configuration_s *engineConfiguration) {
|
||||
scheduleMsg(logger, "spi 1=%s/2=%s/3=%s/4=%s",
|
||||
boolToString(engineConfiguration->is_enabled_spi_1),
|
||||
|
@ -211,19 +192,6 @@ void printConfiguration(const engine_configuration_s *engineConfiguration) {
|
|||
// print("\r\n");
|
||||
}
|
||||
|
||||
// printFloatArray("RPM bin: ", config->fuelRpmBins, FUEL_RPM_COUNT);
|
||||
//
|
||||
// printFloatArray("Y bin: ", config->fuelLoadBins, FUEL_LOAD_COUNT);
|
||||
//
|
||||
// printFloatArray("CLT: ", config->cltFuelCorr, CLT_CURVE_SIZE);
|
||||
// printFloatArray("CLT bins: ", config->cltFuelCorrBins, CLT_CURVE_SIZE);
|
||||
//
|
||||
// printFloatArray("IAT: ", config->iatFuelCorr, IAT_CURVE_SIZE);
|
||||
// printFloatArray("IAT bins: ", config->iatFuelCorrBins, IAT_CURVE_SIZE);
|
||||
//
|
||||
// printFloatArray("vBatt: ", engineConfiguration->injector.battLagCorr, VBAT_INJECTOR_CURVE_SIZE);
|
||||
// printFloatArray("vBatt bins: ", engineConfiguration->injector.battLagCorrBins, VBAT_INJECTOR_CURVE_SIZE);
|
||||
|
||||
scheduleMsg(&logger, "rpmHardLimit: %d/operationMode=%d", engineConfiguration->rpmHardLimit,
|
||||
engine->getOperationMode(PASS_ENGINE_PARAMETER_SIGNATURE));
|
||||
|
||||
|
|
|
@ -77,7 +77,7 @@ private:
|
|||
OutputPin* const m_disable;
|
||||
float m_value = 0;
|
||||
|
||||
ControlType m_type;
|
||||
ControlType m_type = ControlType::PwmDirectionPins;
|
||||
public:
|
||||
/**
|
||||
* @param enable SimplePwm driver for enable pin, for PWM speed control.
|
||||
|
@ -90,8 +90,8 @@ public:
|
|||
float get() const override;
|
||||
bool isOpenDirection() const override;
|
||||
|
||||
void enable();
|
||||
void disable();
|
||||
void enable() override;
|
||||
void disable() override;
|
||||
|
||||
void setType(ControlType type) { m_type = type; }
|
||||
};
|
||||
|
|
|
@ -25,9 +25,6 @@ extern bool verboseMode;
|
|||
|
||||
uint32_t maxSchedulingPrecisionLoss = 0;
|
||||
|
||||
bool EventQueue::checkIfPending(scheduling_s *scheduling) {
|
||||
assertNotInListMethodBody(scheduling_s, head, scheduling, nextScheduling_s);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return true if inserted into the head of the list
|
||||
|
@ -212,5 +209,18 @@ scheduling_s *EventQueue::getElementAtIndexForUnitText(int index) {
|
|||
}
|
||||
|
||||
void EventQueue::clear(void) {
|
||||
// Flush the queue, resetting all scheduling_s as though we'd executed them
|
||||
while(head) {
|
||||
auto x = head;
|
||||
// link next element to head
|
||||
head = x->nextScheduling_s;
|
||||
|
||||
// Reset this element
|
||||
x->momentX = 0;
|
||||
x->isScheduled = false;
|
||||
x->nextScheduling_s = nullptr;
|
||||
x->action = {};
|
||||
}
|
||||
|
||||
head = nullptr;
|
||||
}
|
||||
|
|
|
@ -64,7 +64,6 @@ public:
|
|||
scheduling_s * getHead();
|
||||
void assertListIsSorted() const;
|
||||
private:
|
||||
bool checkIfPending(scheduling_s *scheduling);
|
||||
/**
|
||||
* this list is sorted
|
||||
*/
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
#include "main_trigger_callback.h"
|
||||
#include "engine_configuration.h"
|
||||
#include "listener_array.h"
|
||||
#include "data_buffer.h"
|
||||
#include "pwm_generator_logic.h"
|
||||
#include "tooth_logger.h"
|
||||
|
||||
|
@ -293,6 +292,9 @@ void hwHandleShaftSignal(trigger_event_e signal, efitick_t timestamp) {
|
|||
// so we pass them to handleShaftSignal() and defer this test
|
||||
if (!CONFIG(useNoiselessTriggerDecoder)) {
|
||||
if (!isUsefulSignal(signal PASS_CONFIG_PARAMETER_SUFFIX)) {
|
||||
/**
|
||||
* no need to process VR falls further
|
||||
*/
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -414,6 +416,9 @@ bool TriggerNoiseFilter::noiseFilter(efitick_t nowNt,
|
|||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method is NOT invoked for VR falls.
|
||||
*/
|
||||
void TriggerCentral::handleShaftSignal(trigger_event_e signal, efitick_t timestamp DECLARE_ENGINE_PARAMETER_SUFFIX) {
|
||||
efiAssertVoid(CUSTOM_CONF_NULL, engine!=NULL, "configuration");
|
||||
|
||||
|
|
|
@ -376,7 +376,8 @@ void TriggerState::onShaftSynchronization(const TriggerStateCallback triggerCycl
|
|||
|
||||
/**
|
||||
* @brief Trigger decoding happens here
|
||||
* This method is invoked every time we have a fall or rise on one of the trigger sensors.
|
||||
* VR falls are filtered out and some VR noise detection happens prior to invoking this method, for
|
||||
* Hall this method is invoked every time we have a fall or rise on one of the trigger sensors.
|
||||
* This method changes the state of trigger_state_s data structure according to the trigger event
|
||||
* @param signal type of event which just happened
|
||||
* @param nowNt current time
|
||||
|
|
|
@ -17,7 +17,10 @@ EXTERN_ENGINE;
|
|||
// this is not the only place where we have 'isUpEvent'. todo: reuse
|
||||
static const bool isRisingEdge[HW_EVENT_TYPES] = { false, true, false, true, false, true };
|
||||
|
||||
// todo: should this method be invoked somewhere deeper? at the moment we have too many usages too high
|
||||
/**
|
||||
* todo: should this method be invoked somewhere deeper? at the moment we have too many usages too high
|
||||
* @return true if front should be decoded further, false if we are not interested
|
||||
*/
|
||||
bool isUsefulSignal(trigger_event_e signal DECLARE_CONFIG_PARAMETER_SUFFIX) {
|
||||
return !engineConfiguration->useOnlyRisingEdgeForTrigger || isRisingEdge[(int) signal];
|
||||
}
|
||||
|
|
|
@ -16,7 +16,6 @@
|
|||
#include "global.h"
|
||||
#include "os_access.h"
|
||||
#include "eficonsole.h"
|
||||
#include "data_buffer.h"
|
||||
#include "pin_repository.h"
|
||||
#include "allsensors.h"
|
||||
#include "engine_configuration.h"
|
||||
|
|
|
@ -5,7 +5,7 @@ rem ..\misc\encedo_hex2dfu\hex2dfu.exe -i build/rusefi.hex -o build/rusefi.dfu
|
|||
rem on linux that would be
|
||||
rem dfu-util -a 0 -D rusefi_no_asserts.dfu -R
|
||||
|
||||
DfuSeCommand.exe -c -d --fn build/rusefi.dfu
|
||||
DfuSeCommand.exe -c -d --fn deliver/rusefi.dfu
|
||||
|
||||
rem to read from comtroller use
|
||||
rem DfuSeCommand.exe -c -u --fn downloaded.dfu
|
||||
|
|
|
@ -28,7 +28,7 @@ public:
|
|||
/**
|
||||
* Create a new CAN message, with the specified extended ID.
|
||||
*/
|
||||
CanTxMessage(uint32_t eid, uint8_t dlc = 8);
|
||||
explicit CanTxMessage(uint32_t eid, uint8_t dlc = 8);
|
||||
|
||||
/**
|
||||
* Destruction of an instance of CanTxMessage will transmit the message over the wire.
|
||||
|
@ -71,7 +71,7 @@ class CanTxTyped final : public CanTxMessage
|
|||
static_assert(sizeof(TData) == sizeof(CANTxFrame::data8));
|
||||
|
||||
public:
|
||||
CanTxTyped(uint32_t eid) : CanTxMessage(eid) { }
|
||||
explicit CanTxTyped(uint32_t eid) : CanTxMessage(eid) { }
|
||||
|
||||
/**
|
||||
* Access members of the templated type.
|
||||
|
|
|
@ -149,15 +149,6 @@ static I2CConfig i2cfg = { HAL_I2C_F7_100_TIMINGR, 0, 0 }; // todo: does it work
|
|||
static I2CConfig i2cfg = { OPMODE_I2C, 100000, STD_DUTY_CYCLE, };
|
||||
#endif /* defined(STM32F4XX) */
|
||||
|
||||
void initI2Cmodule(void) {
|
||||
print("Starting I2C module\r\n");
|
||||
i2cInit();
|
||||
i2cStart(&I2CD1, &i2cfg);
|
||||
|
||||
efiSetPadMode("I2C clock", EFI_I2C_SCL_BRAIN_PIN, PAL_MODE_ALTERNATE(EFI_I2C_AF) | PAL_STM32_OTYPE_OPENDRAIN);
|
||||
efiSetPadMode("I2C data", EFI_I2C_SDA_BRAIN_PIN, PAL_MODE_ALTERNATE(EFI_I2C_AF) | PAL_STM32_OTYPE_OPENDRAIN);
|
||||
}
|
||||
|
||||
//static char txbuf[1];
|
||||
|
||||
static void sendI2Cbyte(int addr, int data) {
|
||||
|
@ -474,7 +465,6 @@ void initHardware(Logging *l) {
|
|||
initSingleTimerExecutorHardware();
|
||||
|
||||
#if EFI_HD44780_LCD
|
||||
// initI2Cmodule();
|
||||
lcd_HD44780_init(sharedLogger);
|
||||
if (hasFirmwareError())
|
||||
return;
|
||||
|
|
|
@ -268,8 +268,6 @@ static const USBEndpointConfig ep2config = {
|
|||
* Handles the USB driver global events.
|
||||
*/
|
||||
static void usb_event(USBDriver *usbp, usbevent_t event) {
|
||||
extern SerialUSBDriver SDU1;
|
||||
|
||||
switch (event) {
|
||||
case USB_EVENT_ADDRESS:
|
||||
return;
|
||||
|
|
|
@ -49,8 +49,8 @@ public:
|
|||
void step(bool positive) override;
|
||||
|
||||
private:
|
||||
DcMotor* m_motorPhaseA;
|
||||
DcMotor* m_motorPhaseB;
|
||||
DcMotor* m_motorPhaseA = nullptr;
|
||||
DcMotor* m_motorPhaseB = nullptr;
|
||||
|
||||
uint8_t m_phase = 0;
|
||||
};
|
||||
|
|
|
@ -1444,6 +1444,7 @@ end_struct
|
|||
#define GAUGE_NAME_CLT "CLT"
|
||||
#define GAUGE_NAME_IAT "IAT"
|
||||
#define GAUGE_NAME_TPS "TPS"
|
||||
#define GAUGE_NAME_TPS2 "TPS2"
|
||||
#define GAUGE_NAME_MAP "MAP"
|
||||
#define GAUGE_NAME_MAF "MAF"
|
||||
#define GAUGE_NAME_ENGINE_LOAD "Engine Load"
|
||||
|
@ -1639,12 +1640,13 @@ end_struct
|
|||
#define PROTOCOL_COIL1_SHORT_NAME "c1"
|
||||
#define PROTOCOL_INJ1_SHORT_NAME "i1"
|
||||
|
||||
#define ET_MRE_MIATA_NA6 12
|
||||
#define ET_MRE_MIATA_NA6_VAF 12
|
||||
#define ET_MRE_MIATA_NB2_MAP 11
|
||||
#define ET_MRE_MIATA_NB2_MAF 15
|
||||
#define ET_MRE_OLD_TEST_BOARD 30
|
||||
#define ET_MRE_NEW_TEST_BOARD 31
|
||||
#define ET_MRE_DEFAULTS 60
|
||||
#define ET_MRE_MIATA_NA6_MAP 66
|
||||
|
||||
#define ET_FRANKENSO_MIATA_NA6 41
|
||||
#define ET_FRANKENSO_MIATA_NB2 47
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
// This file was generated by Version2Header
|
||||
// Sun Jul 19 18:34:45 EDT 2020
|
||||
// Thu Jul 30 00:15:26 EDT 2020
|
||||
|
||||
|
||||
#ifndef GIT_HASH
|
||||
#define GIT_HASH "f96e4c88e0b38256ceec956e48c22b9f0e63b2ed"
|
||||
#define GIT_HASH "44daac5baf5c40a8ddeeb5612c7e89d69c8ff4ed"
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef VCS_VERSION
|
||||
#define VCS_VERSION "24397"
|
||||
#define VCS_VERSION "24759"
|
||||
#endif
|
||||
|
|
Binary file not shown.
|
@ -33,12 +33,12 @@ enable2ndByteCanID = false
|
|||
|
||||
[MegaTune]
|
||||
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
|
||||
signature = "rusEFI 2020.07.28.all.1542883429"
|
||||
signature = "rusEFI 2020.07.30.all.3740911119"
|
||||
|
||||
[TunerStudio]
|
||||
queryCommand = "S"
|
||||
versionInfo = "V" ; firmwave version for title bar.
|
||||
signature = "rusEFI 2020.07.28.all.1542883429" ; signature is expected to be 7 or more characters.
|
||||
signature = "rusEFI 2020.07.30.all.3740911119" ; 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 Tue Jul 28 13:12:08 UTC 2020
|
||||
; 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
|
||||
|
||||
pageSize = 20000
|
||||
page = 1
|
||||
|
@ -1640,7 +1640,6 @@ page = 1
|
|||
|
||||
; todo: generate this section programatically
|
||||
LM_PLAIN_MAF = {0},
|
||||
LM_ALPHA_N = {1},
|
||||
LM_SPEED_DENSITY = {3},
|
||||
LM_REAL_MAF = {4}
|
||||
|
||||
|
@ -2373,6 +2372,7 @@ gaugeCategory = Sensors - Raw
|
|||
entry = intake, "IAT", float, "%.2f"
|
||||
entry = oilPressure, "Oil Press", float, "%.1f"
|
||||
entry = TPSValue, "TPS", float, "%.2f"
|
||||
entry = TPS2Value, "TPS2", float, "%.2f"
|
||||
entry = MAFValue, "MAF", float, "%.2f"
|
||||
entry = MAPValue, "MAP", float, "%.1f"
|
||||
entry = AFRValue, "Air/Fuel Ratio", float, "%.2f"
|
||||
|
@ -2776,7 +2776,10 @@ cmd_dfu = "w\x00\xba\x00\x00"
|
|||
cmd_set_engine_type_microRusEFI_Miata_NB2_MAP = "w\x00\x30\x00\x0b"
|
||||
|
||||
; MRE_MIATA_NA6 12
|
||||
cmd_set_engine_type_microRusEFI_Miata_NA6 = "w\x00\x30\x00\x0c"
|
||||
cmd_set_engine_type_microRusEFI_Miata_NA6_VAF = "w\x00\x30\x00\x0c"
|
||||
|
||||
cmd_set_engine_type_microRusEFI_Miata_NA6_MAP = "w\x00\x30\x00\x42"
|
||||
|
||||
|
||||
; MRE_MIATA_NB2_MAF = 15
|
||||
cmd_set_engine_type_microRusEFI_Miata_NB2_MAF = "w\x00\x30\x00\x0f"
|
||||
|
@ -2802,7 +2805,6 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
|||
[UserDefined]
|
||||
dialog = fuelTableBottomDialog, "", card
|
||||
panel = fuelTableMAFTbl, Center, {fuelAlgorithm==LM_PLAIN_MAF}
|
||||
panel = fuelTableTPSTbl, Center, {fuelAlgorithm==LM_ALPHA_N}
|
||||
panel = fuelTableELTbl, Center
|
||||
|
||||
dialog = fuelTableRight, "", yAxis
|
||||
|
@ -4240,6 +4242,8 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
|||
commandButton = "Frankenso Miata NA6 Stage 1", cmd_set_engine_type_Frankenso_Miata_NA6_MAP
|
||||
commandButton = "Frankenso Miata NB2 MAP", cmd_set_engine_type_Frankenso_Miata_NB2
|
||||
|
||||
commandButton = "microRusEFI Miata NA6 VAF", cmd_set_engine_type_microRusEFI_Miata_NA6_VAF
|
||||
commandButton = "microRusEFI Miata NA6 MAP", cmd_set_engine_type_microRusEFI_Miata_NA6_MAP
|
||||
commandButton = "microRusEfi Miata NB2 MAP", cmd_set_engine_type_microRusEFI_Miata_NB2_MAP
|
||||
commandButton = "microRusEFI Miata NB2 MAF", cmd_set_engine_type_microRusEFI_Miata_NB2_MAF
|
||||
commandButton = "microRusEFI Defaults", cmd_set_engine_type_microRusEFI_Defaults
|
||||
|
|
|
@ -33,12 +33,12 @@ enable2ndByteCanID = false
|
|||
|
||||
[MegaTune]
|
||||
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
|
||||
signature = "rusEFI 2020.07.28.frankenso_na6.2238833798"
|
||||
signature = "rusEFI 2020.07.30.frankenso_na6.8301292"
|
||||
|
||||
[TunerStudio]
|
||||
queryCommand = "S"
|
||||
versionInfo = "V" ; firmwave version for title bar.
|
||||
signature = "rusEFI 2020.07.28.frankenso_na6.2238833798" ; signature is expected to be 7 or more characters.
|
||||
signature = "rusEFI 2020.07.30.frankenso_na6.8301292" ; 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 Tue Jul 28 13:12:18 UTC 2020
|
||||
; 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
|
||||
|
||||
pageSize = 20000
|
||||
page = 1
|
||||
|
@ -1640,7 +1640,6 @@ page = 1
|
|||
|
||||
; todo: generate this section programatically
|
||||
LM_PLAIN_MAF = {0},
|
||||
LM_ALPHA_N = {1},
|
||||
LM_SPEED_DENSITY = {3},
|
||||
LM_REAL_MAF = {4}
|
||||
|
||||
|
@ -2373,6 +2372,7 @@ gaugeCategory = Sensors - Raw
|
|||
entry = intake, "IAT", float, "%.2f"
|
||||
entry = oilPressure, "Oil Press", float, "%.1f"
|
||||
entry = TPSValue, "TPS", float, "%.2f"
|
||||
entry = TPS2Value, "TPS2", float, "%.2f"
|
||||
entry = MAFValue, "MAF", float, "%.2f"
|
||||
entry = MAPValue, "MAP", float, "%.1f"
|
||||
entry = AFRValue, "Air/Fuel Ratio", float, "%.2f"
|
||||
|
@ -2776,7 +2776,10 @@ cmd_dfu = "w\x00\xba\x00\x00"
|
|||
cmd_set_engine_type_microRusEFI_Miata_NB2_MAP = "w\x00\x30\x00\x0b"
|
||||
|
||||
; MRE_MIATA_NA6 12
|
||||
cmd_set_engine_type_microRusEFI_Miata_NA6 = "w\x00\x30\x00\x0c"
|
||||
cmd_set_engine_type_microRusEFI_Miata_NA6_VAF = "w\x00\x30\x00\x0c"
|
||||
|
||||
cmd_set_engine_type_microRusEFI_Miata_NA6_MAP = "w\x00\x30\x00\x42"
|
||||
|
||||
|
||||
; MRE_MIATA_NB2_MAF = 15
|
||||
cmd_set_engine_type_microRusEFI_Miata_NB2_MAF = "w\x00\x30\x00\x0f"
|
||||
|
@ -2802,7 +2805,6 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
|||
[UserDefined]
|
||||
dialog = fuelTableBottomDialog, "", card
|
||||
panel = fuelTableMAFTbl, Center, {fuelAlgorithm==LM_PLAIN_MAF}
|
||||
panel = fuelTableTPSTbl, Center, {fuelAlgorithm==LM_ALPHA_N}
|
||||
panel = fuelTableELTbl, Center
|
||||
|
||||
dialog = fuelTableRight, "", yAxis
|
||||
|
@ -4240,6 +4242,8 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
|||
commandButton = "Frankenso Miata NA6 Stage 1", cmd_set_engine_type_Frankenso_Miata_NA6_MAP
|
||||
commandButton = "Frankenso Miata NB2 MAP", cmd_set_engine_type_Frankenso_Miata_NB2
|
||||
|
||||
commandButton = "microRusEFI Miata NA6 VAF", cmd_set_engine_type_microRusEFI_Miata_NA6_VAF
|
||||
commandButton = "microRusEFI Miata NA6 MAP", cmd_set_engine_type_microRusEFI_Miata_NA6_MAP
|
||||
commandButton = "microRusEfi Miata NB2 MAP", cmd_set_engine_type_microRusEFI_Miata_NB2_MAP
|
||||
commandButton = "microRusEFI Miata NB2 MAF", cmd_set_engine_type_microRusEFI_Miata_NB2_MAF
|
||||
commandButton = "microRusEFI Defaults", cmd_set_engine_type_microRusEFI_Defaults
|
||||
|
|
|
@ -33,12 +33,12 @@ enable2ndByteCanID = false
|
|||
|
||||
[MegaTune]
|
||||
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
|
||||
signature = "rusEFI 2020.07.28.kin.2529711359"
|
||||
signature = "rusEFI 2020.07.30.kin.331815573"
|
||||
|
||||
[TunerStudio]
|
||||
queryCommand = "S"
|
||||
versionInfo = "V" ; firmwave version for title bar.
|
||||
signature = "rusEFI 2020.07.28.kin.2529711359" ; signature is expected to be 7 or more characters.
|
||||
signature = "rusEFI 2020.07.30.kin.331815573" ; 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 Tue Jul 28 13:12:25 UTC 2020
|
||||
; 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
|
||||
|
||||
pageSize = 20000
|
||||
page = 1
|
||||
|
@ -1640,7 +1640,6 @@ page = 1
|
|||
|
||||
; todo: generate this section programatically
|
||||
LM_PLAIN_MAF = {0},
|
||||
LM_ALPHA_N = {1},
|
||||
LM_SPEED_DENSITY = {3},
|
||||
LM_REAL_MAF = {4}
|
||||
|
||||
|
@ -2373,6 +2372,7 @@ gaugeCategory = Sensors - Raw
|
|||
entry = intake, "IAT", float, "%.2f"
|
||||
entry = oilPressure, "Oil Press", float, "%.1f"
|
||||
entry = TPSValue, "TPS", float, "%.2f"
|
||||
entry = TPS2Value, "TPS2", float, "%.2f"
|
||||
entry = MAFValue, "MAF", float, "%.2f"
|
||||
entry = MAPValue, "MAP", float, "%.1f"
|
||||
entry = AFRValue, "Air/Fuel Ratio", float, "%.2f"
|
||||
|
@ -2776,7 +2776,10 @@ cmd_dfu = "w\x00\xba\x00\x00"
|
|||
cmd_set_engine_type_microRusEFI_Miata_NB2_MAP = "w\x00\x30\x00\x0b"
|
||||
|
||||
; MRE_MIATA_NA6 12
|
||||
cmd_set_engine_type_microRusEFI_Miata_NA6 = "w\x00\x30\x00\x0c"
|
||||
cmd_set_engine_type_microRusEFI_Miata_NA6_VAF = "w\x00\x30\x00\x0c"
|
||||
|
||||
cmd_set_engine_type_microRusEFI_Miata_NA6_MAP = "w\x00\x30\x00\x42"
|
||||
|
||||
|
||||
; MRE_MIATA_NB2_MAF = 15
|
||||
cmd_set_engine_type_microRusEFI_Miata_NB2_MAF = "w\x00\x30\x00\x0f"
|
||||
|
@ -2802,7 +2805,6 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
|||
[UserDefined]
|
||||
dialog = fuelTableBottomDialog, "", card
|
||||
panel = fuelTableMAFTbl, Center, {fuelAlgorithm==LM_PLAIN_MAF}
|
||||
panel = fuelTableTPSTbl, Center, {fuelAlgorithm==LM_ALPHA_N}
|
||||
panel = fuelTableELTbl, Center
|
||||
|
||||
dialog = fuelTableRight, "", yAxis
|
||||
|
@ -4241,6 +4243,8 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
|||
commandButton = "Frankenso Miata NA6 Stage 1", cmd_set_engine_type_Frankenso_Miata_NA6_MAP
|
||||
commandButton = "Frankenso Miata NB2 MAP", cmd_set_engine_type_Frankenso_Miata_NB2
|
||||
|
||||
commandButton = "microRusEFI Miata NA6 VAF", cmd_set_engine_type_microRusEFI_Miata_NA6_VAF
|
||||
commandButton = "microRusEFI Miata NA6 MAP", cmd_set_engine_type_microRusEFI_Miata_NA6_MAP
|
||||
commandButton = "microRusEfi Miata NB2 MAP", cmd_set_engine_type_microRusEFI_Miata_NB2_MAP
|
||||
commandButton = "microRusEFI Miata NB2 MAF", cmd_set_engine_type_microRusEFI_Miata_NB2_MAF
|
||||
commandButton = "microRusEFI Defaults", cmd_set_engine_type_microRusEFI_Defaults
|
||||
|
|
|
@ -33,12 +33,12 @@ enable2ndByteCanID = false
|
|||
|
||||
[MegaTune]
|
||||
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
|
||||
signature = "rusEFI 2020.07.28.mre_f4.302538475"
|
||||
signature = "rusEFI 2020.07.30.mre_f4.2533822593"
|
||||
|
||||
[TunerStudio]
|
||||
queryCommand = "S"
|
||||
versionInfo = "V" ; firmwave version for title bar.
|
||||
signature = "rusEFI 2020.07.28.mre_f4.302538475" ; signature is expected to be 7 or more characters.
|
||||
signature = "rusEFI 2020.07.30.mre_f4.2533822593" ; 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 Tue Jul 28 13:12:17 UTC 2020
|
||||
; 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
|
||||
|
||||
pageSize = 20000
|
||||
page = 1
|
||||
|
@ -1640,7 +1640,6 @@ page = 1
|
|||
|
||||
; todo: generate this section programatically
|
||||
LM_PLAIN_MAF = {0},
|
||||
LM_ALPHA_N = {1},
|
||||
LM_SPEED_DENSITY = {3},
|
||||
LM_REAL_MAF = {4}
|
||||
|
||||
|
@ -2373,6 +2372,7 @@ gaugeCategory = Sensors - Raw
|
|||
entry = intake, "IAT", float, "%.2f"
|
||||
entry = oilPressure, "Oil Press", float, "%.1f"
|
||||
entry = TPSValue, "TPS", float, "%.2f"
|
||||
entry = TPS2Value, "TPS2", float, "%.2f"
|
||||
entry = MAFValue, "MAF", float, "%.2f"
|
||||
entry = MAPValue, "MAP", float, "%.1f"
|
||||
entry = AFRValue, "Air/Fuel Ratio", float, "%.2f"
|
||||
|
@ -2771,7 +2771,10 @@ cmd_dfu = "w\x00\xba\x00\x00"
|
|||
cmd_set_engine_type_microRusEFI_Miata_NB2_MAP = "w\x00\x30\x00\x0b"
|
||||
|
||||
; MRE_MIATA_NA6 12
|
||||
cmd_set_engine_type_microRusEFI_Miata_NA6 = "w\x00\x30\x00\x0c"
|
||||
cmd_set_engine_type_microRusEFI_Miata_NA6_VAF = "w\x00\x30\x00\x0c"
|
||||
|
||||
cmd_set_engine_type_microRusEFI_Miata_NA6_MAP = "w\x00\x30\x00\x42"
|
||||
|
||||
|
||||
; MRE_MIATA_NB2_MAF = 15
|
||||
cmd_set_engine_type_microRusEFI_Miata_NB2_MAF = "w\x00\x30\x00\x0f"
|
||||
|
@ -2797,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 = fuelTableTPSTbl, Center, {fuelAlgorithm==LM_ALPHA_N}
|
||||
panel = fuelTableELTbl, Center
|
||||
|
||||
dialog = fuelTableRight, "", yAxis
|
||||
|
@ -4214,6 +4216,8 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
|||
field = "!These buttons send a command to rusEfi controller to apply preset values"
|
||||
field = "!Once you send the command, please reconnect to rusEfi controller in order to read fresh values"
|
||||
|
||||
commandButton = "microRusEFI Miata NA6 VAF", cmd_set_engine_type_microRusEFI_Miata_NA6_VAF
|
||||
commandButton = "microRusEFI Miata NA6 MAP", cmd_set_engine_type_microRusEFI_Miata_NA6_MAP
|
||||
commandButton = "microRusEfi Miata NB2 MAP", cmd_set_engine_type_microRusEFI_Miata_NB2_MAP
|
||||
commandButton = "microRusEFI Miata NB2 MAF", cmd_set_engine_type_microRusEFI_Miata_NB2_MAF
|
||||
commandButton = "microRusEFI Defaults", cmd_set_engine_type_microRusEFI_Defaults
|
||||
|
|
|
@ -33,12 +33,12 @@ enable2ndByteCanID = false
|
|||
|
||||
[MegaTune]
|
||||
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
|
||||
signature = "rusEFI 2020.07.28.mre_f7.302538475"
|
||||
signature = "rusEFI 2020.07.30.mre_f7.2533822593"
|
||||
|
||||
[TunerStudio]
|
||||
queryCommand = "S"
|
||||
versionInfo = "V" ; firmwave version for title bar.
|
||||
signature = "rusEFI 2020.07.28.mre_f7.302538475" ; signature is expected to be 7 or more characters.
|
||||
signature = "rusEFI 2020.07.30.mre_f7.2533822593" ; 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 Tue Jul 28 13:12:16 UTC 2020
|
||||
; 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
|
||||
|
||||
pageSize = 20000
|
||||
page = 1
|
||||
|
@ -1640,7 +1640,6 @@ page = 1
|
|||
|
||||
; todo: generate this section programatically
|
||||
LM_PLAIN_MAF = {0},
|
||||
LM_ALPHA_N = {1},
|
||||
LM_SPEED_DENSITY = {3},
|
||||
LM_REAL_MAF = {4}
|
||||
|
||||
|
@ -2373,6 +2372,7 @@ gaugeCategory = Sensors - Raw
|
|||
entry = intake, "IAT", float, "%.2f"
|
||||
entry = oilPressure, "Oil Press", float, "%.1f"
|
||||
entry = TPSValue, "TPS", float, "%.2f"
|
||||
entry = TPS2Value, "TPS2", float, "%.2f"
|
||||
entry = MAFValue, "MAF", float, "%.2f"
|
||||
entry = MAPValue, "MAP", float, "%.1f"
|
||||
entry = AFRValue, "Air/Fuel Ratio", float, "%.2f"
|
||||
|
@ -2771,7 +2771,10 @@ cmd_dfu = "w\x00\xba\x00\x00"
|
|||
cmd_set_engine_type_microRusEFI_Miata_NB2_MAP = "w\x00\x30\x00\x0b"
|
||||
|
||||
; MRE_MIATA_NA6 12
|
||||
cmd_set_engine_type_microRusEFI_Miata_NA6 = "w\x00\x30\x00\x0c"
|
||||
cmd_set_engine_type_microRusEFI_Miata_NA6_VAF = "w\x00\x30\x00\x0c"
|
||||
|
||||
cmd_set_engine_type_microRusEFI_Miata_NA6_MAP = "w\x00\x30\x00\x42"
|
||||
|
||||
|
||||
; MRE_MIATA_NB2_MAF = 15
|
||||
cmd_set_engine_type_microRusEFI_Miata_NB2_MAF = "w\x00\x30\x00\x0f"
|
||||
|
@ -2797,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 = fuelTableTPSTbl, Center, {fuelAlgorithm==LM_ALPHA_N}
|
||||
panel = fuelTableELTbl, Center
|
||||
|
||||
dialog = fuelTableRight, "", yAxis
|
||||
|
@ -4214,6 +4216,8 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
|||
field = "!These buttons send a command to rusEfi controller to apply preset values"
|
||||
field = "!Once you send the command, please reconnect to rusEfi controller in order to read fresh values"
|
||||
|
||||
commandButton = "microRusEFI Miata NA6 VAF", cmd_set_engine_type_microRusEFI_Miata_NA6_VAF
|
||||
commandButton = "microRusEFI Miata NA6 MAP", cmd_set_engine_type_microRusEFI_Miata_NA6_MAP
|
||||
commandButton = "microRusEfi Miata NB2 MAP", cmd_set_engine_type_microRusEFI_Miata_NB2_MAP
|
||||
commandButton = "microRusEFI Miata NB2 MAF", cmd_set_engine_type_microRusEFI_Miata_NB2_MAF
|
||||
commandButton = "microRusEFI Defaults", cmd_set_engine_type_microRusEFI_Defaults
|
||||
|
|
|
@ -33,12 +33,12 @@ enable2ndByteCanID = false
|
|||
|
||||
[MegaTune]
|
||||
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
|
||||
signature = "rusEFI 2020.07.28.prometheus_405.2934591713"
|
||||
signature = "rusEFI 2020.07.30.prometheus_405.736435851"
|
||||
|
||||
[TunerStudio]
|
||||
queryCommand = "S"
|
||||
versionInfo = "V" ; firmwave version for title bar.
|
||||
signature = "rusEFI 2020.07.28.prometheus_405.2934591713" ; signature is expected to be 7 or more characters.
|
||||
signature = "rusEFI 2020.07.30.prometheus_405.736435851" ; 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 Tue Jul 28 13:12:21 UTC 2020
|
||||
; 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
|
||||
|
||||
pageSize = 20000
|
||||
page = 1
|
||||
|
@ -1640,7 +1640,6 @@ page = 1
|
|||
|
||||
; todo: generate this section programatically
|
||||
LM_PLAIN_MAF = {0},
|
||||
LM_ALPHA_N = {1},
|
||||
LM_SPEED_DENSITY = {3},
|
||||
LM_REAL_MAF = {4}
|
||||
|
||||
|
@ -2373,6 +2372,7 @@ gaugeCategory = Sensors - Raw
|
|||
entry = intake, "IAT", float, "%.2f"
|
||||
entry = oilPressure, "Oil Press", float, "%.1f"
|
||||
entry = TPSValue, "TPS", float, "%.2f"
|
||||
entry = TPS2Value, "TPS2", float, "%.2f"
|
||||
entry = MAFValue, "MAF", float, "%.2f"
|
||||
entry = MAPValue, "MAP", float, "%.1f"
|
||||
entry = AFRValue, "Air/Fuel Ratio", float, "%.2f"
|
||||
|
@ -2772,7 +2772,10 @@ cmd_dfu = "w\x00\xba\x00\x00"
|
|||
cmd_set_engine_type_microRusEFI_Miata_NB2_MAP = "w\x00\x30\x00\x0b"
|
||||
|
||||
; MRE_MIATA_NA6 12
|
||||
cmd_set_engine_type_microRusEFI_Miata_NA6 = "w\x00\x30\x00\x0c"
|
||||
cmd_set_engine_type_microRusEFI_Miata_NA6_VAF = "w\x00\x30\x00\x0c"
|
||||
|
||||
cmd_set_engine_type_microRusEFI_Miata_NA6_MAP = "w\x00\x30\x00\x42"
|
||||
|
||||
|
||||
; MRE_MIATA_NB2_MAF = 15
|
||||
cmd_set_engine_type_microRusEFI_Miata_NB2_MAF = "w\x00\x30\x00\x0f"
|
||||
|
@ -2798,7 +2801,6 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
|||
[UserDefined]
|
||||
dialog = fuelTableBottomDialog, "", card
|
||||
panel = fuelTableMAFTbl, Center, {fuelAlgorithm==LM_PLAIN_MAF}
|
||||
panel = fuelTableTPSTbl, Center, {fuelAlgorithm==LM_ALPHA_N}
|
||||
panel = fuelTableELTbl, Center
|
||||
|
||||
dialog = fuelTableRight, "", yAxis
|
||||
|
@ -4236,6 +4238,8 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
|||
commandButton = "Frankenso Miata NA6 Stage 1", cmd_set_engine_type_Frankenso_Miata_NA6_MAP
|
||||
commandButton = "Frankenso Miata NB2 MAP", cmd_set_engine_type_Frankenso_Miata_NB2
|
||||
|
||||
commandButton = "microRusEFI Miata NA6 VAF", cmd_set_engine_type_microRusEFI_Miata_NA6_VAF
|
||||
commandButton = "microRusEFI Miata NA6 MAP", cmd_set_engine_type_microRusEFI_Miata_NA6_MAP
|
||||
commandButton = "microRusEfi Miata NB2 MAP", cmd_set_engine_type_microRusEFI_Miata_NB2_MAP
|
||||
commandButton = "microRusEFI Miata NB2 MAF", cmd_set_engine_type_microRusEFI_Miata_NB2_MAF
|
||||
commandButton = "microRusEFI Defaults", cmd_set_engine_type_microRusEFI_Defaults
|
||||
|
|
|
@ -33,12 +33,12 @@ enable2ndByteCanID = false
|
|||
|
||||
[MegaTune]
|
||||
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
|
||||
signature = "rusEFI 2020.07.28.prometheus_469.2934591713"
|
||||
signature = "rusEFI 2020.07.30.prometheus_469.736435851"
|
||||
|
||||
[TunerStudio]
|
||||
queryCommand = "S"
|
||||
versionInfo = "V" ; firmwave version for title bar.
|
||||
signature = "rusEFI 2020.07.28.prometheus_469.2934591713" ; signature is expected to be 7 or more characters.
|
||||
signature = "rusEFI 2020.07.30.prometheus_469.736435851" ; 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 Tue Jul 28 13:12:20 UTC 2020
|
||||
; 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
|
||||
|
||||
pageSize = 20000
|
||||
page = 1
|
||||
|
@ -1640,7 +1640,6 @@ page = 1
|
|||
|
||||
; todo: generate this section programatically
|
||||
LM_PLAIN_MAF = {0},
|
||||
LM_ALPHA_N = {1},
|
||||
LM_SPEED_DENSITY = {3},
|
||||
LM_REAL_MAF = {4}
|
||||
|
||||
|
@ -2373,6 +2372,7 @@ gaugeCategory = Sensors - Raw
|
|||
entry = intake, "IAT", float, "%.2f"
|
||||
entry = oilPressure, "Oil Press", float, "%.1f"
|
||||
entry = TPSValue, "TPS", float, "%.2f"
|
||||
entry = TPS2Value, "TPS2", float, "%.2f"
|
||||
entry = MAFValue, "MAF", float, "%.2f"
|
||||
entry = MAPValue, "MAP", float, "%.1f"
|
||||
entry = AFRValue, "Air/Fuel Ratio", float, "%.2f"
|
||||
|
@ -2772,7 +2772,10 @@ cmd_dfu = "w\x00\xba\x00\x00"
|
|||
cmd_set_engine_type_microRusEFI_Miata_NB2_MAP = "w\x00\x30\x00\x0b"
|
||||
|
||||
; MRE_MIATA_NA6 12
|
||||
cmd_set_engine_type_microRusEFI_Miata_NA6 = "w\x00\x30\x00\x0c"
|
||||
cmd_set_engine_type_microRusEFI_Miata_NA6_VAF = "w\x00\x30\x00\x0c"
|
||||
|
||||
cmd_set_engine_type_microRusEFI_Miata_NA6_MAP = "w\x00\x30\x00\x42"
|
||||
|
||||
|
||||
; MRE_MIATA_NB2_MAF = 15
|
||||
cmd_set_engine_type_microRusEFI_Miata_NB2_MAF = "w\x00\x30\x00\x0f"
|
||||
|
@ -2798,7 +2801,6 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
|||
[UserDefined]
|
||||
dialog = fuelTableBottomDialog, "", card
|
||||
panel = fuelTableMAFTbl, Center, {fuelAlgorithm==LM_PLAIN_MAF}
|
||||
panel = fuelTableTPSTbl, Center, {fuelAlgorithm==LM_ALPHA_N}
|
||||
panel = fuelTableELTbl, Center
|
||||
|
||||
dialog = fuelTableRight, "", yAxis
|
||||
|
@ -4236,6 +4238,8 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
|||
commandButton = "Frankenso Miata NA6 Stage 1", cmd_set_engine_type_Frankenso_Miata_NA6_MAP
|
||||
commandButton = "Frankenso Miata NB2 MAP", cmd_set_engine_type_Frankenso_Miata_NB2
|
||||
|
||||
commandButton = "microRusEFI Miata NA6 VAF", cmd_set_engine_type_microRusEFI_Miata_NA6_VAF
|
||||
commandButton = "microRusEFI Miata NA6 MAP", cmd_set_engine_type_microRusEFI_Miata_NA6_MAP
|
||||
commandButton = "microRusEfi Miata NB2 MAP", cmd_set_engine_type_microRusEFI_Miata_NB2_MAP
|
||||
commandButton = "microRusEFI Miata NB2 MAF", cmd_set_engine_type_microRusEFI_Miata_NB2_MAF
|
||||
commandButton = "microRusEFI Defaults", cmd_set_engine_type_microRusEFI_Defaults
|
||||
|
|
|
@ -33,12 +33,12 @@ enable2ndByteCanID = false
|
|||
|
||||
[MegaTune]
|
||||
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
|
||||
signature = "rusEFI 2020.07.28.proteus_f4.3597138346"
|
||||
signature = "rusEFI 2020.07.30.proteus_f4.1399371712"
|
||||
|
||||
[TunerStudio]
|
||||
queryCommand = "S"
|
||||
versionInfo = "V" ; firmwave version for title bar.
|
||||
signature = "rusEFI 2020.07.28.proteus_f4.3597138346" ; signature is expected to be 7 or more characters.
|
||||
signature = "rusEFI 2020.07.30.proteus_f4.1399371712" ; 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 Tue Jul 28 13:12:23 UTC 2020
|
||||
; 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
|
||||
|
||||
pageSize = 20000
|
||||
page = 1
|
||||
|
@ -1640,7 +1640,6 @@ page = 1
|
|||
|
||||
; todo: generate this section programatically
|
||||
LM_PLAIN_MAF = {0},
|
||||
LM_ALPHA_N = {1},
|
||||
LM_SPEED_DENSITY = {3},
|
||||
LM_REAL_MAF = {4}
|
||||
|
||||
|
@ -2373,6 +2372,7 @@ gaugeCategory = Sensors - Raw
|
|||
entry = intake, "IAT", float, "%.2f"
|
||||
entry = oilPressure, "Oil Press", float, "%.1f"
|
||||
entry = TPSValue, "TPS", float, "%.2f"
|
||||
entry = TPS2Value, "TPS2", float, "%.2f"
|
||||
entry = MAFValue, "MAF", float, "%.2f"
|
||||
entry = MAPValue, "MAP", float, "%.1f"
|
||||
entry = AFRValue, "Air/Fuel Ratio", float, "%.2f"
|
||||
|
@ -2767,7 +2767,10 @@ cmd_dfu = "w\x00\xba\x00\x00"
|
|||
cmd_set_engine_type_microRusEFI_Miata_NB2_MAP = "w\x00\x30\x00\x0b"
|
||||
|
||||
; MRE_MIATA_NA6 12
|
||||
cmd_set_engine_type_microRusEFI_Miata_NA6 = "w\x00\x30\x00\x0c"
|
||||
cmd_set_engine_type_microRusEFI_Miata_NA6_VAF = "w\x00\x30\x00\x0c"
|
||||
|
||||
cmd_set_engine_type_microRusEFI_Miata_NA6_MAP = "w\x00\x30\x00\x42"
|
||||
|
||||
|
||||
; MRE_MIATA_NB2_MAF = 15
|
||||
cmd_set_engine_type_microRusEFI_Miata_NB2_MAF = "w\x00\x30\x00\x0f"
|
||||
|
@ -2793,7 +2796,6 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
|||
[UserDefined]
|
||||
dialog = fuelTableBottomDialog, "", card
|
||||
panel = fuelTableMAFTbl, Center, {fuelAlgorithm==LM_PLAIN_MAF}
|
||||
panel = fuelTableTPSTbl, Center, {fuelAlgorithm==LM_ALPHA_N}
|
||||
panel = fuelTableELTbl, Center
|
||||
|
||||
dialog = fuelTableRight, "", yAxis
|
||||
|
@ -4207,6 +4209,8 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
|||
commandButton = "Frankenso Miata NA6 Stage 1", cmd_set_engine_type_Frankenso_Miata_NA6_MAP
|
||||
commandButton = "Frankenso Miata NB2 MAP", cmd_set_engine_type_Frankenso_Miata_NB2
|
||||
|
||||
commandButton = "microRusEFI Miata NA6 VAF", cmd_set_engine_type_microRusEFI_Miata_NA6_VAF
|
||||
commandButton = "microRusEFI Miata NA6 MAP", cmd_set_engine_type_microRusEFI_Miata_NA6_MAP
|
||||
commandButton = "microRusEfi Miata NB2 MAP", cmd_set_engine_type_microRusEFI_Miata_NB2_MAP
|
||||
commandButton = "microRusEFI Miata NB2 MAF", cmd_set_engine_type_microRusEFI_Miata_NB2_MAF
|
||||
commandButton = "microRusEFI Defaults", cmd_set_engine_type_microRusEFI_Defaults
|
||||
|
|
|
@ -33,12 +33,12 @@ enable2ndByteCanID = false
|
|||
|
||||
[MegaTune]
|
||||
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
|
||||
signature = "rusEFI 2020.07.28.proteus_f7.3597138346"
|
||||
signature = "rusEFI 2020.07.30.proteus_f7.1399371712"
|
||||
|
||||
[TunerStudio]
|
||||
queryCommand = "S"
|
||||
versionInfo = "V" ; firmwave version for title bar.
|
||||
signature = "rusEFI 2020.07.28.proteus_f7.3597138346" ; signature is expected to be 7 or more characters.
|
||||
signature = "rusEFI 2020.07.30.proteus_f7.1399371712" ; 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 Tue Jul 28 13:12:22 UTC 2020
|
||||
; 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
|
||||
|
||||
pageSize = 20000
|
||||
page = 1
|
||||
|
@ -1640,7 +1640,6 @@ page = 1
|
|||
|
||||
; todo: generate this section programatically
|
||||
LM_PLAIN_MAF = {0},
|
||||
LM_ALPHA_N = {1},
|
||||
LM_SPEED_DENSITY = {3},
|
||||
LM_REAL_MAF = {4}
|
||||
|
||||
|
@ -2373,6 +2372,7 @@ gaugeCategory = Sensors - Raw
|
|||
entry = intake, "IAT", float, "%.2f"
|
||||
entry = oilPressure, "Oil Press", float, "%.1f"
|
||||
entry = TPSValue, "TPS", float, "%.2f"
|
||||
entry = TPS2Value, "TPS2", float, "%.2f"
|
||||
entry = MAFValue, "MAF", float, "%.2f"
|
||||
entry = MAPValue, "MAP", float, "%.1f"
|
||||
entry = AFRValue, "Air/Fuel Ratio", float, "%.2f"
|
||||
|
@ -2767,7 +2767,10 @@ cmd_dfu = "w\x00\xba\x00\x00"
|
|||
cmd_set_engine_type_microRusEFI_Miata_NB2_MAP = "w\x00\x30\x00\x0b"
|
||||
|
||||
; MRE_MIATA_NA6 12
|
||||
cmd_set_engine_type_microRusEFI_Miata_NA6 = "w\x00\x30\x00\x0c"
|
||||
cmd_set_engine_type_microRusEFI_Miata_NA6_VAF = "w\x00\x30\x00\x0c"
|
||||
|
||||
cmd_set_engine_type_microRusEFI_Miata_NA6_MAP = "w\x00\x30\x00\x42"
|
||||
|
||||
|
||||
; MRE_MIATA_NB2_MAF = 15
|
||||
cmd_set_engine_type_microRusEFI_Miata_NB2_MAF = "w\x00\x30\x00\x0f"
|
||||
|
@ -2793,7 +2796,6 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
|||
[UserDefined]
|
||||
dialog = fuelTableBottomDialog, "", card
|
||||
panel = fuelTableMAFTbl, Center, {fuelAlgorithm==LM_PLAIN_MAF}
|
||||
panel = fuelTableTPSTbl, Center, {fuelAlgorithm==LM_ALPHA_N}
|
||||
panel = fuelTableELTbl, Center
|
||||
|
||||
dialog = fuelTableRight, "", yAxis
|
||||
|
@ -4207,6 +4209,8 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
|||
commandButton = "Frankenso Miata NA6 Stage 1", cmd_set_engine_type_Frankenso_Miata_NA6_MAP
|
||||
commandButton = "Frankenso Miata NB2 MAP", cmd_set_engine_type_Frankenso_Miata_NB2
|
||||
|
||||
commandButton = "microRusEFI Miata NA6 VAF", cmd_set_engine_type_microRusEFI_Miata_NA6_VAF
|
||||
commandButton = "microRusEFI Miata NA6 MAP", cmd_set_engine_type_microRusEFI_Miata_NA6_MAP
|
||||
commandButton = "microRusEfi Miata NB2 MAP", cmd_set_engine_type_microRusEFI_Miata_NB2_MAP
|
||||
commandButton = "microRusEFI Miata NB2 MAF", cmd_set_engine_type_microRusEFI_Miata_NB2_MAF
|
||||
commandButton = "microRusEFI Defaults", cmd_set_engine_type_microRusEFI_Defaults
|
||||
|
|
|
@ -354,7 +354,6 @@ enable2ndByteCanID = false
|
|||
;
|
||||
|
||||
; todo: generate this section programatically
|
||||
LM_ALPHA_N = {1},
|
||||
LM_SPEED_DENSITY = {3},
|
||||
LM_REAL_MAF = {4}
|
||||
|
||||
|
@ -1077,6 +1076,7 @@ gaugeCategory = Sensors - Raw
|
|||
entry = intake, @@GAUGE_NAME_IAT@@, float, "%.2f"
|
||||
entry = oilPressure, "Oil Press", float, "%.1f"
|
||||
entry = TPSValue, @@GAUGE_NAME_TPS@@, float, "%.2f"
|
||||
entry = TPS2Value, @@GAUGE_NAME_TPS2@@, float, "%.2f"
|
||||
entry = MAFValue, @@GAUGE_NAME_MAF@@, float, "%.2f"
|
||||
entry = MAPValue, @@GAUGE_NAME_MAP@@, float, "%.1f"
|
||||
entry = AFRValue, @@GAUGE_NAME_AFR@@, float, "%.2f"
|
||||
|
@ -1480,7 +1480,10 @@ cmd_dfu = "w\x00\xba\x00\x00"
|
|||
cmd_set_engine_type_microRusEFI_Miata_NB2_MAP = "w\x00\x30@@ET_MRE_MIATA_NB2_MAP_16_hex@@"
|
||||
|
||||
; MRE_MIATA_NA6 12
|
||||
cmd_set_engine_type_microRusEFI_Miata_NA6 = "w\x00\x30@@ET_MRE_MIATA_NA6_16_hex@@"
|
||||
cmd_set_engine_type_microRusEFI_Miata_NA6_VAF = "w\x00\x30@@ET_MRE_MIATA_NA6_VAF_16_hex@@"
|
||||
|
||||
cmd_set_engine_type_microRusEFI_Miata_NA6_MAP = "w\x00\x30@@ET_MRE_MIATA_NA6_MAP_16_hex@@"
|
||||
|
||||
|
||||
; MRE_MIATA_NB2_MAF = 15
|
||||
cmd_set_engine_type_microRusEFI_Miata_NB2_MAF = "w\x00\x30@@ET_MRE_MIATA_NB2_MAF_16_hex@@"
|
||||
|
@ -1505,7 +1508,6 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
|||
|
||||
[UserDefined]
|
||||
dialog = fuelTableBottomDialog, "", card
|
||||
panel = fuelTableTPSTbl, Center, {fuelAlgorithm==LM_ALPHA_N}
|
||||
panel = fuelTableELTbl, Center
|
||||
|
||||
dialog = fuelTableRight, "", yAxis
|
||||
|
@ -2934,6 +2936,8 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
|||
commandButton = "Frankenso Miata NA6 Stage 1", cmd_set_engine_type_Frankenso_Miata_NA6_MAP@@if_show_Frankenso_presets
|
||||
commandButton = "Frankenso Miata NB2 MAP", cmd_set_engine_type_Frankenso_Miata_NB2@@if_show_Frankenso_presets
|
||||
|
||||
commandButton = "microRusEFI Miata NA6 VAF", cmd_set_engine_type_microRusEFI_Miata_NA6_VAF@@if_show_microRusEFI_presets
|
||||
commandButton = "microRusEFI Miata NA6 MAP", cmd_set_engine_type_microRusEFI_Miata_NA6_MAP@@if_show_microRusEFI_presets
|
||||
commandButton = "microRusEfi Miata NB2 MAP", cmd_set_engine_type_microRusEFI_Miata_NB2_MAP@@if_show_microRusEFI_presets
|
||||
commandButton = "microRusEFI Miata NB2 MAF", cmd_set_engine_type_microRusEFI_Miata_NB2_MAF@@if_show_microRusEFI_presets
|
||||
commandButton = "microRusEFI Defaults", cmd_set_engine_type_microRusEFI_Defaults@@if_show_microRusEFI_presets
|
||||
|
|
|
@ -1,66 +0,0 @@
|
|||
/*@
|
||||
* @file data_buffer.c
|
||||
*
|
||||
* @date Dec 8, 2012
|
||||
* @author Andrey Belomutskiy, (c) 2012-2020
|
||||
*/
|
||||
|
||||
#include "data_buffer.h"
|
||||
|
||||
int dbIsFull(data_buffer_s *db) {
|
||||
return db->size == DB_MAX_SIZE;
|
||||
}
|
||||
|
||||
void dbClear(data_buffer_s *db) {
|
||||
db->size = 0;
|
||||
}
|
||||
|
||||
void dbCopy(data_buffer_s *source, data_buffer_s *target) {
|
||||
int s = source->size;
|
||||
target->size = s;
|
||||
for (int i = 0; i < s; i++)
|
||||
target->elements[i] = source->elements[i];
|
||||
}
|
||||
|
||||
void dbAdd(data_buffer_s *db, int value) {
|
||||
if (db->size == DB_MAX_SIZE)
|
||||
return;
|
||||
int s = db->size;
|
||||
db->elements[s] = value;
|
||||
db->size = s + 1;
|
||||
}
|
||||
|
||||
int modp(int param) {
|
||||
return param > EF_PERIOD ? param - EF_PERIOD : param;
|
||||
}
|
||||
|
||||
//void dbPrint(data_buffer_s *db, char *message, int withDiff) {
|
||||
// int s = db->size;
|
||||
// print("buffer [%s] size=%d\r\n", message, s);
|
||||
// int range = db->elements[s - 1] - db->elements[0];
|
||||
// print("range %d\r\n", range);
|
||||
//
|
||||
// for (int i = 0; i < s; i++) {
|
||||
// print("%d: %d", i, db->elements[i]);
|
||||
// if (withDiff && i > 0) {
|
||||
// int diff = modp(db->elements[i]) - modp(db->elements[i - 1]);
|
||||
// print(" t=%d", diff);
|
||||
// }
|
||||
// print("\r\n");
|
||||
// }
|
||||
//}
|
||||
|
||||
//void dbPrintTable(data_buffer_s *table[], char *caption[], int columns) {
|
||||
// for (int c = 0; c < columns; c++)
|
||||
// print("%7s", caption[c]);
|
||||
// print("\r\n");
|
||||
//
|
||||
// for (int r = 0; r < DB_MAX_SIZE; r++) {
|
||||
// for (int c = 0; c < columns; c++) {
|
||||
// data_buffer_s *buf = table[c];
|
||||
// print("%7d", buf->elements[r]);
|
||||
// }
|
||||
// print("\r\n");
|
||||
// }
|
||||
//}
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
/*
|
||||
* data_buffer.h
|
||||
*
|
||||
* @date Dec 8, 2012
|
||||
* @author Andrey Belomutskiy, (c) 2012-2020
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define DB_MAX_SIZE 1024
|
||||
|
||||
#define EF_PERIOD 100000000
|
||||
|
||||
typedef struct {
|
||||
int elements[DB_MAX_SIZE];
|
||||
int size;
|
||||
} data_buffer_s;
|
||||
|
||||
int dbIsFull(data_buffer_s *db);
|
||||
void dbClear(data_buffer_s *db);
|
||||
void dbAdd(data_buffer_s *db, int value);
|
||||
void dbCopy(data_buffer_s *source, data_buffer_s *target);
|
||||
void dbPrint(data_buffer_s *db, char *message, int withDiff);
|
||||
void dbPrintTable(data_buffer_s *table[], char *caption[], int columns);
|
|
@ -112,7 +112,7 @@ void append(Logging *logging, const char *text) {
|
|||
* @note This method if fast because it does not validate much, be sure what you are doing
|
||||
*/
|
||||
void appendFast(Logging *logging, const char *text) {
|
||||
register char *s;
|
||||
char *s;
|
||||
s = logging->linePointer;
|
||||
while ((*s++ = *text++) != 0)
|
||||
;
|
||||
|
|
|
@ -64,7 +64,7 @@ float clampF(float min, float clamp, float max) {
|
|||
}
|
||||
|
||||
uint32_t efiStrlen(const char *param) {
|
||||
register const char *s;
|
||||
const char *s;
|
||||
for (s = param; *s; ++s)
|
||||
;
|
||||
return (s - param);
|
||||
|
|
|
@ -1,60 +0,0 @@
|
|||
/*
|
||||
* avg_values.c
|
||||
*
|
||||
* @date Jul 23, 2013
|
||||
* @author Andrey Belomutskiy, (c) 2012-2020
|
||||
*/
|
||||
|
||||
#include "avg_values.h"
|
||||
#include <math.h>
|
||||
|
||||
void avgFill(AvgTable *table, int count, float value) {
|
||||
for (int i = 0; i < AVG_TAB_SIZE; i++) {
|
||||
for (int j = 0; j < AVG_TAB_SIZE; j++) {
|
||||
table->counts[i][j] = count;
|
||||
table->values[i][j] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void avgReset(AvgTable *table) {
|
||||
avgFill(table, 0, 0);
|
||||
}
|
||||
|
||||
void avgAddValue(AvgTable *table, int rpm, float key, float value) {
|
||||
if (rpm >= MAX_RPM || key >= MAX_KEY) {
|
||||
return;
|
||||
}
|
||||
int i = (int)(AVG_TAB_SIZE * rpm / MAX_RPM);
|
||||
int j = (int)(AVG_TAB_SIZE * key / MAX_KEY);
|
||||
|
||||
table->values[i][j] += value;
|
||||
table->counts[i][j]++;
|
||||
}
|
||||
|
||||
float avgGetValueByIndexes(AvgTable *table, int i, int j) {
|
||||
int count = table->counts[i][j];
|
||||
if (count == 0) {
|
||||
return NAN;
|
||||
}
|
||||
return table->values[i][j] / count;
|
||||
}
|
||||
|
||||
float avgGetValue(AvgTable *table, int rpm, float key) {
|
||||
if (rpm >= MAX_RPM || key >= MAX_KEY) {
|
||||
return NAN;
|
||||
}
|
||||
int i = (int)(AVG_TAB_SIZE * rpm / MAX_RPM);
|
||||
int j = (int)(AVG_TAB_SIZE * key / MAX_KEY);
|
||||
return avgGetValueByIndexes(table, i, j);
|
||||
}
|
||||
|
||||
int avgGetValuesCount(AvgTable *table, int rpm, float key) {
|
||||
if (rpm >= MAX_RPM || key >= MAX_KEY) {
|
||||
return 0;
|
||||
}
|
||||
int i = (int)(AVG_TAB_SIZE * rpm / MAX_RPM);
|
||||
int j = (int)(AVG_TAB_SIZE * key / MAX_KEY);
|
||||
|
||||
return table->counts[i][j];
|
||||
}
|
|
@ -1,27 +0,0 @@
|
|||
/*
|
||||
* avg_values.h
|
||||
*
|
||||
* @date Jul 23, 2013
|
||||
* @author Andrey Belomutskiy, (c) 2012-2020
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define AVG_TAB_SIZE 48
|
||||
|
||||
#define MAX_RPM 8000
|
||||
#define MAX_KEY 5
|
||||
|
||||
typedef struct {
|
||||
float values[AVG_TAB_SIZE][AVG_TAB_SIZE];
|
||||
int counts[AVG_TAB_SIZE][AVG_TAB_SIZE];
|
||||
} AvgTable;
|
||||
|
||||
|
||||
void avgReset(AvgTable *table);
|
||||
void avgFill(AvgTable *table, int count, float value);
|
||||
|
||||
void avgAddValue(AvgTable *table, int rpm, float key, float value);
|
||||
float avgGetValueByIndexes(AvgTable *table, int i, int j);
|
||||
float avgGetValue(AvgTable *table, int rpm, float key);
|
||||
int avgGetValuesCount(AvgTable *table, int rpm, float key);
|
|
@ -1,63 +0,0 @@
|
|||
/*
|
||||
* @file signal_filtering.c
|
||||
*
|
||||
* @date Aug 5, 2013
|
||||
* @author Andrey Belomutskiy, (c) 2012-2020
|
||||
*/
|
||||
|
||||
#ifndef SIGNAL_FILTERING_C_
|
||||
#define SIGNAL_FILTERING_C_
|
||||
|
||||
#include "signal_filtering.h"
|
||||
|
||||
void sfInit(SignalFiltering *fs, float K, float initialValue) {
|
||||
fs->pointer = 0;
|
||||
fs->K = K;
|
||||
fs->Vout = initialValue;
|
||||
fs->Vacc = initialValue * K;
|
||||
}
|
||||
|
||||
static void addCopyAndSort(SignalFiltering *fs, float value) {
|
||||
fs->values[fs->pointer] = value;
|
||||
fs->pointer = ++fs->pointer == FILTER_SIZE ? 0 : fs->pointer;
|
||||
|
||||
copyArray(fs->sorted, fs->values);
|
||||
|
||||
for (int i = 0; i < FILTER_SIZE; i++)
|
||||
for (int j = i + 1; j < FILTER_SIZE; j++)
|
||||
if (fs->sorted[i] < fs->sorted[j]) {
|
||||
float temp = fs->sorted[i];
|
||||
fs->sorted[i] = fs->sorted[j];
|
||||
fs->sorted[j] = temp;
|
||||
}
|
||||
}
|
||||
|
||||
void sfAddValue(SignalFiltering *fs, float value) {
|
||||
addCopyAndSort(fs, value);
|
||||
float Vin = fs->sorted[FILTER_SIZE / 2];
|
||||
|
||||
fs->Vacc += Vin - fs->Vout;
|
||||
fs->Vout = fs->Vacc / fs->K;
|
||||
}
|
||||
|
||||
void sfAddValue2(SignalFiltering *fs, float value) {
|
||||
addCopyAndSort(fs, value);
|
||||
|
||||
int fromIndex = FILTER_SIZE / 4;
|
||||
int toIndex = FILTER_SIZE / 4 + FILTER_SIZE / 2;
|
||||
|
||||
/**
|
||||
* this implementation takes the average of the middle hald of the sorted values
|
||||
*/
|
||||
float result = 0;
|
||||
for (int i = fromIndex; i < toIndex; i++)
|
||||
result += fs->sorted[i];
|
||||
|
||||
fs->Vout = result / (FILTER_SIZE / 2);
|
||||
}
|
||||
|
||||
float sfGetValue(SignalFiltering *fs) {
|
||||
return fs->Vout;
|
||||
}
|
||||
|
||||
#endif /* SIGNAL_FILTERING_C_ */
|
|
@ -1,22 +0,0 @@
|
|||
/*
|
||||
* @file signal_filtering.h
|
||||
*
|
||||
* @date Aug 5, 2013
|
||||
* @author Andrey Belomutskiy, (c) 2012-2020
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FILTER_SIZE 5
|
||||
|
||||
typedef struct {
|
||||
float values[FILTER_SIZE];
|
||||
float sorted[FILTER_SIZE];
|
||||
int pointer;
|
||||
float K, Vacc, Vout;
|
||||
} SignalFiltering;
|
||||
|
||||
void sfInit(SignalFiltering *fs, float K, float initialValue);
|
||||
void sfAddValue(SignalFiltering *fs, float value);
|
||||
void sfAddValue2(SignalFiltering *fs, float value);
|
||||
float sfGetValue(SignalFiltering *fs);
|
|
@ -1,113 +0,0 @@
|
|||
/**
|
||||
* @file unaligned.c
|
||||
* @brief unaligned data access helpers
|
||||
*
|
||||
* @date May, 2019
|
||||
* @author Andrey Gusakov, (c) 2019
|
||||
*
|
||||
* This file is part of rusEfi - see http://rusefi.com
|
||||
*
|
||||
* rusEfi is free software; you can redistribute it and/or modify it under the terms of
|
||||
* the GNU General Public License as published by the Free Software Foundation; either
|
||||
* version 3 of the License, or (at your option) any later version.
|
||||
*
|
||||
* rusEfi is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
|
||||
* even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with this program.
|
||||
* If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "unaligned.h"
|
||||
#include "common.h"
|
||||
|
||||
/* generate mask */
|
||||
static inline uint32_t bit_mask(unsigned int from, unsigned int to)
|
||||
{
|
||||
uint32_t mask = 0;
|
||||
uint32_t shift;
|
||||
|
||||
if (to < from)
|
||||
return 0;
|
||||
|
||||
shift = to - from + 1U;
|
||||
|
||||
if ((shift > 0U) && (shift <= 32U) && (from <= 31U)) {
|
||||
if (shift < 32U) {
|
||||
mask = (uint32_t)((1UL << shift) - 1UL);
|
||||
mask = mask << from;
|
||||
} else {
|
||||
mask = 0xFFFFFFFFUL;
|
||||
}
|
||||
}
|
||||
|
||||
return mask;
|
||||
}
|
||||
|
||||
/* get upto 32 bits from char array p, from bit position pos, lenght len */
|
||||
uint32_t bits_get(uint8_t *p, unsigned int pos, int len)
|
||||
{
|
||||
int i;
|
||||
unsigned int offset = 0;
|
||||
uint32_t res = 0;
|
||||
|
||||
i = (int)pos / 8;
|
||||
|
||||
while (len > 0) {
|
||||
uint32_t tmp;
|
||||
uint32_t mask;
|
||||
int nbits = 8 - ((int)pos % 8);
|
||||
|
||||
/* get */
|
||||
tmp = (uint32_t)p[i];
|
||||
/* shift */
|
||||
tmp = tmp >> (8U - (uint32_t)nbits);
|
||||
/* mask */
|
||||
mask = bit_mask(0, MIN((uint32_t)len - 1U, (uint32_t)nbits - 1U));
|
||||
tmp = tmp & mask;
|
||||
res = res | ((tmp) << offset);
|
||||
|
||||
/* adjust for the next iteration */
|
||||
offset += (unsigned int)nbits;
|
||||
len -= nbits;
|
||||
pos += (unsigned int)nbits;
|
||||
i++;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
/* set upto 32 bits in char array p, from bit position pos, lenght len */
|
||||
void bits_set(uint8_t *p, unsigned int pos, int len, uint32_t val)
|
||||
{
|
||||
int i;
|
||||
unsigned int offset = 0;
|
||||
|
||||
i = (int)pos / 8;
|
||||
|
||||
while (len > 0) {
|
||||
uint32_t tmp;
|
||||
uint32_t mask;
|
||||
|
||||
/* get number of bits to shift to get to the target range */
|
||||
int shift = (int)pos % 8;
|
||||
/* get next byte */
|
||||
tmp = (val >> offset) & 0xffU;
|
||||
/* shift temporary value to the start of the target range */
|
||||
tmp = tmp << (uint8_t)shift;
|
||||
/* calculate mask */
|
||||
mask = bit_mask((uint32_t)shift, MIN(8U - 1U, (unsigned int)shift + (unsigned int)len - 1U));
|
||||
/* clean all bits outside of the target range */
|
||||
tmp &= mask;
|
||||
/* pre-clean all target bits */
|
||||
p[i] = p[i] & ~((uint8_t)mask);
|
||||
/* finally set active bits */
|
||||
p[i] |= (uint8_t)tmp;
|
||||
|
||||
/* adjust for the next iteration */
|
||||
offset += ((uint32_t)8U - (uint32_t)shift);
|
||||
len -= (8 - shift);
|
||||
pos += ((unsigned int)8U - (unsigned int)shift);
|
||||
i++;
|
||||
}
|
||||
}
|
|
@ -1,105 +0,0 @@
|
|||
/**
|
||||
* @file unaligned.h
|
||||
* @brief unaligned data access helpers header file
|
||||
*
|
||||
* @date May, 2019
|
||||
* @author Andrey Gusakov, (c) 2019
|
||||
*
|
||||
* This file is part of rusEfi - see http://rusefi.com
|
||||
*
|
||||
* rusEfi is free software; you can redistribute it and/or modify it under the terms of
|
||||
* the GNU General Public License as published by the Free Software Foundation; either
|
||||
* version 3 of the License, or (at your option) any later version.
|
||||
*
|
||||
* rusEfi is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
|
||||
* even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with this program.
|
||||
* If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef UNALIGNED_H_INCLUDED
|
||||
#define UNALIGNED_H_INCLUDED
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
/* bit operations */
|
||||
uint32_t bits_get(uint8_t *p, unsigned int pos, int len);
|
||||
void bits_set(uint8_t *p, unsigned int pos, int len, uint32_t val);
|
||||
#define bit_set(p, pos) do {(p)[(pos) / 8] |= (1 << ((pos) % 8));} while(0)
|
||||
#define bit_clr(p, pos) do {(p)[(pos) / 8] &= ~(1 << ((pos) % 8));} while(0)
|
||||
#define bit_get(p, pos) (!!((p)[(pos) / 8] & (1 << ((pos) % 8))))
|
||||
|
||||
/* unaligned access */
|
||||
static inline void put_be8(uint8_t *p, uint8_t v)
|
||||
{
|
||||
p[0] = v;
|
||||
}
|
||||
|
||||
static inline void put_le8(uint8_t *p, uint8_t v)
|
||||
{
|
||||
p[0] = v;
|
||||
}
|
||||
|
||||
static inline void put_be16(uint8_t *p, uint16_t v)
|
||||
{
|
||||
p[0] = (uint8_t)(v >> 8);
|
||||
p[1] = (uint8_t)(v >> 0);
|
||||
}
|
||||
|
||||
static inline void put_le16(uint8_t *p, uint16_t v)
|
||||
{
|
||||
p[0] = (uint8_t)(v >> 0);
|
||||
p[1] = (uint8_t)(v >> 8);
|
||||
}
|
||||
|
||||
static inline void put_be32(uint8_t *p, uint32_t v)
|
||||
{
|
||||
p[0] = (uint8_t)(v >> 24);
|
||||
p[1] = (uint8_t)(v >> 16);
|
||||
p[2] = (uint8_t)(v >> 8);
|
||||
p[3] = (uint8_t)(v >> 0);
|
||||
}
|
||||
|
||||
static inline void put_le32(uint8_t *p, uint32_t v)
|
||||
{
|
||||
p[0] = (uint8_t)(v >> 0);
|
||||
p[1] = (uint8_t)(v >> 8);
|
||||
p[2] = (uint8_t)(v >> 16);
|
||||
p[3] = (uint8_t)(v >> 24);
|
||||
}
|
||||
|
||||
static inline uint8_t get_be8(uint8_t *p)
|
||||
{
|
||||
return p[0];
|
||||
}
|
||||
|
||||
static inline uint8_t get_le8(uint8_t *p)
|
||||
{
|
||||
return p[0];
|
||||
}
|
||||
|
||||
static inline uint16_t get_be16(uint8_t *p)
|
||||
{
|
||||
return ((uint16_t)p[0] << 8) | p[1];
|
||||
}
|
||||
|
||||
static inline uint16_t get_le16(uint8_t *p)
|
||||
{
|
||||
return ((uint16_t)p[1] << 8) | p[0];
|
||||
}
|
||||
|
||||
static inline uint32_t get_be32(uint8_t *p)
|
||||
{
|
||||
return ((uint32_t)p[0] << 24) | ((uint32_t)p[1] << 16) |
|
||||
((uint32_t)p[2] << 8) | p[3];
|
||||
}
|
||||
|
||||
static inline uint32_t get_le32(uint8_t *p)
|
||||
{
|
||||
return ((uint32_t)p[3] << 24) | ((uint32_t)p[2] << 16) |
|
||||
((uint32_t)p[1] << 8) | p[0];
|
||||
}
|
||||
|
||||
#endif /* UNALIGNED_H_INCLUDED */
|
|
@ -1,11 +1,9 @@
|
|||
UTIL_DIR=$(PROJECT_DIR)/util
|
||||
|
||||
UTILSRC = \
|
||||
$(UTIL_DIR)/containers/data_buffer.c \
|
||||
$(UTIL_DIR)/math/crc.c \
|
||||
$(UTIL_DIR)/os_util.c \
|
||||
$(UTIL_DIR)/histogram.c \
|
||||
$(UTIL_DIR)/unaligned.c
|
||||
$(UTIL_DIR)/histogram.c
|
||||
|
||||
UTILSRC_CPP = \
|
||||
$(UTIL_DIR)/containers/cyclic_buffer.cpp \
|
||||
|
@ -14,7 +12,6 @@ UTILSRC_CPP = \
|
|||
$(UTIL_DIR)/containers/local_version_holder.cpp \
|
||||
$(UTIL_DIR)/containers/table_helper.cpp \
|
||||
$(UTIL_DIR)/math/pid.cpp \
|
||||
$(UTIL_DIR)/math/avg_values.cpp \
|
||||
$(UTIL_DIR)/math/interpolation.cpp \
|
||||
$(PROJECT_DIR)/util/datalogging.cpp \
|
||||
$(PROJECT_DIR)/util/loggingcentral.cpp \
|
||||
|
|
|
@ -2,7 +2,7 @@ autoupdate_build
|
|||
rusefi_autoupdate.jar
|
||||
logs/
|
||||
rusefi_console_properties.xml
|
||||
output.c
|
||||
generated*.cpp
|
||||
currenttune.msq
|
||||
output.msq
|
||||
rusefi.ini
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="TS2CRunner" type="Application" factoryName="Application" nameIsGenerated="true">
|
||||
<option name="MAIN_CLASS_NAME" value="com.rusefi.tools.tune.TS2CRunner" />
|
||||
<module name="models" />
|
||||
<option name="VM_PARAMETERS" value="-Dini_file_path=." />
|
||||
<extension name="coverage">
|
||||
<pattern>
|
||||
<option name="PATTERN" value="com.rusefi.tools.tune.*" />
|
||||
<option name="ENABLED" value="true" />
|
||||
</pattern>
|
||||
</extension>
|
||||
<method v="2">
|
||||
<option name="Make" enabled="true" />
|
||||
</method>
|
||||
</configuration>
|
||||
</component>
|
|
@ -1,6 +1,6 @@
|
|||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="TS2C fsioTable1" type="Application" factoryName="Application">
|
||||
<option name="MAIN_CLASS_NAME" value="com.rusefi.TS2C" />
|
||||
<option name="MAIN_CLASS_NAME" value="com.rusefi.tools.tune.TS2C" />
|
||||
<module name="models" />
|
||||
<option name="PROGRAM_PARAMETERS" value="currenttune.msq fsioTable1LoadBins fsioTable1RpmBins fsioTable1 8" />
|
||||
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="TS2C fuelTable" type="Application" factoryName="Application">
|
||||
<option name="MAIN_CLASS_NAME" value="com.rusefi.TS2C" />
|
||||
<option name="MAIN_CLASS_NAME" value="com.rusefi.tools.tune.TS2C" />
|
||||
<module name="models" />
|
||||
<option name="PROGRAM_PARAMETERS" value="currenttune.msq fuelLoadBins fuelRpmBins fuelTable" />
|
||||
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="TS2C ignitionTable" type="Application" factoryName="Application">
|
||||
<option name="MAIN_CLASS_NAME" value="com.rusefi.TS2C" />
|
||||
<option name="MAIN_CLASS_NAME" value="com.rusefi.tools.tune.TS2C" />
|
||||
<module name="models" />
|
||||
<option name="PROGRAM_PARAMETERS" value="currenttune.msq ignitionLoadBins ignitionRpmBins ignitionTable" />
|
||||
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="TS2C targetAFR" type="Application" factoryName="Application">
|
||||
<option name="MAIN_CLASS_NAME" value="com.rusefi.TS2C" />
|
||||
<option name="MAIN_CLASS_NAME" value="com.rusefi.tools.tune.TS2C" />
|
||||
<module name="models" />
|
||||
<option name="PROGRAM_PARAMETERS" value="currenttune.msq afrLoadBins afrRpmBins afrTable" />
|
||||
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue