Commit Graph

56 Commits

Author SHA1 Message Date
Dean Lee
5e61775561 cabana: refactor HistoryLog for simplification and enhancements (#32284) 2024-04-23 09:53:50 -07:00
Dean Lee
5f04517677 cabana: add csv export (#30800)
export csv
2023-12-19 11:50:16 -08:00
Dean Lee
01610128bb 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
2023-10-30 09:47:23 -07:00
Dean Lee
ef4c963c60 cabana: add comparision operator for CanEvent (#29864) 2023-09-10 16:09:22 -07:00
Dean Lee
2484548fdd cabana: improve frequency accuracy (#29631)
* improve frequency accuracy

* apply review

* 2 less lines!

* another!

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-08-25 15:15:16 -07:00
Dean Lee
2d99521e75 cpplint: build/include_what_you_use (#29556)
* include_what_you_use

* remove comments

* include <memory>

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2023-08-23 13:25:17 -07:00
Dean Lee
e80440dc5d cabana: fixed the multi-threading issues of AbstractStream (#28590)
* fix multi-threading issues

* protect masks with mutex
2023-06-19 10:21:16 -07:00
Dean Lee
e08569b0f3 cabana: support multiplexed signals (#28309)
* support muxed signals

* write multiplexor in generateDBC

* edit multiplex_switch_value in signalView

* no overlapping warning for mux signals

* group signals by multiplexer indicator

* display freq for each multiplexed signals

* remove all multiplexed signals after switch deleted

* disable switch value

* cleanup

* historyView: use getValue

* sort by switch value

* check address

* rename variables

* rename signale type

* parse multiplexed signals in dbcmanater

* cache signal color in member variable

* cleanup num_decimals

* remove sources from dbcmanager and cleanup code

* fix sort

* check mltiplex in operator==

* fix sizehint

* convert multipledxed to normal after changing multiplxor to normal

* throw error on multiple 'M' signals

* add comment

* parse multipled signals in test case

* cleanup

* change order

* cleanup open

* display multiplexed/overlapping signals in binaryview

* sort overlapped signals by size

* refactor dbcmanager

* trimmed

* parse multiplexed signals in test case

* cleanup

* merge master

* space

* use pointer for sigs

* alldbcFiles

* cleanup

* cleanup sparkline

* use std::vector

* skip draw sparkline if isnull

* bigger capacity
2023-06-13 13:22:03 -07:00
Dean Lee
ff4aae85fe cabana: refactor dbc manager (#28445)
* rafactor signal

* cleanup

* refacto dbcmanager

* refactor dbcmanger
2023-06-08 13:41:55 -07:00
Angus Gratton
7cb4adfebb Cabana: Improve contrast when using dark themes (#28389) 2023-06-06 22:22:06 -07:00
Dean Lee
2a6458b44e cabana: improve dbc parsing (#28321) 2023-05-27 15:43:42 -07:00
Willem Melching
b53f748a1a 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
2023-05-04 10:50:28 -07:00
Dean Lee
91dc064ac7 cabana: support all features except video in live stream mode. (#27994) 2023-04-21 13:23:17 -07:00
Dean Lee
8ad2d84aeb cabana: refactor the cache for CAN events (#27969) 2023-04-19 10:44:52 -07:00
Dean Lee
f15cb01137 cabana: speed up parsing can events (#27874)
speed up parsing can events

cleanup include
2023-04-11 19:35:11 -07:00
Dean Lee
fc90814199 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
2023-04-10 15:53:50 -07:00
Dean Lee
f08132475d cabana: align signal value vcenter (#27675) 2023-03-24 11:01:03 -07:00
Dean Lee
74db5a4b42 cabana: group CAN events by message id to reduce the time complex from O(N) to O(1) (#27601)
* refactor streams

* helper function xLessThan

* fix fill gaps
2023-03-17 10:16:14 -07:00
Willem Melching
b591b0c764 cabana: show signal values with consistent number of digits (#27556) 2023-03-14 11:29:00 -07:00
Dean Lee
78116029d3 cabana: replace hardcoded margins, colors, spacing with values from style. (#27449)
replace hardcoded margins, colors, spacing

improve performance of MessageBytesDelegate
2023-02-25 14:27:18 -08:00
Willem Melching
a5644faa3f cabana: show units (#27433)
* show units on chart y axis

* show in signal list

* show in historyview

* use clear()
2023-02-23 10:45:13 -08:00
Dean Lee
4efd246bac 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
2023-02-20 14:16:30 -08:00
Dean Lee
ac0dbf74bc 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
2023-02-17 19:31:54 -08:00
Dean Lee
37adf5d3a6 cabana: simplify conversions between QVariant and QVector<QColor> (#27367) 2023-02-16 18:53:12 -08:00
Willem Melching
5078c91805 cabana: refactor message id from QString to struct (#27352)
* cabana: refactor message id from QString to struct

* fix tabbar

* fix findsimilarbits

* optimize hash function

* cleanup sorting

* use in updateLastMsgsTo
2023-02-15 12:39:03 -08:00
Dean Lee
38cf0b8382 cabana: fixed the buggy has_more_data, reduce unncessary calls to fetchMore (#27319) 2023-02-12 20:11:32 -08:00
Willem Melching
fcaa6fb06f cabana: extend color palette, make chart colors match signal view (#27258)
* cabana: extend color palette, make chart colors match signal view

* vary saturation too

* cleanup
2023-02-08 13:03:23 -08:00
Dean Lee
41304db1e6 cabana: syc the last messages after seeking (#27149)
* fix wrong last message time

* update last messages after seekto

* cleanup

* remove src,address from CanData

* merge master

merge master
2023-02-02 20:39:16 -08:00
Willem Melching
e3c202b4a2 cabana: add button to suppress highlighted bytes (#27131) 2023-02-02 13:16:09 -08:00
Dean Lee
7a485d4308 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
2023-01-29 19:19:50 -08:00
Dean Lee
d60aca8dd2 cabana: only update the colors of newly fetched messages in historylog (#27144)
only update new msgs color
2023-01-29 13:01:57 -08:00
Dean Lee
07b32750c1 cabana: remove extra frame border in logs (#27133)
remove extra frame border
2023-01-28 12:03:59 -08:00
Dean Lee
f0078eafac cabana: set time column to fixed width (#27117)
improve column width
2023-01-27 11:33:52 -08:00
Dean Lee
0f37ff6c02 cabana: cleanup historylog and fix some known issues (#27100)
improve history logs
2023-01-26 12:37:04 -08:00
Dean Lee
b2675cef9a cabana: colorful logs based on activity (#27008)
* color logs

* remove space

* update in updateColors
2023-01-24 11:36:40 -08:00
Dean Lee
f9490739ab 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
2023-01-19 15:26:00 -08:00
Dean Lee
164880524a cabana: add a combobox to switch between signal and raw hex value (#26974)
* switch between hex&signal value

* sync display mode between view & model
2023-01-16 11:21:15 -08:00
Dean Lee
e018098571 Cabana: add dynamic/static mode to logs view (#26832) 2022-12-30 13:57:29 -08:00
Dean Lee
ab797588f8 Cabana: double click on logs cell to open the chart (#26833) 2022-12-28 18:22:04 -08:00
Dean Lee
1e596f964c Cabana: add not equal (!=) filter (#26780)
add not equal filter
2022-12-12 23:04:36 -08:00
Dean Lee
cecef89124 Cabana: add signal value filters to the logs view (#26779)
add filter to logs view
2022-12-12 22:31:36 -08:00
Dean Lee
f49520db0f 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
2022-12-12 14:47:45 -08:00
Dean Lee
767261e61c Cabana: fix header word wrap issue (#26737) 2022-12-09 10:42:43 -08:00
Dean Lee
2b916044f5 Cabana: sort signals by address in logs view (#26639)
cleanup
2022-11-30 12:40:36 -08:00
Dean Lee
4662f1e0be 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
2022-11-22 14:23:49 -08:00
Dean Lee
8e91ce1eb4 Cabana: Move history logs to a tabbed widget (#26481)
* tabwidget

* cleanup

* update state  before show

* cleanup

* remove spacing

* fix right panel stretch issue

* fix missing }
2022-11-14 19:09:19 -08:00
Dean Lee
7c922eafe9 Cabana: Added support for undo & redo (#26440)
* undo/redo

* display command list to rolling the state backwards or forward

* update detailview after rolling states

* add * to title bar to indicate dbc has changed

* fix signal pointer address changed after removed

* cleanup

* fix id error

* clear undo stack after dbc file changed

* cleanup

* use map

* cleanup

* typo
2022-11-10 10:37:38 -08:00
Dean Lee
cdcc0fb369 Cabana: Reimplement HistoryLog::sizeHintForColumn to improve performance (#26393)
Reimplement sizeHintForColumn to improve performance
2022-11-06 11:06:10 -08:00
Dean Lee
70363e2491 Cabana: word wrap header (#26341)
* auto wrap header

* custom headerview
2022-11-03 13:23:53 -07:00
Dean Lee
b25e56925c Cabana: make whole DetailWidget scrollable (#26340) 2022-11-03 10:44:37 -07:00