Commit Graph

51 Commits

Author SHA1 Message Date
Dean Lee d6214690dc replay: fix various synchronization and event handling issues (#34254)
fix various synchronization and event handling issues
2024-12-21 14:32:49 -08:00
Dean Lee 9e8815def4 cabana: miscellaneous bug fixes and enhancements (#34297)
* toHexString

* use QToolBar

* fix incorrect groove rect

* limit CAN_MAX_DATA_BYTES

* add series type selector to chart toolbar

* dim inactive messages

* rename

* add help to chart

* cleanup
2024-12-21 13:49:09 -08:00
Dean Lee 7ac011ca89 cabana: add live and time-window heatmap modes for enhanced signal analysis (#34296)
add live and time-window heatmap modes
2024-12-20 10:40:05 -08:00
Dean Lee 9f3c2f0a37 cabana: enhance message heatmap visualization (#34239)
* enhance message heatmap visualization

* TODO

* improve log_factor

* typo

* bit_flip_counts
2024-12-19 10:49:35 -08:00
Dean Lee 3c765a1f45 replay: eliminate qt dependency (#34102)
refactor to remove qt dependency and module Replay classes
2024-11-25 09:13:22 -08:00
Dean Lee a18df70a3f cabana: simplify stream management and remove problematic autosave feature (#32945)
simplify code and remove problematic code
old-commit-hash: c17c34187b6e9c14b3c00135386625bbb601ed22
2024-07-10 15:10:24 -07:00
Dean Lee dbf095522f cabana: bug fixes and improvements (#32934)
bug fixes and improvements
old-commit-hash: 36815cc6d536ab8926f6335574ea587947c4e222
2024-07-08 14:50:31 -07:00
Dean Lee 06aed0617a cabana: avoid dead locks and improve responsiveness (#32740)
avoid dead locks and improve responsive
old-commit-hash: 865b98a5c45335dcdf736ab38e89b5a1dcde2d59
2024-06-16 12:32:45 -07:00
Dean Lee cdea057d4b cabana: fix panda stream issues (#32537)
fix segfault
old-commit-hash: 6b3d2b5a80c61e83a925ff28cc2394f9a9c0a996
2024-05-28 12:02:15 -07:00
Dean Lee 8df37a97d3 cabana: Improve seeking and zooming (#32334)
* Improve seeking and zooming

* No repeated calculation of freq

* set min zoom seconds to 10ms
old-commit-hash: d72f000d98fc63f1ff7da44acedf95251c89faef
2024-05-03 02:42:29 -07:00
Dean Lee df13fe2ead replay: optimize memory usage with MonotonicBuffer (#32278)
Optimize Memory Usage with MonotonicBuffe
old-commit-hash: bbd1648f0561b7b3270a2bc7b416841ac10fd9db
2024-04-22 19:21:42 -07:00
Dean Lee 8056fe5aff cabana: add csv export (#30800)
export csv
old-commit-hash: 5f045176775c8c2cdd7f85e7229f78cf26f0c013
2023-12-19 11:50:16 -08:00
Dean Lee 2a2988f180 cabana: fix double comparisons (#30468)
compare double with epsilon
old-commit-hash: 7ded7a072027ce235b5166e50f695dd184585481
2023-11-14 21:44:22 -08: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 897a62dcfc cabana: support multiple cameras (#30339)
support multiple cameras
old-commit-hash: fe4ad9670179b6f823b7332d5a903a7049a3ac03
2023-10-29 07:05:59 -10:00
Dean Lee 920bc9acea cabana: improve playback controller (#30325)
improve playback controller
old-commit-hash: 952838335d318ab3ecc2365d4f466800ad87aac4
2023-10-25 10:57:09 -07:00
Dean Lee 83678f7a87 cabana/chart: populate the points incrementally (#30326)
* populate the points incrementally

* less spacing
old-commit-hash: 57621afcb0f4a95f5fd36cc47a7801a776383af5
2023-10-25 10:56:49 -07:00
Dean Lee b43ea8de7b cabana: bug fixes (#29902)
* fix freq

* fix chart legend alignment issue
old-commit-hash: 0bd9df31930abb4f72cdef9908a6b3240426b659
2023-09-13 12:52:56 -07:00
Dean Lee c7efe08e08 cabana: add comparision operator for CanEvent (#29864)
old-commit-hash: ef4c963c60276a62d64a89c158a1a1ff1dbe8a10
2023-09-10 16:09:22 -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: 57ad4f02f8e693639262aa3a982be8ed6c433ee0
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: 2484548fddd1de51a75c52736b1709081ea61eb9
2023-08-25 15:15:16 -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
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: 2b0e4d46bbbb0ccbf028c975c3345d05765a7213
2023-08-23 10:50:11 -07:00
Dean Lee 004a097c95 cpplint: add readability/braces filter (#29554)
old-commit-hash: 363740a497620249066522c87ddb03e1362749d4
2023-08-23 10:13:46 -07:00
Dean Lee 841f8bfb3f cabana: improve timeline (#28801)
old-commit-hash: 059529cae2dde8331eb9a4ac876b36c2c3ec7697
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: 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 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 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 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
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: 7f856eafd98eb70d91c6b3e882991f34d1c4c4c8
2023-04-25 21:49:10 -07:00
Dean Lee 2b9c35ddf7 cabana: support all features except video in live stream mode. (#27994)
old-commit-hash: 91dc064ac730302ae6e6b38eddd928e702bbd0e1
2023-04-21 13:23:17 -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: 590b1bc2062d8a7f1ec253e0d0c5ab94799524c1
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: 8da57459702736d8ba347965b12465e57041a82b
2023-04-19 10:45:07 -07:00
Dean Lee 70800c6397 cabana: refactor the cache for CAN events (#27969)
old-commit-hash: 8ad2d84aebc29a0cec031f798a6af5c5c202cc27
2023-04-19 10:44:52 -07:00
Willem Melching ca245b4973 cabana: make highlight fade time independent of playback speed (#27951)
old-commit-hash: fbe70c43a43ae5a3d28d9510d090b6acf5968e1b
2023-04-18 09:20:42 -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 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 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: 4ab2131ec9e21d9784f2f423bd6b21c9914cd661
2023-03-27 10:29:44 -07:00
Dean Lee 01a5616f82 cabana: improve find similar bits (#27651)
* improve find similar bits

* 2 precision
old-commit-hash: 89d767da49a32bd78024ac224236f82bf2b2fff5
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: 74db5a4b421c822065677b12c4493c4e20aa2a9b
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: f00c108acb49bb633167dfdfcbdf84461cf59025
2023-03-15 10:54:22 -07:00
Willem Melching 918bad4847 cabana: DBCManager only expose methods/signals through MessageId (#27540)
old-commit-hash: 0afd3bab34432e0ba83818c264f17e3ef16005df
2023-03-14 11:31:04 -07: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 82eeb6f256 cabana: bit level change frequency highlighting (#27259)
* cabana: bit level change highlighting

* change default color
old-commit-hash: 276586fdf051caa86feef1820e6732567d22c19c
2023-02-08 15:18:56 -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 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