* 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>
* 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>
* 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>
* fix typos, spelling
* add two V8 firing orders
* use the available number of CPU cores, not just 4
* add new firing orders to config
* updating generated files to include new v8 firing orders
* reverting update of auto-generated files
* correct firing order labels for new firing orders
* update all compile scripts to use available cores rather than a hardcoded value
* Board subaru eg33: has HIP9011 knock sensor
* hip9011: lastExecutionCount does not exist any more
* hip9011: extranc commands to header, use logic math for bitfields
* 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
* 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
* frankenso config
* Revert "frankenso config"
This reverts commit 5bb2375ba2d33ae487273eaa5b7a4f12e8a9cecc.
* add hardware CI flag for proteus
* rename ci job
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* redo pinout generation in ci script
* missing operand
* fix some errors
* copy yaml
* more bugs
* fix bug
* wait for image to load
* set background color for hover in dark theme
* add feature: click on rows to select pin
* change cursor to pointer
* undo accidental submodule bump
* oops
* 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
* smart gpio: fix tle8888 direct pin mapping for MRE
* MRE: use TLE8888 pins instead of MCU gpios that drives TLE8888
* TLE8888: cleanup
* TLE8888: do not reset driver private data on WD/undervoltage reset
* TLE8888: diagnostic updates
* TLE8888 driver: BIG driver rework
* TLE8888: check SPI answers for abnormal states
Reply with other than requested register can be a sign of:
-Power-On-Reset, then OpStat0 will be replyed
-WatchDog reset, then FWDStat1 will be replyed
-Invalid communication frame, then Diag0 will be replyed
Keep tracking last accessed register and check with the next reply.
* TLE8888: debug clean-up
* TLE8888: implement spi array write
This reduce CS inactive state time between two consequent accesses
from 8.8 uS to 1.4 uS
* TLE8888: fix PP outputs in OD mode
* TLE8888: cleanup register definitions
* TLE8888: run separate driver thread for each chip instance
Calculating poll interval for few chips become more complex, avoid
this running thread for each device.
* TLE8888: fix cypress and kinetic compilation
Both platforms define its own MAX and cause redifination error if
common.h is included in driver.
* MRE: update mapping.yaml and fix direct pin mapping for TLE8888
* TLE8888: diagnnostic: disable switch off in case of overcurrent
For all output, use current limiting instead
* TLE8888: check for overvoltage on OUT8..OUT13
* TLE8888: add TODO note about how to recover from failure condition
Currently TLE8888 automaticly recovers only from overcurrent and
(may be) overtemperature conditions.
Short to bat cause output disable (bit in OECONFIG is reset) and
needs driver/host intervention.
* TLE8888: save few bytes of RAM
* TLE8888: Lada Kalina is test mule for IDLE stepper on TLE8888
Don't forget to enable PP mode for TLE8888 outputs 21..24:
uncomment line 1087 in tle8888.c
* TLE8888: reorder code, cleanup
* TLE8888: mode all debug/statisctic to per-chip struct
* TLE8888: rework poll interval calculation
* MRE: use TLE8888 pins instead of MCU gpios that drives TLE8888 #2
* 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
* 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
* add env var to skip upload
* remove checking from compile.bat
* working on push.yaml
* finish sorting
* progress
* rename push to builds
* rename push to builds
* Add skip upload env var
* fix pull_request name
* fixed typo and changed name
* fixed indentation and runs-on
* try different env var setup
* add nucleos and switch to underscore
* add quotes
* remove boards that were commented
* remove boards that were commented
* fix project board name
* fixed variable name
* add ini-file and console-settings
* try installing gcc-multilib first
* Install g++-multilib as well
* remove unnecessary export
* fixed exit numbers
* change to different env setup
* add simulator and console compilation to board bundles
* changed OS and added linux simulator build
* add checkout and missing colon
* add gcc-multilib installes
* Install mingw
* fixed install
* remove mingw from linux sim and call compile directly
* change directory
* moved envs to command
* debug ls
* debug ls
* set ftp vars
* add makefile debug info
* removed batchecks
* redirect stdout to easier see orrs
* change name
* remove redirect, add file inpection
* Add conditional project name
* Try software upgrade
* missing char
* update ine files
* try quotes
* add escapes
* add quotes
* add escapes and quotes
* remove quotes and escapes
* remove software upgrade
* ignore test 2
* update apt
* like this then
* forgot import
* fix case
* remove RUSEFI_SKIP_UPLOAD and check RUSEFI_FTP_SERVER instead
* break workflow back apart
* upload simulator artifact
* fixed operator
* update apt
* change paths
* Update build-firmware.yaml
* move update bundle to artifacts
* fix var name
* Install ncftp
* set env vars conditionally
* remove check so zips are created
* try things the github way and copy to primary
* re-enable test
* missing space