* consumers and api
* dead test
* baro uses sensor model
* remove old (copy of?) map lookup logic
* I guess we don't need FastInterpolation any more?
* don't double init analog input
* fuel pump
* s
* call correct callback
* more dead
* test adjustment
* don't overflow
* don't need separate function
* java
* give it a name
* generated
* generated
* add to generate script
* import *
* this is so cheap we don't need a flag
* main relay
* plumbing
* dead fsio stuff
* test it
* by 100%, we mean 99.98%
* data
* stub test
* use getTimeSinceSyncPoint
* s
* s
* no
* test
* stray ;
* those were 1/10 what they were supposed to be
* actually check something
* dead log line?
* 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>
Disallow scaled_channel for float. I can't think of a reason to allow it, and it gets in the way
of rounding.
Add separate template param to setTable; let the compiler sort out whether assignment can happen
between TElement and VElement without forcing them to be the same at function call time.
* enable asan
* lua
* this is dead and leaky
* leaky nissan
* fix pwm generator use-after-stack
* initializers
* prevent problems in case of invalid trigger shape
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* perform extra-step-prevention in the stepper driver itself
* isBusy flag
* I am unable to type
* the court of public opinion has decided that greater-equal is correct
* that sets target in steps, not percent
* correct var name
* mock stepper motor
* testable stepper
* build is happy
* helping build
* Add test_flex_sensor.cpp
* Add test_flex_sensor.cpp to makefile
* Edit test_flex_sensor.cpp code formatting
* Fix test case name in test_flex_sensor.cpp
* Remove explicitly defined constructor of "FlexSensorForTests" class
* Edit included headers replaced by single one in test_flex_sensor.cpp
* Edit format to make similar to other files.
Co-authored-by: alxrMironov <330OMcorporative>
* minor cleanup
* enable mailboxes
* priority
* implement new logger
* more cleaning
* signature
* remove debug
* put the assertion back in
* remove debugging
* spelling
* doy
* tweaks & comments
* cleaning
* size_t
* guard more
* test build now
* needs more ram until we can remove LogginWithSTorage
* hunt for memory
* bootloader
* unused
* stub simulator
* it would help to get the signature right
* geez kinetis only has 64k ram
* more guarding because kinetis
* that's now very legal and very cool
* templatify
* s
* force null terminate
* probably fix
* const
* write a test
* disable sensor chart for now
* hide SC ui
* oh nope that breaks many things
This reverts commit c3c1bb324fb484c3d9cc44b7715c234bc0392e1e.
* missed one
* reset after scheduleLogging
* we can't print out the full message because it contains commas which break parsing
* force terminate long buffers
* let's see how much memory we have to play with
* a lot, is the answer
* real thread name
* shrink this for now before its deleted
* turn that back on
* biiig comment
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>
* fix unregister api for gpio
* consumers
* guard with a critical section
* index
* guard less
* unregister under lock
* fix reinit
* dead flag
* fix most tests
* initialize properly
* initialize properly
* assertions in tests
* fix message
* move gpio mocking
* test gpios
* we must lock earlier to be truly safe
* this was using huge memory
* devirtualize
* test deinit
* field support
* tests
* makefiles
* test data too
* missing include dir
* write correct thing
* fix one test
* fix test
* omnomnomnom ram
* format
* use defined names
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* closed loop controller base
* etb tps test
* closed loop controller tests
* test support
* update gtest
* fix for change
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* Update tachometer.cpp
Initial implementation of E30 M3 Tach output solution #907, unit_test plus debugging next
* tacho unit tests
First successfull unit test for tachometer
* RAM adjustment so it would link
* refactoring tacho, broken!
* starting to make some progress...still fails after a few seconds
* Rework with SW PWM
* Update after code review
* unit_test update
* First working unit_test
* Update .gitignore
* Update engine_controller.cpp
* Update engine_controller.cpp
* Update tachometer.h
* Update test_tacho.cpp
Co-authored-by: rusefi <rusefi@users.noreply.github.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>