341 {
342#if EFI_PROD_CODE
344
345 return;
346 }
347
348
350 return;
351 }
352
353 bool hasAnyEtbWastegate = false;
354
357 }
358
359
361 return;
362 }
363#endif
364
365
372
373
375 &boostPwmControl,
376 &boostMapOpen,
377 &boostMapClosed,
378 boostCltCorr,
379 boostIatCorr,
380 boostCltAdder,
381 boostIatAdder,
383 );
384
385#if !EFI_UNIT_TEST
387#endif
388}
void init(IPwm *const pmw, const ValueProvider3D *const openLoopMap, const ValueProvider3D *const closedLoopTargetMap, const ValueProvider2D &cltMultiplierProvider, const ValueProvider2D &iatMultiplierProvider, const ValueProvider2D &cltAdderProvider, const ValueProvider2D &iatAdderProvider, pid_s *const pidParams)
constexpr auto & module()
static EngineAccessor engine
static constexpr persistent_config_s * config
static constexpr engine_configuration_s * engineConfiguration
bool isBrainPinValid(brain_pin_e brainPin)
output_pin_e boostControlPin
dc_function_e etbFunctions[ETB_COUNT]
bool isBoostControlEnabled
float iatBoostCorr[BOOST_CURVE_SIZE]
float cltBoostCorr[BOOST_CURVE_SIZE]
float cltBoostAdderBins[BOOST_CURVE_SIZE]
float iatBoostAdder[BOOST_CURVE_SIZE]
uint16_t boostOpenLoopLoadBins[BOOST_LOAD_COUNT]
float iatBoostAdderBins[BOOST_CURVE_SIZE]
scaled_channel< uint8_t, 1, 100 > boostRpmBins[BOOST_RPM_COUNT]
float cltBoostAdder[BOOST_CURVE_SIZE]
scaled_channel< uint8_t, 1, 2 > boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]
float cltBoostCorrBins[BOOST_CURVE_SIZE]
scaled_channel< uint8_t, 2, 1 > boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]
float iatBoostCorrBins[BOOST_CURVE_SIZE]
uint16_t boostClosedLoopLoadBins[BOOST_LOAD_COUNT]