* read in mV and make threshold board-dependent
* refactor and add SBU voltages to health
* refactor relay driving
* more refactoring and readout lock
* avoid race condition
* fix misra
* continuous detection
* 1Hz is fine
* another race condition
* use harness detection to trigger bootkick
* update orientation detection test
* more in-depth harness tests
* fix ignition
* fix
* raise threshold
* hitl fan test
* enable cooldown on dos as well
* small cleanup
* get expected RPM from panda class
* fix
* overshoot test
* fix max RPM getting
* fix percentage
* revert cooldown fix
* add cooldown for dos fan as well
* remove feedforward from the fan controller to eliminate overshoot
* update clip
* cleanup
* add that back
---------
Co-authored-by: Comma Device <device@comma.ai>
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* DAC POC
* change freq
* some cleanup
* wip: cleaning up and trying to use DMA
* no clue why this doesn't work
* this works
* wip multi-master i2c for fake siren
* cleanup and some more i2c stuff
* seems more stable
* retry disabling and cleanup force siren
* fix misra violations
* not needed
* messed up rebase
Co-authored-by: Comma Device <device@comma.ai>
* cleanup external debug serial
* wip: bring up uart7
* more wip
* this does something
* this works
* increase fifo size
* fix misra
* cleanup
* fix misra again
* add SOM debug enum
* reduce SOM buffer on F4
Co-authored-by: Comma Device <device@comma.ai>
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* cleanup is_enumerated, rename comms and init spi
* big comms refactor, building now
* misra fixes
* more fixes
* misra try 3
* cleanup
* this belongs in a separate PR
* remove unneccesary file
* revert llspi changes
* llspi misra fix
* enable SPI on F4 and setup gpio
* duh
* wip: spi comms
* more spi wip
* dynamic sector erasing
* Revert "dynamic sector erasing"
This reverts commit fce1215a2e.
* more sectors to be erased
* debugging
* woah, this works
* cleanup on the panda side
* add sync and checksum checks, and fix recovery on errors
* this seems relatively stable
* add retrying
* this is stabler
* some endianness and endpoint fixes
* builds
* revert that
* add that back
* checksum start
* start splitting up driver
* spi behind flag
* cleanup test
* bump up timeout
Co-authored-by: Comma Device <device@comma.ai>
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* temporarily disable Jenkins
* firmware
* python lib
* tests
* ..
* usb load switch to high
* it is still red
* usb power mode remove
* Revert "temporarily disable Jenkins"
This reverts commit a911cfad8d.
* forgot this
* common periph
* change name
* board tick
* add V2 to CI
* update known bootstub
* fast rpm measurement
* fix indentation
* this seems stable
* clip fan integral
* fix misra
* add fan power to health
* board-specific max rpm
* refactor fan enable
* cleanup
* stall detection and reset
Co-authored-by: Comma Device <device@comma.ai>
* switch over to PWM based camera signals
* update comment
Co-authored-by: Comma Device <device@comma.ai>
Co-authored-by: Willem Melching <willem.melching@gmail.com>
* H7 drivers
* Include H7 into the code
* fix flash write for H7
* get serial from flasher.h from F4 and H7
* flash.sh and recover.sh for gen3
* add set_data_speed for BRS CAN FD
* build all fws
* gen3 to panda lib
* gen3 name in scons project
* disable fd can and brs
* gen3 to CI tests
* jenkins fix for new tests and build_all
* fix pedal test
* pedal in panda tests again...
* cleanup llfdcan.h
* cleanup clock.h
* Add LDORDY bit check instead of delay
* missing define in stm32h735xx.h lib
* board_id helper
* enable debug detection again
* clean gpio inits
* fix board_id helper, make cleaner
* comment MCUs in stm lib for faster misra
* target MCU
* misra-5.5
* improve headers and misra speed
* cleanup CI tests
* change naming from gen3 to h7
* readable if statement
* cleanup llusb.h
* only cycle one transceifer in bus-off
* move unused funcs to common header
* bus_off_err reset
* misra 10.4 fdcan
* extern to can_data_speed variable
* limit can_data_speed array size to 3
* reinit fd can on data speed change
* Improve test with ELM327 and extaddr check
* bugfix for fdcan
* panda python config naming
* abstracted init request in llfdcan
* misra fdcan
* Improve llusb.h for H7
* Let refactoring begin!
* Fix pedal build
* Fix pedal safety tests
* Forgot few TIM2 instances
* Try this way with misra
* More misras...
* More misras...
* Still fighting with misra blindfolded
* Almost got it!
* Last misra error..
* Last misra error..
* Misra works locally..
* Maybe this?
* Looks like it was cppcheck bug, revert changes
* Suggested changes and reverts
* File structure change
* revert includes
* remove spaces
* remove timer delay
* endings
* more typing
* rename early to early_initialization
* Remove delay_us
* Revert RTC default values
* Revert initialization sequence
* Fix quotes
* Revert
* Return TIM6EN
* Alias slow timer to TICK_TIMER
* Refactor files structure
* Remove definition of PANDA
* Abstract timers
* Fix include
* tick_timer_init
* Split usb driver
* Move LL stuff: adc
* Move LL stuff: usb
* Fix include again...
* Will check pedal builds also locally..
* Move LL stuff: CAN
* Move LL stuff: clock
* Rename common to peripherals and move
* Move board HAL
* Change include, not needed for pedal
* llgpio to gpio and new lines fix
* remove board_has_relay, not used
* Remove board_functions.h and add to board struct
* Move include
* Fk MISRA...
* has_onboard_gmlan to has_hw_gmlan
* Typos
* Move board_declarations include
* Shuffle
* More abstraction
* fix paths, fix cppcheck test
* Fix for pedal build with USB
* Remove non-EON panda build
* missed that
* fixup readme
* more readme
* simplify ci
* add USB command to disable heartbeat checks in debug mode
* clean that up too
* more cleanup
* fix path
* disable heartbeat in set_safety_mode
* more red
* remove one more EON ref