Commit Graph

54 Commits

Author SHA1 Message Date
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
ae8cd280fb cabana: fix two ui bugs (#30327)
fix ui bugs
old-commit-hash: ae26280118
2023-10-25 14:39:52 -07: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
14443527cc cabana: fix time is displayed incorrectly when mouse dragged outside of the slider (#28048)
fix time is displayed incorrectly when the mouse is dragged outside of the slider
old-commit-hash: 64fb5cb922
2023-04-27 14:19:06 -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
2b9c35ddf7 cabana: support all features except video in live stream mode. (#27994)
old-commit-hash: 91dc064ac7
2023-04-21 13:23:17 -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
c635bf8723 cabana: switch theme on the fly (#27855)
* switch theme on the fly

* better chart theme

* Darcula like dark theme

* add TODO

* use theme aware toolbutton in ChartView

* add margin to text title

* lighter activity colors

* fix historylog header

* replace hardcoded color

* improve chart tooltip color

* use macro

* space

* remove function toolbutton

* fix remove all btn

* remove menu arrow

* improve chart::removeIf

* cleanup charts
old-commit-hash: fc90814199
2023-04-10 15:53:50 -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
Justin Newberry
447a7bf9b1 cabana: sort events based on priority (#27809)
* sort events based on priority

* cleanup for pr

* pr cleanup 2

* pr cleanup 3
old-commit-hash: f8d9263eae
2023-04-06 21:31:04 -07:00
Dean Lee
9897bc83c4 cabana: add a slider to set sparkline time range (#27727)
* add slider to set sparkline time range

* rename signaleedit to signalview

* default is 15s

* util::formatSeconds

* update() is faster than invalidate

* draw points

* fix scatter width
old-commit-hash: d6961152b8
2023-03-29 12:43:43 -07:00
Dean Lee
d2fcf6dbae cabana: improve video thumbnail (#27711)
old-commit-hash: a1fb8d2480
2023-03-28 13:24:54 -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
Dean Lee
2aafd3bf01 cabana: improve UI & fix bugs (#27387)
* improve ui

* keep splitter size after msg changed

* no leading spaces allowed in msg filter and signal filter

* draw color byte AlignCenter

* always set as current index

* reduce chart flickers while resizing

* dispaly more info in tooltip for signal

* narrow combobox

* use &nbsp;

* typo

* private sigs,fix bugs

* merge  #27383

* no expanding after undo/redo

* gray color in tooltip

* clear current_msg_id before reset model

* dont call setmeesage if id is the same

* fix bugs

* cleanup

* dont fetch logs if invisible

* add new CenterWidget, make sure msg_id is always valid

* cache icons

* cleanup paint byte color

* merge #27385 implement sizeHint

* cleanup code

* fillrect if alpha>0
old-commit-hash: 4efd246bac
2023-02-20 14:16:30 -08:00
Dean Lee
e31c5b20cc cabana: add description for timeline color in help (#27375)
old-commit-hash: 524f7079a9
2023-02-17 10:35:50 -08:00
Dean Lee
c043ea7fa2 cabana: add online-help (#27349)
* add online helps

* typo

* remove duplicate 'too'

* show idle message:For Help, Press F1

* improve drawHelp

* fix color desc
old-commit-hash: 2510f78126
2023-02-16 14:47:36 -08:00
Dean Lee
b21b627271 cabana: fix inconsistent size for play button (#27298)
old-commit-hash: 152f1bf485
2023-02-10 12:57:20 -08:00
Dean Lee
a1fb5b7e1f cabana: render light or dark icon based on system theme (#27155)
old-commit-hash: 0402e94927
2023-01-31 13:45:57 -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
2d49d819d3 Cabana: add --ecam flag to dispaly the wide road camera (#26727)
old-commit-hash: 7006230e08
2022-12-08 11:19:57 -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
9897d0dda8 Cabana: miscellaneous fixes (#26477)
* update pos after adjusted margins

* ts >=0

* output debug message to console

* fix freq&count incorrect after replay auto loop restart replay

* fix different height of play/pause

* delay posting CAN message if UI thread is busy

* >=

* clear undo stack after saving

* no space allowed in names

* const referer
old-commit-hash: 7b0f7312e5
2022-11-13 12:55:46 -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
e63b53335d Cabana:: remove a fixed TODO (#26257)
remove a fixed TODO
old-commit-hash: 5e717c12f1
2022-10-26 22:14:26 -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
Dean Lee
2c5cfcedf5 cabana: display fingerprint and route on the top right (#26133)
old-commit-hash: 855099eb86
2022-10-18 11:01:38 -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
Adeeb Shihadeh
837b2d53c3 cabana: misc touchups (#26092)
* fix time formatting

* disable vertical resize

* Update tools/cabana/videowidget.cc
old-commit-hash: bf5a6565c0
2022-10-15 16:05:52 -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: 0fa1588f6c
2022-10-12 13:55:17 -07:00
Dean Lee
6333f55833 Cabana: increase slider precision to milliseconds (#26025)
old-commit-hash: 754b44e7ce
2022-10-09 08:44:19 -07:00
Dean Lee
120162e678 cabana: custom slider to indicate the status of engaged/disengaged/alerts (#26003)
* timeline

* remove todo

* cleanup
old-commit-hash: beb0f8ac23
2022-10-07 11:28:24 -07:00