* h90d safety
* quicker rate
* update comment
* support multi frames?
* stash
* stash
* might work?
* stash
* clean up
* revert that
* add test
* fixup tests
* clean up
* remove test
* try to combine tests
* Revert "try to combine tests"
This reverts commit f147955b94119eca0abd1b605844ab5002fb0305.
* seems simpler
* more explicit
* shouldn't be needed
* no hyundai stuff
* no line
* consecutively
* comment
* comment
* comment
* revert
* comment
* check earlier
check earlier
* ensure we don't set a negative value
* add todo comments
* for loop
* it was only checking a specific bit
* same check as openpilot
* reset on init
* unsigned
* should fix conflicts
* common
* comment
* Add missing function
* Tests
* the alternative is a mess
typo
typo
* draft
* finish common
* works but you need RegenSafetyTest before all other classes
* Revert "works but you need RegenSafetyTest before all other classes"
This reverts commit 256f3be9a86e2412220d473037d64b84167ae98d.
* This works too
* need parameterized, subtests nor super() calls correctly reset state
* Fix test and comment
* comment
* another fix...
* subclass
* ABC
* order
* fix static analysis
* can do this
* Revert "can do this"
This reverts commit 6bc63a345a2d63019a640092dd9538203e8b213d.
* this is nicer, no pylint errors
* Update tests/safety/common.py
* underscore
* dynamically detect and add tests
* simpler
* only for safety modes with a regen message
* check attr
* Revert "check attr"
This reverts commit bc37a7eedd2269bb3bc77d96762f0f0df6890991.
* need to check at test time not class init time
* toyota steer fault safety
* fix
* alternative safety
* no comment
* should be good
* same behavior, a bit simpler
* better tests
* fix comment
* update safety comment
* const is actual number of messages
* Fix bug
* misra
* Fix test
* clean up logic a bit
clean up logic a bit
fix
* fix
fix
* clean up tests
* unsigned
* forgot to rename message when merged
* Comments
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* Update names
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* rename rest of variables
* real time checks
* clean up safety tests
* revert
* add this
* clean up
* better name
* use common steering checks
* reverse order
* make common
* re-organize the safety
* clean up safety_toyota
* more clean up
* add comment back
* 19
* recover
* some variable name clean up
* rename and reset `valid_steering_msg_count`, another recover message
* move comment
* remove reset_toyota_timer, minor test clean up
* common test
* use init_tests
* threshold used to be: frame you can cut steer on, now it's min num of valid frames (next frame you can cut, 18+1)
* Update tests/safety/test_toyota.py
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* fix realtime
* Update board/safety/safety_toyota.h
* Apply suggestions from code review
* Update board/safety/safety_toyota.h
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* block lkas
* taco time
* local changes
* start
* tx checks
* counter + vehicle moving
* support big can fd
* check crc
* add torque to rx checks
* tests
* little more
* little more
* get some misra coverage
Co-authored-by: Comma Device <device@comma.ai>
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* alternative experiences
* not unsafe
* more renames
more renames
* not yet true
* I think we import from panda now
* update comments and test
* not needed
* bump health pkt version
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* 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
* bring over toyota + support code from safety-test-refactor
* old tests still use StdTest
* don't duplicate
* test fwd
* make linter happy
* fix indent
* fix ident
* fix order
* whitespace
* move some common tests
* cleanup
* unused
* comment
* CRC and counter checks, standstill/brake checks
* Clean up a tsk_06 that snuck through
* Be consistent about how we call _msg_esp_05
* Reduce scope: haunted by the ghost of MISRA future
* Improved check/test for in-motion braking
* MISRA styling fix
* Checkpoint Panda refactoring updates
* Rename MQB safety tests in preparation for PQ
* Refactor MQB tests, add missing torque test
* Bring in MQB init without CRC LUT setup
* Fix to ACC_06 test case
* Fix to ACC_06 test case
* Tweak comment for clarity
* Drop superfluous return
* relay malfunction handling. WIP
* more cars to relay_malfunctions
* fixed safety tests
* minor change
* Fix linter
* all cars now have a relay_malfunction safety check
* added relay_malfunction safety test for fwd hooks
* added proper regression tests for relay malfunction to all cars
* temp patch to not fail regression in honda bosch
* also addr 0x194 is some nidec honda is steer control
* proper relay check for honda bosch too
* VW button spam: fix safety and add tests
* button spam is actually sent on bus 2
* Fix safety test. Still need to add gas safety test
* added gas safety test to VW and using consistent nomenclature
* style fixes
* Added uno
* Added usb switch support
* Added PWM and IR power functions
* Implemented bootkick
* Added uno as a new hw type
* Bumped version
* Added fan control and tach readout
* WIP: RTC support
* Working RTC
* Fixed python
* Misra compliance
* Added USB control messages for fan/IR power
* Added USB commands + tests for fan & IR control. Fixed bootstub and pedal compilation
* Added IR and fan to power saving mode
* Changed defaults
* Fix safety considering uno
* passing safety now
* Minor UNO tweaks
* Fixed version
* More minor temporary tweaks
* Removed usb load switch from uno
* Added power control for shutting down the fan completely
* Disable IR LEDs by default
* Fixed linter issue
* Linter fix#2
* Panda safety code for Volkswagen, Audi, SEAT, and Škoda.
* First pass at MISRA compliance.
* Second pass at MISRA compliance.
* Fix scope of violation boolean.
* MISRA doesn't care for implicit cast of unsigned int to boolean.
* Remove superfluous newline.
* Remove unused VW ignition hook code, preserve commentary.
* Add 50% padding to max delta check.
* Add 50% padding to max delta check.
* Add clarity around the origin of our safety constants.
* Update test RT delta to match safety.
* Honda Nidec: fwd stock AEB
* bug
* correct aeb bit
* typo
* Revert "typo"
This reverts commit d424198b1fbc5a783c39b5bdd7d034865ed61a83.
* typo
* bug fix
* don't have tx hook blocking aeb messages from stock system
* typo
* fwd stock brake even if they are the same
* only stop forwarding aeb when aeb flag clears
* Fix safety tests
* Added fwd safety tests
* tiny bit more readable
* late usb
* Added type support for black panda
* Added harness presence and orientation detection
* harness relay driving code
* Added intercept support in black panda code. Switched around can0 and can2
* Disable ADCs after orientation detection. Ignition interrupts via harness
* WIP: Hardware abstraction layer + black panda bringup
* Fixed bootstub build
* Fixed bootstub for pedal
* Fixed infinite loops
* Got CAN buses working on white again
* Fixed pedal build and black can interfaces
* Got CAN buses working on black panda
* Finished loopback test for black panda
* Erase all flash sectors on the panda. Increased binary limit. Added extra python functions.
* Fixed python
* Made new code MISRA compliant
* Cleaned up ignition. Fixed build
* Fixed health packet
* Fixed CAN mode on black bug. Changed OBD to switch on ELM mode
* Fixes from Github review
* Fixed MISRA issue for pedal
* Fixed failing gmlan tests
* ELM327 safety: allow diagnostic on all buses
* Cleaned up EON relay code
* delete only 3 sectors instead of 11 to allow a new build to be flashed. Much faster to flash
* Removed CAN only can0 output mode. Does not make sense on black panda due to reversibility issues.
* Added heartbeat logic for EON code on panda. Go to NOOUTPUT if EON does not send a heartbeat for 5 seconds.
* Remove all CAN buses live on EON startup. Shouldn't be necessary to have this separate case
* Formatting
* Added file I forgot to push
* Added heartbeat to testing code to make sure EON tests don't fail. Should probably find a better way to do this though. Heartbeat thread didn't work, concurrent USB connection issues...
* Safety: support black panda for Honda Bosch
* Disable OBD2 if setting to NOOUTPUT mode
* Run safety tests for all hw_types
* Fail test if subtest fails
* fix safety tests