* add second MAF
* output channesl
* move them around
* ok let's try at the very end
* is the logic wrong, or something else?
* ooh it's the sensor order
* autoscale m_config->timeConstant
* min/max afr
* more
* dwell voltage
* closed loop fuel
* knock
* map estimate
* applyNonlinearBelowPulse
* fix
* add a test while we're at it for un-covered code
* test fallback MAP since we touched that
* always compute fallback MAP even if sensor is OK
engineModules.get<FOO>(). becomes modules<FOO>()->
I believe the new API is more conducive to supporting arrays, by doing std::array<T, N> or
std::array<Mockable<T>, N>, with the support of a helper class.
* Create a base class EngineModule for that contains various useful callbacks.
This cleans up the API by not requiring the notifiers to know about who wants callbacks. The only
place you need to update to add a module is in one place.
* Add mockability.
* Convert InjectorModel to a Mockable EngineModule
* Programmatically remove EnginePtr/inject, EXPAND_Engine, and WITH_ENGINE_TEST_HELPER*
for i in ": public EnginePtr " ", public EnginePtr" "EXPAND_Engine;" "EXPAND_Engine"; do
git grep -l "$i" | xargs sed -i "s/$i//g"
done
git grep -l "inject" | xargs sed -i "/inject[(][)]/d"
for i in WITH_ENGINE_TEST_HELPER_SENS WITH_ENGINE_TEST_HELPER_BOARD_CALLBACK WITH_ENGINE_TEST_HELPER; do
git grep -l "$i" | xargs sed -i "s/$i/EngineTestHelper eth/g"
done
git checkout firmware/controllers/core/engine_ptr.h
git checkout unit_tests/global.h
* Review fixups.
* scale map Y axis
* allow different row/col types
* scaled channel detector
* interpolation
* looks like this actually works
* tests, no manual scaling
* comment
* big pch energy
* put back ramdisk stub
* tests are happy
* h743 nucleo
* kinetis
* I love deleting code!
* make stepper happy
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* hook up map
* check for init
* switch some consumers
* that's the rest of them
* test
* tests
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* add config fields
* config options
* new output channels
* dump out state to ts
* s
* implement override
* enums
* this test is no longer used
* test new behavior
* old
* comments