* 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.
* start pulling out a class
* pull function out of loop
* there we go
* ok there we go for real
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* 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
* 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
* fatal error + inhibit read on preset
* inhibit more stuff when flag is set
* don't need that message
* extract function, improve msg
* changelog entry
* 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
* Update tachometer.cpp
Initial implementation of E30 M3 Tach output solution #907, unit_test plus debugging next
* tacho unit tests
First successfull unit test for tachometer
* RAM adjustment so it would link
* refactoring tacho, broken!
* starting to make some progress...still fails after a few seconds
* Rework with SW PWM
* Update after code review
* unit_test update
* First working unit_test
* Update .gitignore
* Update engine_controller.cpp
* Update engine_controller.cpp
* Update tachometer.h
* Update test_tacho.cpp
* Switched UART DMA on
* Revert "Switched UART DMA on"
This reverts commit 4a23974c431e0e7fd760595d2161e74e6854897e.
* tooth logger update
Updated the way we send the buffer to TS
Updated the way we log cam signals
removed TDC, inj and ign direct log... this causes some flicker in TS, this way we log inj and ign comapred to a cranck or camshaft trigger.
* Update tooth_logger.cpp
Fix unit_tests
* Update tooth_logger.h
clean-up
* Update tooth_logger.cpp
remove dead code, actually i forgot to uncomment these lines.
rename isTDC to trigger, since it is trigger (cam) for TS.
Co-authored-by: rusefi <rusefi@users.noreply.github.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
* avoid 64b on hot path
* no tooth log when fast
* use crit section locker
* final
* only flip pins if not also self stim
* only trace if doing work
* slightly drop lateDelay
* trace if not bailing out
* 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>
* 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
* 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
* config enable switch