* Started whitelisting messages
* Also toyota and cadilalc fix
* bug fixes and better checks. Need to figure out a solution for honda
* Whitelist also for subaru
* Added Chrysler as well to whitelist
* And Hyundai too
* now all supported cars should have a whitelist of messages
* Fix linter
* This should fix process replay
* Honda too is now whitelisted
* struct typedef
* Had forgot GM
* had a wrong addr for GM whitelist
* This should fix all the tests
* bump panda
* 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
* Added pyflakes and Pylint for python
* Actually run linter in CI
* some simple pyflakes changes
* Add flake8 to panda reqs for linter test
* flake8 errors are fixed
* run flake8 in regression tests
* meant to run flake8
* hack to ignore unused import
* bug
* fix bugs in tucan_loopback
* Another fix by using set_safety_mode
* added pylintrc file
* more fixes and enabled pylint as well
* Fix pylint in circleci
* added linter to readme
* 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
* RDLR, RDHR gone from safety
* back at not failing misra safety
* fix safety tests
* did not mean this
* Use get-bytes in pedal too
* Ignore Misra 11.5 and Fix 11.8 violaitons
* Fix 11.3 violations
* Neglect Misra 11.4, fix pointer issue in bootstub and rutn on Werror for pedal builds
* Fix Misra 11.6: can't assign number to void pointer
* Fix test after changing honda_moving name
* for loop is better
* Fix bugs from fbck
* safety replay: add msg length
* add support for individual segments to safety replay
* safety replay: extend segment support to rest of safety modes
* safety replay: add debug flag
* safety replay: return if no steering msgs in segment mode
* minor refactor of safety replay
* Initial version of L-Line Relay
* lline relay fix build, add to health
* Add lline relay to safety
* Lline relay fix build
* Fix tests
* Add lline safety init. Dont fwd with relay closed
* Turn on relay with CAN
* relay hook
* More reliable lline relay
* Longer LLine timeout
* Only turn on wifi if not eon
* Dont disable ESP in early
* Allow CAN to be turned off
- CAN is turned off via USB.
- CAN is turned on when either try to transmit or can is received
- If only transmit is asleep, all messages should send okay
- If receive is alseep, will miss first message while waking up
- Sometimes will report error on second message while CAN perif wakes up
- Saves 130mW!
* Power Saver Mode
- Gray Panda power consumption 650mw -> 325mW
- Turns off CAN, GMLAN, LIN, GPS when no activity for 10s
- No acitvity is no CAN send, CAN Recv, Write to GPS
* Fix power_saving to better turn off can
- On some cars when the can is turned off, it triggers a wakeup.
Delaying the automatic wakeup seems to fix this
* Don't save power in pedal
* Fix relay clicking on startup
* Fix duplicate include
* consistent relay setting
* relay_status can be added when needed, as it's started_alt was consumed in other places
* need to skip forwarding only if relay control is claimed
* unneded change
* make lline_relay.h not depending on can.h
* less spaghetti I guess
* less lines
* reset pedal changes
* no unused input
* update version
* panda safety test that replays drives of saved CAN messages
* utility to trim Cabana CSV logs to just messages relevant for panda safety testing
* when trimming, only output the same line once even if it matches both criteria
* Chrysler safety model and tests.
* fix comments
* when ACC is canceled, disallow controls
* update SAFETY_CHRYSLER value in Python API and add other SAFETY values
* Added Tesla safety changes.
* Use generic interpolate function from safety.h
* Moved Tesla safety include to within IFDEF PANDA as legacy neo boards don't support floats used in Tesla safety code
* Remove double-pull code and time tracking from CAN message.
Better enclose Tesla-relevant code in ifdef PANDA due to use of floats
* Changes as per requests by @rbiasini from conversations in https://github.com/commaai/panda/pull/132
* Removed unused variable
Do interpolation check at every step (not every 25)
Change tesla safety constant number to 8, not 7
* Add the HYUNDAI safety number
* Remove unused struct and function (fsample)
* fix build
* Add stub gmlan implementations in safety tests
* Addition to Bosch safety to support Hatchback
The computer brake is shown on 0x17c sensor on Accord and CR-V. We assumed all Bosch Hondas had the new 0x1be message which reports manual brake, but Civic Hatchback is not like this- It doesn't have this message and 0x17c works like the other Hondas so we are are passing a parameter from Openpilot for this.
* Renamed variable
* Make comment more descriptive
* Added safety check for cancel-only spamming
* Add regression test for brake on accord and crv
Init with bosch safety variables
Some more testing changes (still broken)
Make second test work
* Adds one more ttest
* Cannot implicitly convert type 'int' to 'bool '
* ok to spam resume if controls_allowed==true
* need to use current_controls_allowed. Still need to fix the message blocking
* checking for bus 0 on button spam
* better to use the car name in front of global vars
* even better name and fixed safety tests
* added some steer safety to Cadillac
* bug fixes
* added cadillac full steering safety. To be tested
* RT checks and max checks working. Need to test driver torque based limits
* cadillac steer safety should be done
* unneded lines
* added steer override check when IPAS is in control
* same override threshold as carController
* added initial safety tests for angle control
* cleaned up safety tests and added ipas state override check
* ipas_override is an unnecessary global variable
* bump panda version
* inital infrastructure for panda safety testing
* add test for toyota acceleration
* test for non real time torque rate limits and refactoring
* add test for cruise disable
* fix toyota limit down
* add tests for realtime limits
* test for torque measurements
* fix toyota test setup
* honda button logic
* test for brake logic
* tests for gas logic
* test steer, gas and brake message contents
* add test script
* fix hardcoded limits