defined(__DOXYGEN__) ? #748

This commit is contained in:
rusefi 2019-04-12 22:07:03 -04:00
parent 508e9d74e7
commit 541c445a2d
53 changed files with 401 additions and 401 deletions

View File

@ -8,7 +8,7 @@
*/
#include "global.h"
#if EFI_ALTERNATOR_CONTROL || defined(__DOXYGEN__)
#if EFI_ALTERNATOR_CONTROL
#include "engine.h"
#include "rpm_calculator.h"
#include "alternator_controller.h"
@ -32,7 +32,7 @@ static Pid altPid(altPidS);
static percent_t currentAltDuty;
#if EFI_TUNER_STUDIO || defined(__DOXYGEN__)
#if EFI_TUNER_STUDIO
extern TunerStudioOutputChannels tsOutputChannels;
#endif /* EFI_TUNER_STUDIO */
@ -51,7 +51,7 @@ private:
UNUSED(nowNt);
setPeriod(NOT_TOO_OFTEN(10 /* ms */, engineConfiguration->alternatorControl.periodMs));
#if ! EFI_UNIT_TEST || defined(__DOXYGEN__)
#if ! EFI_UNIT_TEST
if (shouldResetPid) {
pidReset();
shouldResetPid = false;
@ -61,7 +61,7 @@ private:
if (engineConfiguration->debugMode == DBG_ALTERNATOR_PID) {
// this block could be executed even in on/off alternator control mode
// but at least we would reflect latest state
#if EFI_TUNER_STUDIO || defined(__DOXYGEN__)
#if EFI_TUNER_STUDIO
altPid.postState(&tsOutputChannels);
#endif /* EFI_TUNER_STUDIO */
}
@ -85,7 +85,7 @@ private:
enginePins.alternatorPin.setValue(newState);
currentPlainOnOffState = newState;
if (engineConfiguration->debugMode == DBG_ALTERNATOR_PID) {
#if EFI_TUNER_STUDIO || defined(__DOXYGEN__)
#if EFI_TUNER_STUDIO
tsOutputChannels.debugIntField1 = newState;
#endif /* EFI_TUNER_STUDIO */
}

View File

@ -11,7 +11,7 @@
#include "local_version_holder.h"
#include "allsensors.h"
#if EFI_AUX_PID || defined(__DOXYGEN__)
#if EFI_AUX_PID
#include "pwm_generator.h"
#include "tunerstudio_configuration.h"
#include "fsio_impl.h"
@ -27,7 +27,7 @@ extern fsio8_Map3D_f32t fsioTable1;
// todo: this is to some extent a copy-paste of alternator_controller. maybe same loop
// for all PIDs?
#if EFI_TUNER_STUDIO || defined(__DOXYGEN__)
#if EFI_TUNER_STUDIO
extern TunerStudioOutputChannels tsOutputChannels;
#endif /* EFI_TUNER_STUDIO */
@ -92,7 +92,7 @@ private:
if (engineConfiguration->debugMode == DBG_AUX_PID_1) {
#if EFI_TUNER_STUDIO || defined(__DOXYGEN__)
#if EFI_TUNER_STUDIO
auxPid.postState(&tsOutputChannels);
tsOutputChannels.debugIntField3 = (int)(10 * targetValue);
#endif /* EFI_TUNER_STUDIO */

View File

@ -66,7 +66,7 @@
#include "global.h"
#if EFI_ELECTRONIC_THROTTLE_BODY || defined(__DOXYGEN__)
#if EFI_ELECTRONIC_THROTTLE_BODY
#include "electronic_throttle.h"
#include "tps.h"
@ -83,7 +83,7 @@
#include "pwm_generator.h"
#include "dc_motor.h"
#include "pid_auto_tune.h"
#if EFI_TUNER_STUDIO || defined(__DOXYGEN__)
#if EFI_TUNER_STUDIO
extern TunerStudioOutputChannels tsOutputChannels;
#endif /* EFI_TUNER_STUDIO */
static bool shouldResetPid = false;
@ -160,12 +160,12 @@ private:
// set debug_mode 17
if (engineConfiguration->debugMode == DBG_ELECTRONIC_THROTTLE_PID) {
#if EFI_TUNER_STUDIO || defined(__DOXYGEN__)
#if EFI_TUNER_STUDIO
pid.postState(&tsOutputChannels);
tsOutputChannels.debugIntField5 = feedForward;
#endif /* EFI_TUNER_STUDIO */
} else if (engineConfiguration->debugMode == DBG_ELECTRONIC_THROTTLE_EXTRA) {
#if EFI_TUNER_STUDIO || defined(__DOXYGEN__)
#if EFI_TUNER_STUDIO
// set debug_mode 29
tsOutputChannels.debugFloatField1 = valueOverride;
#endif /* EFI_TUNER_STUDIO */

View File

@ -26,7 +26,7 @@
#include "global.h"
#if EFI_IDLE_CONTROL || defined(__DOXYGEN__)
#if EFI_IDLE_CONTROL
#include "engine_configuration.h"
#include "rpm_calculator.h"
#include "pwm_generator.h"
@ -38,7 +38,7 @@
#include "allsensors.h"
static Logging *logger;
#if EFI_TUNER_STUDIO || defined(__DOXYGEN__)
#if EFI_TUNER_STUDIO
extern TunerStudioOutputChannels tsOutputChannels;
#endif /* EFI_TUNER_STUDIO */
EXTERN_ENGINE
@ -48,7 +48,7 @@ static bool shouldResetPid = false;
// we might reset PID state when the state is changed, but only if needed (See autoIdle())
static bool mightResetPid = false;
#if EFI_IDLE_INCREMENTAL_PID_CIC || defined(__DOXYGEN__)
#if EFI_IDLE_INCREMENTAL_PID_CIC
// Use new PID with CIC integrator
static PidCic idlePid(&engineConfiguration->idleRpmPid);
#else
@ -229,7 +229,7 @@ static percent_t automaticIdleController() {
// the state of PID has been changed, so we might reset it now, but only when needed (see idlePidDeactivationTpsThreshold)
mightResetPid = true;
#if EFI_IDLE_INCREMENTAL_PID_CIC || defined(__DOXYGEN__)
#if EFI_IDLE_INCREMENTAL_PID_CIC
// Treat the 'newValue' as if it contains not an actual IAC position, but an incremental delta.
// So we add this delta to the base IAC position, with a smooth taper for TPS transients.
newValue = baseIdlePosition + interpolateClamped(0.0f, newValue, CONFIGB(idlePidDeactivationTpsThreshold), 0.0f, tpsPos);
@ -285,7 +285,7 @@ private:
}
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
// this value is not used yet
if (CONFIGB(clutchDownPin) != GPIO_UNASSIGNED) {
engine->clutchDownState = efiReadPin(CONFIGB(clutchDownPin));
@ -306,7 +306,7 @@ private:
undoIdleBlipIfNeeded();
float clt = engine->sensors.clt;
#if EFI_SHAFT_POSITION_INPUT || defined(__DOXYGEN__)
#if EFI_SHAFT_POSITION_INPUT
bool isRunning = engine->rpmCalculator.isRunning(PASS_ENGINE_PARAMETER_SIGNATURE);
#else
bool isRunning = false;
@ -362,13 +362,13 @@ private:
if (engineConfiguration->debugMode == DBG_IDLE_CONTROL) {
if (engineConfiguration->idleMode == IM_AUTO) {
#if EFI_TUNER_STUDIO || defined(__DOXYGEN__)
#if EFI_TUNER_STUDIO
// see also tsOutputChannels->idlePosition
idlePid.postState(&tsOutputChannels, 1000000);
tsOutputChannels.debugIntField4 = idleState;
#endif /* EFI_TUNER_STUDIO */
} else {
#if EFI_TUNER_STUDIO || defined(__DOXYGEN__)
#if EFI_TUNER_STUDIO
tsOutputChannels.debugFloatField1 = iacPosition;
tsOutputChannels.debugIntField1 = iacMotor.getTargetPosition();
#endif /* EFI_TUNER_STUDIO */
@ -508,7 +508,7 @@ void startIdleThread(Logging*sharedLogger) {
}
if (engineConfiguration->brakePedalPin != GPIO_UNASSIGNED) {
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
efiSetPadMode("brake pedal switch", engineConfiguration->brakePedalPin,
getInputMode(engineConfiguration->brakePedalPinMode));
#endif /* EFI_PROD_CODE */

View File

@ -18,7 +18,7 @@
#include "global.h"
#if EFI_HD44780_LCD || defined(__DOXYGEN__)
#if EFI_HD44780_LCD
#include "lcd_controller.h"
#include "lcd_HD44780.h"
@ -214,7 +214,7 @@ static void showLine(lcd_line_e line, int screenY) {
int seconds = minI(9999, getTimeNowSeconds());
lcdPrintf("RPM %d %d ", GET_RPM(), seconds);
}
#if EFI_FILE_LOGGING || defined(__DOXYGEN__)
#if EFI_FILE_LOGGING
{
char sdState;
if (CONFIGB(isSdCardEnabled)) {
@ -267,7 +267,7 @@ static void showLine(lcd_line_e line, int screenY) {
lcdPrintf("Knock %s %.2fv", buffer, engine->knockVolts);
return;
#if EFI_ANALOG_SENSORS || defined(__DOXYGEN__)
#if EFI_ANALOG_SENSORS
case LL_BARO:
if (hasBaroSensor()) {
lcdPrintf("Baro: %.2f", getBaroPressure());

View File

@ -27,7 +27,7 @@
#include "global.h"
#if EFI_MALFUNCTION_INDICATOR || defined(__DOXYGEN__)
#if EFI_MALFUNCTION_INDICATOR
#include "io_pins.h"
#include "malfunction_central.h"
#include "malfunction_indicator.h"

View File

@ -14,7 +14,7 @@
#include "global.h"
#include "engine.h"
#if EFI_MALFUNCTION_INDICATOR || defined(__DOXYGEN__)
#if EFI_MALFUNCTION_INDICATOR
bool isMilEnabled();
void initMalfunctionIndicator(void);

View File

@ -8,7 +8,7 @@
#include "global.h"
#if EFI_PWM_TESTER || defined(__DOXYGEN__)
#if EFI_PWM_TESTER
#include "pwm_tester.h"
#include "efi_wave.h"

View File

@ -46,7 +46,7 @@ void initTachometer(void) {
enginePins.tachOut.initPin("analog tach output", CONFIGB(tachOutputPin), &CONFIGB(tachOutputPinMode));
#if EFI_SHAFT_POSITION_INPUT || defined(__DOXYGEN__)
#if EFI_SHAFT_POSITION_INPUT
addTriggerEventListener(tachSignalCallback, "tach", engine);
#endif /* EFI_SHAFT_POSITION_INPUT */
}

View File

@ -28,7 +28,7 @@
#include "engine_state.h"
#include "engine_math.h"
#include "signal_executor.h"
#if EFI_TUNER_STUDIO || defined(__DOXYGEN__)
#if EFI_TUNER_STUDIO
#include "tunerstudio_configuration.h"
extern TunerStudioOutputChannels tsOutputChannels;
#endif /* EFI_TUNER_STUDIO */
@ -213,7 +213,7 @@ floatms_t AccelEnrichmemnt::getTpsEnrichment(DECLARE_ENGINE_PARAMETER_SIGNATURE)
}
if (engineConfiguration->debugMode == DBG_TPS_ACCEL) {
#if EFI_TUNER_STUDIO || defined(__DOXYGEN__)
#if EFI_TUNER_STUDIO
tsOutputChannels.debugFloatField1 = tpsFrom;
tsOutputChannels.debugFloatField2 = tpsTo;
tsOutputChannels.debugFloatField3 = valueFromTable;
@ -250,7 +250,7 @@ float AccelEnrichmemnt::getEngineLoadEnrichment(DECLARE_ENGINE_PARAMETER_SIGNATU
}
if (engineConfiguration->debugMode == DBG_EL_ACCEL) {
#if EFI_TUNER_STUDIO || defined(__DOXYGEN__)
#if EFI_TUNER_STUDIO
tsOutputChannels.debugIntField1 = distance;
tsOutputChannels.debugFloatField1 = result;
tsOutputChannels.debugFloatField2 = taper;
@ -319,7 +319,7 @@ AccelEnrichmemnt::AccelEnrichmemnt() {
cb.setSize(4);
}
#if ! EFI_UNIT_TEST || defined(__DOXYGEN__)
#if ! EFI_UNIT_TEST
static void accelInfo() {
if (logger == NULL)
@ -399,7 +399,7 @@ void initAccelEnrichment(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX)
logger = sharedLogger;
tpsTpsMap.init(config->tpsTpsAccelTable, config->tpsTpsAccelFromRpmBins, config->tpsTpsAccelToRpmBins);
#if ! EFI_UNIT_TEST || defined(__DOXYGEN__)
#if ! EFI_UNIT_TEST
addConsoleAction("accelinfo", accelInfo);

View File

@ -31,7 +31,7 @@
EXTERN_ENGINE
;
#if EFI_TUNER_STUDIO || defined(__DOXYGEN__)
#if EFI_TUNER_STUDIO
extern TunerStudioOutputChannels tsOutputChannels;
#endif /* EFI_TUNER_STUDIO */
@ -150,7 +150,7 @@ angle_t getAdvanceCorrections(int rpm DECLARE_ENGINE_PARAMETER_SUFFIX) {
}
if (engineConfiguration->debugMode == DBG_IGNITION_TIMING) {
#if EFI_TUNER_STUDIO || defined(__DOXYGEN__)
#if EFI_TUNER_STUDIO
tsOutputChannels.debugFloatField1 = iatCorrection;
tsOutputChannels.debugFloatField2 = engine->engineState.cltTimingCorrection;
tsOutputChannels.debugFloatField3 = engine->fsioState.fsioTimingAdjustment;
@ -185,7 +185,7 @@ static angle_t getCrankingAdvance(int rpm, float engineLoad DECLARE_ENGINE_PARAM
angle_t getAdvance(int rpm, float engineLoad DECLARE_ENGINE_PARAMETER_SUFFIX) {
#if (EFI_ENGINE_CONTROL && EFI_SHAFT_POSITION_INPUT) || defined(__DOXYGEN__)
#if EFI_ENGINE_CONTROL && EFI_SHAFT_POSITION_INPUT
if (cisnan(engineLoad)) {
return 0; // any error should already be reported
}

View File

@ -25,7 +25,7 @@
#include "map_averaging.h"
#include "fsio_impl.h"
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
#include "injector_central.h"
#else
#define isRunningBenchTest() true
@ -41,7 +41,7 @@ extern int globalConfigurationVersion;
EXTERN_ENGINE
;
#if EFI_TUNER_STUDIO || defined(__DOXYGEN__)
#if EFI_TUNER_STUDIO
extern TunerStudioOutputChannels tsOutputChannels;
#endif /* EFI_TUNER_STUDIO */
@ -55,7 +55,7 @@ FsioState::FsioState() {
}
void Engine::initializeTriggerShape(Logging *logger DECLARE_ENGINE_PARAMETER_SUFFIX) {
#if (EFI_ENGINE_CONTROL && EFI_SHAFT_POSITION_INPUT) || defined(__DOXYGEN__)
#if EFI_ENGINE_CONTROL && EFI_SHAFT_POSITION_INPUT
#if !EFI_UNIT_TEST
// we have a confusing threading model so some synchronization would not hurt
bool alreadyLocked = lockAnyContext();
@ -93,7 +93,7 @@ void Engine::initializeTriggerShape(Logging *logger DECLARE_ENGINE_PARAMETER_SUF
}
static void cylinderCleanupControl(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
#if EFI_ENGINE_CONTROL || defined(__DOXYGEN__)
#if EFI_ENGINE_CONTROL
bool newValue;
if (engineConfiguration->isCylinderCleanupEnabled) {
newValue = !engine->rpmCalculator.isRunning(PASS_ENGINE_PARAMETER_SIGNATURE) && getTPS(PASS_ENGINE_PARAMETER_SIGNATURE) > CLEANUP_MODE_TPS;
@ -112,7 +112,7 @@ void Engine::periodicSlowCallback(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
updateSlowSensors(PASS_ENGINE_PARAMETER_SIGNATURE);
checkShutdown();
#if EFI_FSIO || defined(__DOXYGEN__)
#if EFI_FSIO
runFsio(PASS_ENGINE_PARAMETER_SIGNATURE);
#endif /* EFI_PROD_CODE && EFI_FSIO */
@ -127,7 +127,7 @@ void Engine::periodicSlowCallback(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
* See also periodicFastCallback
*/
void Engine::updateSlowSensors(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
#if EFI_ENGINE_CONTROL || defined(__DOXYGEN__)
#if EFI_ENGINE_CONTROL
int rpm = GET_RPM();
isEngineChartEnabled = CONFIG(isEngineChartEnabled) && rpm < CONFIG(engineSnifferRpmThreshold);
sensorChartMode = rpm < CONFIG(sensorSnifferRpmThreshold) ? CONFIGB(sensorChartMode) : SC_OFF;
@ -277,7 +277,7 @@ void Engine::watchdog() {
}
isSpinning = false;
ignitionEvents.isReady = false;
#if EFI_PROD_CODE || EFI_SIMULATOR || defined(__DOXYGEN__)
#if EFI_PROD_CODE || EFI_SIMULATOR
scheduleMsg(&engineLogger, "engine has STOPPED");
scheduleMsg(&engineLogger, "templog engine has STOPPED [%x][%x] [%x][%x] %d",
(int)(nowNt >> 32), (int)nowNt,
@ -292,7 +292,7 @@ void Engine::watchdog() {
}
void Engine::checkShutdown() {
#if EFI_MAIN_RELAY_CONTROL || defined(__DOXYGEN__)
#if EFI_MAIN_RELAY_CONTROL
int rpm = rpmCalculator.getRpm();
/**
@ -308,7 +308,7 @@ void Engine::checkShutdown() {
}
bool Engine::isInShutdownMode() {
#if EFI_MAIN_RELAY_CONTROL || defined(__DOXYGEN__)
#if EFI_MAIN_RELAY_CONTROL
if (stopEngineRequestTimeNt == 0) // the shutdown procedure is not started
return false;

View File

@ -259,7 +259,7 @@ public:
angle_t injectionOffset = 0;
#if EFI_ENABLE_MOCK_ADC || defined(__DOXYGEN__)
#if EFI_ENABLE_MOCK_ADC
MockAdcState mockAdcState;
#endif /* EFI_ENABLE_MOCK_ADC */
};
@ -362,7 +362,7 @@ public:
TestExecutor executor;
#endif
#if EFI_ENGINE_CONTROL || defined(__DOXYGEN__)
#if EFI_ENGINE_CONTROL
FuelSchedule injectionEvents;
#endif /* EFI_ENGINE_CONTROL */

View File

@ -32,7 +32,7 @@ EXTERN_ENGINE
// this does not look exactly right
extern LoggingWithStorage engineLogger;
#if EFI_TUNER_STUDIO || defined(__DOXYGEN__)
#if EFI_TUNER_STUDIO
extern TunerStudioOutputChannels tsOutputChannels;
#endif /* EFI_TUNER_STUDIO */
@ -125,7 +125,7 @@ void EngineState::updateSlowSensors(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
}
void EngineState::periodicFastCallback(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
#if EFI_ENGINE_CONTROL || defined(__DOXYGEN__)
#if EFI_ENGINE_CONTROL
if (!engine->slowCallBackWasInvoked) {
warning(CUSTOM_ERR_6696, "Slow not invoked yet");
}
@ -156,7 +156,7 @@ void EngineState::periodicFastCallback(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
cltFuelCorrection = warmupAfrPid.getOutput(warmupTargetAfr, engine->sensors.currentAfr, 1);
}
if (engineConfiguration->debugMode == DBG_WARMUP_ENRICH) {
#if EFI_TUNER_STUDIO || defined(__DOXYGEN__)
#if EFI_TUNER_STUDIO
tsOutputChannels.debugFloatField1 = warmupTargetAfr;
warmupAfrPid.postState(&tsOutputChannels);
#endif /* EFI_TUNER_STUDIO */
@ -218,7 +218,7 @@ void EngineState::periodicFastCallback(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
}
void EngineState::updateTChargeK(int rpm, float tps DECLARE_ENGINE_PARAMETER_SUFFIX) {
#if EFI_ENGINE_CONTROL || defined(__DOXYGEN__)
#if EFI_ENGINE_CONTROL
float coolantC = ENGINE(sensors.clt);
float intakeC = ENGINE(sensors.iat);
float newTCharge = getTCharge(rpm, tps, coolantC, intakeC PASS_ENGINE_PARAMETER_SUFFIX);

View File

@ -30,7 +30,7 @@
#include "advance_map.h"
#include "hip9011_lookup.h"
#if EFI_MEMS || defined(__DOXYGEN__)
#if EFI_MEMS
#include "accelerometer.h"
#endif
@ -83,32 +83,32 @@
#include "zil130.h"
#include "honda_600.h"
#if EFI_IDLE_CONTROL || defined(__DOXYGEN__)
#if EFI_IDLE_CONTROL
#include "idle_thread.h"
#endif /* EFI_IDLE_CONTROL */
#if EFI_ALTERNATOR_CONTROL || defined(__DOXYGEN__)
#if EFI_ALTERNATOR_CONTROL
#include "alternator_controller.h"
#endif
#if EFI_ELECTRONIC_THROTTLE_BODY || defined(__DOXYGEN__)
#if EFI_ELECTRONIC_THROTTLE_BODY
#include "electronic_throttle.h"
#endif
#if EFI_HIP_9011 || defined(__DOXYGEN__)
#if EFI_HIP_9011
#include "hip9011.h"
#endif
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
#include "hardware.h"
#include "board.h"
#endif /* EFI_PROD_CODE */
#if EFI_EMULATE_POSITION_SENSORS || defined(__DOXYGEN__)
#if EFI_EMULATE_POSITION_SENSORS
#include "trigger_emulator.h"
#endif /* EFI_EMULATE_POSITION_SENSORS */
#if EFI_TUNER_STUDIO || defined(__DOXYGEN__)
#if EFI_TUNER_STUDIO
#include "tunerstudio.h"
#endif
@ -174,29 +174,29 @@ void incrementGlobalConfigurationVersion(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
/**
* All these callbacks could be implemented as listeners, but these days I am saving RAM
*/
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
applyNewHardwareSettings();
#endif /* EFI_PROD_CODE */
engine->preCalculate(PASS_ENGINE_PARAMETER_SIGNATURE);
#if EFI_ALTERNATOR_CONTROL || defined(__DOXYGEN__)
#if EFI_ALTERNATOR_CONTROL
onConfigurationChangeAlternatorCallback(&activeConfiguration);
#endif /* EFI_ALTERNATOR_CONTROL */
#if EFI_ELECTRONIC_THROTTLE_BODY || defined(__DOXYGEN__)
#if EFI_ELECTRONIC_THROTTLE_BODY
onConfigurationChangeElectronicThrottleCallback(&activeConfiguration);
#endif /* EFI_ELECTRONIC_THROTTLE_BODY */
#if EFI_IDLE_CONTROL || defined(__DOXYGEN__)
#if EFI_IDLE_CONTROL
onConfigurationChangeIdleCallback(&activeConfiguration);
#endif /* EFI_IDLE_CONTROL */
#if EFI_SHAFT_POSITION_INPUT || defined(__DOXYGEN__)
#if EFI_SHAFT_POSITION_INPUT
onConfigurationChangeTriggerCallback(&activeConfiguration PASS_ENGINE_PARAMETER_SUFFIX);
#endif /* EFI_SHAFT_POSITION_INPUT */
#if EFI_EMULATE_POSITION_SENSORS || defined(__DOXYGEN__)
#if EFI_EMULATE_POSITION_SENSORS
onConfigurationChangeRpmEmulatorCallback(&activeConfiguration);
#endif /* EFI_EMULATE_POSITION_SENSORS */
#if EFI_FSIO || defined(__DOXYGEN__)
#if EFI_FSIO
onConfigurationChangeFsioCallback(&activeConfiguration PASS_ENGINE_PARAMETER_SUFFIX);
#endif /* EFI_FSIO */
rememberCurrentConfiguration(PASS_ENGINE_PARAMETER_SIGNATURE);
@ -342,14 +342,14 @@ void prepareVoidConfiguration(engine_configuration_s *engineConfiguration) {
boardConfiguration->acRelayPin = GPIO_UNASSIGNED;
boardConfiguration->acRelayPinMode = OM_DEFAULT;
#if EFI_ALTERNATOR_CONTROL || defined(__DOXYGEN__)
#if EFI_ALTERNATOR_CONTROL
setDefaultAlternatorParameters();
#endif /* EFI_ALTERNATOR_CONTROL */
#if EFI_ELECTRONIC_THROTTLE_BODY || defined(__DOXYGEN__)
#if EFI_ELECTRONIC_THROTTLE_BODY
setDefaultEtbParameters(PASS_ENGINE_PARAMETER_SIGNATURE);
setDefaultEtbBiasCurve(PASS_ENGINE_PARAMETER_SIGNATURE);
#endif /* EFI_ELECTRONIC_THROTTLE_BODY */
#if EFI_IDLE_CONTROL || defined(__DOXYGEN__)
#if EFI_IDLE_CONTROL
setDefaultIdleParameters();
#endif /* EFI_IDLE_CONTROL */
boardConfiguration->wboHeaterPin = GPIO_UNASSIGNED;
@ -405,7 +405,7 @@ void setDefaultBasePins(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
engineConfiguration->fatalErrorPin = GPIOD_14;
#endif /* EFI_FATAL_ERROR_PIN */
engineConfiguration->warninigLedPin = GPIOD_13;
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
// call overrided board-specific serial configuration setup, if needed (for custom boards only)
// needed also by bootloader code
setPinConfigurationOverrides();
@ -422,7 +422,7 @@ void setDefaultSerialParameters(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
boardConfiguration->tunerStudioSerialSpeed = TS_DEFAULT_SPEED;
engineConfiguration->uartConsoleSerialSpeed = 115200;
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
// call overrided board-specific serial configuration setup, if needed (for custom boards only)
setSerialConfigurationOverrides();
#endif
@ -435,7 +435,7 @@ void setDefaultSdCardParameters(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
boardConfiguration->sdCardCsPin = GPIOD_4;
boardConfiguration->isSdCardEnabled = true;
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
// call overrided board-specific SD card configuration setup, if needed (for custom boards only)
setSdCardConfigurationOverrides();
#endif
@ -648,7 +648,7 @@ int getTargetRpmForIdleCorrection(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
* anything else.
*/
void setDefaultConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
#if (! EFI_UNIT_TEST) || defined(__DOXYGEN__)
#if (! EFI_UNIT_TEST)
memset(&persistentState.persistentConfiguration, 0, sizeof(persistentState.persistentConfiguration));
#endif
prepareVoidConfiguration(engineConfiguration);
@ -769,7 +769,7 @@ void setDefaultConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
engineConfiguration->auxTempSensor1.adcChannel = EFI_ADC_NONE;
engineConfiguration->auxTempSensor2.adcChannel = EFI_ADC_NONE;
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
engineConfiguration->warningPeriod = 10;
#else
engineConfiguration->warningPeriod = 0;
@ -953,7 +953,7 @@ void setDefaultConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
engineConfiguration->engineChartSize = 300;
#else
// need more events for automated test
@ -1070,7 +1070,7 @@ void setDefaultConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
boardConfiguration->spi1misoPin = GPIOB_4;
boardConfiguration->spi1sckPin = GPIOB_3; // please note that this pin is also SWO/SWD - Single Wire debug Output
#if EFI_MEMS || defined(__DOXYGEN__)
#if EFI_MEMS
// this would override some values from above
configureAccelerometerPins(PASS_ENGINE_PARAMETER_SIGNATURE);
#endif
@ -1084,7 +1084,7 @@ void setDefaultConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
boardConfiguration->spi3sckPin = GPIOB_3;
engineConfiguration->hip9011Gain = 1;
#if EFI_HIP_9011 || defined(__DOXYGEN__)
#if EFI_HIP_9011
setHip9011FrankensoPinout();
#endif /* EFI_HIP_9011 */
@ -1105,12 +1105,12 @@ void setDefaultConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
engineConfiguration->tpsAccelLength = 12;
engineConfiguration->tpsAccelEnrichmentThreshold = 40; // TPS % change, per engine cycle
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
// call overrided board-specific configuration setup, if needed (for custom boards only)
setBoardConfigurationOverrides();
#endif
#if EFI_FSIO || defined(__DOXYGEN__)
#if EFI_FSIO
/**
* to test:
* set_fsio_setting 1 5000
@ -1133,7 +1133,7 @@ void resetConfigurationExt(Logging * logger, engine_type_e engineType DECLARE_EN
* Let's apply global defaults first
*/
setDefaultConfiguration(PASS_ENGINE_PARAMETER_SIGNATURE);
#if EFI_SIMULATOR || defined(__DOXYGEN__)
#if EFI_SIMULATOR
engineConfiguration->directSelfStimulation = true;
#endif /* */
engineConfiguration->engineType = engineType;
@ -1151,7 +1151,7 @@ void resetConfigurationExt(Logging * logger, engine_type_e engineType DECLARE_EN
case ACURA_RSX:
setAcuraRSX(engineConfiguration);
break;
#if EFI_SUPPORT_DODGE_NEON || defined(__DOXYGEN__)
#if EFI_SUPPORT_DODGE_NEON
case DODGE_NEON_1995:
setDodgeNeon1995EngineConfiguration(PASS_CONFIG_PARAMETER_SIGNATURE);
break;
@ -1166,17 +1166,17 @@ void resetConfigurationExt(Logging * logger, engine_type_e engineType DECLARE_EN
break;
#endif /* EFI_SUPPORT_DODGE_NEON */
#if EFI_SUPPORT_FORD_ASPIRE || defined(__DOXYGEN__)
#if EFI_SUPPORT_FORD_ASPIRE
case FORD_ASPIRE_1996:
setFordAspireEngineConfiguration(PASS_ENGINE_PARAMETER_SIGNATURE);
break;
#endif /* EFI_SUPPORT_FORD_ASPIRE */
#if EFI_SUPPORT_FORD_FIESTA || defined(__DOXYGEN__)
#if EFI_SUPPORT_FORD_FIESTA
case FORD_FIESTA:
setFordFiestaDefaultEngineConfiguration(PASS_ENGINE_PARAMETER_SIGNATURE);
break;
#endif /* EFI_SUPPORT_FORD_FIESTA */
#if EFI_SUPPORT_NISSAN_PRIMERA || defined(__DOXYGEN__)
#if EFI_SUPPORT_NISSAN_PRIMERA
case NISSAN_PRIMERA:
setNissanPrimeraEngineConfiguration(engineConfiguration);
break;
@ -1223,7 +1223,7 @@ void resetConfigurationExt(Logging * logger, engine_type_e engineType DECLARE_EN
case MITSU_4G93:
setMitsubishiConfiguration(PASS_ENGINE_PARAMETER_SIGNATURE);
break;
#if EFI_SUPPORT_1995_FORD_INLINE_6 || defined(__DOXYGEN__)
#if EFI_SUPPORT_1995_FORD_INLINE_6
case FORD_INLINE_6_1995:
setFordInline6(PASS_ENGINE_PARAMETER_SIGNATURE);
break;
@ -1370,23 +1370,23 @@ void validateConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
}
void applyNonPersistentConfiguration(Logging * logger DECLARE_ENGINE_PARAMETER_SUFFIX) {
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
efiAssertVoid(CUSTOM_APPLY_STACK, getCurrentRemainingStack() > 256, "apply c");
scheduleMsg(logger, "applyNonPersistentConfiguration()");
#endif
assertEngineReference();
#if EFI_ENGINE_CONTROL || defined(__DOXYGEN__)
#if EFI_ENGINE_CONTROL
ENGINE(initializeTriggerShape(logger PASS_ENGINE_PARAMETER_SUFFIX));
#endif
#if EFI_FSIO || defined(__DOXYGEN__)
#if EFI_FSIO
applyFsioConfiguration(PASS_ENGINE_PARAMETER_SIGNATURE);
#endif
}
#if EFI_ENGINE_CONTROL || defined(__DOXYGEN__)
#if EFI_ENGINE_CONTROL
void prepareShapes(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
prepareOutputSignals(PASS_ENGINE_PARAMETER_SIGNATURE);

View File

@ -26,7 +26,7 @@ public:
InjectorOutputPin *outputs[MAX_WIRES_COUNT];
bool isOverlapping;
int ownIndex;
#if EFI_UNIT_TEST || defined(__DOXYGEN__)
#if EFI_UNIT_TEST
Engine *engine;
#endif
event_trigger_position_s injectionStart;
@ -53,7 +53,7 @@ public:
*/
int cylinderIndex;
char *name;
#if EFI_UNIT_TEST || defined(__DOXYGEN__)
#if EFI_UNIT_TEST
Engine *engine;
#endif
IgnitionOutputPin *getOutputForLoggins();

View File

@ -47,7 +47,7 @@ extern fuel_Map3D_t ve2Map;
extern afr_Map3D_t afrMap;
extern baroCorr_Map3D_t baroCorrMap;
#if EFI_ENGINE_CONTROL || defined(__DOXYGEN__)
#if EFI_ENGINE_CONTROL
/**
* @return total duration of fuel injection per engine cycle, in milliseconds
@ -151,7 +151,7 @@ percent_t getInjectorDutyCycle(int rpm DECLARE_ENGINE_PARAMETER_SUFFIX) {
* in case of single point injection mode the amount of fuel into all cylinders, otherwise the amount for one cylinder
*/
floatms_t getInjectionDuration(int rpm DECLARE_ENGINE_PARAMETER_SUFFIX) {
#if (EFI_ENGINE_CONTROL && EFI_SHAFT_POSITION_INPUT) || defined(__DOXYGEN__)
#if EFI_ENGINE_CONTROL && EFI_SHAFT_POSITION_INPUT
bool isCranking = ENGINE(rpmCalculator).isCranking(PASS_ENGINE_PARAMETER_SIGNATURE);
injection_mode_e mode = isCranking ?
engineConfiguration->crankingInjectionMode :
@ -169,7 +169,7 @@ floatms_t getInjectionDuration(int rpm DECLARE_ENGINE_PARAMETER_SUFFIX) {
floatms_t baseFuel = getBaseFuel(rpm PASS_ENGINE_PARAMETER_SUFFIX);
fuelPerCycle = getRunningFuel(baseFuel PASS_ENGINE_PARAMETER_SUFFIX);
efiAssert(CUSTOM_ERR_ASSERT, !cisnan(fuelPerCycle), "NaN fuelPerCycle", 0);
#if EFI_PRINTF_FUEL_DETAILS || defined(__DOXYGEN__)
#if EFI_PRINTF_FUEL_DETAILS
printf("baseFuel=%.2f fuelPerCycle=%.2f \t\n",
baseFuel, fuelPerCycle);
#endif /*EFI_PRINTF_FUEL_DETAILS */
@ -298,7 +298,7 @@ float getFuelCutOffCorrection(efitick_t nowNt, int rpm DECLARE_ENGINE_PARAMETER_
* @return Fuel injection duration injection as specified in the fuel map, in milliseconds
*/
floatms_t getBaseTableFuel(int rpm, float engineLoad) {
#if (EFI_ENGINE_CONTROL && EFI_SHAFT_POSITION_INPUT) || defined(__DOXYGEN__)
#if EFI_ENGINE_CONTROL && EFI_SHAFT_POSITION_INPUT
if (cisnan(engineLoad)) {
warning(CUSTOM_NAN_ENGINE_LOAD_2, "NaN engine load");
return 0;
@ -323,7 +323,7 @@ float getBaroCorrection(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
}
}
#if EFI_ENGINE_CONTROL || defined(__DOXYGEN__)
#if EFI_ENGINE_CONTROL
/**
* @return Duration of fuel injection while craning
*/

View File

@ -21,7 +21,7 @@ static MemoryStream firmwareErrorMessageStream;
static char warningBuffer[WARNING_BUFFER_SIZE];
static bool isWarningStreamInitialized = false;
#if EFI_HD44780_LCD || defined(__DOXYGEN__)
#if EFI_HD44780_LCD
#include "lcd_HD44780.h"
#endif /* EFI_HD44780_LCD */
@ -52,18 +52,18 @@ void chDbgPanic3(const char *msg, const char * file, int line) {
return;
dbg_panic_file = file;
dbg_panic_line = line;
#if CH_DBG_SYSTEM_STATE_CHECK || defined(__DOXYGEN__)
#if CH_DBG_SYSTEM_STATE_CHECK
ch.dbg.panic_msg = msg;
#endif /* CH_DBG_SYSTEM_STATE_CHECK */
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
ON_FATAL_ERROR();
#else
printf("chDbgPanic3 %s %s%d", msg, file, line);
exit(-1);
#endif
#if EFI_HD44780_LCD || defined(__DOXYGEN__)
#if EFI_HD44780_LCD
lcdShowPanicMessage((char *) msg);
#endif /* EFI_HD44780_LCD */
@ -109,11 +109,11 @@ bool warning(obd_code_e code, const char *fmt, ...) {
if (hasFirmwareErrorFlag)
return true;
#if EFI_SIMULATOR || defined(__DOXYGEN__)
#if EFI_SIMULATOR
printf("sim_warning %s\r\n", fmt);
#endif /* EFI_SIMULATOR */
#if EFI_SIMULATOR || EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_SIMULATOR || EFI_PROD_CODE
if (!isWarningStreamInitialized) {
firmwareError(CUSTOM_ERR_ASSERT, "warn stream not initialized for %d", code);
return false;
@ -148,7 +148,7 @@ char *getWarning(void) {
}
#if EFI_CLOCK_LOCKS || defined(__DOXYGEN__)
#if EFI_CLOCK_LOCKS
uint32_t lastLockTime;
/**
* Maximum time before requesting lock and releasing lock at the end of critical section
@ -183,7 +183,7 @@ void onUnlockHook(void) {
void initErrorHandling(void) {
#if EFI_SIMULATOR || EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_SIMULATOR || EFI_PROD_CODE
msObjectInit(&warningStream, (uint8_t *) warningBuffer, WARNING_BUFFER_SIZE, 0);
msObjectInit(&firmwareErrorMessageStream, errorMessageBuffer, sizeof(errorMessageBuffer), 0);
#endif
@ -191,7 +191,7 @@ void initErrorHandling(void) {
}
void firmwareError(obd_code_e code, const char *fmt, ...) {
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
if (hasFirmwareErrorFlag)
return;
engine->engineState.warnings.addWarningCode(code);
@ -230,7 +230,7 @@ void firmwareError(obd_code_e code, const char *fmt, ...) {
va_end(ap);
printf("\r\n");
#if EFI_SIMULATOR || EFI_UNIT_TEST || defined(__DOXYGEN__)
#if EFI_SIMULATOR || EFI_UNIT_TEST
exit(-1);
#endif /* EFI_SIMULATOR */
#endif

View File

@ -15,7 +15,7 @@
#include "global.h"
#if EFI_FSIO || defined(__DOXYGEN__)
#if EFI_FSIO
#include "fsio_core.h"
#include "fsio_impl.h"
@ -138,7 +138,7 @@ void LECalculator::push(le_action_e action, float value) {
* @return true in case of error, false otherwise
*/
bool LECalculator::processElement(LEElement *element DECLARE_ENGINE_PARAMETER_SUFFIX) {
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
efiAssert(CUSTOM_ERR_ASSERT, getCurrentRemainingStack() > 64, "FSIO logic", false);
#endif
switch (element->action) {

View File

@ -11,7 +11,7 @@
#include "global.h"
#if EFI_FSIO || defined(__DOXYGEN__)
#if EFI_FSIO
#include "fsio_impl.h"
#include "settings.h"
@ -97,7 +97,7 @@ static LEElement * fuelPumpLogic;
static LEElement * radiatorFanLogic;
static LEElement * alternatorLogic;
#if EFI_MAIN_RELAY_CONTROL || defined(__DOXYGEN__)
#if EFI_MAIN_RELAY_CONTROL
static LEElement * mainRelayLogic;
#endif /* EFI_MAIN_RELAY_CONTROL */
@ -151,7 +151,7 @@ float getEngineValue(le_action_e action DECLARE_ENGINE_PARAMETER_SUFFIX) {
}
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
#include "pin_repository.h"
#include "pwm_generator.h"
@ -266,7 +266,7 @@ void applyFsioConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
}
void onConfigurationChangeFsioCallback(engine_configuration_s *previousConfiguration DECLARE_ENGINE_PARAMETER_SUFFIX) {
#if EFI_FSIO || defined(__DOXYGEN__)
#if EFI_FSIO
applyFsioConfiguration(PASS_ENGINE_PARAMETER_SIGNATURE);
#endif
}
@ -401,7 +401,7 @@ static void setPinState(const char * msg, OutputPin *pin, LEElement *element DEC
}
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
static void setFsioFrequency(int index, int frequency) {
index--;
if (index < 0 || index >= FSIO_COMMAND_COUNT) {
@ -446,13 +446,13 @@ void runFsio(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
handleFsio(index PASS_ENGINE_PARAMETER_SUFFIX);
}
#if EFI_FUEL_PUMP || defined(__DOXYGEN__)
#if EFI_FUEL_PUMP
if (CONFIGB(fuelPumpPin) != GPIO_UNASSIGNED) {
setPinState("pump", &enginePins.fuelPumpRelay, fuelPumpLogic PASS_ENGINE_PARAMETER_SUFFIX);
}
#endif /* EFI_FUEL_PUMP */
#if EFI_MAIN_RELAY_CONTROL || defined(__DOXYGEN__)
#if EFI_MAIN_RELAY_CONTROL
if (CONFIGB(mainRelayPin) != GPIO_UNASSIGNED)
setPinState("main_relay", &enginePins.mainRelay, mainRelayLogic PASS_ENGINE_PARAMETER_SUFFIX);
#else /* EFI_MAIN_RELAY_CONTROL */
@ -640,7 +640,7 @@ void initFsioImpl(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX) {
logger = sharedLogger;
#endif
#if EFI_FUEL_PUMP || defined(__DOXYGEN__)
#if EFI_FUEL_PUMP
fuelPumpLogic = sysPool.parseExpression(FUEL_PUMP_LOGIC);
#endif /* EFI_FUEL_PUMP */
@ -649,12 +649,12 @@ void initFsioImpl(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX) {
alternatorLogic = sysPool.parseExpression(ALTERNATOR_LOGIC);
#if EFI_MAIN_RELAY_CONTROL || defined(__DOXYGEN__)
#if EFI_MAIN_RELAY_CONTROL
if (CONFIGB(mainRelayPin) != GPIO_UNASSIGNED)
mainRelayLogic = sysPool.parseExpression(MAIN_RELAY_LOGIC);
#endif /* EFI_MAIN_RELAY_CONTROL */
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
for (int i = 0; i < FSIO_COMMAND_COUNT; i++) {
brain_pin_e brainPin = CONFIGB(fsioOutputPins)[i];
@ -680,7 +680,7 @@ void initFsioImpl(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX) {
addConsoleActionSS("set_fsio_pid_output_pin", (VoidCharPtrCharPtr) setFsioPidOutputPin);
addConsoleActionSS("set_fsio_output_pin", (VoidCharPtrCharPtr) setFsioOutputPin);
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
addConsoleActionII("set_fsio_output_frequency", (VoidIntInt) setFsioFrequency);
#endif
addConsoleActionSS("set_fsio_digital_input_pin", (VoidCharPtrCharPtr) setFsioDigitalInputPin);

View File

@ -23,7 +23,7 @@
#include "global.h"
#if !EFI_UNIT_TEST
#if EFI_SENSOR_CHART || defined(__DOXYGEN__)
#if EFI_SENSOR_CHART
#include "sensor_chart.h"
#endif
#include "engine_configuration.h"
@ -37,13 +37,13 @@
#include "main_trigger_callback.h"
#include "io_pins.h"
#include "flash_main.h"
#if EFI_TUNER_STUDIO || defined(__DOXYGEN__)
#if EFI_TUNER_STUDIO
#include "tunerstudio.h"
#endif
#include "injector_central.h"
#include "rfiutil.h"
#include "engine_math.h"
#if EFI_WAVE_ANALYZER || defined(__DOXYGEN__)
#if EFI_WAVE_ANALYZER
#include "wave_analyzer.h"
#endif
#include "allsensors.h"
@ -61,11 +61,11 @@
#include "accelerometer.h"
#include "counter64.h"
#if HAL_USE_ADC || defined(__DOXYGEN__)
#if HAL_USE_ADC
#include "AdcConfiguration.h"
#endif /* HAL_USE_ADC */
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
#include "pwm_generator.h"
#include "adc_inputs.h"
@ -76,11 +76,11 @@
#include "tachometer.h"
#endif /* EFI_PROD_CODE */
#if EFI_CJ125 || defined(__DOXYGEN__)
#if EFI_CJ125
#include "cj125.h"
#endif
#if defined(EFI_BOOTLOADER_INCLUDE_CODE) || defined(__DOXYGEN__)
#if defined(EFI_BOOTLOADER_INCLUDE_CODE)
#include "bootloader/bootloader.h"
#endif /* EFI_BOOTLOADER_INCLUDE_CODE */
@ -98,7 +98,7 @@ static virtual_timer_t periodicFastTimer; // 50Hz
static LoggingWithStorage logger("Engine Controller");
#if (EFI_PROD_CODE || EFI_SIMULATOR) || defined(__DOXYGEN__)
#if EFI_PROD_CODE || EFI_SIMULATOR
/**
* todo: this should probably become 'static', i.e. private, and propagated around explicitly?
@ -109,7 +109,7 @@ Engine * engine = &___engine;
static msg_t csThread(void) {
chRegSetThreadName("status");
#if EFI_SHAFT_POSITION_INPUT || defined(__DOXYGEN__)
#if EFI_SHAFT_POSITION_INPUT
while (true) {
int is_cranking = ENGINE(rpmCalculator).isCranking(PASS_ENGINE_PARAMETER_SIGNATURE);
bool is_running = ENGINE(rpmCalculator).isRunning(PASS_ENGINE_PARAMETER_SIGNATURE);
@ -129,7 +129,7 @@ static msg_t csThread(void) {
return -1;
}
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
static Overflow64Counter halTime;
/**
@ -176,7 +176,7 @@ efitick_t getTimeNowNt(void) {
localH = halTime.state.highBits;
localLow = halTime.state.lowBits;
localH2 = halTime.state.highBits;
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
if (counter++ == 10000)
chDbgPanic("lock-free frozen");
#endif /* EFI_PROD_CODE */
@ -279,7 +279,7 @@ static void invokePerSecond(void) {
}
static void periodicSlowCallback(Engine *engine) {
#if (EFI_ENGINE_CONTROL && EFI_SHAFT_POSITION_INPUT) || defined(__DOXYGEN__)
#if EFI_ENGINE_CONTROL && EFI_SHAFT_POSITION_INPUT
efiAssertVoid(CUSTOM_ERR_6661, getCurrentRemainingStack() > 64, "lowStckOnEv");
#if EFI_PROD_CODE
/**
@ -306,7 +306,7 @@ static void periodicSlowCallback(Engine *engine) {
}
if (engine->rpmCalculator.isStopped(PASS_ENGINE_PARAMETER_SIGNATURE)) {
#if EFI_INTERNAL_FLASH || defined(__DOXYGEN__)
#if EFI_INTERNAL_FLASH
writeToFlashIfPending();
#endif /* EFI_INTERNAL_FLASH */
resetAccel();
@ -331,7 +331,7 @@ void initPeriodicEvents(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
}
char * getPinNameByAdcChannel(const char *msg, adc_channel_e hwChannel, char *buffer) {
#if HAL_USE_ADC || defined(__DOXYGEN__)
#if HAL_USE_ADC
if (hwChannel == EFI_ADC_NONE) {
strcpy(buffer, "NONE");
} else {
@ -346,13 +346,13 @@ char * getPinNameByAdcChannel(const char *msg, adc_channel_e hwChannel, char *bu
static char pinNameBuffer[16];
#if HAL_USE_ADC || defined(__DOXYGEN__)
#if HAL_USE_ADC
extern AdcDevice fastAdc;
#endif
static void printAnalogChannelInfoExt(const char *name, adc_channel_e hwChannel, float adcVoltage,
float dividerCoeff) {
#if HAL_USE_ADC || defined(__DOXYGEN__)
#if HAL_USE_ADC
if (hwChannel == EFI_ADC_NONE) {
scheduleMsg(&logger, "ADC is not assigned for %s", name);
return;
@ -369,7 +369,7 @@ static void printAnalogChannelInfoExt(const char *name, adc_channel_e hwChannel,
}
static void printAnalogChannelInfo(const char *name, adc_channel_e hwChannel) {
#if HAL_USE_ADC || defined(__DOXYGEN__)
#if HAL_USE_ADC
printAnalogChannelInfoExt(name, hwChannel, getVoltage("print", hwChannel), engineConfiguration->analogInputDividerCoefficient);
#endif
}
@ -594,11 +594,11 @@ void setMockVBattVoltage(float voltage) {
}
static void initMockVoltage(void) {
#if EFI_SIMULATOR || defined(__DOXYGEN__)
#if EFI_SIMULATOR
setMockCltVoltage(2);
#endif /* EFI_SIMULATOR */
#if EFI_SIMULATOR || defined(__DOXYGEN__)
#if EFI_SIMULATOR
setMockIatVoltage(2);
#endif /* EFI_SIMULATOR */
@ -638,16 +638,16 @@ void commonInitEngineController(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_S
initMockVoltage();
#endif /* EFI_ENABLE_MOCK_ADC */
#if EFI_SENSOR_CHART || defined(__DOXYGEN__)
#if EFI_SENSOR_CHART
initSensorChart();
#endif /* EFI_SENSOR_CHART */
#if EFI_PROD_CODE || EFI_SIMULATOR || defined(__DOXYGEN__)
#if EFI_PROD_CODE || EFI_SIMULATOR
// todo: this is a mess, remove code duplication with simulator
initSettings();
#endif
#if EFI_TUNER_STUDIO || defined(__DOXYGEN__)
#if EFI_TUNER_STUDIO
if (engineConfiguration->isTunerStudioEnabled) {
startTunerStudioConnectivity();
}
@ -658,7 +658,7 @@ void commonInitEngineController(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_S
}
initSensors(sharedLogger PASS_ENGINE_PARAMETER_SIGNATURE);
#if EFI_FSIO || defined(__DOXYGEN__)
#if EFI_FSIO
initFsioImpl(sharedLogger PASS_ENGINE_PARAMETER_SUFFIX);
#endif
@ -675,19 +675,19 @@ void initEngineContoller(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX)
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
initPwmGenerator();
#endif
initAlgo(sharedLogger);
#if EFI_WAVE_ANALYZER || defined(__DOXYGEN__)
#if EFI_WAVE_ANALYZER
if (engineConfiguration->isWaveAnalyzerEnabled) {
initWaveAnalyzer(sharedLogger);
}
#endif /* EFI_WAVE_ANALYZER */
#if EFI_CJ125 || defined(__DOXYGEN__)
#if EFI_CJ125
/**
* this uses SimplePwm which depends on scheduler, has to be initialized after scheduler
*/
@ -695,7 +695,7 @@ void initEngineContoller(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX)
#endif /* EFI_CJ125 */
#if EFI_SHAFT_POSITION_INPUT || defined(__DOXYGEN__)
#if EFI_SHAFT_POSITION_INPUT
/**
* there is an implicit dependency on the fact that 'tachometer' listener is the 1st listener - this case
* other listeners can access current RPM value
@ -703,7 +703,7 @@ void initEngineContoller(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX)
initRpmCalculator(sharedLogger PASS_ENGINE_PARAMETER_SUFFIX);
#endif /* EFI_SHAFT_POSITION_INPUT */
#if (EFI_PROD_CODE && EFI_ENGINE_CONTROL) || defined(__DOXYGEN__)
#if EFI_PROD_CODE && EFI_ENGINE_CONTROL
initInjectorCentral(sharedLogger);
#endif /* EFI_PROD_CODE && EFI_ENGINE_CONTROL */
@ -717,7 +717,7 @@ void initEngineContoller(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX)
chThdCreateStatic(csThreadStack, sizeof(csThreadStack), LOWPRIO, (tfunc_t)(void*) csThread, NULL);
#if (EFI_PROD_CODE && EFI_ENGINE_CONTROL) || defined(__DOXYGEN__)
#if EFI_PROD_CODE && EFI_ENGINE_CONTROL
/**
* This has to go after 'initInjectorCentral' and 'initInjectorCentral' in order to
* properly detect un-assigned output pins
@ -725,29 +725,29 @@ void initEngineContoller(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX)
prepareShapes(PASS_ENGINE_PARAMETER_SIGNATURE);
#endif /* EFI_PROD_CODE && EFI_ENGINE_CONTROL */
#if EFI_PWM_TESTER || defined(__DOXYGEN__)
#if EFI_PWM_TESTER
initPwmTester();
#endif /* EFI_PWM_TESTER */
initMalfunctionCentral();
#if EFI_ALTERNATOR_CONTROL || defined(__DOXYGEN__)
#if EFI_ALTERNATOR_CONTROL
initAlternatorCtrl(sharedLogger);
#endif
#if EFI_AUX_PID || defined(__DOXYGEN__)
#if EFI_AUX_PID
initAuxPid(sharedLogger);
#endif
#if EFI_ELECTRONIC_THROTTLE_BODY || defined(__DOXYGEN__)
#if EFI_ELECTRONIC_THROTTLE_BODY
initElectronicThrottle();
#endif /* EFI_ELECTRONIC_THROTTLE_BODY */
#if EFI_MALFUNCTION_INDICATOR || defined(__DOXYGEN__)
#if EFI_MALFUNCTION_INDICATOR
initMalfunctionIndicator();
#endif /* EFI_MALFUNCTION_INDICATOR */
#if EFI_MAP_AVERAGING || defined(__DOXYGEN__)
#if EFI_MAP_AVERAGING
if (engineConfiguration->isMapAveragingEnabled) {
initMapAveraging(sharedLogger, engine);
}
@ -755,7 +755,7 @@ void initEngineContoller(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX)
initEgoAveraging(PASS_ENGINE_PARAMETER_SIGNATURE);
#if (EFI_ENGINE_CONTROL && EFI_SHAFT_POSITION_INPUT) || defined(__DOXYGEN__)
#if EFI_ENGINE_CONTROL && EFI_SHAFT_POSITION_INPUT
if (CONFIGB(isEngineControlEnabled)) {
/**
* This method initialized the main listener which actually runs injectors & ignition
@ -764,7 +764,7 @@ void initEngineContoller(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX)
}
#endif /* EFI_ENGINE_CONTROL */
#if EFI_IDLE_CONTROL || defined(__DOXYGEN__)
#if EFI_IDLE_CONTROL
startIdleThread(sharedLogger);
#endif /* EFI_IDLE_CONTROL */
@ -772,15 +772,15 @@ void initEngineContoller(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX)
addConsoleAction("knockinfo", getKnockInfo);
}
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
addConsoleAction("reset_accel", resetAccel);
#endif /* EFI_PROD_CODE */
#if EFI_HD44780_LCD || defined(__DOXYGEN__)
#if EFI_HD44780_LCD
initLcdController();
#endif /* EFI_HD44780_LCD */
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
initTachometer();
#endif /* EFI_PROD_CODE */
}
@ -805,7 +805,7 @@ int getRusEfiVersion(void) {
return 123; // this is here to make the compiler happy about the unused array
if (UNUSED_CCM_SIZE[0] * 0 != 0)
return 3211; // this is here to make the compiler happy about the unused array
#if defined(EFI_BOOTLOADER_INCLUDE_CODE) || defined(__DOXYGEN__)
#if defined(EFI_BOOTLOADER_INCLUDE_CODE)
// make bootloader code happy too
if (initBootloader() != 0)
return 123;

View File

@ -8,7 +8,7 @@
*/
#include "global.h"
#if EFI_INTERNAL_FLASH || defined(__DOXYGEN__)
#if EFI_INTERNAL_FLASH
#include "flash_main.h"
#include "eficonsole.h"
#include "flash.h"
@ -17,7 +17,7 @@
// this message is part of console API, see FLASH_SUCCESS_MSG in java code
#define FLASH_SUCCESS_MSG "FLASH_SUCESS"
#if EFI_TUNER_STUDIO || defined(__DOXYGEN__)
#if EFI_TUNER_STUDIO
#include "tunerstudio.h"
#endif
@ -188,7 +188,7 @@ void initFlash(Logging *sharedLogger) {
* This would write NOW (you should not be doing this while connected to real engine)
*/
addConsoleAction("writeconfig", writeConfigCommand);
#if EFI_TUNER_STUDIO || defined(__DOXYGEN__)
#if EFI_TUNER_STUDIO
/**
* This would schedule write to flash once the engine is stopped
*/

View File

@ -23,7 +23,7 @@
// todo: rename this file
#include "global.h"
#if EFI_ENGINE_CONTROL || defined(__DOXYGEN__)
#if EFI_ENGINE_CONTROL
#if !EFI_UNIT_TEST
#include "injector_central.h"
@ -237,7 +237,7 @@ static BenchController instance;
void OutputPin::unregisterOutput(brain_pin_e oldPin, brain_pin_e newPin) {
if (oldPin != GPIO_UNASSIGNED && oldPin != newPin) {
scheduleMsg(logger, "unregistering %s", hwPortname(oldPin));
#if EFI_GPIO_HARDWARE || defined(__DOXYGEN__)
#if EFI_GPIO_HARDWARE
brain_pin_markUnused(oldPin);
port = NULL;
#endif /* EFI_GPIO_HARDWARE */
@ -261,7 +261,7 @@ void executeTSCommand(uint16_t subsystem, uint16_t index) {
milBench();
} else if (subsystem == 0x17) {
// cmd_test_idle_valve
#if EFI_IDLE_CONTROL || defined(__DOXYGEN__)
#if EFI_IDLE_CONTROL
startIdleBench();
#endif
} else if (subsystem == 0x20 && index == 0x3456) {

View File

@ -25,7 +25,7 @@
#include "map.h"
#if EFI_MAP_AVERAGING || defined(__DOXYGEN__)
#if EFI_MAP_AVERAGING
#include "map_averaging.h"
#include "trigger_central.h"
@ -37,7 +37,7 @@
#include "engine.h"
#include "engine_math.h"
#if EFI_SENSOR_CHART || defined(__DOXYGEN__)
#if EFI_SENSOR_CHART
#include "sensor_chart.h"
#endif /* EFI_SENSOR_CHART */
@ -122,7 +122,7 @@ static void startAveraging(void *arg) {
mapAveragingPin.setHigh();
}
#if HAL_USE_ADC || defined(__DOXYGEN__)
#if HAL_USE_ADC
/**
* This method is invoked from ADC callback.
* @note This method is invoked OFTEN, this method is a potential bottle-next - the implementation should be
@ -137,7 +137,7 @@ void mapAveragingAdcCallback(adcsample_t adcValue) {
measurementsPerRevolutionCounter++;
efiAssertVoid(CUSTOM_ERR_6650, getCurrentRemainingStack() > 128, "lowstck#9a");
#if (EFI_SENSOR_CHART && EFI_ANALOG_SENSORS) || defined(__DOXYGEN__)
#if EFI_SENSOR_CHART && EFI_ANALOG_SENSORS
if (ENGINE(sensorChartMode) == SC_MAP) {
if (measurementsPerRevolutionCounter % FAST_MAP_CHART_SKIP_FACTOR
== 0) {
@ -179,7 +179,7 @@ static void endAveraging(void *arg) {
bool wasLocked = lockAnyContext();
isAveraging = false;
// with locking we would have a consistent state
#if HAL_USE_ADC || defined(__DOXYGEN__)
#if HAL_USE_ADC
if (mapMeasurementsCounter > 0) {
v_averagedMapValue = adcToVoltsDivided(mapAdcAccumulator / mapMeasurementsCounter);
// todo: move out of locked context?
@ -215,7 +215,7 @@ static void applyMapMinBufferLength() {
}
void postMapState(TunerStudioOutputChannels *tsOutputChannels) {
#if EFI_TUNER_STUDIO || defined(__DOXYGEN__)
#if EFI_TUNER_STUDIO
tsOutputChannels->debugFloatField1 = v_averagedMapValue;
tsOutputChannels->debugFloatField2 = engine->engineState.mapAveragingDuration;
tsOutputChannels->debugFloatField3 = currentPressure;
@ -255,7 +255,7 @@ void refreshMapAveragingPreCalc(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
*/
static void mapAveragingTriggerCallback(trigger_event_e ckpEventType,
uint32_t index DECLARE_ENGINE_PARAMETER_SUFFIX) {
#if EFI_ENGINE_CONTROL || defined(__DOXYGEN__)
#if EFI_ENGINE_CONTROL
// this callback is invoked on interrupt thread
UNUSED(ckpEventType);
if (index != CONFIG(mapAveragingSchedulingAtIndex))
@ -312,7 +312,7 @@ static void showMapStats(void) {
scheduleMsg(logger, "per revolution %d", measurementsPerRevolution);
}
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
/**
* Because of MAP window averaging, MAP is only available while engine is spinning
@ -323,7 +323,7 @@ float getMap(void) {
return getRawMap();
}
#if EFI_ANALOG_SENSORS || defined(__DOXYGEN__)
#if EFI_ANALOG_SENSORS
if (!isValidRpm(GET_RPM_VALUE) || currentPressure == NO_VALUE_YET)
return validateMap(getRawMap()); // maybe return NaN in case of stopped engine?
return validateMap(currentPressure);
@ -341,7 +341,7 @@ void initMapAveraging(Logging *sharedLogger, Engine *engine) {
// endTimer[0].name = "map end0";
// endTimer[1].name = "map end1";
#if EFI_SHAFT_POSITION_INPUT || defined(__DOXYGEN__)
#if EFI_SHAFT_POSITION_INPUT
addTriggerEventListener(&mapAveragingTriggerCallback, "MAP averaging", engine);
#endif /* EFI_SHAFT_POSITION_INPUT */
addConsoleAction("faststat", showMapStats);
@ -350,10 +350,10 @@ void initMapAveraging(Logging *sharedLogger, Engine *engine) {
#else
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
float getMap(void) {
#if EFI_ANALOG_SENSORS || defined(__DOXYGEN__)
#if EFI_ANALOG_SENSORS
return getRawMap();
#else
return NAN;

View File

@ -10,9 +10,9 @@
#include "engine.h"
#if EFI_MAP_AVERAGING || defined(__DOXYGEN__)
#if EFI_MAP_AVERAGING
#if HAL_USE_ADC || defined(__DOXYGEN__)
#if HAL_USE_ADC
void mapAveragingAdcCallback(adcsample_t newValue);
#endif

View File

@ -59,7 +59,7 @@ efitimesec_t getTimeNowSeconds(void);
}
#endif /* __cplusplus */
#if (EFI_PROD_CODE || EFI_SIMULATOR)
#if EFI_PROD_CODE || EFI_SIMULATOR
#define GET_TIMESTAMP() port_rt_get_counter_value()
#else
#define GET_TIMESTAMP() 0

View File

@ -92,7 +92,7 @@ void setSingleCoilDwell(engine_configuration_s *engineConfiguration) {
engineConfiguration->sparkDwellValues[7] = 0;
}
#if EFI_ENGINE_CONTROL || defined(__DOXYGEN__)
#if EFI_ENGINE_CONTROL
FuelSchedule::FuelSchedule() {
clear();
@ -189,7 +189,7 @@ bool FuelSchedule::addFuelEventsForCylinder(int i DECLARE_ENGINE_PARAMETER_SUFF
InjectionEvent *ev = &elements[i];
ev->ownIndex = i;
#if EFI_UNIT_TEST || defined(__DOXYGEN__)
#if EFI_UNIT_TEST
ev->engine = engine;
#endif
fixAngle(angle, "addFuel#1", CUSTOM_ERR_6554);
@ -207,7 +207,7 @@ bool FuelSchedule::addFuelEventsForCylinder(int i DECLARE_ENGINE_PARAMETER_SUFF
efiAssert(CUSTOM_ERR_ASSERT, !cisnan(angle), "findAngle#3", false);
assertAngleRange(angle, "findAngle#a33", CUSTOM_ERR_6544);
TRIGGER_SHAPE(findTriggerPosition(&ev->injectionStart, angle PASS_CONFIG_PARAM(engineConfiguration->globalTriggerAngleOffset)));
#if EFI_UNIT_TEST || defined(__DOXYGEN__)
#if EFI_UNIT_TEST
printf("registerInjectionEvent angle=%.2f trgIndex=%d inj %d\r\n", angle, ev->injectionStart.eventIndex, injectorIndex);
#endif
return true;
@ -242,7 +242,7 @@ static floatms_t getCrankingSparkDwell(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
* @return Spark dwell time, in milliseconds. 0 if tables are not ready.
*/
floatms_t getSparkDwell(int rpm DECLARE_ENGINE_PARAMETER_SUFFIX) {
#if (EFI_ENGINE_CONTROL && EFI_SHAFT_POSITION_INPUT) || defined(__DOXYGEN__)
#if EFI_ENGINE_CONTROL && EFI_SHAFT_POSITION_INPUT
float dwellMs;
if (ENGINE(rpmCalculator).isCranking(PASS_ENGINE_PARAMETER_SIGNATURE)) {
dwellMs = getCrankingSparkDwell(PASS_ENGINE_PARAMETER_SIGNATURE);
@ -442,7 +442,7 @@ static int getIgnitionPinForIndex(int i DECLARE_ENGINE_PARAMETER_SUFFIX) {
void prepareIgnitionPinIndices(ignition_mode_e ignitionMode DECLARE_ENGINE_PARAMETER_SUFFIX) {
if (ignitionMode != engine->ignitionModeForPinIndices) {
#if EFI_ENGINE_CONTROL || defined(__DOXYGEN__)
#if EFI_ENGINE_CONTROL
for (int i = 0; i < CONFIG(specs.cylindersCount); i++) {
ENGINE(ignitionPin[i]) = getIgnitionPinForIndex(i PASS_ENGINE_PARAMETER_SUFFIX);
}
@ -457,7 +457,7 @@ void prepareIgnitionPinIndices(ignition_mode_e ignitionMode DECLARE_ENGINE_PARAM
*/
ignition_mode_e getCurrentIgnitionMode(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
ignition_mode_e ignitionMode = CONFIG(ignitionMode);
#if EFI_SHAFT_POSITION_INPUT || defined(__DOXYGEN__)
#if EFI_SHAFT_POSITION_INPUT
// In spin-up cranking mode we don't have full phase sync. info yet, so wasted spark mode is better
if (ignitionMode == IM_INDIVIDUAL_COILS && ENGINE(rpmCalculator.isSpinningUp(PASS_ENGINE_PARAMETER_SIGNATURE)))
ignitionMode = IM_WASTED_SPARK;
@ -465,7 +465,7 @@ ignition_mode_e getCurrentIgnitionMode(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
return ignitionMode;
}
#if EFI_ENGINE_CONTROL || defined(__DOXYGEN__)
#if EFI_ENGINE_CONTROL
/**
* This heavy method is only invoked in case of a configuration change or initialization.

View File

@ -135,7 +135,7 @@ floatms_t getSpeedDensityFuel(float map DECLARE_GLOBAL_SUFFIX) {
warning(CUSTOM_ERR_6685, "NaN airMass");
return 0;
}
#if EFI_PRINTF_FUEL_DETAILS || defined(__DOXYGEN__)
#if EFI_PRINTF_FUEL_DETAILS
printf("map=%.2f adjustedMap=%.2f airMass=%.2f\t\n",
map, adjustedMap, engine->engineState.airMass);
#endif /*EFI_PRINTF_FUEL_DETAILS */

View File

@ -23,7 +23,7 @@
#include "global.h"
#if EFI_CAN_SUPPORT || defined(__DOXYGEN__)
#if EFI_CAN_SUPPORT
#include "engine.h"
@ -192,7 +192,7 @@ static void handleDtcRequest(int numCodes, int *dtcCode) {
}
}
#if HAL_USE_CAN || defined(__DOXYGEN__)
#if HAL_USE_CAN
void obdOnCanPacketRx(CANRxFrame *rx) {
if (rx->SID != OBD_TEST_REQUEST) {
return;

View File

@ -37,7 +37,7 @@
#define PID_SUPPORTED_PIDS_REQUEST_41_60 0x40
#define PID_FUEL_RATE 0x5E
#if HAL_USE_CAN || defined(__DOXYGEN__)
#if HAL_USE_CAN
void obdOnCanPacketRx(CANRxFrame *rx);
#endif /* HAL_USE_CAN */

View File

@ -39,7 +39,7 @@ bool EventQueue::checkIfPending(scheduling_s *scheduling) {
* @return true if inserted into the head of the list
*/
bool EventQueue::insertTask(scheduling_s *scheduling, efitime_t timeX, schfunc_t callback, void *param) {
#if EFI_UNIT_TEST || defined(__DOXYGEN__)
#if EFI_UNIT_TEST
assertListIsSorted();
#endif /* EFI_UNIT_TEST */
efiAssert(CUSTOM_ERR_ASSERT, callback != NULL, "NULL callback", false);
@ -47,7 +47,7 @@ bool EventQueue::insertTask(scheduling_s *scheduling, efitime_t timeX, schfunc_t
// please note that simulator does not use this code at all - simulator uses signal_executor_sleep
if (scheduling->isScheduled) {
#if EFI_UNIT_TEST || defined(__DOXYGEN__)
#if EFI_UNIT_TEST
printf("Already scheduled was %d\r\n", (int)scheduling->momentX);
printf("Already scheduled now %d\r\n", (int)timeX);
#endif /* EFI_UNIT_TEST */
@ -62,7 +62,7 @@ bool EventQueue::insertTask(scheduling_s *scheduling, efitime_t timeX, schfunc_t
if (head == NULL || timeX < head->momentX) {
// here we insert into head of the linked list
LL_PREPEND(head, scheduling);
#if EFI_UNIT_TEST || defined(__DOXYGEN__)
#if EFI_UNIT_TEST
assertListIsSorted();
#endif /* EFI_UNIT_TEST */
return true;
@ -75,7 +75,7 @@ bool EventQueue::insertTask(scheduling_s *scheduling, efitime_t timeX, schfunc_t
scheduling->next = insertPosition->next;
insertPosition->next = scheduling;
#if EFI_UNIT_TEST || defined(__DOXYGEN__)
#if EFI_UNIT_TEST
assertListIsSorted();
#endif /* EFI_UNIT_TEST */
return false;
@ -154,7 +154,7 @@ int EventQueue::executeAll(efitime_t now) {
break;
}
}
#if EFI_UNIT_TEST || defined(__DOXYGEN__)
#if EFI_UNIT_TEST
assertListIsSorted();
#endif
@ -169,7 +169,7 @@ int EventQueue::executeAll(efitime_t now) {
current->isScheduled = false;
uint32_t howFarOff = now - current->momentX;
maxSchedulingPrecisionLoss = maxI(maxSchedulingPrecisionLoss, howFarOff);
#if EFI_UNIT_TEST || defined(__DOXYGEN__)
#if EFI_UNIT_TEST
printf("QUEUE: execute current=%d param=%d\r\n", (long)current, (long)current->param);
#endif
current->callback(current->param);
@ -192,7 +192,7 @@ int EventQueue::size(void) {
return result;
}
#if EFI_UNIT_TEST || defined(__DOXYGEN__)
#if EFI_UNIT_TEST
void EventQueue::assertListIsSorted() {
scheduling_s *current = head;
while (current != NULL && current->next != NULL) {

View File

@ -15,7 +15,7 @@ class scheduling_s {
public:
scheduling_s();
#if EFI_SIGNAL_EXECUTOR_SLEEP || defined(__DOXYGEN__)
#if EFI_SIGNAL_EXECUTOR_SLEEP
virtual_timer_t timer;
#endif /* EFI_SIGNAL_EXECUTOR_SLEEP */

View File

@ -34,7 +34,7 @@
EXTERN_ENGINE;
#if EFI_ENGINE_SNIFFER || defined(__DOXYGEN__)
#if EFI_ENGINE_SNIFFER
#include "engine_sniffer.h"
extern WaveChart waveChart;
#endif /* EFI_ENGINE_SNIFFER */

View File

@ -27,19 +27,19 @@
#include "signal_executor.h"
#include "main_trigger_callback.h"
#if EFI_SIMULATOR || defined(__DOXYGEN__)
#if EFI_SIMULATOR
// this is about debugging
#include "efi_gpio.h"
#endif /* EFI_SIMULATOR */
#if EFI_SIGNAL_EXECUTOR_SLEEP || defined(__DOXYGEN__)
#if EFI_SIGNAL_EXECUTOR_SLEEP
void SleepExecutor::scheduleByTimestamp(scheduling_s *scheduling, efitimeus_t timeUs, schfunc_t callback, void *param) {
scheduleForLater(scheduling, timeUs - getTimeNowUs(), callback, param);
}
static void timerCallback(scheduling_s *scheduling) {
#if EFI_PRINTF_FUEL_DETAILS || defined(__DOXYGEN__)
#if EFI_PRINTF_FUEL_DETAILS
if (scheduling->callback == (schfunc_t)&seTurnPinLow) {
printf("executing cb=seTurnPinLow p=%d sch=%d now=%d\r\n", (int)scheduling->param, (int)scheduling,
(int)getTimeNowUs());
@ -73,7 +73,7 @@ static void doScheduleForLater(scheduling_s *scheduling, int delayUs, schfunc_t
chVTResetI(&scheduling->timer);
}
#if EFI_SIMULATOR || defined(__DOXYGEN__)
#if EFI_SIMULATOR
if (callback == (schfunc_t)&seTurnPinLow) {
printf("setTime cb=seTurnPinLow p=%d\r\n", (int)param);
} else {

View File

@ -21,7 +21,7 @@
#include "efitime.h"
#if EFI_SIGNAL_EXECUTOR_ONE_TIMER || defined(__DOXYGEN__)
#if EFI_SIGNAL_EXECUTOR_ONE_TIMER
#include "microsecond_timer.h"
#include "tunerstudio_configuration.h"
#include "rfiutil.h"
@ -161,13 +161,13 @@ void initSingleTimerExecutorHardware(void) {
initMicrosecondTimer();
}
#if EFI_TUNER_STUDIO || defined(__DOXYGEN__)
#if EFI_TUNER_STUDIO
extern TunerStudioOutputChannels tsOutputChannels;
#endif /* EFI_TUNER_STUDIO */
void executorStatistics() {
if (engineConfiguration->debugMode == DBG_EXECUTOR) {
#if (EFI_TUNER_STUDIO && EFI_SIGNAL_EXECUTOR_ONE_TIMER) || defined(__DOXYGEN__)
#if EFI_TUNER_STUDIO && EFI_SIGNAL_EXECUTOR_ONE_TIMER
tsOutputChannels.debugIntField1 = ___engine.executor.timerCallbackCounter;
tsOutputChannels.debugIntField2 = ___engine.executor.doExecuteCounter;
tsOutputChannels.debugIntField3 = ___engine.executor.scheduleCounter;

View File

@ -17,7 +17,7 @@
#include "analog_input.h"
#include "cyclic_buffer.h"
#if EFI_CJ125 || defined(__DOXYGEN__)
#if EFI_CJ125
#include "cj125.h"
#endif /* EFI_CJ125 */
@ -95,7 +95,7 @@ void initEgoAveraging(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
#endif
bool hasAfrSensor(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
#if (EFI_CJ125 && HAL_USE_SPI) || defined(__DOXYGEN__)
#if EFI_CJ125 && HAL_USE_SPI
if (CONFIGB(isCJ125Enabled)) {
return cjHasAfrSensor(PASS_ENGINE_PARAMETER_SIGNATURE);
}
@ -104,7 +104,7 @@ bool hasAfrSensor(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
}
float getAfr(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
#if (EFI_CJ125 && HAL_USE_SPI) || defined(__DOXYGEN__)
#if EFI_CJ125 && HAL_USE_SPI
if (CONFIGB(isCJ125Enabled)) {
return cjGetAfr(PASS_ENGINE_PARAMETER_SIGNATURE);
}

View File

@ -13,12 +13,12 @@
#include "map.h"
#include "engine_controller.h"
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
#include "digital_input_hw.h"
#include "pin_repository.h"
#endif
#if EFI_ANALOG_SENSORS || defined(__DOXYGEN__)
#if EFI_ANALOG_SENSORS
EXTERN_ENGINE;
@ -129,7 +129,7 @@ float validateBaroMap(float mapKPa DECLARE_ENGINE_PARAMETER_SUFFIX) {
* @returns kPa value
*/
float getMapByVoltage(float voltage DECLARE_ENGINE_PARAMETER_SUFFIX) {
#if EFI_ENABLE_MOCK_ADC || defined(__DOXYGEN__)
#if EFI_ENABLE_MOCK_ADC
int mapChannel = engineConfiguration->map.sensor.hwChannel;
if (engine->engineState.mockAdcState.hasMockAdc[mapChannel])
voltage = adcToVolts(engine->engineState.mockAdcState.getMockAdcValue(mapChannel) * engineConfiguration->analogInputDividerCoefficient);
@ -212,12 +212,12 @@ static void digitalMapWidthCallback(void) {
prevWidthTimeNt = nowNt;
}
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
extern int mapMinBufferLength;
static void printMAPInfo(void) {
#if EFI_ANALOG_SENSORS || defined(__DOXYGEN__)
#if EFI_ANALOG_SENSORS
scheduleMsg(logger, "instant value=%.2fkPa", getRawMap());
@ -263,7 +263,7 @@ void initMapDecoder(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX) {
applyConfiguration(PASS_ENGINE_PARAMETER_SIGNATURE);
//engine->configurationListeners.registerCallback(applyConfiguration);
#if HAL_USE_ICU || defined(__DOXYGEN__)
#if HAL_USE_ICU
if (engineConfiguration->hasFrequencyReportingMapSensor) {
digital_input_s* digitalMapInput = addWaveAnalyzerDriver("map freq", CONFIGB(frequencyReportingMapInputPin));
startInputDriver("MAP", digitalMapInput, true);

View File

@ -148,7 +148,7 @@ void ThermistorMath::prepareThermistorCurve(thermistor_conf_s *tc) {
float T1 = tc->tempC_1 + KELV;
float T2 = tc->tempC_2 + KELV;
float T3 = tc->tempC_3 + KELV;
#if EXTREME_TERM_LOGGING || defined(__DOXYGEN__)
#if EXTREME_TERM_LOGGING
scheduleMsg(logger, "T1=%.5f/T2=%.5f/T3=%.5f", T1, T2, T3);
#endif
@ -162,7 +162,7 @@ void ThermistorMath::prepareThermistorCurve(thermistor_conf_s *tc) {
}
float L2 = logf(tc->resistance_2);
float L3 = logf(tc->resistance_3);
#if EXTREME_TERM_LOGGING || defined(__DOXYGEN__)
#if EXTREME_TERM_LOGGING
scheduleMsg(logger, "R1=%.5f/R2=%.5f/R3=%.5f", tc->resistance_1, tc->resistance_2,
tc->resistance_3);
scheduleMsg(logger, "L1=%.5f/L2=%.5f/L3=%.5f", L1, L2, L3);
@ -181,7 +181,7 @@ void ThermistorMath::prepareThermistorCurve(thermistor_conf_s *tc) {
s_h_b = U2 - s_h_c * (L1 * L1 + L1 * L2 + L2 * L2);
s_h_a = Y1 - (s_h_b + L1 * L1 * s_h_c) * L1;
#if EXTREME_TERM_LOGGING || defined(__DOXYGEN__)
#if EXTREME_TERM_LOGGING
scheduleMsg(logger, "Y1=%.5f/Y2=%.5f/Y3=%.5f", Y1, Y2, Y3);
scheduleMsg(logger, "U2=%.5f/U3=%.5f", U2, U3);
scheduleMsg(logger, "s_h_c=%.5f/s_h_b=%.5f/s_h_a=%.5f", curve->s_h_c, curve->s_h_b,
@ -204,7 +204,7 @@ float getIntakeAirTemperature(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
engineConfiguration->useLinearIatSensor);
if (!isValidIntakeAirTemperature(temperature)) {
efiAssert(CUSTOM_ERR_ASSERT, engineConfiguration!=NULL, "NULL engineConfiguration", NAN);
#if EFI_PROD_CODE || EFI_UNIT_TEST || defined(__DOXYGEN__)
#if EFI_PROD_CODE || EFI_UNIT_TEST
warning(OBD_Intake_Air_Temperature_Circuit_Malfunction, "unrealistic IAT %.2f", temperature);
#endif /* EFI_PROD_CODE */
return LIMPING_MODE_IAT_TEMPERATURE;
@ -232,7 +232,7 @@ void set10K_4050K(ThermistorConf *thermistorConf) {
setThermistorConfiguration(thermistorConf, -30, 108000, 25.0, 10000, 130.0, 225);
}
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
static void testCltByR(float resistance) {
if (logger == NULL) {
firmwareError(CUSTOM_ERR_THERM, "thermstr not initialized");
@ -249,7 +249,7 @@ void initThermistors(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX) {
logger = sharedLogger;
efiAssertVoid(CUSTOM_ERR_6578, engine!=NULL, "e NULL initThermistors");
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
addConsoleActionF("test_clt_by_r", testCltByR);
#endif
}

View File

@ -79,13 +79,13 @@ percent_t getTpsValue(int adc DECLARE_ENGINE_PARAMETER_SUFFIX) {
}
float result = interpolateMsg("TPS", TPS_TS_CONVERSION * engineConfiguration->tpsMax, 100, TPS_TS_CONVERSION * engineConfiguration->tpsMin, 0, adc);
if (result < engineConfiguration->tpsErrorDetectionTooLow) {
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
// too much noise with simulator
warning(OBD_Throttle_Position_Sensor_Circuit_Malfunction, "TPS too low: %.2f", result);
#endif /* EFI_PROD_CODE */
}
if (result > engineConfiguration->tpsErrorDetectionTooHigh) {
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
// too much noise with simulator
warning(OBD_Throttle_Position_Sensor_Range_Performance_Problem, "TPS too high: %.2f", result);
#endif /* EFI_PROD_CODE */

View File

@ -28,7 +28,7 @@
#include "alternator_controller.h"
#include "trigger_emulator.h"
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
#include "vehicle_speed.h"
#include "electronic_throttle.h"
#include "rtc_helper.h"
@ -38,17 +38,17 @@
#include "hardware.h"
#endif /* EFI_PROD_CODE */
#if EFI_INTERNAL_FLASH || defined(__DOXYGEN__)
#if EFI_INTERNAL_FLASH
#include "flash_main.h"
#endif /* EFI_INTERNAL_FLASH */
#if EFI_ENGINE_SNIFFER || defined(__DOXYGEN__)
#if EFI_ENGINE_SNIFFER
#include "engine_sniffer.h"
extern int waveChartUsedSize;
extern WaveChart waveChart;
#endif /* EFI_ENGINE_SNIFFER */
#if !defined(SETTINGS_LOGGING_BUFFER_SIZE) || defined(__DOXYGEN__)
#if !defined(SETTINGS_LOGGING_BUFFER_SIZE)
#define SETTINGS_LOGGING_BUFFER_SIZE 1000
#endif /* SETTINGS_LOGGING_BUFFER_SIZE */
@ -319,7 +319,7 @@ void setEngineType(int value) {
engineConfiguration->engineType = (engine_type_e) value;
resetConfigurationExt(&logger, (engine_type_e) value PASS_ENGINE_PARAMETER_SUFFIX);
#if EFI_ENGINE_SNIFFER || defined(__DOXYGEN__)
#if EFI_ENGINE_SNIFFER
if (engine->isTestMode)
waveChart.reset();
#endif
@ -409,7 +409,7 @@ static void printThermistor(const char *msg, ThermistorConf *config, ThermistorM
}
static void printTPSInfo(void) {
#if (EFI_PROD_CODE && HAL_USE_ADC) || defined(__DOXYGEN__)
#if EFI_PROD_CODE && HAL_USE_ADC
if (!hasTpsSensor()) {
scheduleMsg(&logger, "NO TPS SENSOR");
return;
@ -424,7 +424,7 @@ static void printTPSInfo(void) {
}
static void printTemperatureInfo(void) {
#if EFI_ANALOG_SENSORS || defined(__DOXYGEN__)
#if EFI_ANALOG_SENSORS
printThermistor("CLT", &engineConfiguration->clt, &engine->engineState.cltCurve,
engineConfiguration->useLinearCltSensor);
if (!isValidCoolantTemperature(getCoolantTemperature(PASS_ENGINE_PARAMETER_SIGNATURE))) {
@ -767,7 +767,7 @@ static void setTriggerSimulatorPin(const char *indexStr, const char *pinName) {
incrementGlobalConfigurationVersion(PASS_ENGINE_PARAMETER_SIGNATURE);
}
#if HAL_USE_ADC || defined(__DOXYGEN__)
#if HAL_USE_ADC
static void setAnalogInputPin(const char *sensorStr, const char *pinName) {
brain_pin_e pin = parseBrainPin(pinName);
if (pin == GPIO_INVALID) {
@ -880,9 +880,9 @@ static void enableOrDisable(const char *param, bool isEnabled) {
engineConfiguration->isEngineChartEnabled = isEnabled;
} else if (strEqualCaseInsensitive(param, "step1limimter")) {
boardConfiguration->enabledStep1Limiter = isEnabled;
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
} else if (strEqualCaseInsensitive(param, "auto_idle")) {
#if EFI_IDLE_CONTROL || defined(__DOXYGEN__)
#if EFI_IDLE_CONTROL
setIdleMode(isEnabled ? IM_MANUAL : IM_AUTO);
#endif /* EFI_IDLE_CONTROL */
#endif /* EFI_PROD_CODE */
@ -1007,7 +1007,7 @@ typedef struct {
} plain_get_float_s;
#if ! EFI_UNIT_TEST || defined(__DOXYGEN__)
#if ! EFI_UNIT_TEST
const plain_get_short_s getS_plain[] = {
{"idle_pid_min", (uint16_t *)&engineConfiguration->idleRpmPid.minValue},
{"idle_pid_max", (uint16_t *)&engineConfiguration->idleRpmPid.maxValue},
@ -1065,7 +1065,7 @@ const plain_get_float_s getF_plain[] = {
static void getValue(const char *paramStr) {
#if ! EFI_UNIT_TEST || defined(__DOXYGEN__)
#if ! EFI_UNIT_TEST
{
const plain_get_integer_s *currentI = &getI_plain[0];
while (currentI < getI_plain + sizeof(getI_plain)/sizeof(getI_plain[0])) {
@ -1093,7 +1093,7 @@ static void getValue(const char *paramStr) {
if (strEqualCaseInsensitive(paramStr, "isCJ125Enabled")) {
scheduleMsg(&logger, "isCJ125Enabled=%d", boardConfiguration->isCJ125Enabled);
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
} else if (strEqualCaseInsensitive(paramStr, "bor")) {
showBor();
#endif /* EFI_PROD_CODE */
@ -1111,7 +1111,7 @@ static void getValue(const char *paramStr) {
scheduleMsg(&logger, "isHip9011Enabled=%d", boardConfiguration->isHip9011Enabled);
}
#if EFI_RTC || defined(__DOXYGEN__)
#if EFI_RTC
else if (strEqualCaseInsensitive(paramStr, "date")) {
printDateTime();
}
@ -1140,7 +1140,7 @@ typedef struct {
} command_f_s;
const command_f_s commandsF[] = {
#if (EFI_ENGINE_CONTROL && EFI_ENABLE_MOCK_ADC) || defined(__DOXYGEN__)
#if EFI_ENGINE_CONTROL && EFI_ENABLE_MOCK_ADC
{"mock_iat_voltage", setMockIatVoltage},
{"mock_pedal_position", setMockPedalPosition},
{"mock_maf_voltage", setMockMafVoltage},
@ -1172,11 +1172,11 @@ const command_f_s commandsF[] = {
{"engine_decel_threshold", setDecelThr},
{"engine_decel_multiplier", setDecelMult},
{"flat_injector_lag", setFlatInjectorLag},
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_VEHICLE_SPEED || defined(__DOXYGEN__)
#if EFI_PROD_CODE
#if EFI_VEHICLE_SPEED
{"mock_vehicle_speed", setMockVehicleSpeed},
#endif /* EFI_VEHICLE_SPEED */
#if EFI_IDLE_CONTROL || defined(__DOXYGEN__)
#if EFI_IDLE_CONTROL
{"idle_offset", setIdleOffset},
{"idle_p", setIdlePFactor},
{"idle_i", setIdleIFactor},
@ -1231,12 +1231,12 @@ const command_i_s commandsI[] = {{"ignition_mode", setIgnitionMode},
{"idle_solenoid_freq", setIdleSolenoidFrequency},
{"tps_accel_len", setTpsAccelLen},
{"engine_load_accel_len", setEngineLoadAccelLen},
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
{"bor", setBor},
#if EFI_CAN_SUPPORT || defined(__DOXYGEN__)
#if EFI_CAN_SUPPORT
{"can_mode", setCanType},
#endif /* EFI_CAN_SUPPORT */
#if EFI_IDLE_CONTROL || defined(__DOXYGEN__)
#if EFI_IDLE_CONTROL
{"idle_position", setIdleValvePosition},
{"idle_rpm", setTargetIdleRpm},
{"idle_dt", setIdleDT},
@ -1279,7 +1279,7 @@ static void setValue(const char *paramStr, const char *valueStr) {
if (strEqualCaseInsensitive(paramStr, "vsscoeff")) {
engineConfiguration->vehicleSpeedCoef = valueF;
#if EFI_ALTERNATOR_CONTROL || defined(__DOXYGEN__)
#if EFI_ALTERNATOR_CONTROL
} else if (strEqualCaseInsensitive(paramStr, "alt_t")) {
if (valueI > 10) {
engineConfiguration->alternatorControl.periodMs = valueI;
@ -1308,7 +1308,7 @@ static void setValue(const char *paramStr, const char *valueStr) {
engineConfiguration->tpsMax = valueI;
} else if (strEqualCaseInsensitive(paramStr, "tps_min")) {
engineConfiguration->tpsMin = valueI;
#if EFI_EMULATE_POSITION_SENSORS || defined(__DOXYGEN__)
#if EFI_EMULATE_POSITION_SENSORS
} else if (strEqualCaseInsensitive(paramStr, "rpm")) {
setTriggerEmulatorRPM(valueI);
#endif /* EFI_EMULATE_POSITION_SENSORS */
@ -1330,7 +1330,7 @@ static void setValue(const char *paramStr, const char *valueStr) {
engineConfiguration->ignitionDwellForCrankingMs = valueF;
} else if (strEqualCaseInsensitive(paramStr, "targetvbatt")) {
engineConfiguration->targetVBatt = valueF;
#if EFI_RTC || defined(__DOXYGEN__)
#if EFI_RTC
} else if (strEqualCaseInsensitive(paramStr, "date")) {
// rusEfi console invokes this method with timestamp in local timezone
setDateTime(valueStr);
@ -1385,7 +1385,7 @@ void initSettings(void) {
addConsoleActionSS("set", setValue);
addConsoleActionS("get", getValue);
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
addConsoleActionS("showpin", showPinFunction);
addConsoleActionSS("set_injection_pin", setInjectionPin);
addConsoleActionSS("set_ignition_pin", setIgnitionPin);
@ -1402,7 +1402,7 @@ void initSettings(void) {
addConsoleActionS("set_idle_pin", setIdlePin);
addConsoleActionS("set_main_relay_pin", setMainRelayPin);
#if HAL_USE_ADC || defined(__DOXYGEN__)
#if HAL_USE_ADC
addConsoleActionSS("set_analog_input_pin", setAnalogInputPin);
#endif
addConsoleActionSS("set_logic_input_pin", setLogicInputPin);

View File

@ -11,7 +11,7 @@
#include "efi_gpio.h"
#include "drivers/gpio/gpio_ext.h"
#if EFI_GPIO_HARDWARE || defined(__DOXYGEN__)
#if EFI_GPIO_HARDWARE
#include "pin_repository.h"
#include "io_pins.h"
#endif /* EFI_GPIO_HARDWARE */
@ -22,7 +22,7 @@
EXTERN_ENGINE;
#if EFI_ENGINE_SNIFFER || defined(__DOXYGEN__)
#if EFI_ENGINE_SNIFFER
#include "engine_sniffer.h"
extern WaveChart waveChart;
#endif /* EFI_ENGINE_SNIFFER */
@ -98,7 +98,7 @@ void EnginePins::unregisterPins() {
#if EFI_ELECTRONIC_THROTTLE_BODY
unregisterEtbPins();
#endif /* EFI_ELECTRONIC_THROTTLE_BODY */
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
fuelPumpRelay.unregisterOutput(activeConfiguration.bc.fuelPumpPin, engineConfiguration->bc.fuelPumpPin);
fanRelay.unregisterOutput(activeConfiguration.bc.fanPin, engineConfiguration->bc.fanPin);
hipCs.unregisterOutput(activeConfiguration.bc.hip9011CsPin, engineConfiguration->bc.hip9011CsPin);
@ -143,7 +143,7 @@ void EnginePins::reset() {
}
void EnginePins::stopIgnitionPins(void) {
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
for (int i = 0; i < IGNITION_PIN_COUNT; i++) {
NamedOutputPin *output = &enginePins.coils[i];
output->unregisterOutput(activeConfiguration.bc.ignitionPins[i],
@ -153,7 +153,7 @@ void EnginePins::stopIgnitionPins(void) {
}
void EnginePins::stopInjectionPins(void) {
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
for (int i = 0; i < INJECTION_PIN_COUNT; i++) {
NamedOutputPin *output = &enginePins.injectors[i];
output->unregisterOutput(activeConfiguration.bc.injectionPins[i],
@ -163,7 +163,7 @@ void EnginePins::stopInjectionPins(void) {
}
void EnginePins::startAuxValves(void) {
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
for (int i = 0; i < AUX_DIGITAL_VALVE_COUNT; i++) {
NamedOutputPin *output = &enginePins.auxValve[i];
output->initPin(output->name, engineConfiguration->auxValves[i]);
@ -172,7 +172,7 @@ void EnginePins::startAuxValves(void) {
}
void EnginePins::startIgnitionPins(void) {
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
for (int i = 0; i < engineConfiguration->specs.cylindersCount; i++) {
NamedOutputPin *output = &enginePins.coils[i];
// todo: we need to check if mode has changed
@ -191,7 +191,7 @@ void EnginePins::startIgnitionPins(void) {
}
void EnginePins::startInjectionPins(void) {
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
// todo: should we move this code closer to the injection logic?
for (int i = 0; i < engineConfiguration->specs.cylindersCount; i++) {
NamedOutputPin *output = &enginePins.injectors[i];
@ -214,14 +214,14 @@ NamedOutputPin::NamedOutputPin(const char *name) : OutputPin() {
}
void NamedOutputPin::setHigh() {
#if EFI_DEFAILED_LOGGING || defined(__DOXYGEN__)
#if EFI_DEFAILED_LOGGING
// signal->hi_time = hTimeNow();
#endif /* EFI_DEFAILED_LOGGING */
// turn the output level ACTIVE
setValue(true);
#if EFI_ENGINE_SNIFFER || defined(__DOXYGEN__)
#if EFI_ENGINE_SNIFFER
addEngineSnifferEvent(name, WC_UP);
#endif /* EFI_ENGINE_SNIFFER */
@ -231,13 +231,13 @@ void NamedOutputPin::setLow() {
// turn off the output
setValue(false);
#if EFI_DEFAILED_LOGGING || defined(__DOXYGEN__)
#if EFI_DEFAILED_LOGGING
// systime_t after = getTimeNowUs();
// debugInt(&signal->logging, "a_time", after - signal->hi_time);
// scheduleLogging(&signal->logging);
#endif /* EFI_DEFAILED_LOGGING */
#if EFI_ENGINE_SNIFFER || defined(__DOXYGEN__)
#if EFI_ENGINE_SNIFFER
addEngineSnifferEvent(name, WC_DOWN);
#endif /* EFI_ENGINE_SNIFFER */
}
@ -248,7 +248,7 @@ InjectorOutputPin::InjectorOutputPin() : NamedOutputPin() {
}
bool NamedOutputPin::stop() {
#if EFI_GPIO_HARDWARE || defined(__DOXYGEN__)
#if EFI_GPIO_HARDWARE
if (isInitialized() && getLogicValue()) {
setValue(false);
scheduleMsg(&sharedLogger, "turning off %s", name);
@ -277,7 +277,7 @@ void IgnitionOutputPin::reset() {
OutputPin::OutputPin() {
modePtr = &DEFAULT_OUTPUT;
#if EFI_GPIO_HARDWARE || defined(__DOXYGEN__)
#if EFI_GPIO_HARDWARE
port = NULL;
pin = 0;
#endif /* EFI_GPIO_HARDWARE */
@ -285,7 +285,7 @@ OutputPin::OutputPin() {
}
bool OutputPin::isInitialized() {
#if EFI_GPIO_HARDWARE || defined(__DOXYGEN__)
#if EFI_GPIO_HARDWARE
return port != NULL;
#else /* EFI_GPIO_HARDWARE */
return true;
@ -337,7 +337,7 @@ void OutputPin::setDefaultPinState(const pin_output_mode_e *outputMode) {
}
void initOutputPins(void) {
#if EFI_GPIO_HARDWARE || defined(__DOXYGEN__)
#if EFI_GPIO_HARDWARE
/**
* want to make sure it's all zeros so that we can compare in initOutputPinExt() method
*/
@ -345,7 +345,7 @@ void initOutputPins(void) {
// todo: fix this?
// memset(&outputs, 0, sizeof(outputs));
#if HAL_USE_SPI || defined(__DOXYGEN__)
#if HAL_USE_SPI
enginePins.sdCsPin.initPin("spi CS5", CONFIGB(sdCardCsPin));
#endif /* HAL_USE_SPI */
@ -394,7 +394,7 @@ void OutputPin::initPin(const char *msg, brain_pin_e brainPin) {
}
void OutputPin::initPin(const char *msg, brain_pin_e brainPin, const pin_output_mode_e *outputMode) {
#if EFI_GPIO_HARDWARE || defined(__DOXYGEN__)
#if EFI_GPIO_HARDWARE
if (brainPin == GPIO_UNASSIGNED)
return;
@ -448,7 +448,7 @@ void OutputPin::initPin(const char *msg, brain_pin_e brainPin, const pin_output_
#endif /* EFI_GPIO_HARDWARE */
}
#if EFI_GPIO_HARDWARE || defined(__DOXYGEN__)
#if EFI_GPIO_HARDWARE
void initPrimaryPins(void) {
enginePins.errorLedPin.initPin("led: ERROR status", LED_ERROR_BRAIN_PIN);

View File

@ -15,7 +15,7 @@
void initPrimaryPins(void);
void initOutputPins(void);
#if EFI_GPIO_HARDWARE || defined(__DOXYGEN__)
#if EFI_GPIO_HARDWARE
void turnAllPinsOff(void);
#else /* EFI_GPIO_HARDWARE */
#define turnAllPinsOff() {}
@ -48,7 +48,7 @@ public:
bool getLogicValue();
#if EFI_GPIO_HARDWARE || defined(__DOXYGEN__)
#if EFI_GPIO_HARDWARE
ioportid_t port;
uint8_t pin;
#if (BOARD_EXT_GPIOCHIPS > 0)
@ -167,7 +167,7 @@ public:
#define getElectricalValue(logicalValue, mode) \
(logicalValue ? getElectricalValue1(mode) : getElectricalValue0(mode))
#if EFI_GPIO_HARDWARE || defined(__DOXYGEN__)
#if EFI_GPIO_HARDWARE
EXTERNC ioportmask_t getHwPin(const char *msg, brain_pin_e brainPin);
EXTERNC ioportid_t getHwPort(const char *msg, brain_pin_e brainPin);

View File

@ -37,7 +37,7 @@ static void turnOff(NamedOutputPin *output) {
static void auxValveTriggerCallback(trigger_event_e ckpSignalType,
uint32_t index DECLARE_ENGINE_PARAMETER_SUFFIX) {
UNUSED(ckpSignalType);
#if EFI_PROD_CODE || EFI_SIMULATOR || defined(__DOXYGEN__)
#if EFI_PROD_CODE || EFI_SIMULATOR
if (index != SCHEDULING_TRIGGER_INDEX) {
return;
}
@ -81,7 +81,7 @@ static void auxValveTriggerCallback(trigger_event_e ckpSignalType,
void initAuxValves(Logging *sharedLogger) {
UNUSED(sharedLogger);
#if EFI_PROD_CODE || EFI_SIMULATOR || defined(__DOXYGEN__)
#if EFI_PROD_CODE || EFI_SIMULATOR
if (engineConfiguration->auxValves[0] == GPIO_UNASSIGNED) {
return;
}

View File

@ -36,7 +36,7 @@
#include "trigger_vw.h"
#include "trigger_universal.h"
#if EFI_SENSOR_CHART || defined(__DOXYGEN__)
#if EFI_SENSOR_CHART
#include "sensor_chart.h"
#endif /* EFI_SENSOR_CHART */
@ -89,7 +89,7 @@ void TriggerShape::initialize(operation_mode_e operationMode, bool needSecondTri
previousAngle = 0;
memset(riseOnlyIndexes, 0, sizeof(riseOnlyIndexes));
memset(isRiseEvent, 0, sizeof(isRiseEvent));
#if EFI_UNIT_TEST || defined(__DOXYGEN__)
#if EFI_UNIT_TEST
memset(&triggerSignals, 0, sizeof(triggerSignals));
#endif
}
@ -158,7 +158,7 @@ operation_mode_e TriggerShape::getOperationMode() {
return operationMode;
}
#if EFI_UNIT_TEST || defined(__DOXYGEN__)
#if EFI_UNIT_TEST
extern bool printTriggerDebug;
#endif
@ -180,7 +180,7 @@ void TriggerShape::addEvent(angle_t angle, trigger_wheel_e const channelIndex, t
efiAssertVoid(CUSTOM_ERR_6598, channelIndex!= T_SECONDARY || needSecondTriggerInput, "secondary needed or not?");
#if EFI_UNIT_TEST || defined(__DOXYGEN__)
#if EFI_UNIT_TEST
if (printTriggerDebug) {
printf("addEvent2 %.2f i=%d r/f=%d\r\n", angle, channelIndex, stateParam);
}
@ -193,7 +193,7 @@ void TriggerShape::addEvent(angle_t angle, trigger_wheel_e const channelIndex, t
state = stateParam;
}
#if EFI_UNIT_TEST || defined(__DOXYGEN__)
#if EFI_UNIT_TEST
int signal = channelIndex * 1000 + stateParam;
triggerSignals[privateTriggerDefinitionSize] = signal;
#endif
@ -278,7 +278,7 @@ angle_t TriggerShape::getSwitchAngle(int index) const {
void setToothedWheelConfiguration(TriggerShape *s, int total, int skipped,
operation_mode_e operationMode) {
#if EFI_ENGINE_CONTROL || defined(__DOXYGEN__)
#if EFI_ENGINE_CONTROL
s->useRiseEdge = true;
@ -300,7 +300,7 @@ void TriggerShape::setTriggerSynchronizationGap3(int gapIndex, float syncRatioFr
this->syncRatioAvg = (int)efiRound((syncRatioFrom + syncRatioTo) * 0.5f, 1.0f);
}
#if EFI_UNIT_TEST || defined(__DOXYGEN__)
#if EFI_UNIT_TEST
if (printTriggerDebug) {
printf("setTriggerSynchronizationGap3 %d %.2f %.2f\r\n", gapIndex, syncRatioFrom, syncRatioTo);
}
@ -368,7 +368,7 @@ void TriggerShape::findTriggerPosition(event_trigger_position_s *position,
}
void TriggerShape::prepareShape() {
#if (EFI_ENGINE_CONTROL && EFI_SHAFT_POSITION_INPUT) || defined(__DOXYGEN__)
#if EFI_ENGINE_CONTROL && EFI_SHAFT_POSITION_INPUT
int engineCycleInt = (int) getEngineCycle(operationMode);
for (int angle = 0; angle < engineCycleInt; angle++) {
int triggerShapeIndex = findAngleIndex(angle);
@ -403,7 +403,7 @@ void TriggerShape::setSecondTriggerSynchronizationGap(float syncRatio) {
*/
void TriggerShape::initializeTriggerShape(Logging *logger, operation_mode_e operationMode, bool useOnlyRisingEdgeForTrigger, const trigger_config_s *triggerConfig) {
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
efiAssertVoid(CUSTOM_ERR_6641, getCurrentRemainingStack() > 256, "init t");
scheduleMsg(logger, "initializeTriggerShape(%s/%d)", getTrigger_type_e(triggerConfig->type), (int) triggerConfig->type);
#endif

View File

@ -175,7 +175,7 @@ public:
*/
uint32_t expectedEventCount[PWM_PHASE_MAX_WAVE_PER_PWM];
#if EFI_UNIT_TEST || defined(__DOXYGEN__)
#if EFI_UNIT_TEST
/**
* These signals are used for trigger export only
*/

View File

@ -22,11 +22,11 @@
*/
#include "global.h"
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
#include <nvic.h>
#endif
#if (EFI_ENGINE_CONTROL && EFI_SHAFT_POSITION_INPUT) || defined(__DOXYGEN__)
#if EFI_ENGINE_CONTROL && EFI_SHAFT_POSITION_INPUT
#include "main_trigger_callback.h"
#include "efi_gpio.h"
@ -45,7 +45,7 @@
#include "histogram.h"
#include "engine_controller.h"
#include "efi_gpio.h"
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
#include "rfiutil.h"
#endif /* EFI_HISTOGRAMS */
#include "local_version_holder.h"
@ -67,7 +67,7 @@ static Logging *logger;
#if ! EFI_UNIT_TEST
static pid_s *fuelPidS = &persistentState.persistentConfiguration.engineConfiguration.fuelClosedLoopPid;
static Pid fuelPid(fuelPidS);
#if EFI_TUNER_STUDIO || defined(__DOXYGEN__)
#if EFI_TUNER_STUDIO
extern TunerStudioOutputChannels tsOutputChannels;
#endif /* EFI_TUNER_STUDIO */
#endif
@ -92,7 +92,7 @@ static void endSimultaniousInjectionOnlyTogglePins(Engine *engine) {
}
void endSimultaniousInjection(InjectionEvent *event) {
#if EFI_UNIT_TEST || defined(__DOXYGEN__)
#if EFI_UNIT_TEST
Engine *engine = event->engine;
EXPAND_Engine;
#endif
@ -103,7 +103,7 @@ void endSimultaniousInjection(InjectionEvent *event) {
static inline void tempTurnPinHigh(InjectorOutputPin *output) {
output->overlappingCounter++;
#if FUEL_MATH_EXTREME_LOGGING || defined(__DOXYGEN__)
#if FUEL_MATH_EXTREME_LOGGING
printf("seTurnPinHigh %s %d %d\r\n", output->name, output->overlappingCounter, (int)getTimeNowUs());
#endif /* FUEL_MATH_EXTREME_LOGGING */
@ -112,11 +112,11 @@ static inline void tempTurnPinHigh(InjectorOutputPin *output) {
// * #299
// * this is another kind of overlap which happens in case of a small duty cycle after a large duty cycle
// */
#if FUEL_MATH_EXTREME_LOGGING || defined(__DOXYGEN__)
#if FUEL_MATH_EXTREME_LOGGING
printf("overlapping, no need to touch pin %s %d\r\n", output->name, (int)getTimeNowUs());
#endif /* FUEL_MATH_EXTREME_LOGGING */
} else {
#if FUEL_MATH_EXTREME_LOGGING || defined(__DOXYGEN__)
#if FUEL_MATH_EXTREME_LOGGING
const char * w = output->currentLogicValue == true ? "err" : "";
// scheduleMsg(&sharedLogger, "^ %spin=%s eventIndex %d %d", w, output->name,
// getRevolutionCounter(), getTimeNowUs());
@ -137,7 +137,7 @@ void seTurnPinHigh(InjectionSignalPair *pair) {
}
static inline void tempTurnPinLow(InjectorOutputPin *output) {
#if FUEL_MATH_EXTREME_LOGGING || defined(__DOXYGEN__)
#if FUEL_MATH_EXTREME_LOGGING
printf("seTurnPinLow %s %d %d\r\n", output->name, output->overlappingCounter, (int)getTimeNowUs());
#endif /* FUEL_MATH_EXTREME_LOGGING */
@ -152,12 +152,12 @@ static inline void tempTurnPinLow(InjectorOutputPin *output) {
*
*/
output->cancelNextTurningInjectorOff = false;
#if EFI_SIMULATOR || defined(__DOXYGEN__)
#if EFI_SIMULATOR
printf("was cancelled %s %d\r\n", output->name, (int)getTimeNowUs());
#endif /* EFI_SIMULATOR */
} else {
#if FUEL_MATH_EXTREME_LOGGING || defined(__DOXYGEN__)
#if FUEL_MATH_EXTREME_LOGGING
const char * w = output->currentLogicValue == false ? "err" : "";
// scheduleMsg(&sharedLogger, "- %spin=%s eventIndex %d %d", w, output->name,
@ -166,7 +166,7 @@ static inline void tempTurnPinLow(InjectorOutputPin *output) {
output->overlappingCounter--;
if (output->overlappingCounter > 0) {
#if FUEL_MATH_EXTREME_LOGGING || defined(__DOXYGEN__)
#if FUEL_MATH_EXTREME_LOGGING
printf("was overlapping, no need to touch pin %s %d\r\n", output->name, (int)getTimeNowUs());
#endif /* FUEL_MATH_EXTREME_LOGGING */
} else {
@ -184,7 +184,7 @@ void seTurnPinLow(InjectionSignalPair *pair) {
}
}
efiAssertVoid(CUSTOM_ERR_6626, pair->event != NULL, "pair event");
#if EFI_UNIT_TEST || defined(__DOXYGEN__)
#if EFI_UNIT_TEST
Engine *engine = pair->event->engine;
EXPAND_Engine;
#endif
@ -192,7 +192,7 @@ void seTurnPinLow(InjectionSignalPair *pair) {
}
static void sescheduleByTimestamp(scheduling_s *scheduling, efitimeus_t time, schfunc_t callback, InjectionSignalPair *pair DECLARE_ENGINE_PARAMETER_SUFFIX) {
#if FUEL_MATH_EXTREME_LOGGING || defined(__DOXYGEN__)
#if FUEL_MATH_EXTREME_LOGGING
InjectorOutputPin *param = pair->outputs[0];
// scheduleMsg(&sharedLogger, "schX %s %x %d", prefix, scheduling, time);
// scheduleMsg(&sharedLogger, "schX %s", param->name);
@ -213,7 +213,7 @@ static ALWAYS_INLINE void handleFuelInjectionEvent(int injEventIndex, InjectionE
* x2 or /2?
*/
const floatms_t injectionDuration = ENGINE(wallFuel).adjust(event->outputs[0]->injectorIndex, ENGINE(injectionDuration) PASS_ENGINE_PARAMETER_SUFFIX);
#if EFI_PRINTF_FUEL_DETAILS || defined(__DOXYGEN__)
#if EFI_PRINTF_FUEL_DETAILS
printf("fuel injectionDuration=%.2f adjusted=%.2f\t\n", ENGINE(injectionDuration), injectionDuration);
#endif /*EFI_PRINTF_FUEL_DETAILS */
@ -253,14 +253,14 @@ static ALWAYS_INLINE void handleFuelInjectionEvent(int injEventIndex, InjectionE
floatus_t durationUs = MS2US(injectionDuration);
#if FUEL_MATH_EXTREME_LOGGING || defined(__DOXYGEN__)
#if FUEL_MATH_EXTREME_LOGGING
// scheduleMsg(logger, "handleFuel totalPerCycle=%.2f", totalPerCycle);
// scheduleMsg(logger, "handleFuel engineCycleDuration=%.2f", engineCycleDuration);
#endif /* FUEL_MATH_EXTREME_LOGGING */
floatus_t injectionStartDelayUs = ENGINE(rpmCalculator.oneDegreeUs) * event->injectionStart.angleOffset;
#if EFI_DEFAILED_LOGGING || defined(__DOXYGEN__)
#if EFI_DEFAILED_LOGGING
scheduleMsg(logger, "handleFuel pin=%s eventIndex %d duration=%.2fms %d", event->outputs[0]->name,
injEventIndex,
injectionDuration,
@ -287,7 +287,7 @@ static ALWAYS_INLINE void handleFuelInjectionEvent(int injEventIndex, InjectionE
(schfunc_t) &endSimultaniousInjection, event);
} else {
#if EFI_UNIT_TEST || defined(__DOXYGEN__)
#if EFI_UNIT_TEST
printf("scheduling injection angle=%.2f/delay=%.2f injectionDuration=%.2f\r\n", event->injectionStart.angleOffset, injectionStartDelayUs, injectionDuration);
#endif
@ -306,14 +306,14 @@ static ALWAYS_INLINE void handleFuelInjectionEvent(int injEventIndex, InjectionE
efitimeus_t nowUs = getTimeNowUs();
InjectorOutputPin *output = event->outputs[0];
#if EFI_PRINTF_FUEL_DETAILS || defined(__DOXYGEN__)
#if EFI_PRINTF_FUEL_DETAILS
printf("fuelout %s duration %d total=%d\t\n", output->name, (int)durationUs,
(int)MS2US(getCrankshaftRevolutionTimeMs(GET_RPM_VALUE)));
#endif /*EFI_PRINTF_FUEL_DETAILS */
if (pair->isScheduled) {
#if EFI_UNIT_TEST || EFI_SIMULATOR || defined(__DOXYGEN__)
#if EFI_UNIT_TEST || EFI_SIMULATOR
printf("still used1 %s %d\r\n", output->name, (int)getTimeNowUs());
#endif /* EFI_UNIT_TEST || EFI_SIMULATOR */
return; // this InjectionSignalPair is still needed for an extremely long injection scheduled previously
@ -330,7 +330,7 @@ static ALWAYS_INLINE void handleFuelInjectionEvent(int injEventIndex, InjectionE
if (isSecondaryOverlapping) {
output->cancelNextTurningInjectorOff = true;
#if EFI_UNIT_TEST || EFI_SIMULATOR || defined(__DOXYGEN__)
#if EFI_UNIT_TEST || EFI_SIMULATOR
printf("please cancel %s %d %d\r\n", output->name, (int)getTimeNowUs(), output->overlappingCounter);
#endif /* EFI_UNIT_TEST || EFI_SIMULATOR */
} else {
@ -355,7 +355,7 @@ static void fuelClosedLoopCorrection(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
engine->engineState.fuelPidCorrection = fuelPid.getOutput(ENGINE(engineState.targetAFR), ENGINE(sensors.currentAfr), 1);
if (engineConfiguration->debugMode == DBG_FUEL_PID_CORRECTION) {
#if EFI_TUNER_STUDIO || defined(__DOXYGEN__)
#if EFI_TUNER_STUDIO
tsOutputChannels.debugFloatField1 = engine->engineState.fuelPidCorrection;
fuelPid.postState(&tsOutputChannels);
#endif /* EFI_TUNER_STUDIO */
@ -386,7 +386,7 @@ static ALWAYS_INLINE void handleFuel(const bool limitedFuel, uint32_t trgEventIn
fs->addFuelEvents(PASS_ENGINE_PARAMETER_SIGNATURE);
}
#if FUEL_MATH_EXTREME_LOGGING || defined(__DOXYGEN__)
#if FUEL_MATH_EXTREME_LOGGING
scheduleMsg(logger, "handleFuel ind=%d %d", trgEventIndex, getRevolutionCounter());
#endif /* FUEL_MATH_EXTREME_LOGGING */
@ -414,17 +414,17 @@ static ALWAYS_INLINE void handleFuel(const bool limitedFuel, uint32_t trgEventIn
}
}
#if EFI_HISTOGRAMS || defined(__DOXYGEN__)
#if EFI_HISTOGRAMS
static histogram_s mainLoopHistogram;
#endif /* EFI_HISTOGRAMS */
void showMainHistogram(void) {
#if EFI_HISTOGRAMS || defined(__DOXYGEN__)
#if EFI_HISTOGRAMS
printHistogram(logger, &mainLoopHistogram);
#endif /* EFI_HISTOGRAMS */
}
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
/**
* this field is used as an Expression in IAR debugger
*/
@ -483,7 +483,7 @@ void mainTriggerCallback(trigger_event_e ckpSignalType, uint32_t trgEventIndex D
warning(CUSTOM_SKIPPING_STROKE, "skipping stroke due to rpm=%d", rpm);
}
#if (EFI_HISTOGRAMS && EFI_PROD_CODE) || defined(__DOXYGEN__)
#if EFI_HISTOGRAMS && EFI_PROD_CODE
int beforeCallback = hal_lld_get_counter_value();
#endif
@ -523,7 +523,7 @@ void mainTriggerCallback(trigger_event_e ckpSignalType, uint32_t trgEventIndex D
* For spark we schedule both start of coil charge and actual spark based on trigger angle
*/
handleSpark(limitedSpark, trgEventIndex, rpm PASS_ENGINE_PARAMETER_SUFFIX);
#if EFI_HISTOGRAMS || defined(__DOXYGEN__)
#if EFI_HISTOGRAMS
int diff = hal_lld_get_counter_value() - beforeCallback;
if (diff > 0)
hsAdd(&mainLoopHistogram, diff);
@ -548,7 +548,7 @@ static bool isPrimeInjectionPulseSkipped(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
void startPrimeInjectionPulse(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
// First, we need a protection against 'fake' ignition switch on and off (i.e. no engine started), to avoid repeated prime pulses.
// So we check and update the ignition switch counter in non-volatile backup-RAM
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
uint32_t ignSwitchCounter = backupRamLoad(BACKUP_IGNITION_SWITCH_COUNTER);
#else /* EFI_PROD_CODE */
uint32_t ignSwitchCounter = 0;
@ -564,7 +564,7 @@ void startPrimeInjectionPulse(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
// start prime injection if this is a 'fresh start'
if (ignSwitchCounter == 0) {
// fill-in the prime event struct
#if EFI_UNIT_TEST || defined(__DOXYGEN__)
#if EFI_UNIT_TEST
primeInjEvent.engine = engine;
#endif /* EFI_UNIT_TEST */
primeInjEvent.ownIndex = 0;
@ -582,14 +582,14 @@ void startPrimeInjectionPulse(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
engine->executor.scheduleForLater(sDown, turnOffDelayUs, (schfunc_t) &endSimultaniousInjectionOnlyTogglePins, engine);
}
}
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
// we'll reset it later when the engine starts
backupRamSave(BACKUP_IGNITION_SWITCH_COUNTER, ignSwitchCounter + 1);
#endif /* EFI_PROD_CODE */
}
void updatePrimeInjectionPulseState(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
static bool counterWasReset = false;
if (counterWasReset)
return;
@ -601,20 +601,20 @@ void updatePrimeInjectionPulseState(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
#endif /* EFI_PROD_CODE */
}
#if EFI_ENGINE_SNIFFER || defined(__DOXYGEN__)
#if EFI_ENGINE_SNIFFER
#include "engine_sniffer.h"
#endif
static void showTriggerHistogram(void) {
printAllCallbacksHistogram();
showMainHistogram();
#if EFI_ENGINE_SNIFFER || defined(__DOXYGEN__)
#if EFI_ENGINE_SNIFFER
showWaveChartHistogram();
#endif
}
static void showMainInfo(Engine *engine) {
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
int rpm = GET_RPM();
float el = getEngineLoadT(PASS_ENGINE_PARAMETER_SIGNATURE);
scheduleMsg(logger, "rpm %d engine_load %.2f", rpm, el);
@ -629,7 +629,7 @@ void initMainEventListener(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX
initAuxValves(logger);
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
addConsoleAction("performanceinfo", showTriggerHistogram);
addConsoleActionP("maininfo", (VoidPtr) showMainInfo, engine);
@ -638,7 +638,7 @@ void initMainEventListener(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX
printMsg(logger, "!!!!!!!!!!!!!!!!!!! injection disabled");
#endif
#if EFI_HISTOGRAMS || defined(__DOXYGEN__)
#if EFI_HISTOGRAMS
initHistogram(&mainLoopHistogram, "main callback");
#endif /* EFI_HISTOGRAMS */

View File

@ -22,7 +22,7 @@
#include "engine.h"
#endif
#if EFI_SENSOR_CHART || defined(__DOXYGEN__)
#if EFI_SENSOR_CHART
#include "sensor_chart.h"
#endif
@ -73,7 +73,7 @@ int RpmCalculator::getRpm(DECLARE_ENGINE_PARAMETER_SIGNATURE) const {
return rpmValue;
}
#if EFI_SHAFT_POSITION_INPUT || defined(__DOXYGEN__)
#if EFI_SHAFT_POSITION_INPUT
EXTERN_ENGINE
;
@ -159,7 +159,7 @@ void RpmCalculator::setRpmValue(int value DECLARE_ENGINE_PARAMETER_SUFFIX) {
*/
state = CRANKING;
}
#if EFI_ENGINE_CONTROL || defined(__DOXYGEN__)
#if EFI_ENGINE_CONTROL
// This presumably fixes injection mode change for cranking-to-running transition.
// 'isSimultanious' flag should be updated for events if injection modes differ for cranking and running.
if (state != oldState) {
@ -261,7 +261,7 @@ void rpmShaftPositionCallback(trigger_event_e ckpSignalType,
}
#if EFI_SENSOR_CHART || defined(__DOXYGEN__)
#if EFI_SENSOR_CHART
// this 'index==0' case is here so that it happens after cycle callback so
// it goes into sniffer report into the first position
if (ENGINE(sensorChartMode) == SC_TRIGGER) {
@ -291,7 +291,7 @@ static scheduling_s tdcScheduler[2];
static char rpmBuffer[_MAX_FILLER];
#if (EFI_PROD_CODE || EFI_SIMULATOR) || defined(__DOXYGEN__)
#if EFI_PROD_CODE || EFI_SIMULATOR
/**
* This callback has nothing to do with actual engine control, it just sends a Top Dead Center mark to the dev console
* digital sniffer.
@ -347,7 +347,7 @@ void initRpmCalculator(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX) {
if (hasFirmwareError()) {
return;
}
#if (EFI_PROD_CODE || EFI_SIMULATOR) || defined(__DOXYGEN__)
#if EFI_PROD_CODE || EFI_SIMULATOR
addTriggerEventListener(tdcMarkCallback, "chart TDC mark", engine);
#endif
@ -355,7 +355,7 @@ void initRpmCalculator(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX) {
addTriggerEventListener(rpmShaftPositionCallback, "rpm reporter", engine);
}
#if (EFI_PROD_CODE || EFI_SIMULATOR) || defined(__DOXYGEN__)
#if EFI_PROD_CODE || EFI_SIMULATOR
/**
* Schedules a callback 'angle' degree of crankshaft from now.
* The callback would be executed once after the duration of time which

View File

@ -31,7 +31,7 @@ int isIgnitionTimingError(void) {
}
static void turnSparkPinLow2(IgnitionEvent *event, IgnitionOutputPin *output) {
#if SPARK_EXTREME_LOGGING || defined(__DOXYGEN__)
#if SPARK_EXTREME_LOGGING
scheduleMsg(logger, "spark goes low %d %s %d current=%d cnt=%d id=%d", getRevolutionCounter(), output->name, (int)getTimeNowUs(),
output->currentLogicValue, output->outOfOrder, event->sparkId);
#endif /* FUEL_MATH_EXTREME_LOGGING */
@ -51,7 +51,7 @@ static void turnSparkPinLow2(IgnitionEvent *event, IgnitionOutputPin *output) {
}
output->setLow();
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
if (CONFIG(dizzySparkOutputPin) != GPIO_UNASSIGNED) {
enginePins.dizzyOutput.setLow();
}
@ -101,7 +101,7 @@ static void prepareCylinderIgnitionSchedule(angle_t dwellAngle, IgnitionEvent *e
assertAngleRange(a, "findAngle#a6", CUSTOM_ERR_6550);
TRIGGER_SHAPE(findTriggerPosition(&event->dwellPosition, a PASS_CONFIG_PARAM(engineConfiguration->globalTriggerAngleOffset)));
#if FUEL_MATH_EXTREME_LOGGING || defined(__DOXYGEN__)
#if FUEL_MATH_EXTREME_LOGGING
printf("addIgnitionEvent %s ind=%d\n", output->name, event->dwellPosition.eventIndex);
// scheduleMsg(logger, "addIgnitionEvent %s ind=%d", output->name, event->dwellPosition->eventIndex);
#endif /* FUEL_MATH_EXTREME_LOGGING */
@ -114,7 +114,7 @@ void turnSparkPinLow(IgnitionEvent *event) {
turnSparkPinLow2(event, output);
}
}
#if EFI_UNIT_TEST || defined(__DOXYGEN__)
#if EFI_UNIT_TEST
Engine *engine = event->engine;
EXPAND_Engine;
#endif
@ -130,7 +130,7 @@ void turnSparkPinLow(IgnitionEvent *event) {
static void turnSparkPinHigh2(IgnitionEvent *event, IgnitionOutputPin *output) {
#if ! EFI_UNIT_TEST || defined(__DOXYGEN__)
#if ! EFI_UNIT_TEST
if (GET_RPM_VALUE > 2 * engineConfiguration->cranking.rpm) {
const char *outputName = output->name;
if (prevSparkName == outputName && getCurrentIgnitionMode(PASS_ENGINE_PARAMETER_SIGNATURE) != IM_ONE_COIL) {
@ -141,7 +141,7 @@ static void turnSparkPinHigh2(IgnitionEvent *event, IgnitionOutputPin *output) {
#endif /* EFI_UNIT_TEST */
#if SPARK_EXTREME_LOGGING || defined(__DOXYGEN__)
#if SPARK_EXTREME_LOGGING
scheduleMsg(logger, "spark goes high %d %s %d current=%d cnt=%d id=%d", getRevolutionCounter(), output->name, (int)getTimeNowUs(),
output->currentLogicValue, output->outOfOrder, event->sparkId);
#endif /* FUEL_MATH_EXTREME_LOGGING */
@ -155,7 +155,7 @@ static void turnSparkPinHigh2(IgnitionEvent *event, IgnitionOutputPin *output) {
}
output->setHigh();
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
if (CONFIG(dizzySparkOutputPin) != GPIO_UNASSIGNED) {
enginePins.dizzyOutput.setHigh();
}
@ -191,7 +191,7 @@ static ALWAYS_INLINE void handleSparkEvent(bool limitedSpark, uint32_t trgEventI
int isIgnitionError = chargeDelayUs < 0;
ignitionErrorDetection.add(isIgnitionError);
if (isIgnitionError) {
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
scheduleMsg(logger, "Negative spark delay=%.2f", chargeDelayUs);
#endif /* EFI_PROD_CODE */
chargeDelayUs = 0;
@ -212,7 +212,7 @@ static ALWAYS_INLINE void handleSparkEvent(bool limitedSpark, uint32_t trgEventI
* The start of charge is always within the current trigger event range, so just plain time-based scheduling
*/
if (!limitedSpark) {
#if SPARK_EXTREME_LOGGING || defined(__DOXYGEN__)
#if SPARK_EXTREME_LOGGING
scheduleMsg(logger, "scheduling sparkUp ind=%d %d %s now=%d %d later id=%d", trgEventIndex, getRevolutionCounter(), iEvent->getOutputForLoggins()->name, (int)getTimeNowUs(), (int)chargeDelayUs,
iEvent->sparkId);
#endif /* FUEL_MATH_EXTREME_LOGGING */
@ -234,7 +234,7 @@ static ALWAYS_INLINE void handleSparkEvent(bool limitedSpark, uint32_t trgEventI
assertAngleRange(advance, "findAngle#a5", CUSTOM_ERR_6549);
TRIGGER_SHAPE(findTriggerPosition(&iEvent->sparkPosition, advance PASS_CONFIG_PARAM(engineConfiguration->globalTriggerAngleOffset)));
#if EFI_UNIT_TEST || defined(__DOXYGEN__)
#if EFI_UNIT_TEST
printf("spark dwell@ %d/%d spark@ %d/%d id=%d\r\n", iEvent->dwellPosition.eventIndex, (int)iEvent->dwellPosition.angleOffset,
iEvent->sparkPosition.eventIndex, (int)iEvent->sparkPosition.angleOffset,
iEvent->sparkId);
@ -259,13 +259,13 @@ static ALWAYS_INLINE void handleSparkEvent(bool limitedSpark, uint32_t trgEventI
*/
float timeTillIgnitionUs = ENGINE(rpmCalculator.oneDegreeUs) * iEvent->sparkPosition.angleOffset;
#if SPARK_EXTREME_LOGGING || defined(__DOXYGEN__)
#if SPARK_EXTREME_LOGGING
scheduleMsg(logger, "scheduling sparkDown ind=%d %d %s now=%d %d later id=%d", trgEventIndex, getRevolutionCounter(), iEvent->getOutputForLoggins()->name, (int)getTimeNowUs(), (int)timeTillIgnitionUs, iEvent->sparkId);
#endif /* FUEL_MATH_EXTREME_LOGGING */
engine->executor.scheduleForLater(sDown, (int) timeTillIgnitionUs, (schfunc_t) &turnSparkPinLow, iEvent);
} else {
#if SPARK_EXTREME_LOGGING || defined(__DOXYGEN__)
#if SPARK_EXTREME_LOGGING
scheduleMsg(logger, "to queue sparkDown ind=%d %d %s %d for %d", trgEventIndex, getRevolutionCounter(), iEvent->getOutputForLoggins()->name, (int)getTimeNowUs(), iEvent->sparkPosition.eventIndex);
#endif /* FUEL_MATH_EXTREME_LOGGING */
/**
@ -273,7 +273,7 @@ static ALWAYS_INLINE void handleSparkEvent(bool limitedSpark, uint32_t trgEventI
*/
bool isPending = assertNotInList<IgnitionEvent>(ENGINE(iHead), iEvent);
if (isPending) {
#if SPARK_EXTREME_LOGGING || defined(__DOXYGEN__)
#if SPARK_EXTREME_LOGGING
scheduleMsg(logger, "not adding to queue sparkDown ind=%d %d %s %d", trgEventIndex, getRevolutionCounter(), iEvent->getOutputForLoggins()->name, (int)getTimeNowUs());
#endif /* FUEL_MATH_EXTREME_LOGGING */
return;
@ -295,7 +295,7 @@ static void initializeIgnitionActions(IgnitionEventList *list DECLARE_ENGINE_PAR
for (int cylinderIndex = 0; cylinderIndex < CONFIG(specs.cylindersCount); cylinderIndex++) {
list->elements[cylinderIndex].cylinderIndex = cylinderIndex;
#if EFI_UNIT_TEST || defined(__DOXYGEN__)
#if EFI_UNIT_TEST
list->elements[cylinderIndex].engine = engine;
#endif /* EFI_UNIT_TEST */
prepareCylinderIgnitionSchedule(dwellAngle, &list->elements[cylinderIndex] PASS_ENGINE_PARAMETER_SUFFIX);
@ -361,7 +361,7 @@ void handleSpark(bool limitedSpark, uint32_t trgEventIndex, int rpm
scheduling_s * sDown = &current->signalTimerDown;
#if SPARK_EXTREME_LOGGING || defined(__DOXYGEN__)
#if SPARK_EXTREME_LOGGING
scheduleMsg(logger, "time to sparkDown ind=%d %d %s %d", trgEventIndex, getRevolutionCounter(), current->getOutputForLoggins()->name, (int)getTimeNowUs());
#endif /* FUEL_MATH_EXTREME_LOGGING */

View File

@ -43,27 +43,27 @@ int TriggerCentral::getHwEventCounter(int index) {
return hwEventCounters[index];
}
#if EFI_SHAFT_POSITION_INPUT || defined(__DOXYGEN__)
#if EFI_SHAFT_POSITION_INPUT
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
#include "rfiutil.h"
#include "pin_repository.h"
#endif /* EFI_PROD_CODE */
#if EFI_TUNER_STUDIO || defined(__DOXYGEN__)
#if EFI_TUNER_STUDIO
#include "tunerstudio.h"
extern TunerStudioOutputChannels tsOutputChannels;
#endif /* EFI_TUNER_STUDIO */
#if EFI_ENGINE_SNIFFER || defined(__DOXYGEN__)
#if EFI_ENGINE_SNIFFER
#include "engine_sniffer.h"
WaveChart waveChart;
#endif /* EFI_ENGINE_SNIFFER */
EXTERN_ENGINE;
#if EFI_HISTOGRAMS || defined(__DOXYGEN__)
#if EFI_HISTOGRAMS
static histogram_s triggerCallbackHistogram;
#endif /* EFI_HISTOGRAMS */
@ -85,7 +85,7 @@ void addTriggerEventListener(ShaftPositionListener listener, const char *name, E
engine->triggerCentral.addEventListener(listener, name, engine);
}
#if (EFI_PROD_CODE || EFI_SIMULATOR) || defined(__DOXYGEN__)
#if EFI_PROD_CODE || EFI_SIMULATOR
int triggerReentraint = 0;
int maxTriggerReentraint = 0;
@ -130,7 +130,7 @@ void hwHandleVvtCamSignal(trigger_value_e front) {
scheduleMsg(logger, "looks good: vvt ratio %.2f", ratio);
}
if (engineConfiguration->debugMode == DBG_VVT) {
#if EFI_TUNER_STUDIO || defined(__DOXYGEN__)
#if EFI_TUNER_STUDIO
tsOutputChannels.debugIntField1++;
#endif /* EFI_TUNER_STUDIO */
}
@ -157,7 +157,7 @@ void hwHandleVvtCamSignal(trigger_value_e front) {
*/
tc->triggerState.incrementTotalEventCounter();
if (engineConfiguration->debugMode == DBG_VVT) {
#if EFI_TUNER_STUDIO || defined(__DOXYGEN__)
#if EFI_TUNER_STUDIO
tsOutputChannels.debugIntField1++;
#endif /* EFI_TUNER_STUDIO */
}
@ -168,7 +168,7 @@ void hwHandleVvtCamSignal(trigger_value_e front) {
// see above comment
tc->triggerState.incrementTotalEventCounter();
if (engineConfiguration->debugMode == DBG_VVT) {
#if EFI_TUNER_STUDIO || defined(__DOXYGEN__)
#if EFI_TUNER_STUDIO
tsOutputChannels.debugIntField1++;
#endif /* EFI_TUNER_STUDIO */
}
@ -369,7 +369,7 @@ void TriggerCentral::handleShaftSignal(trigger_event_e signal DECLARE_ENGINE_PAR
}
if (triggerState.isValidIndex(PASS_ENGINE_PARAMETER_SIGNATURE)) {
#if TRIGGER_EXTREME_LOGGING || defined(__DOXYGEN__)
#if TRIGGER_EXTREME_LOGGING
scheduleMsg(logger, "trigger %d %d %d", triggerIndexForListeners, getRevolutionCounter(), (int)getTimeNowUs());
#endif /* FUEL_MATH_EXTREME_LOGGING */
@ -382,7 +382,7 @@ void TriggerCentral::handleShaftSignal(trigger_event_e signal DECLARE_ENGINE_PAR
}
}
#if EFI_HISTOGRAMS || defined(__DOXYGEN__)
#if EFI_HISTOGRAMS
int afterCallback = hal_lld_get_counter_value();
int diff = afterCallback - beforeCallback;
// this counter is only 32 bits so it overflows every minute, let's ignore the value in case of the overflow for simplicity
@ -393,7 +393,7 @@ void TriggerCentral::handleShaftSignal(trigger_event_e signal DECLARE_ENGINE_PAR
}
void printAllCallbacksHistogram(void) {
#if EFI_HISTOGRAMS || defined(__DOXYGEN__)
#if EFI_HISTOGRAMS
printHistogram(logger, &triggerCallbackHistogram);
#endif
}
@ -402,7 +402,7 @@ EXTERN_ENGINE
;
static void triggerShapeInfo(void) {
#if (EFI_PROD_CODE || EFI_SIMULATOR) || defined(__DOXYGEN__)
#if EFI_PROD_CODE || EFI_SIMULATOR
TriggerShape *s = &engine->triggerCentral.triggerShape;
scheduleMsg(logger, "useRise=%s", boolToString(TRIGGER_SHAPE(useRiseEdge)));
scheduleMsg(logger, "gap from %.2f to %.2f", TRIGGER_SHAPE(syncronizationRatioFrom[0]), TRIGGER_SHAPE(syncronizationRatioTo[0]));
@ -413,7 +413,7 @@ static void triggerShapeInfo(void) {
#endif
}
#if EFI_UNIT_TEST || defined(__DOXYGEN__)
#if EFI_UNIT_TEST
#include <stdlib.h>
#define TRIGGERS_FILE_NAME "triggers.txt"
@ -475,7 +475,7 @@ void printAllTriggers() {
#endif
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
extern PwmConfig triggerSignal;
#endif /* #if EFI_PROD_CODE */
@ -488,7 +488,7 @@ extern uint32_t maxEventCallbackDuration;
extern int perSecondIrqDuration;
extern int perSecondIrqCounter;
#if (EFI_PROD_CODE) || defined(__DOXYGEN__)
#if EFI_PROD_CODE
extern uint32_t maxPrecisionCallbackDuration;
#endif /* EFI_PROD_CODE */
@ -499,23 +499,23 @@ extern int vvtEventRiseCounter;
extern int vvtEventFallCounter;
void resetMaxValues() {
#if (EFI_PROD_CODE || EFI_SIMULATOR) || defined(__DOXYGEN__)
#if EFI_PROD_CODE || EFI_SIMULATOR
maxEventCallbackDuration = triggerMaxDuration = 0;
#endif /* EFI_PROD_CODE || EFI_SIMULATOR */
maxSchedulingPrecisionLoss = 0;
#if EFI_CLOCK_LOCKS || defined(__DOXYGEN__)
#if EFI_CLOCK_LOCKS
maxLockedDuration = 0;
#endif /* EFI_CLOCK_LOCKS */
#if (EFI_PROD_CODE) || defined(__DOXYGEN__)
#if EFI_PROD_CODE
maxPrecisionCallbackDuration = 0;
#endif /* EFI_PROD_CODE */
}
void triggerInfo(void) {
#if (EFI_PROD_CODE || EFI_SIMULATOR) || defined(__DOXYGEN__)
#if EFI_PROD_CODE || EFI_SIMULATOR
TriggerShape *ts = &engine->triggerCentral.triggerShape;
@ -556,7 +556,7 @@ void triggerInfo(void) {
#endif /* EFI_PROD_CODE || EFI_SIMULATOR */
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
if (engineConfiguration->camInput != GPIO_UNASSIGNED) {
scheduleMsg(logger, "VVT input: %s mode %s", hwPortname(engineConfiguration->camInput),
getVvt_mode_e(engineConfiguration->vvtMode));
@ -572,7 +572,7 @@ void triggerInfo(void) {
if (ts->needSecondTriggerInput) {
scheduleMsg(logger, "secondary trigger input: %s", hwPortname(CONFIGB(triggerInputPins)[1]));
#if EFI_EMULATE_POSITION_SENSORS || defined(__DOXYGEN__)
#if EFI_EMULATE_POSITION_SENSORS
scheduleMsg(logger, "secondary trigger simulator: %s %s phase=%d",
hwPortname(CONFIGB(triggerSimulatorPins)[1]),
getPin_output_mode_e(CONFIGB(triggerSimulatorPinModes)[1]), triggerSignal.safe.phaseIndex);
@ -603,7 +603,7 @@ void triggerInfo(void) {
engine->m.rpmCbTime,
engine->m.mainTriggerCallbackTime);
#if EFI_CLOCK_LOCKS || defined(__DOXYGEN__)
#if EFI_CLOCK_LOCKS
scheduleMsg(logger, "maxLockedDuration=%d / maxTriggerReentraint=%d", maxLockedDuration, maxTriggerReentraint);
scheduleMsg(logger, "perSecondIrqDuration=%d ticks / perSecondIrqCounter=%d", perSecondIrqDuration, perSecondIrqCounter);
@ -613,7 +613,7 @@ void triggerInfo(void) {
scheduleMsg(logger, "maxEventCallbackDuration=%d", maxEventCallbackDuration);
#if EFI_HIP_9011 || defined(__DOXYGEN__)
#if EFI_HIP_9011
scheduleMsg(logger, "hipLastExecutionCount=%d", hipLastExecutionCount);
#endif /* EFI_HIP_9011 */
scheduleMsg(logger, "hwSetTimerDuration=%d", hwSetTimerDuration);
@ -626,7 +626,7 @@ void triggerInfo(void) {
}
static void resetRunningTriggerCounters() {
#if !EFI_UNIT_TEST || defined(__DOXYGEN__)
#if !EFI_UNIT_TEST
engine->triggerCentral.resetCounters();
triggerInfo();
#endif
@ -655,7 +655,7 @@ void onConfigurationChangeTriggerCallback(engine_configuration_s *previousConfig
if (changed) {
assertEngineReference();
#if EFI_ENGINE_CONTROL || defined(__DOXYGEN__)
#if EFI_ENGINE_CONTROL
ENGINE(initializeTriggerShape(logger PASS_ENGINE_PARAMETER_SUFFIX));
engine->triggerCentral.resetAccumSignalData();
#endif
@ -685,17 +685,17 @@ void initTriggerCentral(Logging *sharedLogger) {
logger = sharedLogger;
strcpy((char*) shaft_signal_msg_index, "x_");
#if EFI_ENGINE_SNIFFER || defined(__DOXYGEN__)
#if EFI_ENGINE_SNIFFER
initWaveChart(&waveChart);
#endif /* EFI_ENGINE_SNIFFER */
#if EFI_PROD_CODE || EFI_SIMULATOR || defined(__DOXYGEN__)
#if EFI_PROD_CODE || EFI_SIMULATOR
addConsoleAction("triggerinfo", triggerInfo);
addConsoleAction("trigger_shape_info", triggerShapeInfo);
addConsoleAction("reset_trigger", resetRunningTriggerCounters);
#endif
#if EFI_HISTOGRAMS || defined(__DOXYGEN__)
#if EFI_HISTOGRAMS
initHistogram(&triggerCallbackHistogram, "all callbacks");
#endif /* EFI_HISTOGRAMS */
}

View File

@ -30,7 +30,7 @@
#include "trigger_simulator.h"
#include "rfiutil.h"
#if EFI_SENSOR_CHART || defined(__DOXYGEN__)
#if EFI_SENSOR_CHART
#include "sensor_chart.h"
#endif
@ -76,7 +76,7 @@ TriggerStateWithRunningStatistics::TriggerStateWithRunningStatistics() :
{
}
#if EFI_SHAFT_POSITION_INPUT || defined(__DOXYGEN__)
#if EFI_SHAFT_POSITION_INPUT
EXTERN_ENGINE
;
@ -87,12 +87,12 @@ EXTERN_ENGINE
// only TriggerStateWithRunningStatistics would have the field?
static cyclic_buffer<int> errorDetection;
#if ! EFI_PROD_CODE || defined(__DOXYGEN__)
#if ! EFI_PROD_CODE
bool printTriggerDebug = false;
float actualSynchGap;
#endif /* ! EFI_PROD_CODE */
#if EFI_TUNER_STUDIO || defined(__DOXYGEN__)
#if EFI_TUNER_STUDIO
extern TunerStudioOutputChannels tsOutputChannels;
#endif /* EFI_TUNER_STUDIO */
@ -106,7 +106,7 @@ bool isTriggerDecoderError(void) {
}
void calculateTriggerSynchPoint(TriggerShape *shape, TriggerState *state DECLARE_ENGINE_PARAMETER_SUFFIX) {
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
efiAssertVoid(CUSTOM_ERR_6642, getCurrentRemainingStack() > 256, "calc s");
#endif
trigger_config_s const*triggerConfig = &engineConfiguration->trigger;
@ -237,7 +237,7 @@ void TriggerStateWithRunningStatistics::runtimeStatistics(efitime_t nowNt DECLAR
int prevIndex;
instantRpm = calculateInstantRpm(&prevIndex, nowNt PASS_ENGINE_PARAMETER_SUFFIX);
#if EFI_SENSOR_CHART || defined(__DOXYGEN__)
#if EFI_SENSOR_CHART
angle_t currentAngle = TRIGGER_SHAPE(eventAngles[currentCycle.current_index]);
if (CONFIGB(sensorChartMode) == SC_DETAILED_RPM) {
scAddData(currentAngle, instantRpm);
@ -258,7 +258,7 @@ static trigger_value_e eventType[6] = { TV_FALL, TV_RISE, TV_FALL, TV_RISE, TV_F
#define getCurrentGapDuration(nowNt) \
(isFirstEvent ? 0 : (nowNt) - toothed_previous_time)
#if EFI_UNIT_TEST || defined(__DOXYGEN__)
#if EFI_UNIT_TEST
#define PRINT_INC_INDEX if (printTriggerDebug) {\
printf("nextTriggerEvent index=%d\r\n", currentCycle.current_index); \
}
@ -326,7 +326,7 @@ bool TriggerState::validateEventCounters(DECLARE_ENGINE_PARAMETER_SIGNATURE) con
void TriggerState::handleTriggerError(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
if (engineConfiguration->debugMode == DBG_TRIGGER_SYNC) {
#if EFI_TUNER_STUDIO || defined(__DOXYGEN__)
#if EFI_TUNER_STUDIO
tsOutputChannels.debugIntField1 = currentCycle.eventCount[0];
tsOutputChannels.debugIntField2 = currentCycle.eventCount[1];
tsOutputChannels.debugIntField3 = currentCycle.eventCount[2];
@ -345,7 +345,7 @@ void TriggerState::handleTriggerError(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
totalTriggerErrorCounter++;
if (CONFIG(isPrintTriggerSynchDetails) || someSortOfTriggerError) {
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
scheduleMsg(logger, "error: synchronizationPoint @ index %d expected %d/%d/%d got %d/%d/%d",
currentCycle.current_index, TRIGGER_SHAPE(expectedEventCount[0]),
TRIGGER_SHAPE(expectedEventCount[1]), TRIGGER_SHAPE(expectedEventCount[2]),
@ -369,7 +369,7 @@ void TriggerState::onShaftSynchronization(efitime_t nowNt, trigger_wheel_e trigg
incrementTotalEventCounter();
totalEventCountBase += getTriggerSize();
#if EFI_UNIT_TEST || defined(__DOXYGEN__)
#if EFI_UNIT_TEST
if (printTriggerDebug) {
printf("index=%d %d\r\n",
currentCycle.current_index,
@ -418,7 +418,7 @@ void TriggerState::decodeTriggerEvent(trigger_event_e const signal, efitime_t no
bool isPrimary = triggerWheel == T_PRIMARY;
if (isLessImportant(type)) {
#if EFI_UNIT_TEST || defined(__DOXYGEN__)
#if EFI_UNIT_TEST
if (printTriggerDebug) {
printf("%s isLessImportant %s now=%lld index=%d\r\n",
getTrigger_type_e(engineConfiguration->trigger.type),
@ -435,7 +435,7 @@ void TriggerState::decodeTriggerEvent(trigger_event_e const signal, efitime_t no
;
} else {
#if EFI_UNIT_TEST || defined(__DOXYGEN__)
#if EFI_UNIT_TEST
if (printTriggerDebug) {
printf("%s event %s %d\r\n",
getTrigger_type_e(engineConfiguration->trigger.type),
@ -447,7 +447,7 @@ void TriggerState::decodeTriggerEvent(trigger_event_e const signal, efitime_t no
isFirstEvent = false;
// todo: skip a number of signal from the beginning
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
// scheduleMsg(&logger, "from %.2f to %.2f %d %d", triggerConfig->syncRatioFrom, triggerConfig->syncRatioTo, toothDurations[0], shaftPositionState->toothDurations[1]);
// scheduleMsg(&logger, "ratio %.2f", 1.0 * toothDurations[0]/ shaftPositionState->toothDurations[1]);
#else
@ -464,7 +464,7 @@ void TriggerState::decodeTriggerEvent(trigger_event_e const signal, efitime_t no
if (CONFIG(debugMode) == DBG_TRIGGER_SYNC) {
float currentGap = 1.0 * toothDurations[0] / toothDurations[1];
#if EFI_TUNER_STUDIO || defined(__DOXYGEN__)
#if EFI_TUNER_STUDIO
tsOutputChannels.debugFloatField1 = currentGap;
tsOutputChannels.debugFloatField2 = currentCycle.current_index;
#endif /* EFI_TUNER_STUDIO */
@ -484,13 +484,13 @@ void TriggerState::decodeTriggerEvent(trigger_event_e const signal, efitime_t no
isSynchronizationPoint = isSync;
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
if (CONFIG(isPrintTriggerSynchDetails) || (someSortOfTriggerError && !CONFIG(silentTriggerError))) {
#else
if (printTriggerDebug) {
#endif /* EFI_PROD_CODE */
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
for (int i = 0;i<GAP_TRACKING_LENGTH;i++) {
float gap = 1.0 * toothDurations[i] / toothDurations[i + 1];
@ -528,7 +528,7 @@ void TriggerState::decodeTriggerEvent(trigger_event_e const signal, efitime_t no
* in case of noise the counter could be above the expected number of events, that's why 'more or equals' and not just 'equals'
*/
#if EFI_UNIT_TEST || defined(__DOXYGEN__)
#if EFI_UNIT_TEST
if (printTriggerDebug) {
printf("sync=%d index=%d size=%d\r\n",
shaft_is_synchronized,
@ -541,7 +541,7 @@ void TriggerState::decodeTriggerEvent(trigger_event_e const signal, efitime_t no
isSynchronizationPoint = !shaft_is_synchronized || (currentCycle.current_index >= endOfCycleIndex);
#if EFI_UNIT_TEST || defined(__DOXYGEN__)
#if EFI_UNIT_TEST
if (printTriggerDebug) {
printf("isSynchronizationPoint=%d index=%d size=%d\r\n",
isSynchronizationPoint,
@ -552,7 +552,7 @@ void TriggerState::decodeTriggerEvent(trigger_event_e const signal, efitime_t no
}
#if EFI_UNIT_TEST || defined(__DOXYGEN__)
#if EFI_UNIT_TEST
if (printTriggerDebug) {
printf("%s isSynchronizationPoint=%d index=%d %s\r\n",
getTrigger_type_e(engineConfiguration->trigger.type),
@ -633,7 +633,7 @@ static void onFindIndexCallback(TriggerState *state) {
uint32_t findTriggerZeroEventIndex(TriggerState *state, TriggerShape * shape,
trigger_config_s const*triggerConfig DECLARE_ENGINE_PARAMETER_SUFFIX) {
UNUSED(triggerConfig);
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
efiAssert(CUSTOM_ERR_ASSERT, getCurrentRemainingStack() > 128, "findPos", -1);
#endif
errorDetection.clear();
@ -657,7 +657,7 @@ uint32_t findTriggerZeroEventIndex(TriggerState *state, TriggerShape * shape,
}
efiAssert(CUSTOM_ERR_ASSERT, state->getTotalRevolutionCounter() == 1, "findZero_revCounter", EFI_ERROR_CODE);
#if EFI_UNIT_TEST || defined(__DOXYGEN__)
#if EFI_UNIT_TEST
if (printTriggerDebug) {
printf("findTriggerZeroEventIndex: syncIndex located %d!\r\n", syncIndex);
}
@ -691,7 +691,7 @@ void TriggerState::runtimeStatistics(efitime_t nowNt DECLARE_ENGINE_PARAMETER_SU
}
void initTriggerDecoder(void) {
#if EFI_GPIO_HARDWARE || defined(__DOXYGEN__)
#if EFI_GPIO_HARDWARE
enginePins.triggerDecoderErrorPin.initPin("trg_err", CONFIGB(triggerErrorPin),
&CONFIGB(triggerErrorPinMode));
#endif /* EFI_GPIO_HARDWARE */

View File

@ -100,7 +100,7 @@ public:
void resetTriggerState();
#if (EFI_ENGINE_CONTROL && EFI_SHAFT_POSITION_INPUT) || defined(__DOXYGEN__)
#if EFI_ENGINE_CONTROL && EFI_SHAFT_POSITION_INPUT
virtual void runtimeStatistics(efitime_t nowNt DECLARE_ENGINE_PARAMETER_SUFFIX);
#endif
@ -149,7 +149,7 @@ public:
float prevInstantRpmValue = 0;
void movePreSynchTimestamps(DECLARE_ENGINE_PARAMETER_SIGNATURE);
float calculateInstantRpm(int *prevIndex, efitime_t nowNt DECLARE_ENGINE_PARAMETER_SUFFIX);
#if (EFI_ENGINE_CONTROL && EFI_SHAFT_POSITION_INPUT) || defined(__DOXYGEN__)
#if EFI_ENGINE_CONTROL && EFI_SHAFT_POSITION_INPUT
virtual void runtimeStatistics(efitime_t nowNt DECLARE_ENGINE_PARAMETER_SUFFIX);
#endif
/**

View File

@ -27,7 +27,7 @@ bool needEvent(const int currentIndex, const int size, MultiWave *multiWave, int
return previousValue != currentValue;
}
#if EFI_EMULATE_POSITION_SENSORS || defined(__DOXYGEN__)
#if EFI_EMULATE_POSITION_SENSORS
#include "engine.h"
#include "trigger_emulator_algo.h"
@ -140,7 +140,7 @@ static void emulatorApplyPinState(int stateIndex, PwmConfig *state) /* pwm_gen_c
if (!isEmulating) {
return;
}
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_PROD_CODE
applyPinState(stateIndex, state);
#endif /* EFI_PROD_CODE */
if (engineConfiguration->directSelfStimulation) {

View File

@ -25,7 +25,7 @@ bool isUsefulSignal(trigger_event_e signal, engine_configuration_s *engineConfig
return !engineConfiguration->useOnlyRisingEdgeForTrigger || isRisingEdge[(int) signal];
}
#if EFI_UNIT_TEST || defined(__DOXYGEN__)
#if EFI_UNIT_TEST
extern bool printTriggerDebug;
#endif /* ! EFI_UNIT_TEST */
@ -51,7 +51,7 @@ void TriggerStimulatorHelper::feedSimulatedEvent(TriggerState *state, TriggerSha
pin_state_t thirdWheelState = multiWave->getChannelState(2, prevIndex);
pin_state_t new3rdWheelState = multiWave->getChannelState(2, stateIndex);
#if EFI_UNIT_TEST || defined(__DOXYGEN__)
#if EFI_UNIT_TEST
if (printTriggerDebug) {
printf("feedSimulatedEvent: %d>%d primary %d>%d secondary %d>%d\r\n", prevIndex, stateIndex, primaryWheelState, newPrimaryWheelState,
secondaryWheelState, newSecondaryWheelState );