Commit Graph

83 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
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 03ba671b96 cabana: save settings to user-specific directory (#30328)
* save settings to user-specific directory

* include
old-commit-hash: b73329092c1eeb9b7472db97fcdf5544ee848156
2023-10-25 14:39:41 -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 5de3198888 cabana: check if index is valid (#30204)
old-commit-hash: d02558c4008af9e4efc4fc36561bb5120cd47304
2023-10-06 20:13:08 -07:00
Dean Lee dbc788a418 cabana: fix QMenu leak (#29956)
fix qmenu leak
old-commit-hash: a450eff89f87670aacf7702925a41eedc8b1a234
2023-09-18 11:25:35 -07:00
Dean Lee c99c0b51e3 cabana/MessageListModel: replace match |= with match = match || (#29667)
old-commit-hash: 4f915f4f1a2ed4c62069e03b176d2a4906479c51
2023-08-27 17:56:49 +01:00
Dean Lee 7a1b7d4206 cabana: improve frequency accuracy (#29631)
* improve frequency accuracy

* apply review

* 2 less lines!

* another!

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
old-commit-hash: 2484548fddd1de51a75c52736b1709081ea61eb9
2023-08-25 15:15:16 -07:00
Dean Lee de809632bf cpplint: add filter whitespace/comma (#29595)
old-commit-hash: 7bfd3dac811ae95bfd09495e88377dfbaacda393
2023-08-24 10:42:06 -07:00
Dean Lee 5f4b422305 cpplint: add filter whitespace/semicolon (#29568)
old-commit-hash: f203648de0a9d78121d3a775ae454a43e1211e62
2023-08-23 15:00:30 -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 b31de7db56 cabana: fixed the multi-threading issues of AbstractStream (#28590)
* fix multi-threading issues

* protect masks with mutex
old-commit-hash: e80440dc5d76c12cd6782b6a3446b12f6c62016e
2023-06-19 10:21:16 -07:00
Dean Lee c5543bf21d cabana: support multiplexed signals (#28309)
* support muxed signals

* write multiplexor in generateDBC

* edit multiplex_switch_value in signalView

* no overlapping warning for mux signals

* group signals by multiplexer indicator

* display freq for each multiplexed signals

* remove all multiplexed signals after switch deleted

* disable switch value

* cleanup

* historyView: use getValue

* sort by switch value

* check address

* rename variables

* rename signale type

* parse multiplexed signals in dbcmanater

* cache signal color in member variable

* cleanup num_decimals

* remove sources from dbcmanager and cleanup code

* fix sort

* check mltiplex in operator==

* fix sizehint

* convert multipledxed to normal after changing multiplxor to normal

* throw error on multiple 'M' signals

* add comment

* parse multipled signals in test case

* cleanup

* change order

* cleanup open

* display multiplexed/overlapping signals in binaryview

* sort overlapped signals by size

* refactor dbcmanager

* trimmed

* parse multiplexed signals in test case

* cleanup

* merge master

* space

* use pointer for sigs

* alldbcFiles

* cleanup

* cleanup sparkline

* use std::vector

* skip draw sparkline if isnull

* bigger capacity
old-commit-hash: e08569b0f31953e185369eba9afb7fb20de714fa
2023-06-13 13:22:03 -07:00
Dean Lee 4053228f67 cabana: display signal details in tooltip (#28471)
* show details in tooltip

* display tooltip in signalView

* cleanup

* setHeader before sortByColumn

* more compact tooltip

* move to util
old-commit-hash: 9632451d1d6a726d389a91bd47261c0acda1a6ae
2023-06-12 13:58:41 -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 40f37482c3 cabana: fix broken message filtering (#28319)
fix message filtering
old-commit-hash: b0120e30a491bad0284f860e81064d142519e647
2023-05-27 14:04:43 -07:00
Dean Lee f0b0521db9 cabana: auto stretch last column (#28310)
old-commit-hash: 9a3897831cebe7ee98858a3820f05b1985a0f40f
2023-05-26 11:07:46 -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 6cc979a258 cabana: support editing dbc files without a stream (#28294)
* no stream mode

* disable tools menu if no stream

* disable splitter

* cleanup

* refactor matchMessage
old-commit-hash: d5d1ca11d4a5ba5ffcb067fd842540d5334e9360
2023-05-25 10:51:28 -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
Willem Melching 2e21af7d26 cabana: partial match on ID filter (#28158)
old-commit-hash: 3f8fc8f6f8635797a61d4c6bb0fa787517d444b7
2023-05-10 10:19:28 -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 3cd82e36b7 cabana: fix rounding error in filter sizehint (#28116)
old-commit-hash: b3a3040d09f32e45fd21c72d518ac57a29b2f27d
2023-05-05 11:28:54 -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 10215bc44e cabana: add option to suppress already known signals (#28106)
* suppress using static mask

* use mask in updateLastMsgsTo

* store mask in cabana::Msg

* update mask in the right places

* actually build mask

* restore setting

* less diff
old-commit-hash: b53f748a1a328e63dff0a404114c5210eeaf2282
2023-05-04 10:50:28 -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 7a51caa0af cabana: make head section movable (#27971)
* set sections movable

* change setting key to v3

* add comment

* remove restorestate from MainWindow
old-commit-hash: f9568e98182c0e45226185945c66249de278cfdd
2023-04-19 10:28:09 -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 5115b6dc5a cabana: fixed the freq column for high-freq messages may be incorrectly displayed as a --. (#27940)
old-commit-hash: a324d79fa3529c00363fb8a5aa802da2dc81d737
2023-04-17 15:08:22 -07:00
Dean Lee 941765994c cabana: some improvements to messages view (#27935)
* improve messageswidget

* remove double semicolon
old-commit-hash: f79654a1e7e3b6d64bf73859ae58a39d0f0b6f74
2023-04-17 13:39:43 -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 35e5b4d927 cabana: group CAN events by message id to reduce the time complex from O(N) to O(1) (#27601)
* refactor streams

* helper function xLessThan

* fix fill gaps
old-commit-hash: 74db5a4b421c822065677b12c4493c4e20aa2a9b
2023-03-17 10:16:14 -07:00
Dean Lee b12a2a0eaf cabana: replace hardcoded margins, colors, spacing with values from style. (#27449)
replace hardcoded margins, colors, spacing

improve performance of MessageBytesDelegate
old-commit-hash: 78116029d33ab7724daa087201f1743fd34d6a19
2023-02-25 14:27:18 -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
Dean Lee af6892d118 cabana: simplify conversions between QVariant and QVector<QColor> (#27367)
old-commit-hash: 37adf5d3a681daac2542270a24897ae00d42e4b8
2023-02-16 18:53:12 -08:00
Dean Lee c043ea7fa2 cabana: add online-help (#27349)
* add online helps

* typo

* remove duplicate 'too'

* show idle message:For Help, Press F1

* improve drawHelp

* fix color desc
old-commit-hash: 2510f78126b0a457b5e8b42f1f32e5bf24a2c045
2023-02-16 14:47:36 -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 91b1f88007 cabana: dont reset filter after seek (#27290)
old-commit-hash: 237428d0fd42bd0d00156029b38afced3222280e
2023-02-10 10:13:15 -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 43e4b84fec cabana: syc the last messages after seeking (#27149)
* fix wrong last message time

* update last messages after seekto

* cleanup

* remove src,address from CanData

* merge master

merge master
old-commit-hash: 41304db1e661fa6593d777f0f17dfd60e6f909c8
2023-02-02 20:39:16 -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 ba6d251bbf cabana: remove the hardcoded width for columns (#27185)
old-commit-hash: 6b04ead6dd8fc89540c9d0000a2aa262c6b420e1
2023-02-02 13:14:36 -08:00
Dean Lee 6741c99afc cabana: small improvements to MessageListModel::setFilterString (#27153)
old-commit-hash: 3815afbde74b69ce1057ae0162364f19f5baee0a
2023-01-30 10:57:35 -08:00
Dean Lee 1034573f1d Cabana: load commaai/opendbc from menu (#27114)
* load from opendbc

* move load from commaai/opendbc to menu

* keep margins
old-commit-hash: a84b601d4cd2dbd1494ea1dcf31e21aacd579574
2023-01-29 13:02:20 -08:00