* Basic framework for high pressure fuel pump control
* Many changes
Move calculations to fast callback
Move main object into Engine
Respond to pin changes without requiring a reboot
* Use EngineModule for HpfpController
Schedule pin off after executing pin on so we are sure it ends, even if the motor stops.
Test scheduling.
Less RAM use by only having one event and reordering fields.
* Make scheduling test actually useful - need non-0 activation angle.
Co-authored-by: rusefillc <48498823+rusefillc@users.noreply.github.com>
* 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.
* static functions with (void)
* more
* Revert "more"
This reverts commit 246e53441f935451437df186ac92d7df26b62fb6.
* s
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
Remove some implicit C array to pointer conversions in Map3D by adding
(), *, and & where appropriate. This allows us to remove getBinPtr.
Call interpolate3d from Map3d so there's no code duplication.
* 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>
* post cranking factor limits
* sensible defaults
* but not for tests
* add pointer version of get bin
* test via map3d
* put that back for a minute
* new impl
* fix order
* rename and fix table orientation
* flip the table to the correct orientation
* dead cleanup, rename
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* template table2d
* assertions
* oops
* tests
* test bins too
* more assert
* format
* explicitly handle and test NaN
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* s
* science
* set pin mode
* turn stuff off so it fits
* filtering maybe
* filtering actually works
* generate filter parameters internally
* shorter window
* guard behind enable flag
* use checked in filter
* add biquad reset
* tracing
* const
* exec order
* do it from a thread
* smaller buffer, comment
* configure with header
* only for proteus
* oops
* unused
* not needed
* guards
* pin config
* don't need that include
* precook filter steady state
* define sample rate
* config enable switch
* improve biquad
* cleanup
* add filtering to subscriptions
* config sensors
* comment
* doesn't need to be that fast
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>