Commit Graph

84 Commits

Author SHA1 Message Date
Dean Lee bd2e71260e cabana: click on legend to show/hide series (#27231)
* click on legend to show/hide series

* update axis y

* add move icon
old-commit-hash: f9de6a0dd8
2023-02-06 10:18:44 -08:00
Dean Lee c1b3ff34ea cabana: concurrently update chart series (#27230)
old-commit-hash: 1ecda86e51
2023-02-06 10:17:58 -08:00
Dean Lee 1958d92206 cabana: fix incorrect clamp (#27218)
* fix incorrect clamp

* fix type error
old-commit-hash: 4117986520
2023-02-05 14:50:32 -08:00
Dean Lee 6bd72c1d19 cabana: only relayout charts when needed (#27210)
old-commit-hash: 54f3ca43bb
2023-02-05 12:35:30 -08:00
Dean Lee e58743cbea cabana: improve align charts (#27217)
* improve align charts

* set range on need

* cleanup

* remove unused include
old-commit-hash: 9b054af8b6
2023-02-05 12:35:15 -08:00
Dean Lee 8d359ca270 cabana: fix incorrect point size after adding new series to chart or changing series type (#27199)
* update pointers after create series

* cleanup
old-commit-hash: d6516059bd
2023-02-03 13:03:01 -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 27cd911c6b cabana: fix chart buttons occasionally did not respond to click. (#27198)
* fix btn not responding on click

* change icon from gear to list(menu)
old-commit-hash: bd66f77a3b
2023-02-03 11:40:35 -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
Willem Melching c488ecc0b4 cabana: do not round time when seeking from chartswidget (#27141)
* cabana: do not round time when seeking from chartswidget

* prevent zooming/seeking past end of route
old-commit-hash: 9ece098098
2023-02-02 13:15:11 -08:00
Dean Lee 78fd6462c9 cabana: improve line marker (#27189)
old-commit-hash: 628b80de3d
2023-02-02 13:14:53 -08:00
Dean Lee f1a97c0137 cabana: show series colors in tooltip (#27186)
show series colors in tooltip
old-commit-hash: 647e81f9bb
2023-02-02 10:23:21 -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
Willem Melching d7ce6a56eb cabana: dynamically switch between OpenGL (#27167)
* cabana: dynamically switch between OpenGL

* put back todo

* only switch when x axis changes
old-commit-hash: 49e955d321
2023-01-31 13:08:07 -08:00
Dean Lee bb56e75d0f cabana: restrict the rubber band in plot area. (#27154)
old-commit-hash: fba4827a7b
2023-01-30 13:56:34 -08:00
Dean Lee 8f812acb0d cabana: remove the margins of the legend item (#27152)
old-commit-hash: afa85e0256
2023-01-30 10:57:16 -08:00
Dean Lee 5e1b64285f cabana: fixed the column selector is always hidden if settings.chart_column_count is 1 (#27146)
fix column selector
old-commit-hash: 9822f1b0b4
2023-01-29 19:20:52 -08:00
Dean Lee a583bd621f cabana: refactor and improve signal view (#26997)
* refactor and improve signal view

* cleanup undostack after save

* set clean

* fix logswidget::refresh

* fix bugs in historylog

* historylog:dont reset display_type on msg changed

* inline displaySignals

* historylog:add stretch to header

* remove sizePolicy

* always show toolbar

* add icon to tabwidget

* create new chart on top

* fix 'show plot' btn state sync issue

* rename removeSeries to removeItem

* historylog::fix displayRange

* MessageListModeL: improve setFilterString

* set as current index after expanded

* disable update during setmessage

* ChartWidget: fix issue in updateState

* skip align charts if there only one chart

* fix updateLayout

* cleanup historylog

* updateState before end reset model

* add validator

* improve sigmodel

* expand new signal

* add comment

* reserve vector

* cleanup condition

* single click on row to expand signal

* improve layout for canfd(64 bytes)

* cleanup

* return false on default

* show the latest signal value next to the signal name

* update sig value after setmessage.to make the value updated in pause mode.

* better size policy

* +1 for grid size

* better palette

* set autofillbg
old-commit-hash: 7a485d4308
2023-01-29 19:19:50 -08:00
Willem Melching a8b63f672b cabana: small improvements to charts (#27140)
* cabana: small improvements to charts toolbar

* show column count when wide enough

* call setspacing

* set in same place

* remove call to updateToolBar()
old-commit-hash: fa4f37a098
2023-01-29 13:02:32 -08:00
Willem Melching 423f22b51c cabana: show dots when zoomed far into a signal (#27145)
* cabana: show dots when zoomed far into a signal

* review comments
old-commit-hash: f038193f44
2023-01-29 12:57:01 -08:00
Willem Melching d24fb585b5 cabana: fix occasional ellipsis on y axis ticks (#27142)
old-commit-hash: bdb42f7f84
2023-01-29 12:55:10 -08:00
Willem Melching ccc28b40b5 cabana: fix crash when combining graphs on MacOS (#27128)
old-commit-hash: ba5c6715a8
2023-01-28 12:06:04 -08:00
Dean Lee 455452a1b1 cabana: fix divde by zero for std::log10 (#27077)
fix divde by zero for std::log10
old-commit-hash: 2de2bab286
2023-01-25 10:59:05 -08:00
Dean Lee 37a16ff95e cabana: fix chart range not updated when replay is seeking back. (#27036)
old-commit-hash: a0f91b0a8b
2023-01-22 13:20:40 -08:00
Dean Lee 7a5ee2eb11 cabana: add new plot btn to create chart (#27023)
old-commit-hash: 35a943030b
2023-01-21 16:00:39 -08:00
Dean Lee 3e8901cac4 cabana: new chart on top (#27031)
old-commit-hash: 945d0c7696
2023-01-21 12:41:55 -08:00
Dean Lee b25f0356ee cabana: fix wrong column count displayed in combobox (#27020)
fix wrong column count displayed in combobox
old-commit-hash: c88853afae
2023-01-20 12:45:47 -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 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
Willem Melching 2c22914bf8 cabana: MacOS fixes (#26973)
* make qtcharts a framework

* cabana: dfisable openpilot prefix on macos

* cabana: disable opengl on charts

* fix linux build

* no newline

* add comments
old-commit-hash: 5cc192be4d
2023-01-15 22:13:16 -08:00
Dean Lee c59ee39caa cabana: support drag and drop to merge charts (#26968)
old-commit-hash: 58bd024089
2023-01-15 12:52:11 -08:00
Dean Lee 84b6e18b53 cabana: fix chart glitches (#26928)
old-commit-hash: 97b931a12a
2023-01-12 11:27:20 -08:00
Dean Lee d37a669449 Cabana: double click on logs cell to open the chart (#26833)
old-commit-hash: ab797588f8
2022-12-28 18:22:04 -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 b6cece6abe cabana: align y axis correctly (#26837)
old-commit-hash: f15a5c9ad6
2022-12-28 16:47:49 -08:00
Dean Lee 18689809fa Cabana: add auto completion for Msg selector (#26788)
old-commit-hash: ffb709e6a6
2022-12-13 20:25:29 -08:00
Dean Lee b4a98b8740 Cabana: fix "show plot" button state sync issue (#26769)
old-commit-hash: fd91ab6469
2022-12-12 10:25:23 -08:00
Dean Lee 443e49b659 Cabana: use opengl to draw the line series. (#26761)
old-commit-hash: 4e3598c9f6
2022-12-11 15:00:58 -08:00
Dean Lee 3acdabe2c2 Cabana: add button to display all cached data in chart (#26575)
* display all data btn

* remove timer

* update toolbar later

* dont update axis y in updateSeries

faster get_raw_value

* faster update

* optimize zoom y axis

* cleanup

* revert changes to get_raw_value

* updateState in eventsMerge

* cleanup:

* cleanup
old-commit-hash: 9ffb7a7518
2022-12-10 13:21:23 -08:00
Dean Lee 78c649c60a Cabanba: new dialog to manage chart series (#26675)
* New dialog to manage chart series

* connect to signal currentIndexChanged

* cleanup

use cbegin/cend
old-commit-hash: 59ed74ae4a
2022-12-02 13:15:32 -08:00
Dean Lee 85f8f38923 Cabana: fix segfault in dragging zoom (#26598)
fix segfault
old-commit-hash: 909a884dc5
2022-11-28 15:43:27 -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 dfdede362f Cabana: display dashes if no value available (#26557)
show dot if no value
old-commit-hash: efbfbc0622
2022-11-21 10:48:19 -08:00
Dean Lee 7bf05bc4d2 Cabana: fix auto zoom y-axis for multiple line series (#26558)
auto zoom y-axis for multiple series
old-commit-hash: 7b46928fc9
2022-11-21 10:48:08 -08:00
Dean Lee b902c26c6f Cabana: faster align charts, visual glitches removed. (#26543)
* faster adjust chart margins

* delay adjust

* update foreground after set margins

* set display range on create

* fix init display_range

* common function updateDisplayRange

* set min max to 0 if no values

* fix axis y

* use mapToValue

* cleanup

* get minmax from series

* cleanup

* cleanup eventsMerged

* cleanup include
old-commit-hash: 17b1839e0a
2022-11-20 13:23:59 -08:00
Dean Lee de99eb91c6 Cabana: draw line marker in drawForegound (#26542)
draw line marker in drawForegound
old-commit-hash: 9c815c2081
2022-11-18 10:25:11 -08:00
Dean Lee 40123aed4b Cabana: support for multiple series in chart (#26538)
* customize axis x & y

* new function chartView::addSignal

* support multiple series in chartView

* more

* show legend

* update changed signals only

* fix z value

* cleanup

* limit trake line in plot area

* display signal name in value_text

* &nbsp

* fix axis y

* add spaces

* cache min max value for axis y

* cleanup

* better values text

* remove force_update
old-commit-hash: 37ad8f4f3f
2022-11-17 10:52:04 -08:00