Commit Graph

150 Commits (spacecruft)

Author SHA1 Message Date
Jason Young 2f9e076289 Panda safety code for Volkswagen, Audi, SEAT, and Škoda (#293)
* 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.
2019-10-09 13:54:22 -07:00
rbiasini ffbdb87a8d
python2 -> 3 fixes to pedal flasher (#292)
* python2 -> 3 fixes to pedal flasher

* fix Debug flash as well

* Fixes to wifi-test
2019-10-08 19:07:59 -07:00
Robbe 736c2cbf7b Fixed sending of bytes over PandaSerial 2019-10-07 14:26:44 -07:00
rbiasini af0960ad3d DFU fix (#288)
* DFU fix

* fix test 2

* this should fix all the remaining jenkins test

* Fixed pyenv shim not being a python file, but a sh script
2019-10-03 19:46:28 -07:00
rbiasini 70219d7bb2
match safety enum in cereal (#285)
* match safety enum in cereal

* removing tons of hardcoding

* add pythonpath to safety test

* Fix safety test in Docker
2019-10-02 18:20:32 -07:00
Robbe c4aabae591 Fixed some python3 bugs in the test scripts and PandaSerial 2019-09-27 15:22:13 -07:00
Riccardo d3268690c9 Revert "revert back esptool to python2 and force to build esptools with python2"
This reverts commit 875e76012b.
2019-09-26 17:02:38 -07:00
Riccardo 875e76012b revert back esptool to python2 and force to build esptools with python2 2019-09-26 16:21:47 -07:00
Riccardo 5f2bc44606 better 2019-09-25 16:52:51 -07:00
Riccardo b2a30fdbdf make works! 2019-09-25 16:52:03 -07:00
Riccardo fe727706bd read file as byte and no tab before sleep 2019-09-25 14:34:28 -07:00
Riccardo 2dc34096a0 2to3 applied 2019-09-24 22:33:46 -07:00
Riccardo ffa68ef711 undo unnecessary brackets for print 2019-09-24 18:07:05 -07:00
Riccardo dbc248027e Fix all the prints with 2to3, some need to be undo 2019-09-24 18:02:15 -07:00
Riccardo 5a7aeba0f5 xrange is gone 2019-09-24 17:56:55 -07:00
Riccardo 1e2412a297 env python -> env python3 2019-09-24 17:50:53 -07:00
robbederks 6f532c6d51 Black panda Jenkins (#256)
* 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
2019-08-28 12:57:42 -07:00
rbiasini 59f5813173
Black (#254)
* 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
2019-07-23 15:07:06 -07:00
dekerr 45d0d286f4 remove whitespace (#255) 2019-07-19 19:35:50 -07:00
Riccardo 3e9469b3ee Fixing tests after min->MIN change 2019-06-30 14:19:31 -07:00
Willem Melching 03d1c8ab3e make dfu.py compatible with latest libusb1 2019-06-26 13:56:02 -07:00
rbiasini a3f65d66e9
capitalize MIN and MAX macros (#220) 2019-06-17 13:48:14 -07:00
George Hotz 3810452a02 WTF WHY WAS THIS SHIT PUT EVERYWHERE 2019-05-23 12:39:54 -07:00
Nigel Armstrong f8ab74a1cc L-line relay (#166)
* 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
2019-04-11 21:03:15 -07:00
Nigel Armstrong 1d2f8f0abf
Jenkins (#179)
* Improve panda automated testing

 * begin testing both white and grey panda
 * Improve wifi reliability

* First commit for docker

* Fix usb devices not showing up on reconnect

* Add tests for two pandas, latency and throughput

* Add Jenkinsfile

* Allow flashing release on wifi

* Fix Jenkins stuck in DFU mode and docker container running

* Add pandaextra from xx to docker

* Need more time for ST to restart, sometimes

* Add xml output to tests

* Try making wifi more reliable

* Fix infinite loop in ping

* Check connected after flash

* Cleanup two panda tests

* Try fixing failing test with check after udp

* Try to fix with sleep

* Temporarily run just 5 and 6

* Cleanup

* Desperate times call for desperate measurse

* BUGFIX: power saving when rx only

* Fix failing when white panda is first after udp

* Test both Dev and EON build

* Jenkins test results for both builds

* Better test case naming
2019-04-09 14:09:18 -07:00
Nigel Armstrong 4276c380e6
Additional Power saving (#170)
* Only turn on wifi if not eon

* Dont disable ESP in early

* Allow CAN to be turned off

 - CAN is turned off via timeout
 - 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

* Cleanup power saving
2019-04-01 22:45:00 -07:00
Nigel Armstrong 20c76ad592 Power Saving (#169)
* Only turn on wifi if not eon

* Make sure esp is disabled on eon

* Dont disable ESP in early
2019-03-13 20:58:00 -07:00
rbiasini a6193a8285
Dcp remove (#168)
* No DCP charge mode when building from EON
2019-03-11 23:41:40 -07:00
Nigel Armstrong d7d08892e7 Capture make failure so it can be logged to sentry 2019-02-21 01:48:36 -08:00
Drew Hintz 799c33868d Chrysler safety controls (#130)
* 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
2018-11-06 12:28:33 -08:00
George Hotz e7ca587b2b long isotp msgs 2018-06-21 15:59:29 -07:00
George Hotz 4150684aa8 add javascript and bump pandacan version 2018-05-09 13:18:53 -07:00
Chris Vickery 6dbd8c972b
Implement WebUSB and upgrade WinUSB to 2.0 (#107)
* Implement webusb and winusb 2.0 specs

* Add missing constants

* Refactor string system, add support for USB2.1

* Uncapitalize the panda

* Add USB 2.0 extension descriptor and device qualifier getter

* Sleep during reconnect process to be more reliable

* Disable compiler optimizations because they break SPI coms
2018-04-11 10:08:56 -07:00
George Hotz fe15d3fb0f bump pandacan 2018-03-13 15:22:33 -07:00
George Hotz b259e2ae91 can flasher is close to working 2018-03-10 11:22:22 -08:00
George Hotz 7ae7c7961f typo 2018-03-10 10:17:57 -08:00
George Hotz e85cc4758a forgot the selfs 2018-03-10 10:16:53 -08:00
George Hotz f7a0ab09bf pedal usbflash works 2018-03-09 17:47:13 -08:00
George Hotz 585d0f9e6a add way to call isotp 2018-03-09 17:40:03 -08:00
George Hotz be828991ae despite it being bad code, move isotp 2018-03-09 17:37:47 -08:00
gregjhogan 5c7ef9ee43 added bosch safety hooks and forwarding 2018-03-05 18:17:30 -06:00
Jennifer Strange 08f464cffb python 3 bro is bad bro 2018-02-28 17:47:37 -08:00
Jennifer Strange 9390961041 kline checksum algo was broken... 2018-02-28 17:45:54 -08:00
Jennifer Strange 3b7c33b15a add kline debug support 2018-02-28 17:03:04 -08:00
George Hotz 8203cc8e59 add is_grey 2018-02-16 11:07:20 -08:00
George Hotz b68957e666 add pandadebug support 2018-01-23 18:40:53 -08:00
George Hotz 21f8195d4e fix panda serial write 2018-01-19 11:04:21 -08:00
George Hotz aa0cfadb6b fix UART hang 2018-01-08 14:53:38 -08:00
George Hotz 65997ffcf5 add PandaSerial and location panda (aka pigeon) test 2018-01-07 11:31:54 -08:00
George Hotz b74b6f2727 rename panda to python because of git ambiguity 2017-12-06 16:17:57 -08:00