Commit Graph

29 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 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 eba8100ea5 cabana: refactor dbc manager (#28445)
* rafactor signal

* cleanup

* refacto dbcmanager

* refactor dbcmanger
old-commit-hash: ff4aae85fe39b6442c03963a6a8cbfc900ba61c3
2023-06-08 13:41:55 -07:00
Dean Lee a5cb283b27 cabana: speed up parsing can events (#27874)
speed up parsing can events

cleanup include
old-commit-hash: f15cb01137ca4eb9bad0d134795919739969e04d
2023-04-11 19:35:11 -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
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
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 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 adfdbfac54 cabana: only update the colors of newly fetched messages in historylog (#27144)
only update new msgs color
old-commit-hash: d60aca8dd28731f947153f9f5dcb26d0f92ac2ad
2023-01-29 13:01:57 -08:00
Dean Lee 7f350927d1 cabana: cleanup historylog and fix some known issues (#27100)
improve history logs
old-commit-hash: 0f37ff6c0284b91881984ce5cf2d74c48bdf7e68
2023-01-26 12:37:04 -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
Dean Lee e982122f90 cabana: add a combobox to switch between signal and raw hex value (#26974)
* switch between hex&signal value

* sync display mode between view & model
old-commit-hash: 164880524a705fee3ba0507e70c7c0069b1f7ef0
2023-01-16 11:21:15 -08:00
Dean Lee 371ac89f84 Cabana: add dynamic/static mode to logs view (#26832)
old-commit-hash: e01809857174533e61a25d4bcb85b708031aa8cb
2022-12-30 13:57:29 -08:00
Dean Lee d37a669449 Cabana: double click on logs cell to open the chart (#26833)
old-commit-hash: ab797588f800c02c6ea181a86b3b1c7d760e8c72
2022-12-28 18:22:04 -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 79170305dc 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
old-commit-hash: f49520db0fd343ccca5975ee62d602d09f98d8b0
2022-12-12 14:47:45 -08:00
Dean Lee 4f1ff1d253 Cabana: sort signals by address in logs view (#26639)
cleanup
old-commit-hash: 2b916044f5e7e6466709bd45301765d0b7599eec
2022-11-30 12:40:36 -08:00
Dean Lee 4a67971c61 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
old-commit-hash: 4662f1e0be77d6636ef7e3f663fb839448d86af6
2022-11-22 14:23: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 32ff5a5b1c Cabana: Reimplement HistoryLog::sizeHintForColumn to improve performance (#26393)
Reimplement sizeHintForColumn to improve performance
old-commit-hash: cdcc0fb3695d75e781053f9feda6b6b91a08ea86
2022-11-06 11:06:10 -08:00
Dean Lee d81bd3f8ec Cabana: word wrap header (#26341)
* auto wrap header

* custom headerview
old-commit-hash: 70363e2491ea4150f85b44ff221d3318208581a9
2022-11-03 13:23:53 -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 a02e81b710 Cabana: limit X-axis range from settings (#26213)
* limit X-axis range from settings

* continue

* update range if events merged

* update line series by range

* cleanup removeChart

* cleanup updateAxisy
old-commit-hash: 728d96924924dd8d4e899ccaba0ed6bcc4a23417
2022-10-26 12:59:37 -07:00
Dean Lee 745f49b9e0 cabana: faster history log with better stretch mode (#26112)
old-commit-hash: 409e8f5f89a38f9893a1f28f8fabd3bf526b46eb
2022-10-17 17:18:24 -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