* vss uses real values
* some defaults
* test and correct math
* km, not miles!
* comment
* tooltip
* that macro went away
* 100hz and default settings gives 9kph
* changelog
* order of operations safety
* make the test like the pwm test
* housekeeping
* this is why we need sensor automation
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* fast exti
* test code snuck in
* full interrupt disable :(
* do it the old fashioned way
* enable interrupt
* consume stored timestamp
* dead
* h7 maybe
* guard maybe
* non-stm32
* exti 16 wrong on f4/f7
* CORTEX_MAXIMUM_PRIORITY
* safer but uglier
* s
* chibios
* no const
* initializers
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
Fix some uses of ENGINE() not detected by regex due to parenthesis.
Remove now empty engine_ptr.h
Don't worry about EFI_* not being defined, the compiler defaults to 0 if they aren't.
* 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>
* scale map Y axis
* allow different row/col types
* scaled channel detector
* interpolation
* looks like this actually works
* tests, no manual scaling
* comment
* d
* dead code
* all your ram are belong to me
* turn off gpiochips we don't need
* save
* save by using the same file handle
* smaller stack ok
* these can be on the stack
* this is closer
* what about ccm?
* probing available
* now probe ccm
* ccm
* put stuff in ccm
* fsio
* memory usage
* memory
* Add new sensor type "VehicleSpeed"
* Add "Vehicle speed" sensor to name list
* Add Vehicle speed sensor initialization with function pointer sensor.
* Add init_vehicle_speed_sensor.cpp to Makefile
* Replace dependencies from "getVehicleSpeed" to OOP-like "Sensor::get()"
* Add warning and TODO to "mock vehicle speed" call
* Replace get & mock "VehicleSpeed" methods in tests
* Remove #warning directive (cause error by current settings)
* Remove stray tab
* Remove explicitly type casting.
* Add "InitVehicleSpeedSensor" function declaration to init.h
* Add "VehicleSpeedSensor" initialization call into "InitNewSensors"
Co-authored-by: alxrMironov <330OMcorporative>
* 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>
* ford tps
* configurable maximum
* initialization
* check consistency when in the low range
* print info
* default
* config field
* config parameter
* test
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* 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
* 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
* enable
* guard correctly
* h7 bit timing
* allow longer frames
* allow data smaller than maximum
* mcu temperature
* typo
* tx message
* testing
* check for CAN or FDCAN
* don't need that any more
* h7 bitrate config
* undo testing
* h7-ify msg tx
* comment
* break out SID/EID macros
* guard differently
* update ChibiOS
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* hook up lps25
* it would help to include all the files
* unguard some stuff
* unguard more
* guarding
* s
* guard
* only register if init worked
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* 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>
* 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
* 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>
* 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>
* add
* remove old
* remove more old
* makefile
* fix init
* patch up other stuff
* actually fix it this time
* raw output channels
* gauges, UI
* scaled channel
* fix field ordering
* Add SW knock control to MRE on AT4
* Update software_knock.cpp
cleanup
* use knock only for final build
* adjust RAM
* Update engine_controller.cpp
Adjust RAM for HW QC special to build
* lambda sens
* fix init
* new sensor aem
* comment
* g
* format
* x
* guard
* fix init for tests
* fix
* put back
* put back
* fix
* fix init
* why is this different
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* 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>
* 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
* multi cylinder knock
* TS
* only sense when running