* hip9011: coexistance with other spi devices
* hip9011: rework so SPI transfer is invoked from thread
also use polling spi exchange to avoid cache problems
* hip9011: move calculations from ADC callback to thread
* hip9011: big cleanup
* hip9011: simplify spi communication
* No need to set knockBandCustom if it is not custom
HIP9011 calculates knockBand from cylinderBore same way
* hip9011: make unit test happy
* hip9011: fix unit test
* hip9011: remove duplicated initialization, reorder
* hip9011: just renames and data type adjustments
* hip9011: rename BAND() to HIP9011_BAND()
* hip9011: move some code from lookup.cpp to logic.cpp
* hip9011: move initEngineNoiseTable to engine_configuration.cpp
* hip9011: move lookup tables to hip9011_logic.c
* hip9011: remove empty files
* hip9011: additional checks
* carve out UART specific
* implement channel
* config cleanup
* use new config
* bootloader
* dead code
* s
* h7 inherits f7
* oops
* ok now it's right
* tests
* cleanup
* call setup
* put that in its own file
* cleanup
* format
* guard
* not needed
* improve guarding
* portable
* allow override of uart mode
* fixes for bootloader
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* 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>
* 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>
* Board subaru eg33: has HIP9011 knock sensor
* hip9011: lastExecutionCount does not exist any more
* hip9011: extranc commands to header, use logic math for bitfields
* vbatt in sensor model
* sensor name
* vbatt
* s
* oy vei
* a little bit of cleanup
* memory apparently
* cj125 test
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* use phase computation
* move & simplify implementation
* test
* bad merge
* initialize
* wonderful changelog
* now unused parameter
* put back deadzone
* ui
* test deadzone
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>
* move rev limit to limp manager
* call fatal error
* include order
* fix bug
* tests
* limp can disable etb
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
* switch pump fsio logic
* value collision
* fuel pump in tests
* mock time since trigger
* test fp
* init pin in test
* fix gpio outputs in tests
* comment
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* Require redundant tps for ETB (#2037)
* mod sensor api
* require redundancy
* fix tests
* check that it fails
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* add a test that fails but should not
* fix the bug
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* enums
* don't collide
* auto_generated_enums
* check based on new enum val
* maybe this will make generate tool happy
* add a test
* fix test
* fix and add another test
* make clang happier
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* require values to be different
* fix not
* oops
* missed another spot
* test negative cases too
* resets
* test no sensor case
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>
* 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
* testable launch start
* extract base class
* add a test
* fix ts debug
* Launch control unit_tests
updated launch control for a better split
VSS mock for unit tests
Co-authored-by: Matthew Kennedy <matthewkennedy@outlook.com>
* 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
* two throttles one thread
* look at all this RAM!
* add enum
* switch from index to function
* test fixup
* improve init logic
* remove old vw idle mode bit
* add config
* better spot for it
* use config init values
* handle null controller array
* fatal error testability
* test new init config
* defaults
* fix for default config
* remove old impl
* add cpp wrapper to os_access
* clean up os_access
* remove touchTimeCounter
* new impl
* put comment about lock free impl
* include cpp wrappers for BL
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* two throttles one thread
* look at all this RAM!
* add enum
* switch from index to function
* test fixup
* improve init logic
* remove old vw idle mode bit
* add config
* better spot for it
* use config init values
* handle null controller array
* fatal error testability
* test new init config
* defaults
* fix for default config
* two throttles one thread
* look at all this RAM!
* add enum
* switch from index to function
* test fixup
* improve init logic
* remove old vw idle mode bit
* add config
* better spot for it
* use config init values
* handle null controller array
* fatal error testability
* test new init config
* defaults
* fix for default config
* two throttles one thread
* look at all this RAM!
* add enum
* switch from index to function
* test fixup
* improve init logic
* remove old vw idle mode bit
* 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
* 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
* impl
* unhide option
* fix
* tests
* 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
* 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>