Commit Graph

45 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: 01610128bb340f83ebf08b344404330806178825
2023-10-30 09:47:23 -07:00
Dean Lee 920bc9acea cabana: improve playback controller (#30325)
improve playback controller
old-commit-hash: 952838335d318ab3ecc2365d4f466800ad87aac4
2023-10-25 10:57:09 -07:00
Dean Lee 97aa8b0606 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>
old-commit-hash: c4df40a04a57478883609748c08d1abed539b017
2023-09-15 00:27:44 -07:00
Dean Lee c2e86afc8c cabana: support editing comments for messages (#28299)
old-commit-hash: 54506774f05a867ff0f6ab4ab494eeec792f838f
2023-05-25 13:38:58 -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: a26e6d1633b994029e67611f7954250517f71acd
2023-05-24 20:47:37 -07:00
Dean Lee 67d627d73c cabana: Make the close button on TabBar look consistent and adaptable to different templates. (#28065)
consistent and adaptable to different templates
old-commit-hash: 4ed6412ee5c7c41eaf8b6715a8ce030a7ae9aecc
2023-05-04 11:27:03 -07:00
Dean Lee dcb8ea01b3 cabana: split chart to multiple files (#27871)
* git mv

* split file

* fix includes

* split tiplabel out
old-commit-hash: 57bf782872461a3328bbd9121c7bbd207abec2e5
2023-04-11 22:30:15 -07:00
Dean Lee 07f34908de cabana: fix sparkline overlapping issue (#27766)
* fix sparkline overlapping issue

* cleanup
old-commit-hash: 63f888fa3a31dcf06ff2a2f098e2930c45050ea6
2023-03-31 11:44:21 -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: d6961152b824518f584d2ffad831312447d79d5f
2023-03-29 12:43:43 -07:00
Willem Melching 918bad4847 cabana: DBCManager only expose methods/signals through MessageId (#27540)
old-commit-hash: 0afd3bab34432e0ba83818c264f17e3ef16005df
2023-03-14 11:31:04 -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: 4efd246bac004f3b6f1f7d733e6e285b3fdc8322
2023-02-20 14:16:30 -08:00
Dean Lee 517a020596 cabana: attach messageid to tabdata (#27368)
old-commit-hash: 2c5e55ccdca597857208fc2fbb6bbc58972dbc4b
2023-02-17 10:53:47 -08:00
Willem Melching c9a2d19596 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
old-commit-hash: 5078c918056c189a3ec84bc63231fbae75c57eda
2023-02-15 12:39:03 -08:00
Dean Lee 6c3a3f0fd4 cabana: add name validation when editing message (#27316)
* check duplicate name

* cant use ' untitled' as msg name

* const QString UNTITLED
old-commit-hash: d5d19978ad9de0066be943019bd5b7fd89af3487
2023-02-13 18:25:59 -08:00
Dean Lee 721e822366 cabana: fix text-overflow for long msg name (#27297)
old-commit-hash: 0fdcf4efc0740b3caf2cf4683be301edc5bf3fe4
2023-02-10 14:50:52 -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: 29d9d037590d2db33b7d49c44120d83307ec6568
2023-02-03 12:47:26 -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: 7a485d4308ff263cd3432edaa27d118d264b25b5
2023-01-29 19:19:50 -08:00
Dean Lee d8edb6962d cabana: improve detail view (#27099)
* improve detailview

* cleanup layout
old-commit-hash: 27e8f8ff3e3336fe4d5737cf7c766d16725706bc
2023-01-26 12:32:25 -08:00
Dean Lee a114a6bf17 cabana: improve layout (#27039)
improve layout
old-commit-hash: 81956649c8fad46beb6668009f2136b341260434
2023-01-24 16:14:08 -08:00
Dean Lee 62dbfd8fd6 Cabana: add signal value filters to the logs view (#26779)
add filter to logs view
old-commit-hash: cecef89124be03eae55b6ee3bc33b3d5cdf7f93c
2022-12-12 22:31:36 -08:00
Dean Lee b4a98b8740 Cabana: fix "show plot" button state sync issue (#26769)
old-commit-hash: fd91ab6469506ee2afe5db3c8b718433bc9317c6
2022-12-12 10:25:23 -08:00
Dean Lee 0fe9bffc43 Cabana: show welcome widget if no msg selected (#26703)
* show a blank widget if no msg selected

* smaller font

* rename to WelcomeWidget
old-commit-hash: e598438a97b9ae6c4d5d921cd094efe1f40320b4
2022-12-05 15:30:43 -08:00
Dean Lee 854f930b27 Cabana: fixed form glitches (#26587)
fix visual glitches
old-commit-hash: 6dec92df439183ff15155654e558b37ffa861631
2022-11-23 09:48:24 -08:00
Dean Lee b2e08f2ac7 Cabana: improve binary view (#26525)
* improve

* set minimum width

* click signal to open&hide form

* disable vertical header's click
old-commit-hash: 66edb15b8f558ce81b5a57af4e60fc24e1fc489c
2022-11-16 15:51:05 -08:00
Dean Lee 53922eaed4 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 }
old-commit-hash: 8e91ce1eb4f91c976570056fd8979a4afcf43a53
2022-11-14 19:09:19 -08:00
Dean Lee 27e79880ab Cabana: update detail view on change (#26476)
update on changed
old-commit-hash: 4ef941e954198a6ed77b4d1cf9389cd621da6aac
2022-11-13 12:56:48 -08:00
Dean Lee c9a3795057 Cabana: auto update signal on field changes (#26464)
* auto update signal on field changes

* better icon
old-commit-hash: 3c507e8ad7a4de1d03402b178389de2bee9c4363
2022-11-11 10:34:49 -08:00
Dean Lee 5f80ca6359 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
old-commit-hash: 7c922eafe9d9c8e07de80f8bafcd9b2dc2932c13
2022-11-10 10:37:38 -08:00
Dean Lee e48e9b30f0 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
old-commit-hash: b320ac6c237eb0d31ab54227066e8ea6ba0f4dec
2022-11-09 22:05:18 -08:00
Dean Lee f3fb385a74 Cabana: support deleting message (#26418)
delete message
old-commit-hash: 59bf2fc0085420b13b7854d1a106c1706d7df265
2022-11-09 14:19:11 -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: ac76cc93256578f24db255cefd10c013dd906c28
2022-11-05 16:52:16 -07:00
Dean Lee 5d965010be 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
old-commit-hash: 0e3edf7877e2a219ae67f7e71d36d8458d50f7e4
2022-11-04 11:16:15 -07:00
Dean Lee 01b10ac864 Cabana: make whole DetailWidget scrollable (#26340)
old-commit-hash: b25e56925c2453464f554bfab57b38f9487a9844
2022-11-03 10:44:37 -07:00
Dean Lee 37b0ba7535 Cabana: sync button state with chart (#26285)
sync button state with charts
old-commit-hash: 9c7e3759441f0dff1200f7946e77f06c6a101c26
2022-10-30 07:31:43 -07:00
Dean Lee 881273fe19 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
old-commit-hash: 5aa0d211f075681e18395d0fd7dd73d8cc44573c
2022-10-29 12:01:08 -07:00
Dean Lee b061e768be Cabana: add tab context menu for 'close other tabs' (#26279)
close other tabs
old-commit-hash: a622e523b2251472aa59b80eee60cae9fcb1e024
2022-10-28 21:44:51 -07:00
Dean Lee 9f47b3b517 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>
old-commit-hash: 80c565d9fe9b10a05e34ae867f7711389ae240d1
2022-10-23 13:38:38 -07:00
Dean Lee 8e68208690 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
old-commit-hash: d6a0f1c25a44ad5629f491bb0066999eb0a9d357
2022-10-20 13:09:49 -07:00
Dean Lee decc08073f Cabana: multiple tabs detail view (#26174)
old-commit-hash: 998d18783dee2c0d17acd7c5f0ebf82d5ac42d19
2022-10-20 11:21:22 -07:00
Dean Lee c62b6478a0 Cabana: warn when DBC message length is wrong (#26154)
display warning if message size is incorrect
old-commit-hash: a927d7b0ea25d1fde6a121888f8abd34e2fef867
2022-10-19 08:02:47 -07:00
Dean Lee d2d27243e4 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
old-commit-hash: 99b16151fcc621832d573b9f7858eb5020f6503a
2022-10-17 17:19:41 -07:00
Dean Lee 1d1d7b0fb8 Cabana: complete edit functions (#26097)
complete forms
old-commit-hash: e25ea8529698053f4c1b915b7e014ebdc499e56a
2022-10-16 07:55:53 -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: 0fa1588f6c0bf9c9f1bebde91e02699506389ecd
2022-10-12 13:55:17 -07:00
Dean Lee f93f4e9f9b 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
old-commit-hash: a6ba073231761e06ac6f070a01b434243d9d0693
2022-10-05 21:17:22 -07:00
Dean Lee 292d55cf8a 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
old-commit-hash: 1b8324af876e66630b5f4e50623e3136a39f6ecb
2022-10-03 15:19:42 -07:00