Commit Graph

56 Commits

Author SHA1 Message Date
Dean Lee 631a067257 cabana: implement custom CameraWidget (#35713)
implement custom CameraView
2025-07-13 09:34:18 -07:00
Dean Lee 02a251f50d cabana: add RouteInfo dialog to view and navigate route segment details (#35134)
add RouteInfo dialog to view and navigate route segment details
2025-05-14 11:21:28 -07:00
Dean Lee 822f613139 cabana: real-time cursor and video frame sync for chart and video (#34301)
* sync cursor and thumbnail between chart and video

* Revert "replay: Update video immediately after seek when paused. (#34237)"

This reverts commit 3363881844.

* use thumbnails while scrubing

* draw alert

* no update on resume

* draw timestamp

* cleanup
2024-12-21 13:49:18 -08:00
Dean Lee 9e8815def4 cabana: miscellaneous bug fixes and enhancements (#34297)
* toHexString

* use QToolBar

* fix incorrect groove rect

* limit CAN_MAX_DATA_BYTES

* add series type selector to chart toolbar

* dim inactive messages

* rename

* add help to chart

* cleanup
2024-12-21 13:49:09 -08:00
Dean Lee 474607ba06 cabana: refactor video widget for simplified layout and enhanced rendering (#33909)
simplify video widget
2024-11-04 10:01:14 -08:00
Dean Lee 24a32c3dec replay: remove Qt dependency from Segment and Timeline (#33847)
remove Segment, Timeline dependency on Qt
2024-10-24 13:41:01 -07:00
Dean Lee 47409ab4d4 ui: refactor CameraView to serve as a generic vision stream display class (#33457)
refactor transform
2024-09-10 11:53:10 -07:00
Adeeb Shihadeh 1b2bc44227 controlsd: split out state/alerts into selfdriveState (#33421)
* setup selfdriveState

* little more

* update refs

* migration

* all too slow
old-commit-hash: 87051803ab
2024-08-31 18:48:17 -07:00
Dean Lee dbf095522f cabana: bug fixes and improvements (#32934)
bug fixes and improvements
old-commit-hash: 36815cc6d5
2024-07-08 14:50:31 -07:00
Maxime Desroches 5658a6a9ea cabana: include optional (#32772)
optional
old-commit-hash: 3de6ee5ee3
2024-06-17 20:24:04 +00:00
Dean Lee 06aed0617a cabana: avoid dead locks and improve responsiveness (#32740)
avoid dead locks and improve responsive
old-commit-hash: 865b98a5c4
2024-06-16 12:32:45 -07:00
Adeeb Shihadeh 72b6504595 Revert "ui: single-threaded CameraView (#32291)"
This reverts commit 6adb53abf4d483e70bbe36725588a05cf75681fb.

old-commit-hash: c9531b463a
2024-05-18 16:34:03 -07:00
Dean Lee 4bade99d62 ui: single-threaded CameraView (#32291)
single thread cameraview
old-commit-hash: dd6e2a400b
2024-05-17 20:18:41 -07:00
Adeeb Shihadeh 7243b9b68e Revert "UI: single-threaded CameraView (#30397)"
This reverts commit 69dcd240fcf3bac7a6bddb1647219b710d255554.

old-commit-hash: 073fc89ad4
2024-01-07 14:54:39 -08:00
Dean Lee 2f8e66dbb8 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>
old-commit-hash: 17ac1d3c7b
2024-01-03 13:14:29 -08:00
Dean Lee 8056fe5aff cabana: add csv export (#30800)
export csv
old-commit-hash: 5f04517677
2023-12-19 11:50:16 -08:00
Dean Lee 13d0f243ff cabana: highlight dowloaded segments (#30459)
highlight dowloaded segments
old-commit-hash: 86a5ac383e
2023-11-14 03:23:33 -08:00
Dean Lee efa9cce3de cabana: allocate qt objects on the heap instead of stack (#30374)
allocate qobject in heap
old-commit-hash: 86efd70fa9
2023-11-09 20:20:48 -08:00
Dean Lee be9d291dad 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
old-commit-hash: 01610128bb
2023-10-30 09:47:23 -07:00
Dean Lee 897a62dcfc cabana: support multiple cameras (#30339)
support multiple cameras
old-commit-hash: fe4ad96701
2023-10-29 07:05:59 -10:00
Dean Lee 920bc9acea cabana: improve playback controller (#30325)
improve playback controller
old-commit-hash: 952838335d
2023-10-25 10:57:09 -07:00
Dean Lee 3fb329773e cabana: remove the qlog parsing thread (#30319)
remove the qlog thread
old-commit-hash: e287a5f164
2023-10-24 10:38:50 -07:00
Dean Lee e785de4166 cabana: reduce minimum size (#30223)
reduce minimumsize
old-commit-hash: 818d29818f
2023-10-12 11:09:32 -07:00
Dean Lee e1df1cf15c cabana: add button to skip to the end of stream (#29953)
old-commit-hash: 6f9798745c
2023-09-17 15:20:21 -07:00
Dean Lee 2716ef3a23 cabana: speed up exit (#29813)
old-commit-hash: 74daab120d
2023-09-07 11:30:53 -07:00
Dean Lee 97e9d55588 cpplint: build/include_what_you_use (#29556)
* include_what_you_use

* remove comments

* include <memory>

---------

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

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

* use std::atomic::exchange

* emit streamStarted immediately
old-commit-hash: a26e6d1633
2023-05-24 20:47:37 -07:00
Dean Lee bcc6999411 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>
old-commit-hash: 7f856eafd9
2023-04-25 21:49:10 -07:00
Dean Lee a9f0e50aba cabana: fix thumbnail position issue (#27852)
* fix thumbnail position issue on WSL

* continue

* remove Qt::tool

* set parent
old-commit-hash: 7fff874755
2023-04-10 17:33:27 -07:00
Dean Lee fbaefab443 cabana: dispaly alert info in thumbnail&video player (#27837)
* show alert info in thumbnail

* dispaly alert info in video
old-commit-hash: 2d061e2041
2023-04-08 11:34:37 -07:00
Dean Lee d2fcf6dbae cabana: improve video thumbnail (#27711)
old-commit-hash: a1fb8d2480
2023-03-28 13:24:54 -07:00
Dean Lee 640d68e3bc cabana: move dbc related files to dbc/ (#27712)
* move dbc related files to dbc/

* move generate_dbc_json.py to dbc/
old-commit-hash: 8903e03c88
2023-03-28 11:52:28 -07:00
Dean Lee 6e7afd47ec cabana: clear the old timeline after opening a new route from menu (#27672)
old-commit-hash: 9c84af296c
2023-03-24 11:01:26 -07:00
Willem Melching f0d648d8c6 cabana: refactor Msg and Signal into dbc.cc (#27552)
old-commit-hash: e4d591ecbf
2023-03-10 11:19:37 -08:00
Dean Lee 972e91463c 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
old-commit-hash: ac0dbf74bc
2023-02-17 19:31:54 -08:00
Dean Lee dd914f684a 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
old-commit-hash: 544ad25a0b
2023-01-24 15:07:11 -08:00
Dean Lee 54154252f6 cabana: fix slider crash on exit if loadThumbnails is running (#27052)
old-commit-hash: e49c7fa2bf
2023-01-23 10:16:11 -08:00
Dean Lee 504453c3e4 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
old-commit-hash: f9490739ab
2023-01-19 15:26:00 -08:00
Dean Lee e95c8e665b cabana: click time label to seek to a specified time (#27006)
old-commit-hash: cebee69f30
2023-01-19 10:32:48 -08:00
Dean Lee fa47048e44 cabana: use bootstrap icons (#26981)
* use bootstrap icons

* typo

* build into asset_obj

* add to files_common
old-commit-hash: c21d9408a1
2023-01-18 13:19:23 -08:00
Dean Lee 215526119d cabana: make video resizable (#26998)
old-commit-hash: 351d97ab5a
2023-01-18 11:40:44 -08:00
Dean Lee 1a5867b973 cabana: sync play button state (#26917)
sync play button
old-commit-hash: 9884957e3e
2023-01-11 15:32:13 -08:00
Dean Lee 7f783e79d5 Cabana: make all panels dockable into each other (#26838)
old-commit-hash: 7ae8792386
2022-12-28 18:21:06 -08:00
Dean Lee 93b43cad3e 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
old-commit-hash: f6496ce670
2022-12-04 11:28:54 -08:00
Dean Lee 1bc0166499 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
old-commit-hash: ac76cc9325
2022-11-05 16:52:16 -07:00
Dean Lee a02e81b710 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
old-commit-hash: 728d969249
2022-10-26 12:59:37 -07:00
HaraldSchafer f7b76d947a UI Onroad widget renames (#26124)
Consistent widget naming
old-commit-hash: baca1cae1f
2022-10-17 18:18:01 -07:00
Dean Lee 5ff03b411e Cabana: click on video to play/pause (#26099)
old-commit-hash: d109dda720
2022-10-16 12:31:26 -07:00