Commit Graph

36 Commits

Author SHA1 Message Date
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
03ba671b96 cabana: save settings to user-specific directory (#30328)
* save settings to user-specific directory

* include
old-commit-hash: b73329092c
2023-10-25 14:39:41 -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
6c389dee7e cabana: display warning if failed to write settings (#29873)
* display warning if failed to write_settings

* use Settings::filePath()
old-commit-hash: f63dc51284
2023-09-12 13:13:59 -07:00
Dean Lee
5bac1f771c cabana: use applicationPath for settings (#29875)
old-commit-hash: 5e1b5b36e4
2023-09-11 13:18:40 -07:00
Willem Melching
10215bc44e cabana: add option to suppress already known signals (#28106)
* suppress using static mask

* use mask in updateLastMsgsTo

* store mask in cabana::Msg

* update mask in the right places

* actually build mask

* restore setting

* less diff
old-commit-hash: b53f748a1a
2023-05-04 10:50:28 -07:00
Dean Lee
7a51caa0af cabana: make head section movable (#27971)
* set sections movable

* change setting key to v3

* add comment

* remove restorestate from MainWindow
old-commit-hash: f9568e9818
2023-04-19 10:28:09 -07:00
Willem Melching
21f2724815 cabana: add setting to choose preferred drag direction for new signals (#27932)
old-commit-hash: 0f22bb50de
2023-04-17 09:52:45 -07:00
Dean Lee
52f0416736 cabana: fix message view performance issues after #27901 (#27908)
* fix message list issues

* override drawBranches, do nothing

* bypass QTreeView::datachanged

* remove data copy in binaryview::updateState

* rename to x_v2
old-commit-hash: f5d66fa2a9
2023-04-15 16:25:24 -07:00
Dean Lee
6a98fd2bfd cabana: support logging live stream (#27884)
support logging live stream
old-commit-hash: e3a19ff074
2023-04-13 19:53:39 -07:00
Dean Lee
3e13b0be9d cabana: support display hex bytes in multiple lines. (#27901)
* display hex bytes in multiple lines

* default is true

* cleanup
old-commit-hash: 860e843af6
2023-04-13 16:26:58 -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
07e11f1331 cabana: support toggle between light / dark theme (#27787)
add dark theme
old-commit-hash: c56872265a
2023-04-02 11:34:10 -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
Willem Melching
e8105f0413 cabana: extend max chart range to 30 minutes (#27555)
old-commit-hash: fc44ed63d7
2023-03-11 12:47:53 -08:00
Dean Lee
db35b147ac cabana: added a new series type to chart: step line (#27422)
* add step line series

* create buttons in createToolButtons

* add inline function clearTrackPoints

* do not show tooltip if series is invisible

* use QActionGroup
old-commit-hash: dc4ebeb29c
2023-02-23 10:45:59 -08:00
Dean Lee
7af5741071 cabana: add dialog to open route from remote or local (#27183)
* add OpenRouteDialog

* cleanup

* failed_to_load

* fix load

* clear message list and stream after open new route

* show message

* remove all tabs and charts after open

* use textEdited

* check route format

* cleanup loadRoute
old-commit-hash: 29d9d03759
2023-02-03 12:47:26 -08:00
Dean Lee
b4ba7f91a5 cabana: add capability for switching between line and scatter plots (#27169)
* add capability for switching between line and scatter plots

* Update tools/cabana/chartswidget.cc

Co-authored-by: Willem Melching <willem.melching@gmail.com>

* setUserOpengl in createSeries

* update series title

* set marker size by pixels_per_point

* sync menu state

* cleanup

* set default series type in settings dlg

* remove qdebug

---------

Co-authored-by: Willem Melching <willem.melching@gmail.com>
old-commit-hash: 53396076df
2023-02-02 13:16:32 -08:00
Dean Lee
8d4a81c97d cabana: improve mainwin (#27053)
* open recent

* improve mainwin

* move to submenu

* new file & remind save before load

dd
old-commit-hash: 50fc560b43
2023-01-26 20:29:28 -08:00
Dean Lee
499df99c9e cabana: saving & restoring columns widths (#27080)
saving & restoring columns widths
old-commit-hash: 08060e42c4
2023-01-26 12:56:38 -08:00
Dean Lee
88e3c87072 cabana: fix a wrong settings key (#27085)
fix wrong key
old-commit-hash: 892835da7a
2023-01-25 10:51:31 -08:00
Dean Lee
e675648a16 cabana: add a slider to adjust chart range from 1 sec to max cached seconds. (#27005)
* add slider to set chart range

* set minumu to 1 sec

* make chart work in any range

* cleanup

* rename to max_cached_minitues

* more

* dont draw out of plotarea

* cleanup

* updateLayout after chart removed

* cleanup

* fix clamp

* usea same cur_sec to update all charts
old-commit-hash: f0d22f88e1
2023-01-20 11:47:29 -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
26ca64da0f cabana: add support for multiple columns charts (#27000)
old-commit-hash: fd4dc109e1
2023-01-19 13:51:55 -08:00
Dean Lee
215526119d cabana: make video resizable (#26998)
old-commit-hash: 351d97ab5a
2023-01-18 11:40:44 -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
79170305dc Cabana: display all logs in log view (#26659)
* fetch more

* clear log in showevent

* fix wrong time value

* check list size

* fix canmessages::process

* cache all events

* improve segment cache

* cleanup
old-commit-hash: f49520db0f
2022-12-12 14:47:45 -08:00
Dean Lee
4a67971c61 Cabana: auto theme, detect from system. (#26563)
* auto theme

* cleanup

* get font color from ForegroundRole

* fix label color

* add padding for header

* smaller warning icon

* fix bg of binary view

* hightlight after init
old-commit-hash: 4662f1e0be
2022-11-22 14:23:49 -08:00
Dean Lee
9aee43274f Cabana: save & restore splitter state (#26526)
save & restore splitter state
old-commit-hash: b6de850dd7
2022-11-16 15:45:08 -08:00
Dean Lee
26fb7d0db0 Cabana: remember last directory in open file dialog (#26449)
* remember last directory in open file dialog

* use QFileInfo
old-commit-hash: 122c0ec135
2022-11-10 10:37:52 -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
01b10ac864 Cabana: make whole DetailWidget scrollable (#26340)
old-commit-hash: b25e56925c
2022-11-03 10:44:37 -07:00
Adeeb Shihadeh
c437efca6a cabana: fix settings titles
old-commit-hash: 5de54c35a9
2022-10-29 14:32:22 -07:00
Dean Lee
72f6a3b56d Cabana: change the chart theme in setting (#26220)
* change the chart theme in setting

* change title colors

* cleanup
old-commit-hash: ba570b963f
2022-10-27 14:48:40 -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
f47ef137ea Cabana: move settings to seperate files (#26173)
old-commit-hash: 4bf86742e6
2022-10-20 11:22:09 -07:00