diff --git a/firmware/controllers/algo/advance_map.cpp b/firmware/controllers/algo/advance_map.cpp index df04b45abc..8ce3c041ec 100644 --- a/firmware/controllers/algo/advance_map.cpp +++ b/firmware/controllers/algo/advance_map.cpp @@ -29,6 +29,12 @@ EXTERN_ENGINE; static ign_Map3D_t advanceMap; +static const float iatTimingRpmBins[IGN_LOAD_COUNT] = {880, 1260, 1640, 2020, 2400, 2780, 3000, 3380, 3760, 4140, 4520, 5000, 5700, 6500, 7200, 8000}; + +//880 1260 1640 2020 2400 2780 3000 3380 3760 4140 4520 5000 5700 6500 7200 8000 +//static const ignition_table_t default_aspire_timing_table = { + + float getBaseAdvance(int rpm, float engineLoad DECLARE_ENGINE_PARAMETER_S) { if (cisnan(engineLoad)) { warning(OBD_PCM_Processor_Fault, "NaN engine load"); @@ -57,6 +63,11 @@ float getAdvance(int rpm, float engineLoad DECLARE_ENGINE_PARAMETER_S) { return angle; } +void setDefaultIatTimingCorrection(DECLARE_ENGINE_PARAMETER_F) { + setTableBin2(config->ignitionIatCorrLoadBins, IGN_LOAD_COUNT, -40, 110, 1); + memcpy(config->ignitionIatCorrRpmBins, iatTimingRpmBins, sizeof(iatTimingRpmBins)); +} + void prepareTimingMap(DECLARE_ENGINE_PARAMETER_F) { advanceMap.init(config->ignitionTable, config->ignitionLoadBins, config->ignitionRpmBins); diff --git a/firmware/controllers/algo/advance_map.h b/firmware/controllers/algo/advance_map.h index 788c14f695..fd257ed4de 100644 --- a/firmware/controllers/algo/advance_map.h +++ b/firmware/controllers/algo/advance_map.h @@ -11,6 +11,7 @@ #include "engine.h" float getAdvance(int rpm, float engineLoad DECLARE_ENGINE_PARAMETER_S); +void setDefaultIatTimingCorrection(DECLARE_ENGINE_PARAMETER_F); void prepareTimingMap(DECLARE_ENGINE_PARAMETER_F); #endif /* ADVANCE_H_ */ diff --git a/firmware/controllers/algo/engine_configuration.cpp b/firmware/controllers/algo/engine_configuration.cpp index 9916aa5ad6..591a2c70bb 100644 --- a/firmware/controllers/algo/engine_configuration.cpp +++ b/firmware/controllers/algo/engine_configuration.cpp @@ -28,6 +28,7 @@ #include "trigger_decoder.h" #include "engine_math.h" #include "speed_density.h" +#include "advance_map.h" #include "custom_engine.h" #include "acura_rsx.h" @@ -225,6 +226,7 @@ void setDefaultConfiguration(DECLARE_ENGINE_PARAMETER_F) { setMap(config->injectionPhase, -180); setRpmTableBin(config->injPhaseRpmBins, FUEL_RPM_COUNT); setFuelTablesLoadBin(10, 160 PASS_ENGINE_PARAMETER); + setDefaultIatTimingCorrection(PASS_ENGINE_PARAMETER_F); setThermistorConfiguration(&engineConfiguration->clt, 0, 9500, 23.8889, 2100, 48.8889, 1000); engineConfiguration->clt.bias_resistor = 1500; diff --git a/firmware/rusefi.cpp b/firmware/rusefi.cpp index 50d473c0ea..60a7db0adf 100644 --- a/firmware/rusefi.cpp +++ b/firmware/rusefi.cpp @@ -276,5 +276,5 @@ int getRusEfiVersion(void) { return 1; // this is here to make the compiler happy about the unused array if (UNUSED_CCM_SIZE[0] == 0) return 1; // this is here to make the compiler happy about the unused array - return 20150405; + return 20150406; } diff --git a/hardware/frankenso/known_issues.txt b/hardware/frankenso/known_issues.txt index 928b9fed5b..1d6aad7748 100644 --- a/hardware/frankenso/known_issues.txt +++ b/hardware/frankenso/known_issues.txt @@ -76,7 +76,9 @@ ) cheaper battery holder - through-hole (need to find out footprint) ) remove some/all EGT - expand prototyping area? ) idle valve SMD diode? - + ) on schematics, rename INJ_xx to LOW_xx? "inj" is a bit confusing, it implies that PE6 is injector #1 while it is usually not the case + ) set analog input values to match https://docs.google.com/spreadsheets/d/1LTvS7I-128Hft9uXHG1JrBxetVjGJDSBkySgVDQ6MGk/edit#gid=0 + ) remove 'REAR-DEFROSTER-SW' and etc from schematics For honda add-on / rewiring board