Commit Graph

77 Commits

Author SHA1 Message Date
Willem Melching 651d4ce031 --std=c++17 (#2330)
* switch to c++17

* more 17

* 1z

* use std::clamp

* Fix types in clamp

* bump submodules

* bump laika

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 339d1967cb
2020-10-17 13:33:12 -07:00
ZwX1616 dae628002f Clean up and test camerad refactor (#2310)
* refactor

add function get_camerabuf_by_type

remove cl_free

use camera_id

move front stuff into frontview_thread

bigger refactor

more

typo

rename camerabuf *c to *b

cleanup header files

remove wideview_thread

camera_qcom.c to c++

fix SConscript

camera_process_buf

space

sendrgb same with before

do autoexposure in processing_thread

correct sendrgb

add camera_common.cc

move yuv_transform to CameraBuf

* use C to keep consitent

* rebase master

* rebase master

* continue refactor

* refactor all camera related data&function out of main

 done

* cleanup

* -use buf.rgb_width&height

* remoe ,

* rebase master

* remove unused std::vector

* add func common_camera_process_front

* fix max

* fix sendrgb

* less crap being logged

* fix indents

* add back thumbnails

* thumbnail fixed on tici

* junk junk junk

* unify api

* fix ptr ref

* lol!

* cleanup

* more simplified

* typos

* remove terminate

* use standard polling

* ops_thread refactor, too much code!

* fix build

* ok

* assert

* listen

* incl more

* wq!

* fix more build

* macos

* fix exp targets

* front is different

* const

* bye

* remath

* remove irrelevant

* do ops in a thread

* fix init

* return null

* QCOM2 ops

* qcom2 build

* missing comma

Co-authored-by: deanlee <deanlee3@gmail.com>
Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 6b020241c9
2020-10-16 21:58:05 -07:00
Adeeb Shihadeh fb935fa5f7 Build openpilot with webcam support in CI (#2070)
old-commit-hash: f4e18e0b74
2020-10-16 15:16:17 -07:00
Willem Melching 498ecbdf3c Params refactor, simplified (#2300)
* always c++

* Create C++ params class

* get works

* tests hang now

* passes tests

* cleanup string formatting

* handle interrupt in blocking read

* fix memory leak

* remove unused constructor

* Use delete_db_value directly

* Rename put -> write_db_value

* filename cleanup

* no semicolons in cython

* Update common/SConscript

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

* add std::string version of delete_db_value

* This is handled

* cleanup encoding

* Add clear method to clear all

* add persistent params

* fix android build

* Should be called clear_all

* only import params when needed

* set params path on manager import

* recusrively create directories

* Fix function order

* cleanup mkdirp

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 2e182e5c57
2020-10-13 16:23:23 +02:00
Dean Lee bf08763a3a fix webcam build error (#2320)
old-commit-hash: 8fc9cfea38
2020-10-11 22:45:19 -07:00
ZwX1616 a54d95fdbb Test camerad in CI (#2297)
* remove unused junk

* check frame pkts

* from magic

* self

* cleanup

* add todo

* no opencv

* run in J

* fix conv

* make 250x faster

* abs

* should be +1

* depends on starting phase

* block on furniture refactor

* fixed

* restart test

* check ex

* need scaling
old-commit-hash: cb58e79ee8
2020-10-09 16:31:25 -07:00
ZwX1616 9fd7cfc95a tici camera art II (#2223)
* protect highlights

* fix modeld scale factor

* rewrite logic for accurate and smooth AE

* fix condition

* tune speed

* move to qcom2

* not exactly 2x

* avoid hunting due to ettr policy

* tune to new curve

* gain kickdowns

* log params

* 4x legroom

* no limit needed here

* simple lowpass

* tweak

* pin to a remote core

* speedup AE and lower night exp

* this curve makes more sense

* tuning from fleet data

* fix ui

* only qcom2

Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 00b642146f
2020-10-09 16:26:43 -07:00
ZwX1616 fa54bf9be4 Fix dcamera inaccurate fps on OP3T and LP3 (#2305)
* fix op3t pclk

* fix leeco fps
old-commit-hash: 84e83e88a3
2020-10-09 11:26:32 -07:00
ZwX1616 db55c1cca3 Refactor loggerd rotations (#2247)
* loggerd:refactor rotate encoder

* change notify_all to notify_one

* finish

* cancelWait

* start front_encoder_thread on need

* rebase master to resolve conflict

* tici qcam works, but

* ifs are ugly

* synced rotate off frame ids

* only start counting frames after modeld alive

* typo

* fix some bugs

* never over rotate

* works

* missing space

* zero frame count tolerance

* lol

* add back omx race protection

* not need that

* not to confuse different locks

* playing with locks is playing with fire

* tici now has qcam

* size is overrated

* make cppcheck happy

* fall back if no camera

* warn

* missing condition

* first is freestyle

* no stream id before connecting

* wait for increment

* first will be imperfect

* wait is futile

* block frames when writing state

* just log write time

* exit loops when exit

* tici qcamera

* fixed

* add atomics

* incl

Co-authored-by: deanlee <deanlee3@gmail.com>
Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 2b974150c4
2020-10-03 07:56:16 -07:00
Comma Device 34293f1404 qcom2 needs cc conversion (#2125)
old-commit-hash: b94b435387
2020-09-24 22:52:35 +00:00
Dean Lee f57c4d3052 camerad: close file descriptors (#2065)
* close file descriptors

* fix struct indent

* add some new lines
old-commit-hash: 9f34d1ff66
2020-09-24 13:39:27 -07:00
ZwX1616 6045fd3b1c tici camera art (#2188)
* nerf highlights

* prioritize less noise

* no overhead

* make focus easier

* cant finetune under high gain

* add some comments

* inspired by xx mindset

Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 911206fc41
2020-09-18 11:43:41 -07:00
Adeeb Shihadeh 241ed1b312 these should be debug logs
old-commit-hash: 92922ce2ae
2020-09-17 13:14:18 -07:00
Adeeb Shihadeh bdf52941c8 Improve realtime performance on NEOS (#2166)
* fix setting core affinity

* dmonitoringd doesn't need rt priority

* android only gets two cores

* model and planner get core 2

* log missed cycle count

* neos update

* prod image

* revert NEOS changes

* still need this
old-commit-hash: ef21b83937
2020-09-16 15:33:12 -07:00
Adeeb Shihadeh 0caedb9195 bump max vision clients for tici
old-commit-hash: 0604f194b3
2020-09-14 21:29:46 -07:00
Comma Device d1c9b43931 fix tbuffer img tearing
old-commit-hash: c9183c11bd
2020-09-15 03:32:29 +00:00
ZwX1616 fb77feccd8 improve tici camerad robustness (#2135)
* equalize performance on three threads

* need to request first

* clean up indexing

* obsolete

* handling skips and drops

* clean up repeated chunks

* use main frame id

* oneshot

* real skip check

* move to test

* should be cropped H here

Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 13588e4255
2020-09-14 16:05:57 -07:00
Adeeb Shihadeh ac3422fc0f message builder (#2161)
* use custom MessageBuilder from cereal

* use MesageBuilder.toBytes

* bump cereal

* unused

* another one

* fix ui msg

Co-authored-by: deanlee <deanlee3@gmail.com>
old-commit-hash: 4d5733924a
2020-09-12 21:48:15 -07:00
Comma Device c52cafe1a3 remove recurrent LOGD and prints
old-commit-hash: 18884743a6
2020-09-01 20:15:39 +00:00
Comma Device a3cb6cb5a5 use buffered meta
old-commit-hash: 80838f3693
2020-09-01 18:55:15 +00:00
Adeeb Shihadeh afafacabbb Remove opencv from phonelibs (#2107)
* remove opencv from phonelibs

* clean that up too
old-commit-hash: 63436373d2
2020-08-30 18:23:23 -07:00
Adeeb Shihadeh 91ac4efab2 driver monitoring cleanup (#2101)
* read rhd from param

* don't need that anymore

* fix build

* bump cereal

* read param from camerad too

* add read_db_bool helper

* bump model replay ref commit, IsRHD wasn't set
old-commit-hash: 349040d958
2020-08-29 17:16:00 -07:00
Willem Melching c441f12924 open by path instead of number
old-commit-hash: 658e9d8316
2020-08-27 09:44:52 +00:00
robbederks 7671d18467 Tici camerad (#2048)
* fix camera config

* typos

* oops

* more typo

* lambless

* forget to send

* visualize hist

* more typo

* 0xC000

* simple

* data loss prevention, clean up later

* loggerd

* back up code

* backup

* fixed memory leak

* fix vsync

* upload ecam

* WB

* 3stream

* fix OMX crash on loggerd rotation

* rewritten debayer kernel

* update viewer

* improved AE

* no artifact lines/grids

* standard trigger

* cleanups

* CCM

* cleanups

* slight tweak

* upd push sock

* build all these

* update tele fl

* update cereal

* upd viewer

* DualCameraState -> MultiCameraState

* cameras_open

* disable frame zmq push by default

* more cleanup

* no apks

* fix submodule error

* wat

* clean up trash

* remove junk

* only build on qcom2

* no need to check these

* update cereal

* some more minor cleanup

* bump panda

* add todo

* minor typo

* Revert "minor typo"

This reverts commit 9233a1df7cac214fae6827cdae3a10cb3bd060d9.

* not care

* use consistent hdr

* some cleanup

* Update selfdrive/camerad/main.cc

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

* more cleanups

* remove irrelevant stuff

* this too

* cleanup

* rerun ci

Co-authored-by: ZwX1616 <zwx1616@gmail.com>
Co-authored-by: Tici <robbe@comma.ai>
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 37d6472bfa
2020-08-26 19:59:56 -07:00
Dean Lee bf750511a1 add function cl_get_device_id (#1948)
* add func cl_get_device_id

cleanup

* add fix from review
old-commit-hash: d158837617
2020-08-17 11:24:39 +02:00
Adeeb Shihadeh 44467a376f exit camerad cleanly on PC (#2035)
old-commit-hash: 862259a94b
2020-08-16 16:11:09 -07:00
Adeeb Shihadeh 017b084154 Alert when updated consistently fails (#2013)
* alert when update fails more than 10 times

* bring over offroad alert refactor from other branch

* and we have tests

* use it in snapshot

* bump apk

* don't show exceptions on release branches

* only write when changed

* why does delete use so much cpu

* clean that up

* little more
old-commit-hash: 8e63f06540
2020-08-11 16:23:57 -07:00
Dean Lee a81c4ebd79 camerad: protect concurrent access to shared variables and avoid race conditions (#1966)
* Protect concurrent access for shared resources

* fix
old-commit-hash: f3fb406eee
2020-08-11 11:40:11 -07:00
Dean Lee 066398a49a camerad: close ops_sock in camera_close (#1998)
old-commit-hash: 55ece6991e
2020-08-08 15:55:09 -07:00
Dean Lee 0d76ecc156 release opencl objects (#1978)
old-commit-hash: fb41b984b0
2020-08-06 15:44:26 -07:00
Dean Lee f49c319d14 camerad: cache rgb_roi_buf&conv_result (#1979)
lgtm
old-commit-hash: c1e7b761a9
2020-08-05 13:39:03 -07:00
Willem Melching daaefd6cca qcom2 build fixes
old-commit-hash: 405d94ec6d
2020-07-27 16:13:25 +00:00
Adeeb Shihadeh cdfb090c7a Wunused (#1841)
* enable Wunused, first pass

* unused stuff in snpe model

* these are used on phone

* handle sigint and sigterm in modeld

* fix phone build

* camera qcom

* QCOM build works

* delete unused camerad vars

Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: eb1aa3d831
2020-07-09 09:25:32 -07:00
ZwX1616 b7643a0c40 Reduce C2 dcamera noise at night (#1798)
old-commit-hash: 1036c68251
2020-06-30 19:58:40 -07:00
ZwX1616 b954e6e93d camerad: don't crash zmq if get interrupt from msgq (#1790)
* not crash zmq if get interrupt from msgq

* also filter eagain
old-commit-hash: 55aee68ca0
2020-06-26 18:11:36 -07:00
ZwX1616 9bca4bfb20 recover EON/C2 AF (#1665)
old-commit-hash: 3aa99a01d7
2020-06-23 14:33:32 -07:00
George Hotz 5d069eb8c3 Fixups for Mac, and a bunch for PC (#1654)
* fix mac nui

* fix cereal

* builds on mac without warnings

* ui swap shouldn't be instant on pc

* camerad builds on mac

* modeld, and now everything, builds on mac

* ui draws pictures on mac now

* fix camerad shutdown

* support ui looping on pc

* python3 on that

* SCNu64 should be cross platform

* bump cereal and new apk

* clean up

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 344a9a3699
2020-06-11 18:21:59 -07:00
Jason Young ebed52527b Reduce scheduler latency for realtime processes (#1638)
* WIP: reduce boardd and other lags

* Copypasta fault

* Silence spurious startup warning

Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 68531b071c
2020-06-05 17:09:41 -04:00
Willem Melching ce6dd8d4e9 Model + camerad test (#1622)
* kind of works

* move that

* hack to get camerad to reliably terminate

* not sure why SIGTERM wasn't working before

* compare bytes

* clean up some hacks

* gitignore

* fix that

* WIP

* no reboot

* comparison works

* pretty print

* fix build

* run in jenkins

* python path

* space

* raise timeout

* new eon

* skip the copy

* spinner

* spin less

* update model ref commit

* reenable that

* clean up

* fix jenkinsfile

* parallel

* wrap it in a stage

* fix linter

* better progress

* lower timeout

Co-authored-by: Comma Device <device@comma.ai>
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 63c8e8439b
2020-06-04 18:57:25 -07:00
Adeeb d035394ce7 Add pre-commit hooks (#1629)
old-commit-hash: ab83e48ec4
2020-06-03 12:54:49 -07:00
Adeeb Shihadeh be0b43f339 enable flake8 E231: missing whitespace after comma
old-commit-hash: efd5dffb1e
2020-05-31 12:49:11 -07:00
Adeeb 7965569766 Flake8 E22X (#1607)
* e221

* e225

* bump opendbc
old-commit-hash: 6051061ff8
2020-05-31 00:48:47 -07:00
Adeeb 5e857427ba Enable more flake8 checks (#1602)
* enable some more flake8 checks

* some more quick ones

* bump opendbc

* e401

* e711 e712

* e115 e116

* e222

* e301

* remove that

* e129

* e701 e702

* e125 e131

* e227

* e306

* e262

* W503

* e713

* e704

* e731

* bump opendbc

* fix some e722
old-commit-hash: d9bf9f0a40
2020-05-30 20:14:58 -07:00
Willem Melching 2ac27def5a Running pre-commit in CI (#1590)
* Running pre-commit in CI

* fix dockerfile syntax

* dont run on submodule repo folders

* Fix some import errors in ci

* more stuff

* That should be the last one
old-commit-hash: ba2ac1207a
2020-05-28 15:40:48 -07:00
Willem Melching 12a306021d flake8 in pre-commit(#1583)
old-commit-hash: 29aaa44740
2020-05-27 20:33:05 -07:00
Willem Melching 7f0b3180a4 Use C++ version of SubMaster and PubMaster (#1548)
* add PubMaster & SubMaster

remove 'delete msg'

remove headers

* use constructor to initial all submster

* modify drain sockets

* fix typo in ssconscript.remove lines

no checkValid in loggerd

last modify

handle_message:event->&event

fix type

remove heads

event to auto

* new interface

* api changed

* Revert "use constructor to initial all submster"

This reverts commit 73be7ea46250a325ce41d3a0445e34395a2ae692.

* change to new api

* revert loggerd

* dd

* use new PubSub api

* update to new interface

don't modify loggerd

reset panda

reset opendbc

remove empty lines

* switch to new pubMaster

* update to the new inteface

change

remove error code

. to ->

merge paramsd.cc

update panda

fix typo

simplify

fix typo

* Fix build

* always conflate

Co-authored-by: deanlee <deanlee3@gmail.com>
old-commit-hash: ab5af232b2
2020-05-21 16:04:33 -07:00
Dean Lee 0b0674ef20 camerad: move c-capnp to c++ (#1472)
* convert c-capnp to c++

change paramater type

* remove c-capnp header from commonmodel.c

* unsigned short -> uint16_t

* MSM_CAMERA_I2C_ADDR_TYPE_MAX->4
old-commit-hash: b6d6f52032
2020-05-07 20:14:30 -07:00
Adeeb Shihadeh 7bc6491502 these don't need json
old-commit-hash: 9670f8fb9f
2020-05-04 23:37:07 -07:00
George Hotz 16cbb5e255 Revert "Bypass alignment related copy whenever possible (#1443)"
This reverts commit 235d4f8957ee4566d6217783638fa58a586bb35a.

old-commit-hash: d5ca841b0f
2020-05-04 09:54:05 -07:00
ZwX1616 aada0e9a66 bad AF state logging (#1365)
old-commit-hash: 968e2585cc
2020-05-02 21:40:43 -07:00