Commit Graph

39 Commits

Author SHA1 Message Date
Dean Lee 6e991ea052 cabana: update message count after filtering (#30461)
update message count after filtering
old-commit-hash: 3d9f394533c3d82fc1fb5493f07fe90b366e5d88
2023-11-15 23:43:59 -08:00
Justin Newberry 3ee7b45c94 Cabana: fix wsl compilation (#30366)
fix wsl
old-commit-hash: a73412b39d1f3593c312c37b07cff6e842052433
2023-11-02 20:59:38 -07:00
Dean Lee 0f9c1bb2a7 cabana: fix messages not updated correctly after seekto() (#30351)
fix messages not updated correctly after seekto
old-commit-hash: bf5a45ed9826af7dbf9e1db82413e1340bbfa074
2023-10-31 11:34:54 -07:00
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 8123daceaf cabana: add Node column to message table (#30317)
* add Node column

* add views menu to toolbar

* match NODE

* rename fetchData to filterAndSort

* simplify sortMessages
old-commit-hash: 691c7c2c66785e9b06aae02bf278e343b8c9397b
2023-10-25 10:56:07 -07:00
Dean Lee 97e9d55588 cpplint: build/include_what_you_use (#29556)
* include_what_you_use

* remove comments

* include <memory>

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 2d99521e7500902070d0aacce69528bcfd8b9964
2023-08-23 13:25:17 -07:00
Dean Lee f8c108e8e8 cabana: cleanup MessageViewHeader & MessageBytesDelegate (#29040)
* cleanup

* remove double ;
old-commit-hash: 319ce562f270f6b4320b53e9d6d67452a3b77027
2023-07-19 18:39:55 -07:00
Dean Lee 14fdc8aca6 cabana/MessageViewHeader: fixed header position issue (#28291)
old-commit-hash: 53190e926c7320f95a108874ab44536ca57a7cfd
2023-05-25 10:50:36 -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 ca13898b23 cabana: show and edit all messages present in DBC files (#28108)
* show all messages present in DBC files

* set last section stretch

* user can't resize data section

* re-fetch if filtering freq|count|data

* reserve set space

* use contains

* emit signalAdded for all related sources
old-commit-hash: f7e024f2f22139153aa8ee5ce9a9713bd51d99f0
2023-05-07 16:48:47 -07:00
Willem Melching 3cd1f3560b cabana: add filter per column (#28034)
* add non functional lineedits

* implement actual filtering

* more efficient modelReset

* less diff

* refactor contains

* make sortMessages static

* cleanup

* regex support

* case insensitive

* uncomment

* set header before restoring state

* force reset

* more regex matching

* update comment

* put back header with clear button

* handle hiding

* handle horizontal scrolling

* whitespace

* dont add that
old-commit-hash: aa54204c81cfd17eeada96df3671e6cbd12ebc01
2023-05-04 10:51:00 -07:00
Willem Melching 5c74c4d75d cabana: hide/show columns using context menu (#28033)
old-commit-hash: 8318d7207b96232894580cd5fd8da3f0ff7c0d70
2023-04-26 09:54:26 -07:00
Dean Lee 8a724f649f cabana: fix unable to scroll to the right edge of the message list. (#27947)
* fix scroll issue

* resize bytes section after model reset
old-commit-hash: 6ad4017fd8770a7a4deec7bceff6e96b0b6f51a8
2023-04-17 23:00:05 -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: f5d66fa2a9b1c09dfcab72e23610379c6960d0da
2023-04-15 16:25:24 -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: 860e843af6a3afd153790b7d8e3060b9b586299f
2023-04-13 16:26:58 -07:00
Dean Lee 640d68e3bc cabana: move dbc related files to dbc/ (#27712)
* move dbc related files to dbc/

* move generate_dbc_json.py to dbc/
old-commit-hash: 8903e03c8844df03783ae78d97e1294d0869ffea
2023-03-28 11:52:28 -07:00
Willem Melching f0d648d8c6 cabana: refactor Msg and Signal into dbc.cc (#27552)
old-commit-hash: e4d591ecbfaaf12b267e3f93927a89e9b4f6a7b9
2023-03-10 11:19:37 -08:00
Willem Melching 6684dede2f cabana: show bus in own column (#27434)
old-commit-hash: 4e0a3aa0d51c3abd96774bb12a6e28943082fa81
2023-02-23 10:44:53 -08: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 972e91463c 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
old-commit-hash: ac0dbf74bc835faa46beab4bbb948c95597e4e67
2023-02-17 19:31:54 -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 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
Willem Melching 4081c51c73 cabana: add button to suppress highlighted bytes (#27131)
old-commit-hash: e3c202b4a2d79f6843aa54ec9a1ef81e39da2731
2023-02-02 13:16:09 -08:00
Dean Lee 499df99c9e cabana: saving & restoring columns widths (#27080)
saving & restoring columns widths
old-commit-hash: 08060e42c4bab39b85a64707f8eb801580ed2245
2023-01-26 12:56:38 -08:00
Dean Lee fc3dac373e cabana: colorful logs based on activity (#27008)
* color logs

* remove space

* update in updateColors
old-commit-hash: b2675cef9a9d4993859b0cd924a1ca74281024f9
2023-01-24 11:36:40 -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: f9490739ab37ae680aef272d51eb3cf2b36b4103
2023-01-19 15:26:00 -08:00
Willem Melching 589c7d951f cabana: color bytes based on activity (#26970)
* cabana: color bytes based on activity

* newlines

* fix text color when selected

* fix indent

* add colors to binary view

* no need to check contains

* whitespace

* Apply suggestions from code review

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 5b8d124be7d1277d816ff337fd69600da0e891e2
2023-01-19 10:35:18 -08:00
Dean Lee 270893d562 cabana: double click on an item in FindSimilarBitsDlg to open the message in detailView (#26930)
* double click to open message

* remove qDebug
old-commit-hash: 53ec07edbd591296602658080df71d91e8629540
2023-01-12 13:39:51 -08:00
Dean Lee c55ba450cc Cabana: improve message sorting,filtering and updating. (#26396)
* optimize sort/filter/update

* helper function msgName

* cleanup
old-commit-hash: 1cf293f3a6c02bb44af9ef1e715b005104de1bc1
2022-11-07 07:53:42 -08:00
Dean Lee aa4d1816a5 Cabana: move dbc related code from MessagesWidget to MainWin (#26387)
* move dbc related code to mainwin

* trigger ci
old-commit-hash: 529504e201a4130bad7ff9ab712e01c1341ac349
2022-11-06 11:05:14 -08:00
Dean Lee 1e30802b36 Cabana: fix update issues when the the replay is paused (#26311)
fix state not updated if replay is paused
old-commit-hash: 6ca6a26d4c12ab0813c8474eb1a9bed6f69374ee
2022-11-01 09:31:47 -07:00
Dean Lee 520d0d1af0 Cabana: add save DBC dialog (#26282)
* export DBC to text edit

* added saveAs & Copy To Clipboard

* cleanup

* cleanup include

* add test case

* rename variable

* fix precision
old-commit-hash: 80b088c332808439ea9cfe23557fae5a86fb075c
2022-10-30 07:31:12 -07:00
Dean Lee c5d196babf Cabana: show frequency column in message table (#26189)
* show frequency column in message table

* add comments
old-commit-hash: d0c0972ba44e72f4875ed4f3c6fc3b25fd862b99
2022-10-21 08:01:26 -07:00
Dean Lee daa35e27c0 Cabana: dynamic sorting message list (#26150)
old-commit-hash: 85d39ec34ef80ab292eae0ac18600037f7903e44
2022-10-20 11:23:27 -07:00
Dean Lee 03aefed64a Cabana: load DBC from car fingerprint (#26158)
* auto load DBC from fingerprint

* generate json in scons
old-commit-hash: 2ed51e31517e1e1948833cfcf8d2c83471b1e1be
2022-10-19 14:18:28 -07:00
Dean Lee e0f105f628 cabana: load dbc from paste (#26098)
old-commit-hash: 12058c21c73c7777e260334827b30f4d24c8313d
2022-10-17 21:44:56 -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