* 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
* Proper way to add lis302 driver
* Proper way to add license directory to includes
* Makefile: simplify
All ChibiOS stuff is accumulated in ALLCSRC, ALLINC and so on.
* board.mk: append sources and includes to ALLSRC, ALLCPPSRC, ALLINC
* Cypress: fix CANv2 includence into build
* LCD: check if settings are valid on each access
* Lada Kalina: remove duplicate code
All LCD pins are set to GPIO_UNASSIGNED in disableLCD()
* Remove duplicate code
* We still need to know when invalid gpio is used...
This reverts commit c17775231a.
* 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
* 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
* 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
* we must lock earlier to be truly safe
* this was using huge memory
* devirtualize
* We still need consoleEventListener for boards with EFI_CONSOLE_SERIAL_DEVICE
* MC33810: add MC_ prefix for command defines
As CMD_PWM define is now used by console command
Bug was introduced in 2312b0ae57 when
sample buffer was moved out of class. So sample become adcsample_t*
instead of adcsample_t[] and sizeof returns 4.
* ADC: fixes:
-use enums
-internalAdcIndexByHardwareIndex array should be adc_channel_e size
-add sanity checks
-save few bytes of RAM
* ADC: use logical OR instead of math add
* 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>
* switch to CriticalSectionLocker
* that's just about all
* clean up last usage
* include hpp for sim
* need the cpp wrappers in the makefile too
* include dir
* include