* remove third trigger
* clean up the honda mess
* there was nothing novel about this engine config
* include
* missed a few
* s
* x
* changelog
* don't set the third trigger input
* don't redefine the same thing 3 times
* only two inputs!
* test
* MRE
* proteus
* weird format lol
* alphax 4
* alphax 2ch
* prometheus, subaru
* s
* put a canary in the coal mine
* activate the sleepy canaries
* atlas
* tdg pdm
* The canary detected the problems it needed to
This reverts commit b0a3718b115f69f85f78fc4814aec04434968c0f.
* Revert "activate the sleepy canaries"
This reverts commit f80cfcdd789418caa30854064bcb9ce865eee474.
* prometheus
* Makefile: define BOOTLOADER=1 for linker in case of OpenBLT too
This will reserve first 32K of flash for bootloader.
* OpenBLT: include into build
* board: subaru eg33: add OpenBLT board code
* board: subaru eg33: use OpenBLT
* Board: Subaru EG33: OpenBLT: reuse HAL and CMSIS from OpenBLT submodule
* Board: Subaru EG33: OpenBLT: reuse linker file from OpenBLT too
* OpenBLT for MRE
* OpenBLT: MRE: adjust LD memory map for smallest variat of MCU on MRE
* OpenBLT: enable for MRE
* OpenBLT: disable CRC check of user application
This allows us to use DFU tool to flash main application too.
* hex2dfu: fresh binary for linux
* OpenBLT: extract common part of OpenBLT makefiles to openblt.mk
* OpenBLT: enable CRC check of user application for MRE and EG33
CRC (actually just a summ) of few first vectors is stored at 0x1c
offset. This is reserved vector for Cortex-M3, M4 and M7
* common_make: append OpenBLT CRC to dfu files
This should allow to use DFU to do main application update when
when OpenBLT is used as bootloader. hex2dfu will store same
styled CRC as OpenBLT expects to see in user app.
* OpenBLT reorganization
Move common stuff to hw_layer/ports/
* OpenBLT: proteus
* Proteus: enable OpenBLT for F4 and F7
Compilation tested only
* big pch energy
* put back ramdisk stub
* tests are happy
* h743 nucleo
* kinetis
* I love deleting code!
* make stepper happy
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* lua on f4
* move perf trace to efifeatures
* check that it's defined
* cypress and kinetis
* it would help to define the correct thing
* disable buffer if not used
* we can work with 2k
* turn off ramdisk on mre qc
* wow strncpy is useless for truncated strings
* turn off for bootloader
* lto bootloader
* memory
* memory
* lua on f4
* move perf trace to efifeatures
* check that it's defined
* cypress and kinetis
* it would help to define the correct thing
* disable buffer if not used
* we can work with 2k
* turn off ramdisk on mre qc
* wow strncpy is useless for truncated strings
* turn off for bootloader
* lto bootloader
* 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>
* 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>
* 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
* 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