Commit Graph

318 Commits

Author SHA1 Message Date
Shane Smiskol
7af22677f7 CanClient: check invalid sub-addresses (#1483)
* check/catch invalid sub-addresses

* clean up

* break to next addr on first receipt of bad subaddr
2023-06-23 16:33:12 -07:00
Shane Smiskol
bcd8c57a70 uds: fix TypeError for invalid subfunctions (#1474)
fix TypeError
2023-06-20 23:17:57 -07:00
Igor Biletskyy
0f4e8f79f5 add IRQ rate helper function (#1471)
init
2023-06-20 11:47:43 -07:00
Robbe Derks
0cc91a7f7b Logging (#1445)
* try 1

* some fixes

* fix some misra

* first poc working

* more things

* more misra fixes

* fix misra

* add rate limiting

* fix misra

* add some unit tests through libpanda

* add more tests and fix some stuff

* fix misra again

* add startup log hitl test

* list

* don't fail on wrong timestamps

* improvements

* fix tests

* expected logs test?

* not sure why this passed

* oh, it doesn't reset

* only show last few

* guess at expected logs

* needs this

* ugh

* reduce compiler warnings

* adjust expected logs

* this is correct

* is it really 1?

* min max

* reduce spam in SPI test

* some cleanup
2023-06-13 17:00:56 +02:00
Adeeb Shihadeh
4850b13797 python: move wait into connect() (#1456)
* python: move wait into connect()

* cleanup

* set that

* add that back

---------

Co-authored-by: Comma Device <device@comma.ai>
2023-06-11 19:06:46 -07:00
Robbe Derks
b563405904 Fix multiple resets due to not getting an ACK on reset (#1450)
* add send_once

* cleaner

* add debug log

* also in the USB one

---------

Co-authored-by: Comma Device <device@comma.ai>
2023-06-09 16:25:49 +02:00
Adeeb Shihadeh
1a9a94c519 python: add helper to wait until panda comes up (#1447)
Co-authored-by: Comma Device <device@comma.ai>
2023-06-07 19:43:43 -07:00
Adeeb Shihadeh
a29ee424bc python: remove duplicate enter_bootloader (#1442) 2023-06-04 14:54:40 -07:00
Bruce Wayne
00c2689487 dfu: fix small writes 2023-05-24 16:23:37 -07:00
Adeeb Shihadeh
2da9b8d173 python: wait on any DFU panda (#1435) 2023-05-23 20:50:09 -07:00
Adeeb Shihadeh
4dd2735e38 cleanup fw filename conventions (#1434)
* cleanup fn

* import os

* fix path
2023-05-21 21:19:19 -07:00
Adeeb Shihadeh
4d7abcc2e6 PandaDFU: don't reset in program_bootstub (#1433) 2023-05-21 20:05:21 -07:00
Adeeb Shihadeh
52f96bac68 spi: nack on can tx endpoint if buffer is full (#1426)
* spi: nack on can tx endpoint if buffer is full

* handle in python lib

* fix timeout

* fix timeout

* fix linter

* cleanup

* fix

---------

Co-authored-by: Comma Device <device@comma.ai>
2023-05-19 22:43:34 -07:00
Shane Smiskol
14bd994f83 Ford: add longitudinal safety (#1359)
* add ACCDATA msg

* ford long safety

* long flag

* split stock and op long tests

* use accel limits for brake

* add comment

* fix acceleration limits

fix acceleration limits

* fix gas limits

* temp bug

* fix min gas, allow -0.5 (engine braking?)

* fix test

* fix tests

* yay it caught this

* pylint

* base name

* typing

* Revert "typing"

This reverts commit 7fb5e304cb8eb6c9afff9fbe4266bc0a67f49c68.

* temp fix

* rm line

* this is handled by PandaSafetyTest

* revert

* move

---------

Co-authored-by: Cameron Clough <cameronjclough@gmail.com>
2023-05-18 00:21:29 -07:00
Adeeb Shihadeh
a93bc954c5 SPI HITL tests + cleanup (#1417)
* start comms hitl tests

* pull that out

* revert that

* more test

* fix warnings

* fix linter

* another simple case

---------

Co-authored-by: Comma Device <device@comma.ai>
2023-05-17 17:13:12 -07:00
Justin Newberry
0a738b7ee8 Subaru: rename legacy to preglobal (#1415)
* rename

* missing some variables

* fix find/replace error
2023-05-15 17:22:40 -07:00
Shane Smiskol
675b1e847f iso-tp: revert CAN frame length check (#1411)
revert
2023-05-12 22:14:23 -07:00
Adeeb Shihadeh
da7c577486 spi dfu: fast timeout for header (#1407) 2023-05-08 16:43:25 -07:00
Robbe Derks
2c937656cf Continuous harness detection (#1402)
* 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
2023-05-08 13:30:23 +02:00
Adeeb Shihadeh
ba5c2948e4 python: default to 60s timeout for recover() (#1394) 2023-05-03 14:15:34 -07:00
Adeeb Shihadeh
a5718ce5dd spi: different ack dummy bytes for debugging (#1382)
different ack vals

Co-authored-by: Comma Device <device@comma.ai>
2023-05-01 19:31:13 -07:00
Adeeb Shihadeh
3c75a8bc00 add fan stall count to health (#1355)
* add fan stall count to health

* fix misra

---------

Co-authored-by: Comma Device <device@comma.ai>
2023-04-20 13:30:56 -07:00
Adeeb Shihadeh
cf307348af CI: run HITL tests on tres (#1326)
* run on tres

* disable those for now

---------

Co-authored-by: Comma Device <device@comma.ai>
2023-04-18 22:17:11 -07:00
Robbe Derks
237ffedcb3 Dos fan fix (#1335)
* 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>
2023-04-18 14:15:06 -07:00
Adeeb Shihadeh
9cd01ac263 PandaDFU: retry SPI comms (#1348)
* retry

* set exc

---------

Co-authored-by: Comma Device <device@comma.ai>
2023-04-16 14:43:58 -07:00
Adeeb Shihadeh
878e0077ac add tres to internal devices 2023-04-06 20:52:09 -07:00
Adeeb Shihadeh
6f852b44a9 SPI: log checksum errors in health (#1334)
* SPI: log checksum errors in health

* actually send it

* check in hitl teardown

* check that

* fix misra
2023-04-05 22:05:14 -07:00
Adeeb Shihadeh
2e8f27486f spi: bump up to 50MHz 2023-04-05 09:28:04 -07:00
Adeeb Shihadeh
b6c378ad02 CI: set PYTHONWARNINGS=error (#1323)
* CI: set PYTHONWARNINGS=error

* update resetter

* fix build warnings

* bump jungle

* fix one more

* fix linter

---------

Co-authored-by: Bruce Wayne <batman@comma.ai>
2023-04-02 09:33:35 -07:00
Adeeb Shihadeh
3e89b7127a python: fix libusb deprecation warning (#1302)
* update list

* this one too

* update dfu
2023-04-01 23:09:12 -07:00
Shane Smiskol
8efbcf041c IsoTpMessage: return if consecutive frame last received (#1314)
* what about

* actually this is what we want

* more explicit about this condition

* frame type

* add enum

* use in func
2023-03-31 20:11:53 -07:00
Shane Smiskol
a12c0a7956 IsoTpMessage: don't skip a byte when sending consecutive frames to subaddress (#1320)
handle
2023-03-31 19:44:46 -07:00
Shane Smiskol
189f0436ba IsoTpMessage: check CAN frame length (#1315)
* Revert "Revert "IsoTpMessage: check CAN frame length (#1312)""

This reverts commit 09fee3e7ea.

* need to pad for the check to work

* pass rx_offset up from can client

* detect from internal can_client and just use it for the checks

* move

* revert this for another PR

* fix
2023-03-31 19:22:16 -07:00
Shane Smiskol
c92f8ecfde IsoTpMessage: fix rx_len sanity checks (#1319)
fix a bug
2023-03-31 19:17:16 -07:00
Shane Smiskol
02eb84936b UdsClient: support sub addresses (#1317)
* UdsClient: support sub addresses

* Update python/uds.py

* Update python/uds.py
2023-03-31 13:59:02 -07:00
Shane Smiskol
09fee3e7ea Revert "IsoTpMessage: check CAN frame length (#1312)"
This reverts commit 9349337ebb.
2023-03-31 12:11:13 -07:00
Shane Smiskol
7933635b54 IsoTpMessage: rx_len sanity checks (#1311)
* add some more sanity checks for _isotp_rx_next

* another PR

* Update python/uds.py

* cannot be bigger than 0xfff
2023-03-30 23:23:42 -07:00
Shane Smiskol
23563cec7c IsoTpMessage: check not reserved frame (#1313)
* add some more sanity checks for _isotp_rx_next

* another PR

* rever

* can remove return

* add back the space here tho :(

* raise
2023-03-30 22:35:02 -07:00
Shane Smiskol
9349337ebb IsoTpMessage: check CAN frame length (#1312)
* add some more sanity checks for _isotp_rx_next

* another PR

* revert
2023-03-30 22:14:35 -07:00
Adeeb Shihadeh
7aaca348c2 HITL tests: nose -> pytest (#1301)
* HITL tests: nose -> pytest

* run all

* add back partial tests

* big speed up

* fix skipping

* enable all

* that's expected

* clean up after ourselves

* jungle is fixture

* fix

---------

Co-authored-by: Bruce Wayne <batman@comma.ai>
2023-03-22 21:38:37 -07:00
Shane Smiskol
c83d6894ef Toyota: base LTA safety (#1295)
* part 1 of clean up

* make it work and pass

* remove lta stuff

* remove commented lta tests

* more

* move test back to where it was

* rm line

* rename that

* fix that

* start to add LTA

* angle test

* fix tests and add base stock longitudinal class

* formatting

* clean that up

* convention

* add ALLOW_DEBUG
2023-03-16 22:32:56 -07:00
Adeeb Shihadeh
b231281c8b python: check SPI response length (#1280)
* python: check SPI response length

* fix read bytes

---------

Co-authored-by: Comma Device <device@comma.ai>
2023-03-07 20:12:23 -08:00
Adeeb Shihadeh
79210e8c2b faster timeout for initial connect 2023-03-07 15:18:11 -08:00
Adeeb Shihadeh
2de7140117 SPI support in bootstub (#1227)
* always build spi

* no dos for now

* spi gpio init

* detect bootstub

* cleanup

* revert that

* move fx stuff

* fix linter

* set erase timeout

* fix types

* cleanup

---------

Co-authored-by: Comma Device <device@comma.ai>
2023-03-07 14:55:15 -08:00
Adeeb Shihadeh
deaad254d9 python: non-zero default timeout (#1279)
* non-zero default timeout

* respect timeout in spi
2023-03-07 14:44:10 -08:00
Adeeb Shihadeh
df7952ec13 python: add helper to check if up to date (#1269)
* python: add helper to check if up to date

* current

* handle is always basehandle

* update that

* Update __init__.py

---------

Co-authored-by: Bruce Wayne <batman@workstation-production.internal>
2023-03-07 13:47:55 -08:00
Adeeb Shihadeh
efb36197bb PandaDFU: SPI support (#1270)
* PandaDFU: SPI support

* get mcu type

* program bootstub

* little cleanup

* more cleanup

* connect by dfu serial

* time to remove that

* none

* fix linter

* little more

* catch

---------

Co-authored-by: Comma Device <device@comma.ai>
2023-03-06 21:52:08 -08:00
Adeeb Shihadeh
18230831f3 PandaDFU: abstract out USB comms (#1274)
* wip

* revert that

* split list + connect

* some more

* mypy fix

* add clear status back

* rename

* cleanup

* cleaner mypy fix

---------

Co-authored-by: Comma Device <device@comma.ai>
2023-03-06 09:24:00 -08:00
Adeeb Shihadeh
946f952aa7 DFU HITL tests (#1276)
* DFU HITL tests

* fix + types

* fix

* clear first
2023-03-05 20:19:27 -08:00
Robbe Derks
d6af117c62 Microsecond timer fix (#1236)
* add microsecond timer readout

* add CI test

* fix
2023-02-14 12:16:15 +01:00