Commit Graph

45 Commits

Author SHA1 Message Date
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
952838335d cabana: improve playback controller (#30325)
improve playback controller
2023-10-25 10:57:09 -07:00
Dean Lee
c4df40a04a cabana: support ECU node names (#29897)
* support display&edit node name

* cleanup

* set validator for Node name

* modify validator to support multiple receivers

* set default to XXX in updateMsg

* add DEFAULT_NODE_NAME

* Update tools/cabana/commands.h

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-09-15 00:27:44 -07:00
Dean Lee
54506774f0 cabana: support editing comments for messages (#28299) 2023-05-25 13:38:58 -07:00
Dean Lee
a26e6d1633 cabana: supports switching streams on the fly (#28081)
* open stream

* use std::atomic::exchange

* emit streamStarted immediately
2023-05-24 20:47:37 -07:00
Dean Lee
4ed6412ee5 cabana: Make the close button on TabBar look consistent and adaptable to different templates. (#28065)
consistent and adaptable to different templates
2023-05-04 11:27:03 -07:00
Dean Lee
57bf782872 cabana: split chart to multiple files (#27871)
* git mv

* split file

* fix includes

* split tiplabel out
2023-04-11 22:30:15 -07:00
Dean Lee
63f888fa3a cabana: fix sparkline overlapping issue (#27766)
* fix sparkline overlapping issue

* cleanup
2023-03-31 11:44:21 -07:00
Dean Lee
d6961152b8 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
2023-03-29 12:43:43 -07:00
Willem Melching
0afd3bab34 cabana: DBCManager only expose methods/signals through MessageId (#27540) 2023-03-14 11:31:04 -07: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
2c5e55ccdc cabana: attach messageid to tabdata (#27368) 2023-02-17 10:53:47 -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
d5d19978ad cabana: add name validation when editing message (#27316)
* check duplicate name

* cant use ' untitled' as msg name

* const QString UNTITLED
2023-02-13 18:25:59 -08:00
Dean Lee
0fdcf4efc0 cabana: fix text-overflow for long msg name (#27297) 2023-02-10 14:50:52 -08:00
Dean Lee
29d9d03759 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
2023-02-03 12:47:26 -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
27e8f8ff3e cabana: improve detail view (#27099)
* improve detailview

* cleanup layout
2023-01-26 12:32:25 -08:00
Dean Lee
81956649c8 cabana: improve layout (#27039)
improve layout
2023-01-24 16:14:08 -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
fd91ab6469 Cabana: fix "show plot" button state sync issue (#26769) 2022-12-12 10:25:23 -08:00
Dean Lee
e598438a97 Cabana: show welcome widget if no msg selected (#26703)
* show a blank widget if no msg selected

* smaller font

* rename to WelcomeWidget
2022-12-05 15:30:43 -08:00
Dean Lee
6dec92df43 Cabana: fixed form glitches (#26587)
fix visual glitches
2022-11-23 09:48:24 -08:00
Dean Lee
66edb15b8f Cabana: improve binary view (#26525)
* improve

* set minimum width

* click signal to open&hide form

* disable vertical header's click
2022-11-16 15:51:05 -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
4ef941e954 Cabana: update detail view on change (#26476)
update on changed
2022-11-13 12:56:48 -08:00
Dean Lee
3c507e8ad7 Cabana: auto update signal on field changes (#26464)
* auto update signal on field changes

* better icon
2022-11-11 10:34:49 -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
b320ac6c23 Cabana: improve the BinaryView & fix known issues (#26409)
* fix flipping issue

* dragging up to create little endian signal

* transform between little & big endian

* complete selection functions

* scroll to top after msg updated

* remove empty line

* cleanup code

* remove extra semicolon

* fix indentation

* minmax

* dont select hex column

* create msg if not existed
2022-11-09 22:05:18 -08:00
Dean Lee
59bf2fc008 Cabana: support deleting message (#26418)
delete message
2022-11-09 14:19:11 -08:00
Dean Lee
ac76cc9325 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
2022-11-05 16:52:16 -07:00
Dean Lee
0e3edf7877 Cabana: fix signal list glitch (#26357)
* fix signal list glitch

* fix glitch when open new msg

* reduce spacing

* fix binaryview glitch

* spacing 3

* create form on demand

* dont close form after save

* remove timer

* remove sizepolicy

* cleanup
2022-11-04 11:16:15 -07:00
Dean Lee
b25e56925c Cabana: make whole DetailWidget scrollable (#26340) 2022-11-03 10:44:37 -07:00
Dean Lee
9c7e375944 Cabana: sync button state with chart (#26285)
sync button state with charts
2022-10-30 07:31:43 -07:00
Dean Lee
5aa0d211f0 Cabana: double click the title bar to move binview to a separate column (#26280)
* double click to move binview to seperate column

* cleanup

* double click frame

* continue

* rename signal

* add tooltip

* fix layout

* don't show last cell's  bottom line

* increase spliter handle size

* cleanup

* set resize mode to ResizeToContents

* add a split button

* cleanup layout&fix space

* cleanup

* remove hardcoded size

* cleanup
2022-10-29 12:01:08 -07:00
Dean Lee
a622e523b2 Cabana: add tab context menu for 'close other tabs' (#26279)
close other tabs
2022-10-28 21:44:51 -07:00
Dean Lee
80c565d9fe Cabana: no popup when adding a new signal. (#26155)
* merge master

* GM: make loopback updated check more explicit

This previously checked if parser_pyx filled the defaultdict, now it checks the values in the list (same either way)

* merge master

* continue

* continue

* check for duplicate name

* check duplicate signal name in saveSignal

* check signal size

* size*8

* cleanup

* check size after push_back

* install qlog handler at end

* remove todo

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2022-10-23 13:38:38 -07:00
Dean Lee
d6a0f1c25a Cabana: drag to adjust signal size (#26172)
* drag to adjust signal size

* rename

* override setSelection

* use signal color as selection color while resing

* helper funtion

* hide tooltip if not in signal

* cleanup

* cabana: remove unused metatype (#26175)

remove unused metatype

* cabana: improve signal highlight on hover (#26161)

* just change font color

* merge master

* cleanup
2022-10-20 13:09:49 -07:00
Dean Lee
998d18783d Cabana: multiple tabs detail view (#26174) 2022-10-20 11:21:22 -07:00
Dean Lee
a927d7b0ea Cabana: warn when DBC message length is wrong (#26154)
display warning if message size is incorrect
2022-10-19 08:02:47 -07:00
Dean Lee
99b16151fc Cabana: show MSB/LSB of signals in the BinaryView (#26103)
* dispaly msb and lsb in binary view

* draw at bottom

* move binaryview to seperate files

* increase the width of vertical header

* re-draw changed cells only

* correct lsb/msb position

* check bounds

* todo
2022-10-17 17:19:41 -07:00
Dean Lee
e25ea85296 Cabana: complete edit functions (#26097)
complete forms
2022-10-16 07:55:53 -07:00
Dean Lee
0fa1588f6c 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
2022-10-12 13:55:17 -07:00
Dean Lee
a6ba073231 canbana: complete basic functions (#25965)
* add chart header

* get all signal val from logs

* loop in selected range

* clear list before append

* automatically zoom on yaxis

* cleanup

* sync charts

* fix event_begin_sec

* set the color of rubber

* add TODO

* sync slider with charts

* keep video aspect ratio

* sync plot buttons

* reduce flickers

* cleanup

* refactor detail view

* clear counters

* more

use qcamera
2022-10-05 21:17:22 -07:00
Dean Lee
1b8324af87 c++ cabana: Initial version (#25946)
* draft

* continue

* fix QChart unresponsive with large points

* build with --extras

* add filter

* save DBC button

* more buttons

* add flag to use qcamera

* stop replay in dctor

* README

* use getMsg

* video control

* edit signal

* add colors

* correct ts

* add/edit signals

* use bus:address as key
2022-10-03 15:19:42 -07:00