Commit Graph

18 Commits

Author SHA1 Message Date
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 2d4faa20be cabana: catch exceptions thrown from opendbc (#27242)
* catch exceptions thrown from opendbc

* Update tools/cabana/mainwin.cc

Co-authored-by: Cameron Clough <cameronjclough@gmail.com>

* Update tools/cabana/mainwin.cc

Co-authored-by: Cameron Clough <cameronjclough@gmail.com>

* show error line in detailed text

---------

Co-authored-by: Cameron Clough <cameronjclough@gmail.com>
old-commit-hash: 95fc84e0b78843a7c8b1a3c42a751d072378960d
2023-02-09 14:52:44 -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 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
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: 59ed74ae4a7a51fcfa673393947b755d7b29c323
2022-12-02 13:15:32 -08:00
Dean Lee 78a2c19d0b Cabana: sort signal by start bit and keep cursor position after save (#26529)
sort signals by start bit and keep cursor position after save
old-commit-hash: e3c913bfa1d8c534f351d6ead5c2156ee4ee4ffa
2022-11-16 15:43:49 -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 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 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 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 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 e0f105f628 cabana: load dbc from paste (#26098)
old-commit-hash: 12058c21c73c7777e260334827b30f4d24c8313d
2022-10-17 21:44:56 -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