Commit Graph

45 Commits

Author SHA1 Message Date
Adeeb Shihadeh
c9531b463a Revert "ui: single-threaded CameraView (#32291)"
This reverts commit dd6e2a400b.
2024-05-18 16:34:03 -07:00
Dean Lee
dd6e2a400b ui: single-threaded CameraView (#32291)
single thread cameraview
2024-05-17 20:18:41 -07:00
Adeeb Shihadeh
073fc89ad4 Revert "UI: single-threaded CameraView (#30397)"
This reverts commit 17ac1d3c7b.
2024-01-07 14:54:39 -08:00
Dean Lee
17ac1d3c7b UI: single-threaded CameraView (#30397)
* single-threaded CameraView

* updateFrame

* inherit from CameraWidget

* clear frame on offroadTransition

* check frame_id

* optional

* unique_ptr

* CameraView

* cleanup

* cleanup

* log skipping frame

* fix driverview

* disconnectVipc

* debug inconsistent frame

* skip frame if uiPlan is outdate

* cleanup

* set connected = false

* support camerad reboot&seeking in replay

* cleanup

* qDebug

* use deque

* cleanup

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-01-03 13:14:29 -08:00
Dean Lee
5f04517677 cabana: add csv export (#30800)
export csv
2023-12-19 11:50:16 -08:00
Dean Lee
86a5ac383e cabana: highlight dowloaded segments (#30459)
highlight dowloaded segments
2023-11-14 03:23:33 -08:00
Dean Lee
86efd70fa9 cabana: allocate qt objects on the heap instead of stack (#30374)
allocate qobject in heap
2023-11-09 20:20:48 -08:00
Dean Lee
01610128bb cabana: support suppress highlighted bits (#30336)
* support suppress highlighted bits

d

* faster filtering and sorting

* improve livestream

* specify the context in the connections

* remove inline
2023-10-30 09:47:23 -07:00
Dean Lee
fe4ad96701 cabana: support multiple cameras (#30339)
support multiple cameras
2023-10-29 07:05:59 -10:00
Dean Lee
952838335d cabana: improve playback controller (#30325)
improve playback controller
2023-10-25 10:57:09 -07:00
Dean Lee
e287a5f164 cabana: remove the qlog parsing thread (#30319)
remove the qlog thread
2023-10-24 10:38:50 -07:00
Dean Lee
818d29818f cabana: reduce minimum size (#30223)
reduce minimumsize
2023-10-12 11:09:32 -07:00
Dean Lee
6f9798745c cabana: add button to skip to the end of stream (#29953) 2023-09-17 15:20:21 -07:00
Dean Lee
74daab120d cabana: speed up exit (#29813) 2023-09-07 11:30:53 -07:00
Dean Lee
2d99521e75 cpplint: build/include_what_you_use (#29556)
* include_what_you_use

* remove comments

* include <memory>

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2023-08-23 13:25:17 -07:00
Dean Lee
059529cae2 cabana: improve timeline (#28801) 2023-07-04 12:03:08 -07:00
Dean Lee
e853af2ca6 cabana: fix seeking issue (#28346)
* fix seekto

* rename loadThumbnail to parseQLog
2023-05-31 11:22:47 -07:00
Dean Lee
a26e6d1633 cabana: supports switching streams on the fly (#28081)
* open stream

* use std::atomic::exchange

* emit streamStarted immediately
2023-05-24 20:47:37 -07:00
Dean Lee
7f856eafd9 cabana: fix wrong total seconds in replay mode (#28015)
* fix total_sec

* fix chart max range

* fix all_evnets order & use vector to improve performance

* dynamic updating max time

* get real time from qlog

* Update tools/cabana/streams/livestream.cc

Co-authored-by: Shane Smiskol <shane@smiskol.com>

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-04-25 21:49:10 -07:00
Dean Lee
7fff874755 cabana: fix thumbnail position issue (#27852)
* fix thumbnail position issue on WSL

* continue

* remove Qt::tool

* set parent
2023-04-10 17:33:27 -07:00
Dean Lee
2d061e2041 cabana: dispaly alert info in thumbnail&video player (#27837)
* show alert info in thumbnail

* dispaly alert info in video
2023-04-08 11:34:37 -07:00
Dean Lee
a1fb8d2480 cabana: improve video thumbnail (#27711) 2023-03-28 13:24:54 -07:00
Dean Lee
8903e03c88 cabana: move dbc related files to dbc/ (#27712)
* move dbc related files to dbc/

* move generate_dbc_json.py to dbc/
2023-03-28 11:52:28 -07:00
Dean Lee
9c84af296c cabana: clear the old timeline after opening a new route from menu (#27672) 2023-03-24 11:01:26 -07:00
Willem Melching
e4d591ecbf cabana: refactor Msg and Signal into dbc.cc (#27552) 2023-03-10 11:19:37 -08:00
Dean Lee
ac0dbf74bc cabana: add support for load&save extra dbc info (#27203)
* support extra info

* support undo/redo

* fix undo/redo

* cleanup

* fix regexp

* refactor dbcmanager

* replace text in headerview

* fix binary::refresh

* cleanup

* use QRegularExpression

* add desc validation

* edit val description in table

* cleanup
2023-02-17 19:31:54 -08:00
Dean Lee
544ad25a0b cabana: support pause and slow motion playback in live stream mode (#27051)
* support pause and slow motion playback in live stream mode

* override

* virtual functions

* move to function

fix

* lock handleEvent

* show speed controls in video widget

* fix pause signal

* set margins

* cleanup
2023-01-24 15:07:11 -08:00
Dean Lee
e49c7fa2bf cabana: fix slider crash on exit if loadThumbnails is running (#27052) 2023-01-23 10:16:11 -08:00
Dean Lee
f9490739ab Cabana: support live streaming (#26946)
* support live streaming

* update live stream's time

* cleanup stream classes

* disable video control in live streaming mode

* emit streamStarted() in LiveStream::streamThread

* disable some features in live streaming mode

* refactor charts to support live streaming mode

* disable dynamic mode checkbox in live streaming mode

* updateDispalyRange

* thread safe events

* TODO: add support for ZMQ

* atomic time stamp

* only keep settings.cached_segment_limit*60  seconds data in liveStream

* make charts work better in live mode

* cleanup ChartView

* fix toolbar

* cleanup

cleanup

* disable openpilotPrefix and useOpenGL on macos

* add comment

* exit gracefully

* support ZMQ

* use ::operator new/delete

* cleanup streams

* cleanup

* align stream buffers

* check looping back

* check if series is empty

* cleanup

* add TODO: write stream to log file to replay it

* upper_bound

* remove class member event_range

* change default settings value

* cleanup updateDisplayrange

* fix merge error
2023-01-19 15:26:00 -08:00
Dean Lee
cebee69f30 cabana: click time label to seek to a specified time (#27006) 2023-01-19 10:32:48 -08:00
Dean Lee
c21d9408a1 cabana: use bootstrap icons (#26981)
* use bootstrap icons

* typo

* build into asset_obj

* add to files_common
2023-01-18 13:19:23 -08:00
Dean Lee
351d97ab5a cabana: make video resizable (#26998) 2023-01-18 11:40:44 -08:00
Dean Lee
9884957e3e cabana: sync play button state (#26917)
sync play button
2023-01-11 15:32:13 -08:00
Dean Lee
7ae8792386 Cabana: make all panels dockable into each other (#26838) 2022-12-28 18:21:06 -08:00
Dean Lee
f6496ce670 Cabana: show video thumbnail over slider (#26689)
* show thumbnail

* copy segments vector

* cleanup

cleanup mouseMoveEvent

cleanup include

* move lambda to memeber function

* reduce lock time

* private functions

* split to small functions
2022-12-04 11:28:54 -08:00
Dean Lee
ac76cc9325 Cabana: cleanup code (#26369)
* remove ChartView::enterEvent

* cleanup ChartsWidget::removeAll

* group graphics items

* remove rubber->setPalette

* helper function DBCManager::parseId

* remove variable name from dbcManager

* fix readme/Usage

* use QSlider::setRange

* cleanup include

* use emplace_back

* remove varialbe routeName from CanMessages

* remove tmp variable

* remove blank line

* cleanup layout

* clean settings layout

* connect to streamStarted

* cleanup signal/slot
2022-11-05 16:52:16 -07:00
Dean Lee
728d969249 Cabana: limit X-axis range from settings (#26213)
* limit X-axis range from settings

* continue

* update range if events merged

* update line series by range

* cleanup removeChart

* cleanup updateAxisy
2022-10-26 12:59:37 -07:00
HaraldSchafer
baca1cae1f UI Onroad widget renames (#26124)
Consistent widget naming
2022-10-17 18:18:01 -07:00
Dean Lee
d109dda720 Cabana: click on video to play/pause (#26099) 2022-10-16 12:31:26 -07:00
Dean Lee
0fa1588f6c Cabana: stable initial release (#26004)
* increase form size & fix wrong charts number

* set max axisy to 1.0 if no value

* show 'close' button in floating window

* alwasy show scroll bar

* complete the logs

* more

* increase size to 50

* keep logs for all messages

* more

* rename signal

* better height

* avoid flicker

* dont call setupdatesenabled

* filter dbc files bye typing

* remove all charts if dbc file changed

* fix wrong idx

* bolder dbc filename

* update chart if signal has been edited

* new signals signalAdded,signalUpdated

* split class Parser into CanMessages and DBCManager

* cleanup

* updateState after set message

* cleanup

* emit msgUpdated

* clear history log if selected range changed

* always update time

* change title layout

* show selected range

hide title bar if no charts

less space between title and chart

* custome historylogmodel for extreme fast update

* move historylog to seperate file

* 2 decimal

* cleanup

cleanup

* left click on the chart to set start time

* todo

* show tooltip for header item&cleanup binaryview

add hline to signal form

* better paint

* cleanup signals/slots

* better range if min==max

* set historylog's minheight to 300

* 3x faster,sortable message list.

* zero copy in queued connection

* proxymodel

* clear log if loop to the begin

* simplify history log

* remove icon

* remove assets

* hide linemarker on initialization

* rubber width may less than 0

* dont zoom char if selected range is too small

* cleanup messageslist

* don't zoom chart if selected range less than 500ms

* typo

* check boundary

* check msg_id

* capital first letter

* move history log out of scrollarea

* Show only one form at a time

* auto scroll to header

d

* reduce msg size
entire row clickable

rename filter_msgs
2022-10-12 13:55:17 -07:00
Dean Lee
754b44e7ce Cabana: increase slider precision to milliseconds (#26025) 2022-10-09 08:44:19 -07:00
Dean Lee
beb0f8ac23 cabana: custom slider to indicate the status of engaged/disengaged/alerts (#26003)
* timeline

* remove todo

* cleanup
2022-10-07 11:28:24 -07:00
Dean Lee
750b96aaed cabana: improve time control (#25985)
* group signals/slots together

* slider:fix wrong minimum

* add TODO

* moveing to mouse click position

* show tickmark

* fix seek back to the old pos after sliderReleased

* reduce data copied in queued connection

* drop packets while seeking

* install event filter in streaming

* stop replay in dctor
2022-10-06 15:02:22 -07:00
Dean Lee
a6ba073231 canbana: complete basic functions (#25965)
* add chart header

* get all signal val from logs

* loop in selected range

* clear list before append

* automatically zoom on yaxis

* cleanup

* sync charts

* fix event_begin_sec

* set the color of rubber

* add TODO

* sync slider with charts

* keep video aspect ratio

* sync plot buttons

* reduce flickers

* cleanup

* refactor detail view

* clear counters

* more

use qcamera
2022-10-05 21:17:22 -07:00
Dean Lee
1b8324af87 c++ cabana: Initial version (#25946)
* draft

* continue

* fix QChart unresponsive with large points

* build with --extras

* add filter

* save DBC button

* more buttons

* add flag to use qcamera

* stop replay in dctor

* README

* use getMsg

* video control

* edit signal

* add colors

* correct ts

* add/edit signals

* use bus:address as key
2022-10-03 15:19:42 -07:00