Commit Graph

125 Commits

Author SHA1 Message Date
Dean Lee e9f2954ee5 loggerd: remove 'enable' from struct LogCameraInfo (#25052)
remove enalbe
old-commit-hash: 568cc0f892d650bd5906b59e1ab169158a7a6bf7
2022-07-07 10:54:56 -07:00
Dean Lee 1b725b5005 loggerd: remove rotate_lock (#24969)
remove lock
old-commit-hash: 748bbac3444cc30e6dafc2f0bda60b46f3fc8d5a
2022-06-27 11:19:46 +02:00
Willem Melching 753045c73d less TICI when not needed (#24698)
* less TICI when not needed

* fix process replay

* move reading voltages into hw abstraction layer

* Update selfdrive/hardware/tici/hardware.h

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

* Update selfdrive/hardware/hw.h

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

* Update selfdrive/hardware/base.h

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

* rename init function

* Update selfdrive/athena/athenad.py

Co-authored-by: Robbe Derks <robbe.derks@gmail.com>

* Update selfdrive/boardd/boardd.cc

* Apply suggestions from code review

* Update selfdrive/thermald/thermald.py

* update ref

* fix alert width if all cameras are bad

* add ecam to test_loggerd

* bump cereal

* bump cereal

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
Co-authored-by: Robbe Derks <robbe.derks@gmail.com>
old-commit-hash: f49a9c9fd2100a4f1401a93d88064ddbbbd935c1
2022-06-02 15:20:51 +02:00
George Hotz 109916df80 loggerd: Fix loggerd encode packet drops (#24599)
* hmm, try this

* hmm, try this

* rewrite handle_encoder_msg

* fix new logic

* add comments and an assert

* handle startup condition better

* handle restarts of encoderd

Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 0000ad2ac0996075481841221e9bcc842f2812d7
2022-05-20 00:02:50 -07:00
George Hotz a053d070be encoderd: enable (#24492)
* enable encoderd

* correct enable line

* fix loggerd tests

* fix power draw and cpu tests

* correct cpu for encoderd

* fix a bug, video_writer is shared

* fix issue with not recording dcam

* add recording state

* wooo tests pass. encode id keeps counting

* core 3

* loggerd then encoderd

* stop loggerd first

* core 3 always online

* see the camera when we see encoder packet

* encoderd on small core uses 37%

* remove encoder logic from loggerd

* delete unit test that doesn't really make sense anymore

Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 94b9972eb798408a3c412716b8d9eb8ddb9354bc
2022-05-13 17:56:02 -07:00
George Hotz eb9e57e070 encoderd: support remote encoder behind env var (#24490)
* remote encoder

* remote encoder on PC, fix type

Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: bd0cc655fbbfdafc0ef081be8558b4c773e76eda
2022-05-10 16:53:47 -07:00
George Hotz 1f4628bad5 encoderd: make work on PC (#24483)
* don't use the codec in video_writer

* this produces broken videos for some reason

* bugfix

* refactor on the class

* works on device

* fix codec

* no codec enum

* fix pc

* move into dirs

* these includes also

* rename it ffmpegencoder

* add avcodec_close

Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 2008db47c208f6f0fd661cc45f215bb80aef38d0
2022-05-10 15:20:51 -07:00
Willem Melching be08693d5c delay bz2 compression from logging to uploading (#24392)
* remove log_name

* log without compression

* fix tests

* remove extension for bootlog

* another test fix

* uploader compresses

* also compress in athena

* only compress qlog

* more generic check in do_upload

* fix bootlog compression

* lower loggerd cpu usage

* dont link against bz2

* set core affinity to little cluster

* handle old files
old-commit-hash: 77a6f3d034a7b17d70b750b9ea454310f4b8edf1
2022-05-03 14:09:17 +02:00
George Hotz 7119a98414 loggerd: switch to v4l encoder try 2 (#24380)
* start v4l encoder

* v4l encoder starts

* start and stop

* fill in proper controls

* it dequeued a buffer

* getting bytes

* it made a video

* it does make files

* getting close

* ahh, so that's how dequeue works

* qcam works (no remuxing)

* remuxing works

* we just need to make shutdown and rollover graceful

* graceful destruction

* switch to polling

* should work now

* fix pc build

* refactors, stop properly

* touchups, remove a copy

* add v4l encoder to release

* inlcude file

* move writing to it's own thread

* fix minor memory leak

* block instead of dropping frames

* add counter, fix tests maybe

* better debugging and test print

* print file path in assert

* format string in test

* no more oversized qlogs

* match qcam

* touchups, remove omx encoder

* remove omx include files

* checked ioctl, better debugging, open by name

* unused import

* move linux includes to third_party/linux/include

* simple encoderd

* full packet

* encoderd should be complete

* lagging print

* updates

* name dq thread

* subset idx

* video file writing works

* debug

* potential bugfix

* rotation works

* iframe

* keep writing support

* ci should pass

* loggerd, not encoderd

* remote encoder code

* support remote encoder

* cereal to master, add encoderd

* header no longer required

* put that back there

* realtime

* lower decoder latency

* don't use queue for VisionIpcBufExtra, disable realtime again

* assert all written

* hmm simpler

* only push to to_write if we are writing

* assert timestamp is right

* use at and remove assert

* revert to queue

Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 0baa4c3e2ad9ee6f8daba8267db44c2cd44caa62
2022-04-30 09:22:52 -07:00
George Hotz 6dde52671b loggerd: prereqs for deanlee loggerd omx encoder (try 2) (#24252)
* refactor encoders

* fix pc build

* buf_info

Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 0ac35a656acad2ecb2a394ddce1358cb41dfb4ab
2022-04-18 18:21:46 -07:00
George Hotz 9720bb37b5 loggerd: broadcast encoder data (#24177)
* encode data try 1

* fix pc build

* low quality compressed streamer with pyav

* nvidia streamer

* timestamp support

* fix latency measurement

* refactor

* camerastream updates

* fix linter

* compressed to vipc, clean

* remove print

* touchups

Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: dab978083b7014faa2aef2f43830e87323188578
2022-04-12 12:08:50 -07:00
George Hotz 0681a415e9 broadcast encode idx packets (#24176)
Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: cc8430b66866ba127ac0d753cee9168240d23102
2022-04-10 15:12:58 -07:00
Adeeb Shihadeh 1c4b6e38e9 loggerd: less error logging
old-commit-hash: 652ef27a7270ad770d8331347cffb2e3a4c07b45
2022-01-24 21:15:14 -08:00
Dean Lee 3e72a81dac Use std::unique_ptr to manage memory (#23168)
* use unique_ptr

* trigger ci

* move down loggerdstate
old-commit-hash: 4aa291c406752169f4d836e952708eeccbb36c5d
2021-12-13 14:16:53 +01:00
Dean Lee dd7c226097 util: move all functions into util namespace (#23203)
old-commit-hash: 9decd3d8a20167de684322a458e28c8d1f746f83
2021-12-12 14:42:23 -08:00
Adeeb Shihadeh 916c2ed588 loggerd: fix delayed exit from main thread
old-commit-hash: 5f36b4819970e11d4ffc2757f1d6a990b00881f7
2021-12-07 18:22:00 -08:00
Adeeb Shihadeh 1ca1d7a673 increase loggerd per-cycle service limit to 200
old-commit-hash: f71a03f967a283991442eed69d1fa9857a54e463
2021-12-06 22:08:17 -08:00
Adeeb Shihadeh f8146db9b9 loggerd: don't let a single service clog up the main thread
old-commit-hash: baf1a77ca293add06ed0407425a6216cff163bae
2021-12-06 19:31:11 -08:00
Willem Melching 3b8daea061 Clear loggerd locks once on boot (#23060)
* add test for clear_locks

* move to bootlog

* simplify test
old-commit-hash: a2f32fd3e18455ca2750f4a0a940ced2ca933163
2021-11-29 12:30:28 +01:00
Dean Lee 7f0beef092 loggerd: add test case for trigger_rotate (#23038)
* test rotate

* remove global LoggerdState
old-commit-hash: 1d323e0fd6e6050180bdf1b0a9793a4f52c47e9a
2021-11-26 14:53:09 +01:00
Dean Lee 987f87cc0e loggerd: split loggerd.cc into three files
old-commit-hash: 75dd0d6296753dea9f6817955ef975f8d543fd19
2021-11-23 17:53:49 -08:00
Adeeb Shihadeh 35bfdce477 loggerd: trigger rotate on frame id instead of frame count (#22848)
Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: ea761cbbd5103a589915ec3766b4d6056293cba6
2021-11-13 15:38:10 -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: 5246f0231e6bfa572c0dd89c60e538910817faa2
2021-11-02 17:08:53 +01:00
Dean Lee c401d7aff3 loggerd: fix concurrency issues in sync encoders (#22590)
* sync_encoders

* add variable camera_synced

* cleanup
old-commit-hash: 18caf3535b2049a0809cb3b01fde19d196e34e32
2021-10-29 12:21:02 +02:00
Adeeb Shihadeh bb7751fdb0 don't set core affinity on PC (#22706)
old-commit-hash: 5b331fd6f5333e24a632839b64cdeb9129ef923b
2021-10-26 21:51:46 -07:00
Willem Melching 0f77dd4506 loggerd: set encodeIdx.valid if frame id is correct (#22634)
* loggerd: set encodeIdx.valid if frame id is correct

* check valid flag in test

* test cleanup

* bump cereal
old-commit-hash: 89f311714cf3606c386fd1de52b27e24780b8174
2021-10-26 16:00:43 +02:00
Adeeb Shihadeh b773f6711c loggerd: always run encoders (#22649)
* loggerd: always run encoders

* fix raw logger

* bump loggerd cpu usage
old-commit-hash: 76bd932cf555305a1e00d723bb5bb69d7fba39e9
2021-10-21 16:37:03 -07:00
Adeeb Shihadeh 25cfa2b65a tici: affine loggerd to efficiency cores (#22581)
old-commit-hash: 84de248fa7cbee37ecb2fd6a9d4df50ba60a1e04
2021-10-18 13:21:24 -07:00
Willem Melching 4844f8196d remove loggerd todo about encodeIdx decimation
old-commit-hash: 377fe84948c069c3f00824c06e0ae40f2aa2616e
2021-09-08 12:16:16 -07:00
Willem Melching e49dd50f98 Disable encoder sync logic if only one rotate camera present (#22107)
* disable sync logic if only one rotate camera

* consistent brackets
old-commit-hash: 48035e9535ba362e382d01282a1475b4ace2778a
2021-09-01 23:08:06 -07:00
Willem Melching 60e7e09127 Ensure that first segment starts with all cameras on the same frameId (#22096)
* test that segment starts with the same frame id

* improve test

* add sync logic

* atomic max

* review comments
old-commit-hash: a93271a518b466cd83699acd8598a0361ee9a02b
2021-09-01 14:28:50 -07:00
Dean Lee ecf3ee7603 loggerd: create encoder threads from cameras_logged (#21875)
old-commit-hash: d9baaf7eb90f0815c4d635d33244975ad71876d2
2021-08-30 19:33:00 -07:00
Adeeb Shihadeh 277bd43b15 Revert "tici: give loggerd rt priority (#21503)"
This reverts commit 0a50cf851e79342cf3db01033bc91516c504cbea.

old-commit-hash: 54a4eeb0fccd92c3b2f872175cfedf136a1cfc71
2021-08-22 16:57:53 -07:00
Adeeb Shihadeh 5c1d1ebe76 tici: give loggerd rt priority (#21503)
* give loggerd rt priority

* assert

* little more

Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 7e2752c878a9e8c38639e4caa234bcabb979db2e
2021-08-20 21:27:31 -07:00
Willem Melching ae4f3c98d5 refactor loggerd: trigger rotate in encoder thread (#21860)
* trigger rotate in eoncode thread

* rotate in time

* lgtm

* dcam trigger rotate on C3

* check trigger rotate field

* Use >=

* add rotator thread

* set cnt to 0

* test encodeIdx is increasing across segments

* test both segmentId and encodeId

* fix encodeIdx

* no thread needed

* add log for failed to encode

* stricter C3 test, dont check start encodeId on C2 dcam

* only update last_camera_seen_tms when considered for rotate

Co-authored-by: deanlee <deanlee3@gmail.com>
old-commit-hash: a39873872de5b2239e4b89119974e5aa961eba48
2021-08-06 11:10:33 +02:00
Willem Melching f8edcd64c4 loggerd: power failure print sync done
old-commit-hash: dd128f591689464801d98f8251416af7f5ea6909
2021-07-12 12:28:07 +02:00
Adeeb Shihadeh d31397b84b segment regen (#21148)
* start seg regen

* send vipc

* fix up some paths

* set fp

* fix no entries

* engages

* seperate camera procs

* send real frames

* regen test routes

* nice argparser

* fix valgrind test

* move that

* fix that
old-commit-hash: 4a1aec27efb48bdba1d267c86ef66c8a044c4986
2021-06-28 21:44:40 -07:00
Dean Lee 147b355dde add space after function name and if statement (#21225)
old-commit-hash: e4e669bb0fc1a919dfb38800099f8e3ad52346f1
2021-06-11 10:17:52 +02:00
Dean Lee f70a79b838 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
old-commit-hash: c53cb5d570adb82bc454fcabab458d7e7f09738c
2021-06-08 13:46:22 -07:00
Willem Melching 80ec32bcf3 loggerd: put signal in end of route sentinel (#21025)
old-commit-hash: 6e22f16ddb03eaa030d5e6a16039c193808e7586
2021-05-25 17:34:40 +02:00
Dean Lee e333e4f189 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>
old-commit-hash: 7222d0f20dc8edfe0d2f3417d1ce7c84fbd32805
2021-05-08 22:15:17 -07:00
Willem Melching 78bf4f5867 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>
old-commit-hash: ab319d4f54a53e1a0aa1c2c0d94d56a9acef8362
2021-05-06 14:39:05 +02:00
Willem Melching 39c18d4c5a Revert "Replace ifdefs with hardware abstraction layer (#20801)"
This reverts commit 9f2ad462f39f4c880f283b71bffbc9248a2b577d.

old-commit-hash: 3a95d3ccaae7168073410cd7d392a9564d9d45ba
2021-05-06 12:29:30 +02:00
Dean Lee e0282ced49 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
old-commit-hash: 757d2923d2bfcda620b252e21a348ac3f87f3a63
2021-05-06 11:41:46 +02:00
Adeeb Shihadeh 55a9ec8a93 set nice values for non RT processes (#20812)
* set nice values for non RT processes

* builds

* fix qcom build

Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: ec414e2eb1e27eac04582ffbdc88f8022bfb34cc
2021-05-04 22:00:11 -07:00
Adeeb Shihadeh 532d19427c bump cereal
old-commit-hash: 8a280fbb8eb433fbfe0fc43254c9cbdaceedbab6
2021-05-03 20:47:11 -07:00
Adeeb Shihadeh 467811edf1 log encodeIdx packets in qlog (#20738)
old-commit-hash: 9813c0ddbdbd00716710a24c7edbdd509b66d9b7
2021-04-23 16:14:45 -07:00
Dean Lee 405df8b165 Params: python-like interface (#20506)
* rebase master

* delete outdated test_params.c

* putBool & more robust getBool

* putBool(SshEnabled)
old-commit-hash: 98e55996f67aaaf715c941d417ae4d3b0187f388
2021-03-30 12:54:59 +02:00
Willem Melching c64d818341 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>
old-commit-hash: 0a88304e8d51ef8dac881ac9bb16d5de11f184a3
2021-03-17 14:43:23 +01:00
Willem Melching d61654abc3 Revert "use class AlignedBuffer from cereal (#20343)"
This reverts commit df9e836779af0c145efc933b88bbc94f59f2b378.

old-commit-hash: e3ad952902ed38530b56b10f39dc67d7232fd28c
2021-03-16 20:21:03 +01:00