Commit Graph

285 Commits

Author SHA1 Message Date
Ewout ter Hoeven f206ebd054 Pyupgrade 3.6: Update syntax with Python 3.6+ features (#23305)
Updated Python code with Python 3.6+ features:
- utf-8 encoding is now the default (PEP 3120)
- Replace list comprehensions by Generator Expressions (PEP 289)
- Replace yield loop by yield from (PEP 380)
- Remove the (object) subclass when defining a class
- Replace the IOError alias by OSError (PEP 3151)
- Define sets with curly braces {} instead of set()
- Remove "r" parameter from open function, which is default

Co-Authored-By: Adeeb Shihadeh <8762862+adeebshihadeh@users.noreply.github.com>
Co-Authored-By: GregorKikelj <96022003+GregorKikelj@users.noreply.github.com>

Co-authored-by: Adeeb Shihadeh <8762862+adeebshihadeh@users.noreply.github.com>
Co-authored-by: GregorKikelj <96022003+GregorKikelj@users.noreply.github.com>
old-commit-hash: 332f568a82
2021-12-24 11:18:39 -08:00
Igor Biletskyy f532819faf Revert "boardd: new class USBDevice (#23015)"
This reverts commit 6965aa0b903060ab38aace31c15fefdc7a0429eb.

old-commit-hash: 285addeef2
2021-12-16 17:11:45 -08:00
Dean Lee 49c35a70b5 boardd: new class USBDevice (#23015)
* USBDevice

* merge master

* rebase master

* add to fiels_common

* inline functions

* namespace

* init err

* remove nested if

* cleanup

* bump panda for branch

* change includes

* bump panda branch

* change name

* bump master panda

Co-authored-by: Igor Biletskyy <briskspirit@users.noreply.github.com>
Co-authored-by: Igor Biletskyy <bs@privacy.im>
old-commit-hash: 4061f50da3
2021-12-16 16:53:48 -08:00
Adeeb Shihadeh 0386f99c1f boardd: add controls heartbeat (#23185)
* boardd: add controls heartbeat

* bump panda

* bump again

* bump panda
old-commit-hash: a793b949be
2021-12-15 17:58:16 -08:00
Dean Lee 3e72a81dac Use std::unique_ptr to manage memory (#23168)
* use unique_ptr

* trigger ci

* move down loggerdstate
old-commit-hash: 4aa291c406
2021-12-13 14:16:53 +01:00
Dean Lee dd7c226097 util: move all functions into util namespace (#23203)
old-commit-hash: 9decd3d8a2
2021-12-12 14:42:23 -08:00
Robbe Derks c9ef5b176e add check for restoring almanac, and clear like suggested in the datasheet (#23153)
Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: bb7208f4c3
2021-12-08 14:13:56 +01:00
Dean Lee a0c6a65d09 panda: refactor can_send (#22981)
* refactor

* merge master

* fix

* move  down

* space

* merge master

* remove struct PacketWriter, use function

* Update selfdrive/boardd/panda.cc

less violations

* Update selfdrive/boardd/panda.cc

comment

* Update selfdrive/boardd/panda.cc

add comment to counter

Co-authored-by: Igor Biletskyy <briskspirit@users.noreply.github.com>
old-commit-hash: 827fae8faa
2021-12-06 20:04:25 -08:00
Igor Biletskyy be3a376967 len_to_dlc make static (#23120)
old-commit-hash: e294e1620e
2021-12-03 16:37:17 -08:00
Dean Lee 15bac98ad4 panda: refactor can_recv (#22977)
* refactor

* use macro

* rebase master

* fix incorrect chunk_len

* cleanup

* type fix

* lines

* while

Co-authored-by: Igor Biletksyy <bs@privacy.im>
old-commit-hash: 599c07e027
2021-12-02 16:28:38 -08:00
Igor Biletskyy ce565323fd boardd: split usbprotocol unittest and fix paren order in data length assert (#23065)
old-commit-hash: 65ca9be82a
2021-11-29 15:34:33 -08:00
Dean Lee a96d3f46bf boardd: new function sync_time (#23033)
* sync_time

* add direction

* Update selfdrive/boardd/boardd.cc

Co-authored-by: Willem Melching <willem.melching@gmail.com>

* enum class

* rename

* caps

* lambda get_time_str

* Revert "lambda get_time_str"

This reverts commit 5eb6e19c5130b28963e9555f6c73835ac30d817d.

* static

Co-authored-by: Willem Melching <willem.melching@gmail.com>
old-commit-hash: 35c0319f6c
2021-11-29 11:19:38 +01:00
Igor Biletskyy 9055f2df79 Extra check for tail_size length (#23047)
old-commit-hash: b2a018643f
2021-11-27 12:22:54 -08:00
George Hotz 327767f93f Revert "boardd: be careful with paren order in assert"
This reverts commit c221485bd1eebbab87f6b5a579e66e10767fcdf8.

old-commit-hash: c6f62ebc4f
2021-11-27 00:57:30 -05:00
George Hotz 6475085095 boardd: be careful with paren order in assert
old-commit-hash: 50cd8588a2
2021-11-27 00:28:33 -05:00
Dean Lee 04fefd6791 boardd: const reference pandaStates to avoid copy (#23030)
old-commit-hash: ab9c7a11a9
2021-11-24 15:45:48 -08:00
Dean Lee a919e5721e panda: add unit tests for usb protocol (pack/unpack) (#22955)
* prepare for unit tests

* add to selfdrive_tests.yaml

* test header

* test chunk count

* rename test function

* continue

* don't check chunks count

* test recv_can

* continue

* small cleanup

* merge master

* cleanup

* rename functions

* test different packet size

* fix operator precedence problem

* refactor unpack_can_buffer

* cleanup test

* cleanup unpack_can_buffer

* add test for multiple pandas

* rename to test_panda

* restore test_boardd

* rename to test_boardd_usbprotocol

* fix typo

* bus_offset = [0,4]

* change src

* use USBPACKET_MAX_SIZE
old-commit-hash: c77354009c
2021-11-23 20:15:22 -08:00
Adeeb Shihadeh 43abb312f8 boardd: small cleanup (#23005)
old-commit-hash: d482b2d0a2
2021-11-22 15:15:03 -08:00
Adeeb Shihadeh 3a47379995 boardd: add note about slow disconnected panda check
old-commit-hash: a405fc5d43
2021-11-21 00:32:05 -08:00
Adeeb Shihadeh f22905b998 boardd: set thread names
old-commit-hash: fb32381a88
2021-11-21 00:20:33 -08:00
Adeeb Shihadeh be1f80810e boardd: resolve TODO, still need that for USB errors
old-commit-hash: 944fa5fa08
2021-11-20 19:06:47 -08:00
Adeeb Shihadeh 44568de155 faster jenkins (#22973)
Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: e13630dfee
2021-11-18 23:43:09 -08:00
Igor Biletskyy 989270ac56 fix chunk buffer size (#22969)
old-commit-hash: edaf7d7604
2021-11-18 14:15:06 -08:00
Dean Lee 1cf28894e6 panda: fix len_to_dlc always return 1 if len > 24 (#22964)
old-commit-hash: 57db99700c
2021-11-18 13:02:36 -08:00
Dean Lee 0049f2cf99 boardd: fix a panda may be connected by multiple panda instance (#22932)
* fix bugs in main

* no auto
old-commit-hash: 0716635808
2021-11-17 19:25:21 -08:00
Dean Lee 433add3a02 boardd/can_recv_thread: improve caching for can_frame (#22944)
* better cache

* use emplace to remove copy&realloc

* rebase master
old-commit-hash: 841fb93def
2021-11-17 17:54:14 -08:00
Igor Biletskyy 8844b560d0 panda.cc: struct for CAN header, counter complexity, cleanup for readability (#22956)
* try struct

* can_send refactor

* cleanups

* Resize vector only when it is needed

* ...

* more cleanup
old-commit-hash: 47d0d717eb
2021-11-17 16:00:18 -08:00
Dean Lee 23dca7ffae boardd/usb_connect: remove unused variable params (#22931)
old-commit-hash: 10bca095c2
2021-11-16 13:06:58 -08:00
Igor Biletskyy 34ad595349 panda.cc: add functions to set can and data speed (#22920)
old-commit-hash: 04e1a25881
2021-11-15 16:10:39 -08:00
Willem Melching 37c7137220 boardd: fix segfault when SIGINT with no pandas (#22914)
* boardd: fix segfault when SIGINT with no pandas

* remove if block

Co-authored-by: Robbe Derks <robbe.derks@gmail.com>
old-commit-hash: 8e12b9ca76
2021-11-15 14:10:08 +01:00
Adeeb Shihadeh e14ef7f9fd add multipanda to loopback tests (#22900)
old-commit-hash: e8598f7455
2021-11-13 17:39:51 -08:00
Adeeb Shihadeh 1896097480 boardd: apply bus offset in can recv
old-commit-hash: 5ffb3e4347
2021-11-13 17:11:25 -08:00
Igor Biletskyy 841c20b412 New usb protocol for panda (#22752)
* first try

* move dlc_to_len

* panda switch to mailbox branch

* add bitstruct to pipfile

* bump panda and remove bitstruct

* few cleanups and fixes

* sanity check data.size == dlc_to_len

* check problem with test

* Revert "check problem with test"

This reverts commit b4855b7c12188d36d5d510e729344dab2cf21be9.

* clean

* revert Pipfile.lock

* that was an issue???

* fix crash

* ...

* include dlc_to_len from panda

* alph

* define macros for returned and rejected

* cleanup

* bump panda to current master
old-commit-hash: e293ccf016
2021-11-12 16:47:26 -08:00
Mayfield 43e1903073 enable wshadow (#22756)
* enable wshadow (#22714)

* fix replay

* more build fixes

Co-authored-by: Willem Melching <willem.melching@gmail.com>
old-commit-hash: 5246f0231e
2021-11-02 17:08:53 +01:00
Dean Lee b45c79ea7d boardd: pass std::vector pandas by reference (#22741)
old-commit-hash: 7486a42935
2021-10-30 15:34:33 +02:00
Robbe Derks dbe4641e04 Multipanda support (#22402)
* squash all PR commits for easy rebase

* merged all panda rx can into one message

* fix buffers in can_send

* more cleanup and minor fixes

* fix even more stuff

* fix non-allocated send buffer

* make connecting more robust

* fix bus offset

* fix controls_mismatch?

* simplify mismatch check

* C++ style struct

* fix connect loop

* update ref

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 585c16cd2a
2021-10-29 13:04:26 +02:00
Robbe Derks a6a2693a1c Pigeon (ublox) initialization fixes (#22712)
* add timeout to wait_for_ack

* fix ignition edge detection race condition

* local_ignition -> ignition_local

* gate power_save on !pigeon_active

* millis_since_boot

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 21c4bfc7be
2021-10-28 11:23:19 +02:00
Adeeb Shihadeh bb7751fdb0 don't set core affinity on PC (#22706)
old-commit-hash: 5b331fd6f5
2021-10-26 21:51:46 -07:00
Adeeb Shihadeh e05237f5a2 test_boardd: don't modify environment at import time
old-commit-hash: 93d87cdc6f
2021-10-25 09:47:07 -07:00
Adeeb Shihadeh c9ebc1c442 move nose tests to unittest (#22665)
* move to unittest

* boardd loopback

* no more nose

* phone only

* fix panda decorator
old-commit-hash: b5960b9dc8
2021-10-25 09:44:04 -07:00
Adeeb Shihadeh 25cfa2b65a tici: affine loggerd to efficiency cores (#22581)
old-commit-hash: 84de248fa7
2021-10-18 13:21:24 -07:00
Adeeb Shihadeh 39811d083f boardd: reduce unnecessary allocations (#22494)
old-commit-hash: 2f1ab63920
2021-10-08 16:16:23 -07:00
Robbe Derks 58c99158a1 Make pandaState and safetyMode a list (#22454)
* wip: move to pandaStates

* bump cereal

* wip: SafetyMode struct

* move to safetyMode

* fix typo

* this can be None

* fix potential empty pandaStates list

* fix thermald

* fix controlsd

* rename safetyModes to safetyConfigs

* update process_replay

* fix test_models

* bump cereal
old-commit-hash: 91987f38d4
2021-10-08 17:54:34 +02:00
Willem Melching 6762c152de boardd: fix context leak in init_usb_ctx (#22472)
old-commit-hash: 43d9478740
2021-10-07 13:24:38 +02:00
Willem Melching ed7088c0f6 boardd: lower log level for ublox msg timing issues
old-commit-hash: b9797259ed
2021-10-07 11:07:43 +02:00
Willem Melching 5aa9a8e217 safety_setter_thread: exit on ignition low (#22426)
old-commit-hash: 3e854b8351
2021-10-04 15:00:25 +02:00
Dean Lee ca45a040fc boardd: wait for safety_setter_thread to finish while quitting panda_state_thread (#21961)
* rebase master

* merge master

* merge master

* remove space
old-commit-hash: 47f601e50a
2021-10-04 14:38:35 +02:00
Willem Melching 11066c6236 Split pandaState into peripheralState and pandaState (#22385)
* publish peripheralState from boardd

* refactor consumers

* rename thread

* peripheralState has panda type too

* add to process replay

* fix device build

* properly remove hardware unsupported alert

* latest peripheralState

* remove pandaState from thermal_monitor

* put that back

* add back harness check

* fix cloudlog

* needs pandaState

* Update selfdrive/thermald/tests/test_power_monitoring.py

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>

* dont conflate

* Update selfdrive/thermald/tests/test_power_monitoring.py

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>

* pigeon is peripheral

* cleanup

* less global

* comment

* move rtc to peripheral_control_thread

* better diff?

* whitespace

* get msg

* bump cereal

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: f4e2537b12
2021-10-04 11:30:11 +02:00
Willem Melching 4680b6f940 Don't send empty pandaState from panda_state_thread (#22393)
old-commit-hash: abaa7b2d55
2021-10-01 09:05:33 +02:00
Willem Melching 8aa225b3f9 move acados deps out of devpackages (#22376)
* move acados deps out of devpackages

* fix new pylint errors
old-commit-hash: a60f3c6a35
2021-09-29 23:20:33 +02:00