* 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
* new function
* hellen
* MRE
* proteus
* put those function declarations in a reasonable place
* put the comment back
* weak
* move that to a reasonable place
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* 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>
* early hw init
* s
* Revert "s"
This reverts commit 10d3039168613cfb2b0cf1c960d2f18894745ce3.
* bor
* I can't type
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* hip9011: move hipCs out of EnginePins to hip9011 driver
* hip9011: cleanup debug output, save few RAM bytes
* Supress few signed vs unsigned warnings
* 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>
* 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>
* extract
* guard
* put some back
* put back
* slow is actually 500hz so slow is fine here
* no magic
* fix printFullAdcReport
* cast
* implement h7 adc ish
* analog switches
* bad merge
* no map avg on h7
* fix master while we're at it
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* extract
* guard
* put some back
* put back
* slow is actually 500hz so slow is fine here
* no magic
* fix printFullAdcReport
* cast
* if we turn those off is it happy
* stub cypress/kinetis
* guard fast stuff better
* bad merge
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* replace null device with rusefi ini
* comment
* warning
* stub ramdisk for when we don' thave an image
* maybe generate the image with a build
* install mtools
* fail on error
* install deps _before_ we need them
* embed a little readme
* oops
* Board subaru eg33: has HIP9011 knock sensor
* hip9011: lastExecutionCount does not exist any more
* hip9011: extranc commands to header, use logic math for bitfields
* mostly guard against no fast adc
* disable on h7
* guard more
* guard adc init
* you can't do that in c++
* we need that
* s
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* maybe hook up sdmmc
* the complier didn't like that very much
* mcuconf
* guard properly
* fix
* duh
* omg that's an extra close paren
* explicitly set which device fatfs should use
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* rusefi_halconf
* h7 gpt
* don't redefine that
* maybe this was necessary
* format
* no usb in cypress
* flags for bl
* cypress
* maybe bootloader
* no smart build for cypress/kinetis
* no smart build
* no really, disable smart build
* don't need to clean that env var
* cypress
* format
* h7 clocks
* run the core at 400
* disable LSE
* 8mhz timer clock
* osc
* it has to be even slower
* something is wrong with WFI
* this was wrong anyway
* 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>
* configure for no cache
* this doesn't need a setting
* now we don't need invalidate
* reorder and comment
* mmc
* sw knock
* use spiPolledExchange for small transfers
* mock spi
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* MRE is green: put cpu in standby in idle
* Revert "MRE is green: put cpu in standby in idle"
This reverts commit 62b5cadda014ace749b145b629da62b182b5e3ce.
* RusEFI is green on all boards
* enable msd
* modify descriptors for composite device
* makefile cleanup
* format
* define
* embiggen fifos
* needed that
* cleanup too while we're at it
* rename endpoints
* switchable descriptors
* guard the request hook too
* don't need this changed yet
* cleanup
* update ep0 response
* cleanup
* use the msd hook from chibios
* this was wrong
* this was covered by other PR
* this is also covered
* s
* move f4 config files
* don't need this
* f7
* f7
* h7
* this was duplicated
* turn off smart build
* loader too
* update prometheus paths
* bootloader should include confdir
* fix the flash size while we're at it
* move chconf_common
* use wait
* normalize board.mk
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* remove EFI_ADC_TEMP_SENSOR
* implement
* comment
* s
* switch adc_inputs over
* header
* s
* I think aligned-on-stack should work ok
* num channels
* cache safety
* move adc init too
* don't compile that file for the h7
* cypress & kinetis
* ports
* guard against bootloader
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* set mcu type in hw_ports
* move f4 linker script
* move f7 linker script
* don't set default linker file in makefiles
* extra line
* prometheus actually didn't depend on anything special for f469
* dead line
* h7
* dead
* move board.c
* set explicit cpu type for simulator
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* set mcu type in hw_ports
* move f4 linker script
* move f7 linker script
* don't set default linker file in makefiles
* extra line
* prometheus actually didn't depend on anything special for f469
* dead line
* h7
* dead
* 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