* engine math: extrant getFiringOrderTable for reuse
* engine math: getNextFiringCylinderId helper
* introduce knock_logic: first member is getCylinderKnockBank()
moved from software_knock.cpp
* hip9011: support two inputs/banks
* fix CI
* Board Subaru EG33: populated with TPIC8101 with Advanced mode
* hip9011: test communication in advanced mode
* hip9011: handle situation when chip is already in advanced mode
* Board Subaru EG33: cylinder to knock bank mapping
* hip9011: count spi transactions in advansed mode too
* hip9011: reset incalid responce counter after chip initialization
* hip9011: make debug output more structured
* start cleaning
* disabled feature means don't print that it's disabled
* cli
* usages
* printMsg -> scheduleMsg
* this is alllll dead now
* no crlf please
* all hope is lost if you manage to hit this line
* tests
* tests
* ok we did actually need that part
* sim
* d
* kinetis
* it did ifdef, not if
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* hip9011: move hipCs out of EnginePins to hip9011 driver
* hip9011: cleanup debug output, save few RAM bytes
* Supress few signed vs unsigned warnings
* injector model, test
* new math
* inject fuel based on new math
* tests
* fix
* it should work like this
* format
* update TPS AE even when we're cutting fuel
* comment
* conversion factor
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* status loop just asks limp mgr
* put logic in limp manager
* don't need that function any more
* bye
* TIL these bits already exist in the configuration
* gpios: isBrainPinValid helper
* LCD HD44780: do not touch pins if DM_NONE or invalid gpio
* Fix isEnabled checks for GPS and Joystick
* LCD HD44780: writePad use this method wider
* Guard define argument
* ADC: isAdcChannelValid
Check for both <= EFI_ADC_NONE and >= EFI_ADC_LAST_CHANNEL
Also check for value out of enum range (corrupted settings)
* Fix unit tests
* compute rpm rate of change
* fix units on gauge
* oops
* correct order
* scaling and limits
* correct for engine cycle length
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* move rev limit to limp manager
* call fatal error
* include order
* fix bug
* tests
* comment
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* round rpm instead of truncating
* efiround is expensive
* Revert "efiround is expensive"
This reverts commit e5690f89e1b1988aacf5ced1f024d576465a7cd6.
* round is better than rintf
* testing
* it works now?!
* comment
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* switch to CriticalSectionLocker
* that's just about all
* clean up last usage
* include hpp for sim
* need the cpp wrappers in the makefile too
* include dir
* include