Commit Graph

55 Commits

Author SHA1 Message Date
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: 87051803abc2a35f0260eec8976c487b877c694b
2024-08-31 18:48:17 -07:00
Dean Lee dbf095522f cabana: bug fixes and improvements (#32934)
bug fixes and improvements
old-commit-hash: 36815cc6d536ab8926f6335574ea587947c4e222
2024-07-08 14:50:31 -07:00
Maxime Desroches 5658a6a9ea cabana: include optional (#32772)
optional
old-commit-hash: 3de6ee5ee316980f2dfea5e59c7369ac1f0a83df
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: 865b98a5c45335dcdf736ab38e89b5a1dcde2d59
2024-06-16 12:32:45 -07:00
Adeeb Shihadeh 72b6504595 Revert "ui: single-threaded CameraView (#32291)"
This reverts commit 6adb53abf4d483e70bbe36725588a05cf75681fb.

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

old-commit-hash: 073fc89ad49461c01ea474125a89a505543d093d
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: 17ac1d3c7b3b481826d51eb82aaf9dbcc3f3bd81
2024-01-03 13:14:29 -08:00
Dean Lee 8056fe5aff cabana: add csv export (#30800)
export csv
old-commit-hash: 5f045176775c8c2cdd7f85e7229f78cf26f0c013
2023-12-19 11:50:16 -08:00
Dean Lee 13d0f243ff cabana: highlight dowloaded segments (#30459)
highlight dowloaded segments
old-commit-hash: 86a5ac383e938d16b19b69bb43e507abe8cdd63b
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: 86efd70fa9e1ec2d125cc713e58c76740bc6eee5
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: 01610128bb340f83ebf08b344404330806178825
2023-10-30 09:47:23 -07:00
Dean Lee 897a62dcfc cabana: support multiple cameras (#30339)
support multiple cameras
old-commit-hash: fe4ad9670179b6f823b7332d5a903a7049a3ac03
2023-10-29 07:05:59 -10:00
Dean Lee 920bc9acea cabana: improve playback controller (#30325)
improve playback controller
old-commit-hash: 952838335d318ab3ecc2365d4f466800ad87aac4
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: e287a5f1641ae93a31deaeb3c03c5fd27ed80759
2023-10-24 10:38:50 -07:00
Dean Lee e785de4166 cabana: reduce minimum size (#30223)
reduce minimumsize
old-commit-hash: 818d29818fcb54f84e8fbb366fbe6913c70be2b9
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: 6f9798745c73e82fa4ed396e697d44947b527e68
2023-09-17 15:20:21 -07:00
Dean Lee 2716ef3a23 cabana: speed up exit (#29813)
old-commit-hash: 74daab120d8528bc39c4cc74df5bf4ee46ccc9d9
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: 2d99521e7500902070d0aacce69528bcfd8b9964
2023-08-23 13:25:17 -07:00
Dean Lee 841f8bfb3f cabana: improve timeline (#28801)
old-commit-hash: 059529cae2dde8331eb9a4ac876b36c2c3ec7697
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: e853af2ca6c84352b9cd7a17f9dae9a77f5cb3c1
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: a26e6d1633b994029e67611f7954250517f71acd
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: 7f856eafd98eb70d91c6b3e882991f34d1c4c4c8
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: 7fff874755bb0abddb8e0b1dd667bd3a7cf272f5
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: 2d061e2041574e250d3fa6b487fd9b4a2958864a
2023-04-08 11:34:37 -07:00
Dean Lee d2fcf6dbae cabana: improve video thumbnail (#27711)
old-commit-hash: a1fb8d248022e7c47010fe7a91d84f12adc12114
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: 8903e03c8844df03783ae78d97e1294d0869ffea
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: 9c84af296c325f310bad23657bc35e725be45541
2023-03-24 11:01:26 -07:00
Willem Melching f0d648d8c6 cabana: refactor Msg and Signal into dbc.cc (#27552)
old-commit-hash: e4d591ecbfaaf12b267e3f93927a89e9b4f6a7b9
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: ac0dbf74bc835faa46beab4bbb948c95597e4e67
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: 544ad25a0b9af70e2b22f3ec4e0fd8788929fd2d
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: e49c7fa2bf3bbc2eb6aa851c51d82f1cfd6b9212
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: f9490739ab37ae680aef272d51eb3cf2b36b4103
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: cebee69f304357c5966dec9b316a4d15e68c571b
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: c21d9408a191ba8e3303f2459d1f7476fefd35ba
2023-01-18 13:19:23 -08:00
Dean Lee 215526119d cabana: make video resizable (#26998)
old-commit-hash: 351d97ab5a72f3dfb22de2e7e321c4cc447a44c9
2023-01-18 11:40:44 -08:00
Dean Lee 1a5867b973 cabana: sync play button state (#26917)
sync play button
old-commit-hash: 9884957e3e07e09df6c021222949a4a77e2bd8ff
2023-01-11 15:32:13 -08:00
Dean Lee 7f783e79d5 Cabana: make all panels dockable into each other (#26838)
old-commit-hash: 7ae87923864af4cd1378eeccc23c002fc66447e5
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: f6496ce6702090747f2ee45f26a8ef91730cc9ef
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: ac76cc93256578f24db255cefd10c013dd906c28
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: 728d96924924dd8d4e899ccaba0ed6bcc4a23417
2022-10-26 12:59:37 -07:00
HaraldSchafer f7b76d947a UI Onroad widget renames (#26124)
Consistent widget naming
old-commit-hash: baca1cae1f71c70162374c887cf36d5cf828f2f3
2022-10-17 18:18:01 -07:00
Dean Lee 5ff03b411e Cabana: click on video to play/pause (#26099)
old-commit-hash: d109dda720b502a94f914c1a29ffdea6d01fbc6f
2022-10-16 12:31:26 -07:00
Dean Lee 62adf87f40 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
old-commit-hash: 0fa1588f6c0bf9c9f1bebde91e02699506389ecd
2022-10-12 13:55:17 -07:00