* Commands to get signature from panda
* does this make misra happy?
* Can I do this in misra?
* this works and makes misra happy
* Add jenkins test for get signature
* Remove comments
* Add comment about code size
* Fix firmware file path
* Added an initial working implementation of the register readback and applied it to the LLCAN registers. Also fixed an init bug in CAN.
* Locally disable pylint import error
* Reverted change to CAN-obj->FA1R setting
* Fixed misra compliance
* Changed hash function name
* Fixed CAN filter setting
* Added voltage health test
* Converted ADC to register functions
* Converted clock to use register setters
* Added check to see if fault status is zero after running test
* Converted DAC to use register setters
* Converted fan to use register setters
* Converted gmlan bitbanging to use register setters
* Changed over interrupt driver to use register setters. Also moved some includes and definition places for critical sections
* Fixed build
* Converted LLGPIO to use register setters
* Converted pwm to use register setters
* Fixed cold boot
* Fixed health fault check in automated tests
* Added comment for the future (issue #367)
* Converted RTC driver to use register setters
* Converted SPI to use register setters
* Converted timer driver to use register setters
* Fixed register fault on white pandas and disabled showing of fault for release
* Bump version
* Remove USB 2.0 Extension from BOS descriptor.
* Declutter usb.h of unused code.
Now that I'm more confident the USB 2.0 Extensions are only required
for USB 3.0 devices, and there's less mystery around why the change
worked for us, garbage-collect the commented-out descriptor.
* Exit power saving also for CAN based ingition detection and replace interrup with simple state machine. a bit of delay it's fine
* bug fixes and also CDP set on start
* sorry misra
* move comment
* typo
* remove ignition interrupts
* Power saving state machine should be done by boardd, which also sets safety modes and usb power modes
* typo
* Added usb command for power save state setting
* Added power save enabled packet
* Added power_save_enabled to python lib too
* ESP forced off in EON build. this prevents ESP to be turned on when exiting power mode: 0.5W power save! Also, boardd does not need to set ESP to off anymore
* don't touch ESP uart
* Refactored ESP/GPS initting
* Fixed white detection
* 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
* make ignition logic common for all cars
* ignition_can is not a safety thing. move it to can drivers
* bump version
* gm safety passive is deprecated
* move tx 1 on logic into board specific headers.
* 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.
* Fixed UART overrun error
* Added stability test scripts
* Refactored UART code. ESP/GPS now uses DMA in circular mode to directly write into the ring buffer, saving a bunch of interrupts and potential race conditions.
* Changed stability test to use amount of bytes instead of amount of non-zero messages, since the ring buffer pointer is only updated on half or full DMA transfer or on line idle (e.g. no more 1 char messages from the gps)
* Increase data limit. It's too low sometimes in normal operation
* Forgot to set write pointer in ring buffer
* Increased test limit even more
* CDP by default in EON build on white panda
* Cleaned up power mode setting
* send usb power mode in health
* cleaner CDP setting on ignition
* bump panda
* Updated cppcheck ref. New rules to be fixed
* changed 2 MACRO names that had more than 31 characters in common
* Fix newly popped 10.4: same type on arithmetic ops
* Fix 18.4: operators should not be applied to an expression
* ensure a NULL pointer isn't dereferenced
Implement the safety limits
Smarter forwarding:
Detect what msgs are sent by OP and drop corresponding CAM msgs
Detect if Stock CAM is connected
Detect if CAM is in hardware passthrough
Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com>
* 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
* Jenkins test refactor and black panda addition
* Added HW types needed by previous commit
* Fixed ignition interrupts when not on EON build
* Added functions for load switches
* More test scripts for black panda
* Added NONE power mode to the code
* Fixed race condition when setting GPIO pins was interrupted.
* Added relay test script
* Fixed flashing with critical sections and GPS load switch
* Fixing critical depth after reboot
* Made the loopback test asserting
* Made critical depth a local variable to avoid race conditions
* Added GPS to power savings mode
* Fixed DFU mode on white panda and bumped version
* Fixed PEDAL_USB compilation error
* Fixed misra compliance of new critical depth code
* Cleaned up heartbeat logic in the testing code. Re-added ALL_CAN_BUT_MAIN_SILENT. Bumped version. Improved critical section code.
* Fixed DFU flashing (once again)
* Fixed VERSION
* Added relay endurance test
* Changed to alloutput on ELM mode for fingerprinting.
* Fixed minor remarks
* 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