Commit Graph

62 Commits

Author SHA1 Message Date
Dean Lee
b43ea8de7b cabana: bug fixes (#29902)
* fix freq

* fix chart legend alignment issue
old-commit-hash: 0bd9df3193
2023-09-13 12:52:56 -07:00
Dean Lee
c7efe08e08 cabana: add comparision operator for CanEvent (#29864)
old-commit-hash: ef4c963c60
2023-09-10 16:09:22 -07:00
Dean Lee
2716ef3a23 cabana: speed up exit (#29813)
old-commit-hash: 74daab120d
2023-09-07 11:30:53 -07:00
Dean Lee
64c3dc5ad6 cabana: add empty check before insert events (#29798)
old-commit-hash: 60593660e6
2023-09-06 10:24:58 -07:00
Dean Lee
6394bf09d3 cabana: fix crash when no can events in the log (#29795)
fix crash when no events
old-commit-hash: 0afcf12368
2023-09-06 02:36:07 -07:00
Dean Lee
3d04606233 cabana: use a monotonic buffer to allocate CanEvent (#29652)
* use a monotonic buffer to allocate CanEvent

* set the next buffer size to 6MB

* static

* cleanup

* use const iter

* rename to insert_pos
old-commit-hash: 57ad4f02f8
2023-08-26 08:42:50 -07: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: 2484548fdd
2023-08-25 15:15:16 -07:00
Dean Lee
0984736972 cpplint: add filter build/include_subdir (#29585)
old-commit-hash: 21da5a216f
2023-08-24 15:42:17 +01: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: 2d99521e75
2023-08-23 13:25:17 -07:00
Willem Melching
6b98b83ad4 cabana: socketcan support (#27952)
* empty socketcan class

* works on linux with vcan

* add open stream widget

* fix MacOS build

* update readme

* unused

* no socketcan on C3

* fix in cabana sconstruct

* serial -> device
old-commit-hash: 2b0e4d46bb
2023-08-23 10:50:11 -07:00
Dean Lee
004a097c95 cpplint: add readability/braces filter (#29554)
old-commit-hash: 363740a497
2023-08-23 10:13:46 -07:00
Dean Lee
42dd6af842 ui/networking: remove call to clearLayout (#29037)
* build list inplace

* move clearLayout to cabana

* cleanup include

* polish style

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: fd8a9c8520
2023-08-13 11:57:40 -07:00
Dean Lee
841f8bfb3f cabana: improve timeline (#28801)
old-commit-hash: 059529cae2
2023-07-04 12:03:08 -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: e80440dc5d
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: e08569b0f3
2023-06-13 13:22:03 -07:00
Dean Lee
33d2893fd2 cabana: segment live stream logging (#28407)
old-commit-hash: b7a2a921ec
2023-06-05 09:44:30 -07:00
Kacper Rączy
0378e7ed81 replay: lock uiDebug and userFlag messages behind all flag (#28349)
* Add ui-debug flag, for replaying ui debug states

* Fix flag description

* Replace --ui-debug with --all flag

* Add base_blacklist for services blacklisted by default
old-commit-hash: 26ad9b32f3
2023-06-02 15:17:25 -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: d5d1ca11d4
2023-05-25 10:51:28 -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: a26e6d1633
2023-05-24 20:47:37 -07:00
Dean Lee
bd4d5ff3d4 cabana: fix the frequency was incorrect when replay from a specified segment (#28165)
old-commit-hash: f01652cc41
2023-05-11 10:42:25 -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: f7e024f2f2
2023-05-07 16:48:47 -07:00
Willem Melching
188aea549c cabana: improve panda startup dialog (#28104)
* create combo box for serial numbers

* configure bus speeds
old-commit-hash: 5c9935cc82
2023-05-04 10:59:26 -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: b53f748a1a
2023-05-04 10:50:28 -07:00
Dean Lee
bcc6999411 cabana: fix wrong total seconds in replay mode (#28015)
* fix total_sec

* fix chart max range

* fix all_evnets order & use vector to improve performance

* dynamic updating max time

* get real time from qlog

* Update tools/cabana/streams/livestream.cc

Co-authored-by: Shane Smiskol <shane@smiskol.com>

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
old-commit-hash: 7f856eafd9
2023-04-25 21:49:10 -07:00
Dean Lee
b07058407b cabana: fixed incorrect comparison (#28007)
old-commit-hash: aabbe9ff18
2023-04-23 18:20:43 -07:00
Dean Lee
2b9c35ddf7 cabana: support all features except video in live stream mode. (#27994)
old-commit-hash: 91dc064ac7
2023-04-21 13:23:17 -07:00
Willem Melching
bbe10913cf cabana: fix shadowed variable in abstractstream.cc (#27976)
old-commit-hash: 31cdb8de4c
2023-04-19 13:31:03 -07:00
Dean Lee
1045c7d836 cabana: startup stream chooser dialog (#27938)
* new StreamDialog

* choose dbc file

* update last_dir

* move to /streams

* cleanup

* add stretch

* catch panda exception

* cleanup

* cleanup

* small cleanup

* fix pandaStream crash caused by a failed connection

* static function to create stream widget

* cleanup
old-commit-hash: 590b1bc206
2023-04-19 10:49:06 -07:00
Willem Melching
69625b7f6c cabana: use cyan/red coloring for values that move mostly up/down (#27966)
old-commit-hash: 8da5745970
2023-04-19 10:45:07 -07:00
Dean Lee
70800c6397 cabana: refactor the cache for CAN events (#27969)
old-commit-hash: 8ad2d84aeb
2023-04-19 10:44:52 -07:00
Dean Lee
679ae7865a cabana: fix PandaStream crash if no panda found (#27948)
old-commit-hash: dc4b7b37c0
2023-04-18 10:22:57 -07:00
Willem Melching
ca245b4973 cabana: make highlight fade time independent of playback speed (#27951)
old-commit-hash: fbe70c43a4
2023-04-18 09:20:42 -07:00
Willem Melching
484eed0acf cabana: support direct streaming from panda over USB (#27936)
* refactor livestream into devicestream

* add panda stream

* unused

* whitespace

* move logging to base class

* add cmdline args

* Update selfdrive/boardd/boardd.cc

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 2a981f5531
2023-04-17 15:37:26 -07:00
Dean Lee
941765994c cabana: some improvements to messages view (#27935)
* improve messageswidget

* remove double semicolon
old-commit-hash: f79654a1e7
2023-04-17 13:39:43 -07:00
Dean Lee
6a98fd2bfd cabana: support logging live stream (#27884)
support logging live stream
old-commit-hash: e3a19ff074
2023-04-13 19:53:39 -07:00
Dean Lee
a5cb283b27 cabana: speed up parsing can events (#27874)
speed up parsing can events

cleanup include
old-commit-hash: f15cb01137
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: 8903e03c88
2023-03-28 11:52:28 -07:00
Willem Melching
e0ba3902df cabana: add support for multiple DBC files (#27435)
* split out dbc file logic into separate file

* emit dbc file changed

* change to list of dbc files

* handle missing DBC file

* dbcmanager emits signal

* close existing files before loading new one

* add placeholder open for bus menu

* implement open dbc for bus

* emit signals relevant for current dbc

* move logic into findDBC

* fix use after free

* show currently loaded names in load dialog

* enable/disable load save menus

* handle saving

* add save as to recents

* handle file already open

* do not assert

* fix return and throw on file open error

* fix test maybe

* remove todo

* typo

* fix new dbc

* fix loading fingerprint on macos

* handle replacing a currently open dbc

* fix reference and handle exception

* fix indendation
old-commit-hash: 4ab2131ec9
2023-03-27 10:29:44 -07:00
Dean Lee
b70e95dcbb cabana: support qlogs (#27689)
old-commit-hash: 8150e4a4b8
2023-03-25 15:38:55 -07:00
Dean Lee
01a5616f82 cabana: improve find similar bits (#27651)
* improve find similar bits

* 2 precision
old-commit-hash: 89d767da49
2023-03-22 11:02:34 -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: 74db5a4b42
2023-03-17 10:16:14 -07:00
Dean Lee
ee692c5bec cabana: eliminate deep copy of events in live stream mode (#27588)
old-commit-hash: f00c108acb
2023-03-15 10:54:22 -07:00
Dean Lee
83290c336b cabana: fix incorrect current ts in live stream mode (#27578)
old-commit-hash: 696cbb3e24
2023-03-14 11:31:57 -07:00
Willem Melching
918bad4847 cabana: DBCManager only expose methods/signals through MessageId (#27540)
old-commit-hash: 0afd3bab34
2023-03-14 11:31:04 -07:00
Dean Lee
c95ca5a1d5 cabana: fix hang on scrubbing in zommed chart (#27568)
old-commit-hash: d09a9a08fc
2023-03-13 10:25:16 -07:00
Dean Lee
41c03ff406 cabana: split events into chunks and processed concurrently (#27562)
old-commit-hash: dc31c50aa7
2023-03-11 12:47:34 -08:00
Dean Lee
a9e8d3e885 cabana: faster copy events (#27499)
old-commit-hash: 2de085d39d
2023-03-05 15:55:22 -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: 4efd246bac
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: ac0dbf74bc
2023-02-17 19:31:54 -08:00
Willem Melching
e06a040f5b cabana: fix events() call in AbstractStream::updateLastMsgsTo (#27360)
old-commit-hash: 8772306467
2023-02-16 10:34:42 -08:00