* most of the plumbing
* easy tests
* trigger types that are rise only
* configs
* change mode of various triggers
* vvt
* 898 test is now impossible 🥳
* s
* instant rpm test
* actually remove useOnlyRisingEdgeForTrigger
* remove vvtCamSensorUseRise
* s
* print
* one happy test
* another test
* happy testSomethingWeird
* happy testCamInput
* maybe fix it a different way
* better
* quad cam
* nb2 happy
* bad merge
* vvt test
* trigger.test1995FordInline6TriggerDecoder
* hellen gm e67
* changelog
* require ignition on for firing
* too much havoc for a unit test
* patch up references
* last one
* fix changelog mangling
* fix the changelog template too
* bad merge
* fix the template again
* s
* fake battery voltage on hw ci
* ugh merge
* ugh merge
* allow logging multiple warnings at once
* comment
* .Code
* Revert ".Code"
This reverts commit 2b986bd50035aeec051d11aafd83fdbc1694351c.
* add a better comparison operator instead of conversion
* dot code
* Revert "dot code"
This reverts commit 35f6ae1007c41e3b30ea129a324f33ab4205036d.
* force gcc-10 maybe?
* Revert "force gcc-10 maybe?"
This reverts commit 4ddf8bcefddd354ccdc1da682c5fff1e68d44273.
* vq
* dot code
* dead
* dot code
* return may be null
* static_vector; maybe cyclic_buffer is broken or wrong tool for the job?
* move static vector
* put cyclic buffer back how it was since we don't use it now
* less dependence on that logger
* comma
* refactor a bit, make it clear what this thing actually *does*
* static
* shrink the buffer a bit and make names useful
* dead util that's just subtraction lol
* hook up fuel trims
* pass all the params
* store per-cylinder fuel mass directly
* main trigger callback only touches per-cylinder, no banks!
* test test test test
* move UI to happy land
* changelog
* extract isSyncPoint
* test because why not
* check vvt resync nb2
* custom nb decoder
* test only resyncs once!
* good job valgrind, you found a bug!
This exposed a buffer overrun, so double the size of the buffer (to account for 720 degree engine
cycle vs 360 degree crank events).
Also use proper numeric limits when computing min/max.
Finally, add a lock around the call to cyclic_buffer that actually caused the contention.
* delimeter is not comma
* do it in config txt
* use txt
* s
* string
* compat
* also, spelling is hard
* use new name
* use new name
* generate enough for happy console
* use an even less common character
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
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
* load script
* test
* needs more rams
* embiggen stack
* init system lua from lua thread
* de-embiggen stack
* infra
* hook
* system needs a little more
* semicolon
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* 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>
* min oil pressure for crank
* do it time-based
* rename field
* include
* fix existing test
* tests
* fix logic
* more test
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* remove simple cases
* more simple
* serial
* s
* more
* try memory
* easy
* mmc acc
* that's how much memory
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* 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>
* move rev limit to limp manager
* call fatal error
* include order
* fix bug
* tests
* comment
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* refactor
- called from periodicFastCallback
- removed defines
* Update rusefi.input
removed unused configurations.
added clutch inversion option
* Added new tests
fixed limiting only in case we have launch condition and rpm outside of window
* Update launch_control.cpp
Unintialized config update, now it is working fine with VSS and with clutch as well.
* small fixes
updated after review findings
* Fix breaking engine rev limiter
applyLaunchControlLimiting should not overwrite booleans to false!
* Delay timer in seconds
timer uses ms, so convert seconds to ms
* lambda
* default configs, fix build
* config, gauge, UI
* more digits
* change menu text
* fix that while I'm here
* doesn't need extra word
* todo note
* tests
* last test
* missed a config
* update java
* store target lambda
* more java
* format
* hopefully enough java for CI to pass
* change acSwitch name, add mode
* fix
* remove some adc stuff
* remove some adc stuff
* semicolon stupid
* left behind
* add readpinstate
* wrong var name
* add functions back
* fix name
* bool, not void, plus fix name
* move
* not sure what I broke
* try setMockValue
* namespace
* whoops missed one
* switch values because adc was set up for pullup
* try 5
* comment for now
* comment for now
* uncomment tests, add function to mock, add mock to efiReadPin
* fixes
* for F's sake
* if
* add defy
* pass params
* use ASSERT_TRUE/FALSE
* advance time
* remove ifdef from readPin
* try moving if
* move to separate func
* move extern
* move include
* try engine_test_helper
* am confuse
* move func to else
* include hal
* add efi prod check
* remove include
* try extern
* move include
* semicolon stupid
* move extern again
* include
* move mockPinStates
* size
* add if
* add comment
* clean on instantiation
* lambda sens
* fix init
* fix
* a test for good measure
* he's climbin in your windows, snatchin you ram up
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* hook up clt
* init test
* probably fix test
* aux temp
* relax checking
* more significant figures
* remove old aux temp
* hand generate
* claim RAM
* move to ccm
* subscribe
* info printing
* warnings
* raise high voltage failure threshold
* fix test
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* advance_map
* tests
* unneeded
* idle
* use driver intent instead
* and obd and lcd
* engine load
* ve lookup
* unused
* oops we needed that
* oops needed that too
* mocking
* test mocks
* oops
* helps to use the right sensor
* and cylinder cleanup
* fuel math
* typo
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* multispark prototype
* only multispark if not cut
* typo
* do some reasonableish math
* consume cfg
* todo
* bad merge
* move math out of engine2.cpp
* engine state config
* consume generated
* use new
* hand generate
* doc, debugging
* debug channel names
* don't depend on rpmcalc
* safer, fix math
* tests
* default multispark config
* remove todo
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>