Commit Graph

33 Commits

Author SHA1 Message Date
Igor Biletskyy
285addeef2 Revert "boardd: new class USBDevice (#23015)"
This reverts commit 4061f50da3.
2021-12-16 17:11:45 -08:00
Dean Lee
4061f50da3 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>
2021-12-16 16:53:48 -08:00
Adeeb Shihadeh
a793b949be boardd: add controls heartbeat (#23185)
* boardd: add controls heartbeat

* bump panda

* bump again

* bump panda
2021-12-15 17:58:16 -08:00
Dean Lee
827fae8faa 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>
2021-12-06 20:04:25 -08:00
Igor Biletskyy
e294e1620e len_to_dlc make static (#23120) 2021-12-03 16:37:17 -08:00
Dean Lee
599c07e027 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>
2021-12-02 16:28:38 -08:00
Dean Lee
c77354009c 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
2021-11-23 20:15:22 -08:00
Igor Biletskyy
edaf7d7604 fix chunk buffer size (#22969) 2021-11-18 14:15:06 -08:00
Igor Biletskyy
47d0d717eb 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
2021-11-17 16:00:18 -08:00
Igor Biletskyy
04e1a25881 panda.cc: add functions to set can and data speed (#22920) 2021-11-15 16:10:39 -08:00
Igor Biletskyy
e293ccf016 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
2021-11-12 16:47:26 -08:00
Robbe Derks
585c16cd2a 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>
2021-10-29 13:04:26 +02:00
Adeeb Shihadeh
2f1ab63920 boardd: reduce unnecessary allocations (#22494) 2021-10-08 16:16:23 -07:00
Willem Melching
f4e2537b12 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>
2021-10-04 11:30:11 +02:00
Igor Biletskyy
603ad435be add function to list connected pandas to panda.cc (#21989)
* add list() to panda.cc

* std:size instead of sizeof

* refactor usb init

* change serial length to 26 to get null terminated

* safer char to string

* forgot variable

* initialize descriptor array

* ...

* move init usb out of class

Co-authored-by: Willem Melching <willem.melching@gmail.com>
2021-08-30 19:20:50 -07:00
Igor Biletskyy
fc56ae70ee Add argument to Panda to connect by serial number (#21905)
* Add list() to panda.cc

* add default

* change var names

* comments

* advices

* revert

* ...

* ..

* connect by serial

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2021-08-19 19:06:24 -07:00
Adeeb Shihadeh
f04d6a9b3f log on startup when panda heartbeat is lost (#21151)
* log when heartbeat lost

* bump panda

* bump panda

* add to pandaState

* move that
2021-06-04 23:22:08 -07:00
Dean Lee
0495426535 Cleanup includes (#20925)
* remove #include <pthread.h>

* remove #include<stdbool.h> for cc files

* remove #include<iostream>
2021-05-17 10:31:31 +02:00
Adeeb Shihadeh
e694f0b4d6 boardd: set can and pandaState valid flags (#20899)
* boardd: set can and pandaState valid flags

* add event

* bump cereal

* consistency
2021-05-14 21:26:02 -07:00
Dean Lee
7222d0f20d Cleanup selfdrive/ includes (#20822)
* cleanup include path

* continue

* format includes

* fix testraw.cc

* remove include path from SConstruct

* regroup

* rebase master

* almost done

* apply review

* rename FileReader.xx to filereader.xx

* rename Unlogger.x->unlogger.x

* rename FrameReader.xx -> framereader.xx

* apply reviews

* ui.h

* continue

* fix framebuffer.cc build error:mv util.h up

* full path to msm_media_info

* fix qcom2 camerad

Co-authored-by: Comma Device <device@comma.ai>
2021-05-08 22:15:17 -07:00
Willem Melching
34328ba305 Remove panda set power functions (#20712)
* remove panda set power functions

* removed
2021-04-20 15:31:19 +02:00
Willem Melching
3c23226edc verify safetyParam read back from PandaState (#20384)
* verify safetyParam read back from PandaState

* update ref

* bump panda
2021-03-17 14:20:05 +01:00
Adeeb Shihadeh
dd74f09eab turn pigeon off when going offroad (#20296)
* cleanup

* power off pigeon

* comment

Co-authored-by: Comma Device <device@comma.ai>
2021-03-09 22:48:27 -08:00
Adeeb Shihadeh
312b681a46 cereal cleanup part 2 (#20092)
* car stuff

* thermal

* Revert "car stuff"

This reverts commit 77fd1c65ebd01abfa8493ae12c9e6b14f7ada976.

* panda state

* camera stuff

* start deg

* most is building

* builds

* planner + controls run

* fix up paramsd

* cleanup

* process replay passes

* fix webcam build

* camerad

* no more frame

* thermald

* ui

* paramsd

* camera replay

* fix long tests

* fix camerad tests

* maxSteeringAngle

* bump cereal

* more frame

* cereal master
2021-02-16 21:39:32 -08:00
Adeeb Shihadeh
000bd226aa Cereal cleanup (#20003)
* start cleanup

* fan speed

* cleanup dm

* fix cereal

* hwType -> pandaType

* update refs

* update refs

* bump cereal

* freeSpacePercent

* cereal master
2021-02-03 19:57:30 -08:00
Dean Lee
0b75a85adc Panda: use 'std::atomic<bool> connected' to ensure thread-safety (#19954) 2021-01-28 11:35:13 -08:00
Dean Lee
c4215d8476 Panda: refactor get_firmware_version, return std::optional<std::vector> (#19896)
Co-authored-by: Willem Melching <willem.melching@gmail.com>
2021-01-28 16:25:05 +01:00
Dean Lee
96cc633d91 panda: refactor get_serial, return std::optional<std::string> (#19895) 2021-01-28 16:21:18 +01:00
Dean Lee
b0c0de5b66 Fix panda: dangling pointer problem in can_receive (#19892)
* refactor can_receive

* still send empty msg
2021-01-26 16:04:38 +01:00
Dean Lee
5594b8f3cb Panda: replace pthread_mutex with std::mutex (#19909) 2021-01-26 14:57:55 +01:00
Shane Smiskol
5eea86cbf4 Abstract set_unsafe_mode function to Panda (#2431)
* Abstract set_unsafe_mode function to panda.cc

* whoops

* use uint16_t
2020-10-28 13:21:07 -07:00
Willem Melching
502cc665e0 Pigeon abstraction layer (#1977)
* pigeon abstraction layer

* Fix string literals

* more generic pigeon class

* add TTYpigon

* nicer tty error handling

* close tty fd on pigeon delete

* pigeon receive return std::string

* use sizeof

* max receive size to prevent infinite loop

* remove namespace

* add unistd include for usleep

* fix is pigeon

* Handle tty error in opening

* fix printing binary strings with dump.py

* fix pigeon build on macos

* Handle errors seperately

Co-authored-by: Comma Device <device@comma.ai>
2020-08-13 10:10:50 +02:00
Willem Melching
80acb32825 Panda abstraction layer in boardd (#1919)
* start on panda abstraction layer

* handle bulk transfer in library

* Safety model abstraction

* Abstract hw type into library

* Handle disconnect

* RTC stuff

* Fan control

* Health

* Panda fw version

* Read serial

* Power saving

* Power mode

* Cleanup pigeon thread init

* Rename safety setter variable name

* Remove comment

* Unused global cleanup

* malloc -> new

* whitespace

* Use std::thread

* Use std::thread for safety setter

* Cleanup igntion_last global

* Heartbeat

* logd

* More global cleanup

* Put back sleep

* ir pwr

* Always broadcast health

* init struct with zeroes

* Fix eon build

* fix race condition

* fix Adeebs comments

* abstract can send and receive
2020-07-31 23:14:31 +02:00