* 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>
* early hw init
* s
* read configuration exactly once
* cleanup
* housekeeping
* test friendly
* ugh bad merge
* that is a noop
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* new apis
* dedicated USB path
* move decl
* init
* don't init usb twice
* guard
* check that we're initialized before using TS
* comment
* guard
* guard USB
* brain doesn't go good
* make tests happy
* dead define
* cypress
* ifdef != if
* s
* include priority
* don't start a thread we know we don't need
* bad-ish merge
* const
* why did this code exist...?
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* ts cleanup part 1
* move more stuff in to the class
* extract base class
* switch to TsChannelBase where we can
* dfu
* more to TsChannelBase
* bad merge
* another bad merge
* bootloader
* bluetooth
* format
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* ChibiOS: add support for STM32F765
This chip is used on Subaru EG33 p'n'p RusEFI board from Dron_Gus
* drivers: gpio: mc33810: commulative update
- use BIT macro
- fix wake-up method
- fix order of arguments in _add function
* port: stm32f4/7: detectCanDevice check for enabled interfaces only
* ADC: fix internal array size
internalAdcIndexByHardwareIndex should be EFI_ADC_LAST_CHANNEL size
couse adc_channel_e is used as index
* status LEDs: support status LEDs that driven by low level
* 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>
* 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>
* Logic analyzer
progress of integration with debug channels
* Update logic_analyzer.cpp
fixed duty report in %
* Update logic_analyzer.cpp
* Update logic_analyzer.cpp
fix for setting one channel to unused, and use the same pin for another channel. this way we clear out hw pointer and we do not have the risk of reporting wrong values.