rusEFI
The most advanced open source ECU
|
Utility method related to the engine configuration data structure.
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/.
Definition in file engine_configuration.cpp.
Variables | |
std::optional< setup_custom_board_overrides_type > | custom_board_DefaultConfiguration |
std::optional< setup_custom_board_overrides_type > | custom_board_ConfigOverrides |
std::optional< setup_custom_board_config_type > | custom_board_OnConfigurationChange |
static bool | hasRememberedConfiguration = false |
engine_configuration_s & | activeConfiguration = reinterpret_cast<persistent_config_container_s*>(getFlashAddrFirstCopy())->persistentConfiguration.engineConfiguration |
bool | isActiveConfigurationVoid = true |
static engine_configuration_s | activeConfigurationLocalStorage |
void applyNonPersistentConfiguration | ( | ) |
Definition at line 698 of file engine_configuration.cpp.
Referenced by readFromFlash(), and resetConfigurationExt().
PUBLIC_API_WEAK void boardBeforeTuneDefaults | ( | ) |
this hook is about https://github.com/rusefi/rusefi/wiki/Custom-Firmware and https://github.com/rusefi/rusefi/wiki/Canned-Tune-Process todo: why two hooks? is one already dead?
Definition at line 125 of file engine_configuration.cpp.
Referenced by resetConfigurationExt().
PUBLIC_API_WEAK void boardOnConfigurationChange | ( | engine_configuration_s * | previousConfiguration | ) |
Definition at line 128 of file engine_configuration.cpp.
Referenced by incrementGlobalConfigurationVersion().
void commonFrankensoAnalogInputs | ( | ) |
VBatt
Definition at line 718 of file engine_configuration.cpp.
Referenced by setDodgeNeonNGCEngineConfiguration(), and setFrankensoConfiguration().
void emptyCallbackWithConfiguration | ( | engine_configuration_s * | p_engineConfiguration | ) |
Definition at line 690 of file engine_configuration.cpp.
Referenced by resetConfigurationExt().
|
static |
Definition at line 101 of file engine_configuration.cpp.
Referenced by wipeStrings().
PUBLIC_API_WEAK int getBoardMetaDcOutputsCount | ( | ) |
Definition at line 740 of file engine_configuration.cpp.
PUBLIC_API_WEAK int getBoardMetaLowSideOutputsCount | ( | ) |
Definition at line 738 of file engine_configuration.cpp.
PUBLIC_API_WEAK Gpio * getBoardMetaOutputs | ( | ) |
Definition at line 739 of file engine_configuration.cpp.
PUBLIC_API_WEAK_SOMETHING_WEIRD int getBoardMetaOutputsCount | ( | ) |
Definition at line 736 of file engine_configuration.cpp.
Referenced by getBoardMetaLowSideOutputsCount().
PUBLIC_API_WEAK int hackHellenBoardId | ( | int | detectedId | ) |
Definition at line 732 of file engine_configuration.cpp.
void incrementGlobalConfigurationVersion | ( | const char * | msg | ) |
this is the top-level method which should be called in case of any changes to engine configuration online tuning of most values in the maps does not count as configuration change, but 'Burn' command does
this method is NOT currently invoked on ECU start - actual user input has to happen! See 'preCalculate' or 'startHardware' which are invoked BOTH on start and configuration change
Definition at line 137 of file engine_configuration.cpp.
Referenced by configureRusefiLuaHooks(), disableTriggerStimulator(), enableExternalTriggerStimulator(), enableOrDisable(), enableTriggerStimulator(), onBurnRequest(), setAnalogInputPin(), setBit(), setByte(), setCrankingInjectionMode(), setCrankingTimingAngle(), setEngineType(), setFloat(), setGlobalTriggerAngleOffset(), setIdleSolenoidFrequency(), setIgnitionMode(), setIgnitionPin(), setIndividualPin(), setInjectionMode(), setInt(), setLogicInputPin(), setShort(), setTriggerInputPin(), setTriggerSimulatorPin(), and setTriggerType().
void loadConfiguration | ( | ) |
Definition at line 632 of file engine_configuration.cpp.
Referenced by runRusEfi().
PUBLIC_API_WEAK void onBoardStandBy | ( | ) |
Definition at line 734 of file engine_configuration.cpp.
void onBurnRequest | ( | ) |
Definition at line 114 of file engine_configuration.cpp.
Referenced by requestBurn().
void prepareVoidConfiguration | ( | engine_configuration_s * | p_engineConfiguration | ) |
Definition at line 226 of file engine_configuration.cpp.
Referenced by loadConfiguration(), and setDefaultEngineConfiguration().
void rememberCurrentConfiguration | ( | ) |
Definition at line 92 of file engine_configuration.cpp.
Referenced by incrementGlobalConfigurationVersion(), and initEfiWithConfig().
void resetConfigurationExt | ( | configuration_callback_t | boardCallback, |
engine_type_e | engineType | ||
) |
boardCallback is invoked after configuration reset but before specific engineType configuration
Let's apply global defaults first
custom board engine defaults. Yes, this overlaps with (older) engine_type_e approach.
Definition at line 660 of file engine_configuration.cpp.
Referenced by doResetConfiguration(), loadConfiguration(), readFromFlash(), resetConfigurationExt(), and setEngineType().
void resetConfigurationExt | ( | engine_type_e | engineType | ) |
Definition at line 694 of file engine_configuration.cpp.
void setBoardConfigOverrides | ( | ) |
Definition at line 728 of file engine_configuration.cpp.
void setBoardDefaultConfiguration | ( | ) |
Board-specific configuration defaults.
Definition at line 725 of file engine_configuration.cpp.
void setCamOperationMode | ( | ) |
Definition at line 709 of file engine_configuration.cpp.
Referenced by setFordInline6(), setSubaruEG33Defaults(), and setTestCamEngineConfiguration().
void setConstantDwell | ( | floatms_t | dwellMs | ) |
Sets the same dwell time across the whole getRpm() range set dwell X.
Definition at line 180 of file engine_configuration.cpp.
Referenced by setDefaultIgnition(), setFordInline6(), setTestCamEngineConfiguration(), and setValue().
void setCrankOperationMode | ( | ) |
Definition at line 713 of file engine_configuration.cpp.
Referenced by commonPassatB6(), cypressBoardDefaultConfiguration(), hellen112_17_boardDefaultConfiguration(), hellen121_nissan_boardDefaultConfiguration(), hellen88_boardDefaultConfiguration(), hellen_honda_k_boardDefaultConfiguration(), m73engine(), setEtbTestConfiguration(), setGy6139qmbDefaultEngineConfiguration(), setTestCrankEngineConfiguration(), setTestVVTEngineConfiguration(), setToyota_2jz_vics(), setVwAba(), super_uaefi_boardDefaultConfiguration(), and uaefi_boardDefaultConfiguration().
void setDefaultBasePins | ( | ) |
Definition at line 235 of file engine_configuration.cpp.
Referenced by resetConfigurationExt().
|
static |
Definition at line 313 of file engine_configuration.cpp.
Referenced by setDefaultEngineConfiguration().
|
static |
Definition at line 328 of file engine_configuration.cpp.
Referenced by setDefaultEngineConfiguration().
|
static |
Global default engine configuration This method sets the global engine configuration defaults. These default values are then overridden by engine-specific defaults and the settings are saved in flash memory.
This method is invoked only when new configuration is needed:
This method should only change the state of the configuration data structure but should NOT change the state of anything else.
This method should NOT be setting any default pinout
Idle control defaults
between variation between different sensor and weather and fabrication tolerance five percent looks like a safer default
Definition at line 380 of file engine_configuration.cpp.
Referenced by resetConfigurationExt().
|
static |
Definition at line 318 of file engine_configuration.cpp.
Referenced by setDefaultEngineConfiguration().
|
static |
Definition at line 280 of file engine_configuration.cpp.
Referenced by setDefaultEngineConfiguration().
|
static |
Definition at line 356 of file engine_configuration.cpp.
Referenced by setDefaultEngineConfiguration().
|
static |
see also setTargetRpmCurve()
Definition at line 264 of file engine_configuration.cpp.
Referenced by setDefaultEngineConfiguration().
|
static |
Definition at line 345 of file engine_configuration.cpp.
Referenced by setDefaultEngineConfiguration().
void setDefaultSdCardParameters | ( | ) |
Definition at line 255 of file engine_configuration.cpp.
Referenced by f407_discovery_DefaultConfiguration().
Definition at line 187 of file engine_configuration.cpp.
Referenced by setDefaultFuel(), setDodgeNeonNGCEngineConfiguration(), and setVwAba().
void setTargetRpmCurve | ( | float | rpm | ) |
see also setDefaultIdleSpeedTarget()
Definition at line 275 of file engine_configuration.cpp.
Referenced by setGy6139qmbDefaultEngineConfiguration(), and setTargetIdleRpm().
void setWholeIatCorrTimingTable | ( | float | value | ) |
Definition at line 193 of file engine_configuration.cpp.
Referenced by setTestCamEngineConfiguration().
void setWholeTimingTable | ( | angle_t | value | ) |
See also crankingTimingAngle
Definition at line 200 of file engine_configuration.cpp.
Referenced by setDodgeNeon1995EngineConfiguration(), setVwAba(), and testEngine6451().
|
static |
Definition at line 108 of file engine_configuration.cpp.
Referenced by onBurnRequest().
engine_configuration_s & activeConfiguration = reinterpret_cast<persistent_config_container_s*>(getFlashAddrFirstCopy())->persistentConfiguration.engineConfiguration |
& is reference in C++ (not C) Ref is a pointer that: you access with dot instead of arrow Cannot be null This is about EFI_ACTIVE_CONFIGURATION_IN_FLASH
Definition at line 84 of file engine_configuration.cpp.
Referenced by applyNewHardwareSettings(), deInitAuxDigital(), deInitOldAnalogInputs(), deinitTps(), incrementGlobalConfigurationVersion(), RegisteredOutputPin::isPinConfigurationChanged(), loadConfiguration(), rememberCurrentConfiguration(), stopKLine(), stopLogicAnalyzerPins(), stopSent(), stopSmartCsPins(), stopSwitchPins(), stopTriggerInputPins(), and turnOffTriggerInputPin().
|
static |
Definition at line 88 of file engine_configuration.cpp.
std::optional<setup_custom_board_overrides_type> custom_board_ConfigOverrides |
Definition at line 71 of file engine_configuration.cpp.
Referenced by TunerStudio::handleWriteChunkCommand(), loadConfiguration(), resetConfigurationExt(), and setup_custom_board_overrides().
std::optional<setup_custom_board_overrides_type> custom_board_DefaultConfiguration |
Definition at line 70 of file engine_configuration.cpp.
Referenced by resetConfigurationExt(), and setup_custom_board_overrides().
std::optional<setup_custom_board_config_type> custom_board_OnConfigurationChange |
Definition at line 72 of file engine_configuration.cpp.
Referenced by incrementGlobalConfigurationVersion(), and setup_custom_board_overrides().
|
static |
Current engine configuration. On firmware start we assign empty configuration, then we copy actual configuration after reading settings from flash. This is useful to compare old/current (activeConfiguration) and new/future (engineConfiguration) configurations in order to apply new settings.
todo: place this field next to 'engineConfiguration'?
Definition at line 81 of file engine_configuration.cpp.
Referenced by incrementGlobalConfigurationVersion(), and rememberCurrentConfiguration().
bool isActiveConfigurationVoid = true |
Definition at line 86 of file engine_configuration.cpp.
Referenced by rememberCurrentConfiguration(), and ButtonDebounce::stopConfiguration().