Commit Graph

252 Commits (master)

Author SHA1 Message Date
Mayfield 5246f0231e
enable wshadow (#22756)
* enable wshadow (#22714)

* fix replay

* more build fixes

Co-authored-by: Willem Melching <willem.melching@gmail.com>
2021-11-02 17:08:53 +01:00
Dean Lee 7486a42935
boardd: pass std::vector pandas by reference (#22741) 2021-10-30 15:34:33 +02: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
Robbe Derks 21c4bfc7be
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>
2021-10-28 11:23:19 +02:00
Adeeb Shihadeh 5b331fd6f5
don't set core affinity on PC (#22706) 2021-10-26 21:51:46 -07:00
Adeeb Shihadeh 93d87cdc6f test_boardd: don't modify environment at import time 2021-10-25 09:47:07 -07:00
Adeeb Shihadeh b5960b9dc8
move nose tests to unittest (#22665)
* move to unittest

* boardd loopback

* no more nose

* phone only

* fix panda decorator
2021-10-25 09:44:04 -07:00
Adeeb Shihadeh 84de248fa7
tici: affine loggerd to efficiency cores (#22581) 2021-10-18 13:21:24 -07:00
Adeeb Shihadeh 2f1ab63920
boardd: reduce unnecessary allocations (#22494) 2021-10-08 16:16:23 -07:00
Robbe Derks 91987f38d4
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
2021-10-08 17:54:34 +02:00
Willem Melching 43d9478740
boardd: fix context leak in init_usb_ctx (#22472) 2021-10-07 13:24:38 +02:00
Willem Melching b9797259ed boardd: lower log level for ublox msg timing issues 2021-10-07 11:07:43 +02:00
Willem Melching 3e854b8351
safety_setter_thread: exit on ignition low (#22426) 2021-10-04 15:00:25 +02:00
Dean Lee 47f601e50a
boardd: wait for safety_setter_thread to finish while quitting panda_state_thread (#21961)
* rebase master

* merge master

* merge master

* remove space
2021-10-04 14:38:35 +02: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
Willem Melching abaa7b2d55
Don't send empty pandaState from panda_state_thread (#22393) 2021-10-01 09:05:33 +02:00
Willem Melching a60f3c6a35
move acados deps out of devpackages (#22376)
* move acados deps out of devpackages

* fix new pylint errors
2021-09-29 23:20:33 +02:00
Dean Lee e90eb79ceb
boardd: new function get_time_str (#22158)
* new function get_time_str

* apply review
2021-09-13 10:32:12 -07:00
Jason Young 5a4d03da29
VW MQB: Fixes for network location detection (#22174)
* VW MQB: Fixes for network location detection

* apply review suggestion

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

* FP back to 100ms; VIN state poll at 50Hz

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2021-09-09 17:49:31 -07:00
Dean Lee a077b8a566
panda: call libusb_free_device_list before libusb_exit (#22162) 2021-09-07 15:52:34 -07:00
Dean Lee c61e7c7898
Panda::list: remove call to libusb_release_interface (#22157) 2021-09-07 15:51:06 -07:00
Dean Lee 83cd67ddb5
panda: fix dev_list may be freed twice on failure (#22161) 2021-09-07 15:12:38 -07:00
Dean Lee f02c8d0e2c
Handle EINTR for all syscalls that can return it (#21948) 2021-08-31 16:22:56 -07:00
Dean Lee 8008cf5547
boardd: remove global panda (#21962) 2021-08-31 07:25:53 -07:00
Adeeb Shihadeh 0e3462e051
fix boardd reconnect loop (#22081)
* fix boardd reconnect loop

* add that back
2021-08-30 21:25:48 -07: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
Dean Lee 3b0b20ba4b
panda_state_thread: replace stoi with atoi (#21981) 2021-08-27 14:25:24 -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
Willem Melching 25de93d133
C3 AE improvements (#21698)
* AE improvements

* boardd: also use gain to compute IR brightness

* use default rect for DM autoexposure

* more smooth

* whitespace

* camerad cpu usage

* hcg on is slightly better for noise

* hysteris around high conversion gain

* improve i2c timing

* use AB contexts

* HCG default off

* run at 10 hz

* stay in context A for now

* remove ae thread

* wait till next frame is started before sending i2c

* back at 20fps

* add comment and filter across 3 evs

* remove context switch code

* tuning

* recomened without HCG is 0.8x
2021-08-05 16:34:36 +02:00
Willem Melching d7ab611bb0 boardd: remove ir multiplier after AE revert 2021-07-23 10:26:00 +02:00
Willem Melching 49c618946c
Increase IR filter time constant to 30 seconds (#21666) 2021-07-20 18:15:35 +02:00
Willem Melching 1c40b8092c
fix dcam AE feedback loop with IR LEDs (#21651) 2021-07-19 12:41:32 +02:00
Igor 8e3d7a43c3
bump cereal
* bump cereal

* TIM9 to TICK in boardd.cc
2021-07-13 21:42:49 -07:00
Willem Melching e7476943b6
Stay in ELM327 mode during controls init (#21386) 2021-06-24 13:12:03 +02:00
Willem Melching 2e3aa81ce5 revert changes to boardd safety mode setting 2021-06-22 18:44:55 +02:00
Willem Melching a8fac002ae
Honda Bosch longitudinal prerequisites (#21217)
* untested changes

* set compute_gb

* community feature for good measure

* add code for rolling backwards

* init needs CarParams

* stay in elm mode until carParams is written

* fix tester present bus number

* fix can errors

* fix enableCruise flag

* print when radar disable is done

* move retry logic to controlsd

* move lookup table into carcontroller params

* cleanup brake error values

* make init return

* that should be 1

* floats

* back to no failure handling

* try simplify knockout

* bump panda

* Move flags to panda

* add warnings

* Revert "try simplify knockout"

This reverts commit 4f496245791ea6bd041d4412b96035c6b434b91c.

* add note about LoC.long_control_state

* update ref
2021-06-22 16:28:11 +02:00
Dean Lee e4e669bb0f
add space after function name and if statement (#21225) 2021-06-11 10:17:52 +02:00
Dean Lee ee46672d3c
Passing arguments by reference (#21205) 2021-06-09 14:09:02 +02:00
Dean Lee c53cb5d570
Use C++ header files instead of C header files. (#21192)
* use cstring instead of string.h

* use cstdio instead of stdio.h

* remove inttypes.h

* use cstdlib instead of stdlib.h

* use cstdint instead of stdint.h

* #include <cstddef>

* cstdlib

* use cmath

* remove stddef.h

* use cassert

* use csignal

* use ctime

* use cerror

* rebase master
2021-06-08 13:46:22 -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
ShaneSmiskol 36beaf0d68
Add CLEAR_ON_IGNITION_OFF param type (#21121) 2021-06-03 15:21:53 -07:00
robbederks 4a24d389c4
Add harness connection as requirement for powerdown (#21087)
* add harness connection as requirement for powerdown

* fix unittests
2021-05-31 13:32:26 +02:00
Willem Melching ea5141d909
Store almanac on ublox poweroff (#20967)
* Store almanac on ublox poweroff

* send current UTC time

* move message building to ublox_msg.h
2021-05-20 11:43:03 +02: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
HaraldSchafer e5f93ef142
Add ublox interference monitor (#20911)
* add interference monitor

* new thresholds

* correct labels

* always run for test

* new msg

* add flag

* Revert "always run for test"

This reverts commit b04b92ac2d.

* add hw status flags
2021-05-14 15:23:27 -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 ab319d4f54
Replace ifdef with hw abstraction layer (#20843)
* Replace ifdefs with hardware abstraction layer (#20801)

* add type to class hadwareXXX

* replace ifdefs with hardware layer

* continue

* continue

* new function get_driver_view_transform

* full path to hw.h

* fix build error setup.cc

* apply review

* fix typo

* fix deprecated error:replace deprecated fromPath with new

* fix build error

* Fixes after ifdef clenaup (#20842)

* inheritance doesnt work with static

* fix debayer

* small cleanup

* Update selfdrive/camerad/cameras/camera_common.cc

* Update selfdrive/ui/qt/offroad/settings.cc

* Update selfdrive/common/modeldata.h

* flip conditions

* fix comment

Co-authored-by: Dean Lee <deanlee3@gmail.com>
2021-05-06 14:39:05 +02:00
Willem Melching 3a95d3ccaa Revert "Replace ifdefs with hardware abstraction layer (#20801)"
This reverts commit 757d2923d2.
2021-05-06 12:29:30 +02:00
Dean Lee 757d2923d2
Replace ifdefs with hardware abstraction layer (#20801)
* add type to class hadwareXXX

* replace ifdefs with hardware layer

* continue

* continue

* new function get_driver_view_transform

* full path to hw.h

* fix build error setup.cc

* apply review

* fix typo

* fix deprecated error:replace deprecated fromPath with new

* fix build error
2021-05-06 11:41:46 +02:00
Adeeb Shihadeh b4447993c1
add CLEAR_ON_IGNITION param type (#20810) 2021-05-04 11:32:40 -07:00
Adeeb Shihadeh 8a280fbb8e bump cereal 2021-05-03 20:47:11 -07:00
Adeeb Shihadeh 6954eb6259
clear controls ready flag on falling edge of ignition (#20807) 2021-05-03 19:09:42 -07:00
Adeeb Shihadeh f9a961f6fb
delay controls start (#20761)
* delay controls start

* shouldn't need this stuff anymore

* only delay board

* bail after 2s

* fix loopback test

* fix process replay

* update refs

* bump cereal

Co-authored-by: Comma Device <device@comma.ai>
2021-04-30 13:55:17 -07:00
Dean Lee e151425c1c
reserve space for vector of can_frame (#20771) 2021-04-28 13:50:21 -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 f7e276fcce pigeon init add max retry count 2021-04-15 16:49:09 +02:00
Willem Melching a163daf5e0
Improve robustness of ublox init procedure (#20685)
* improve ublox init robustness

* cleanup

* only log if running at 1hz

* not needed
2021-04-15 14:11:53 +02:00
Adeeb Shihadeh 1adf34f033
update time from RTC on manager init (#20678)
* set time on manager init

* earlier

* handle exception

* logging

* add to release files

* run in launch script too

Co-authored-by: Comma Device <device@comma.ai>
2021-04-14 12:04:02 -07:00
Adeeb Shihadeh 9edda6fbc1
tici: offline big cluster while offroad (#20668)
* tici: offline big cluster while offroad

* shuffling

Co-authored-by: Comma Device <device@comma.ai>
2021-04-12 23:06:24 -07:00
Willem Melching 4dd4b12140
Ubloxd cleanup (#20637)
* clean out locationd/test

* get rid of ubloxd_main

* remove ubloxd_test.cc

* less includes
2021-04-09 18:01:24 +02:00
Willem Melching 8ede1b30aa
tici: move real-time processes to high-performance cores (#20634) 2021-04-09 13:41:43 +02:00
Comma Device 28a5db2e6a boardd: log slow hwmon reading 2021-04-09 00:13:01 -07:00
Adeeb Shihadeh ed0b831736
script to set time from panda RTC (#20532)
* read time

* set time

* comment

* only adjust time when sys time is invalid

Co-authored-by: Comma Device <device@comma.ai>
2021-04-02 21:30:37 -07:00
Willem Melching 301b755179
cloudlog on RTC read/write (#20536)
* cloudlog on RTC read/write

* log with correct offsets

* log old rtc time when updating

* compute dt

* fixes

* utc

* if more than 1
2021-03-30 11:29:58 -07:00
Dean Lee 98e55996f6
Params: python-like interface (#20506)
* rebase master

* delete outdated test_params.c

* putBool & more robust getBool

* putBool(SshEnabled)
2021-03-30 12:54:59 +02:00
Willem Melching 0a88304e8d
use class AlignedBuffer (#20388)
* use class AlignedBuffer from cereal (#20343)

* AlignedBuffer

* move AlignedBuffer to cereal/messaging.hpp

* rename function aligned to get

* use overloaded function AlignedBuffer:: get(Message *)

* use AlignedBuffer

Co-authored-by: Dean Lee <deanlee3@gmail.com>
2021-03-17 14:43:23 +01: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
Willem Melching e3ad952902 Revert "use class AlignedBuffer from cereal (#20343)"
This reverts commit 7aa379e123.
2021-03-16 20:21:03 +01:00
Dean Lee 7aa379e123
use class AlignedBuffer from cereal (#20343)
* AlignedBuffer

* move AlignedBuffer to cereal/messaging.hpp

* rename function aligned to get

* use overloaded function AlignedBuffer:: get(Message *)
2021-03-16 11:13:15 +01:00
Willem Melching 8573bdbf2f ublox logs level logging.debug -> logging.info 2021-03-15 12:53:54 +01:00
Willem Melching aaf9ceac4b boardd.cc: lower log level of ublox timing issues 2021-03-15 12:14:30 +01:00
Willem Melching 70d683261c boardd: stricter ublox logging 2021-03-10 14:50:26 +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
Willem Melching d66661fa67 boardd: 0.9s timeout, only log no reset 2021-03-09 17:54:40 +01:00
Willem Melching 6884d7c9bd boardd: increase CLASS_RXM timeout 2021-03-09 17:28:19 +01:00
Willem Melching fbdeee5738 boardd: remove check on CLASS_MON 2021-03-09 15:45:22 +01:00
Willem Melching fff5cde352 board: respect 10 second ublox init time 2021-03-09 12:05:16 +01:00
Willem Melching 4fc81c2a08
Boardd: Track ublox message frequency and re-init (#20278)
* track message frequency

* also keep old reset trigger

* cleanup

* improve comments

* Add 10 seconds

* these are now signed

* also check ignition last

* cleanup

* correct include

* lower threshold

* dont clear map
2021-03-09 11:49:58 +01:00
Dean Lee 12928cdae2
use cached buffer for FlatArrayMessageReader (#20233) 2021-03-08 11:02:21 +01:00
robbederks 35b43d2084
also shutdown on tici (#20130) 2021-02-22 15:46:22 +01:00
Adeeb Shihadeh 312b681a46
cereal cleanup part 2 (#20092)
* car stuff

* thermal

* Revert "car stuff"

This reverts commit 77fd1c65eb.

* 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 4ace476f14 fanSpeedRpmDesired -> fanSpeedPercentDesired 2021-02-11 17:00:26 -08:00
Dean Lee 2a935a2010
boardd: check do_exit in usb_retry_connect (#20007) 2021-02-08 12:01:12 +01: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
robbederks 99d58193e4
implement ublox MON_HW2 message (#19962)
* implement MON_HW2 message

* didn't mean to remove this
2021-02-03 13:09:44 +01:00
Dean Lee 13ea8b5fc9
move global connected_once into function static (#19999) 2021-02-02 14:39:19 +01:00
Dean Lee 91504176e4
Don't call function in assert (#19997) 2021-02-02 13:18:11 +01:00
Dean Lee b06da51892
Pigeon::receive: reserve 4kb+64b for std::string (#19951)
* receive: reserve 4kb+64b for std::string

* fix bug
2021-02-01 16:22:16 +01:00
Robbe Derks 935b9ceb05 Add back replay_many script for unlogging over jungles 2021-02-01 15:54:19 +01:00
Dean Lee 3fde3a5f7d
pigeon_thread: ensure the pigeon->init() will not be called twice (#19963)
* ensure init is not called twice

* add space
2021-01-31 12:55:11 -08:00
Dean Lee b0c8ce4863
pigeon_publish_raw: use capnp::Data::Reader instead of Builder (#19952) 2021-01-30 19:16:21 -08:00
Dean Lee 4d6584a315
boardd: remove global variables spoofing_started&fake_send (#19966) 2021-01-31 00:02:03 +01:00
Dean Lee edc2b3f67c
fix panda: remove uninitialized err and check after (#19974) 2021-01-30 23:59:49 +01:00
Dean Lee dd3a260676
boardd: refactor usb_connect, delete panda on failure (#19956) 2021-01-29 13:10:56 +01:00
Dean Lee c723bbd6be
Panda: add check for connected in usb_read (#19957) 2021-01-29 13:00:49 +01: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
Adeeb Shihadeh 8c31ab3cee
remove legacy reset line support (#19770) 2021-01-27 14:19:49 +01:00