Commit Graph

95 Commits

Author SHA1 Message Date
Dean Lee
18f8bc79e6 cabana: remove dependence on opendbc (#30329)
* remove dependence on opendbc

* move into function
old-commit-hash: bf932c6277
2023-11-02 22:37:56 -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: 01610128bb
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: b73329092c
2023-10-25 14:39:41 -07:00
Dean Lee
c096776b31 cabana: remove the installed handlers on exit (#30297)
remove the installed handlers on exit
old-commit-hash: ac19ecee6f
2023-10-20 23:48:48 -07:00
Dean Lee
55a55aac6b cabana: mark the undo stack as clean after save as (#29898)
Marks the undo stack as clean after save as
old-commit-hash: 587f6ce0dc
2023-09-13 01:14:12 -07:00
Dean Lee
6c389dee7e cabana: display warning if failed to write settings (#29873)
* display warning if failed to write_settings

* use Settings::filePath()
old-commit-hash: f63dc51284
2023-09-12 13:13:59 -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: 2d99521e75
2023-08-23 13:25:17 -07:00
Dean Lee
841f8bfb3f cabana: improve timeline (#28801)
old-commit-hash: 059529cae2
2023-07-04 12:03:08 -07:00
Dean Lee
a7ce39a89e cabana: Prevent dialog that load autosaved file from blocking replay->start() (#28558)
old-commit-hash: 4891a234e2
2023-06-15 10:35:30 -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
900a08d7ce cabana: add "view" menu to the menu bar (#28467)
old-commit-hash: 376144dca3
2023-06-09 10:54:52 -07:00
Dean Lee
eba8100ea5 cabana: refactor dbc manager (#28445)
* rafactor signal

* cleanup

* refacto dbcmanager

* refactor dbcmanger
old-commit-hash: ff4aae85fe
2023-06-08 13:41:55 -07:00
Angus Gratton
5f3e8a41e8 cabana: Add menu item that resets the window layout (#28390)
old-commit-hash: 92d8295096
2023-06-03 14:51:16 -07:00
Dean Lee
c0883bcabe cabana: fix multiple dialog popups (#28358)
fix multiple popups
old-commit-hash: a19799cbe9
2023-06-01 00:04:46 -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
f30caf9ec5 cabana: add tool to search for possible signals through values. (#28182)
* Add tools to search for possible signals through values.

* use ,
old-commit-hash: 10bdcef0fe
2023-05-13 14:05:14 -07:00
Dean Lee
13c6a92471 cabana: cleanup mainwin (#28142)
* Remove redundant calls to updateLoadSaveMenus()

* cleanup updateLoadSavemenus

* helper function closeFile

* remove redundant calls to remindSaveChanges()

* remove unnecessary call to updateRecentFiles

* cleanup
old-commit-hash: 933be2e128
2023-05-09 10:04:06 -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
e32ba8719a cabana: more advanced DBC management features (#27968)
* cabana: improve menu to manage individual DBCs

* remove from single bus

* comments

* close explicitly

* new before open

* whitespace

* remove old code

* clipboard actions

* cleanup actions

* sections instead of nested menu

* consistent bus format
old-commit-hash: 7f5cda00b5
2023-04-19 10:49:30 -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
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: f9568e9818
2023-04-19 10:28:09 -07:00
Willem Melching
0a690ea48d cabana: fix MacOS build (#27950)
old-commit-hash: af5f769d7c
2023-04-18 12:18:33 -07:00
Dean Lee
8d7e910631 canaba: display the opened dbc files in the window title bar. (#27939)
* show dbc file name on the window title

* Show all dbc files opened on each bus

* check d
old-commit-hash: 30ff0bface
2023-04-17 15:08:08 -07:00
Dean Lee
b8fcd32542 cabana: update recent files in menu after save as (#27926)
old-commit-hash: 48f8c02cf1
2023-04-16 09:55:03 -07:00
Willem Melching
59dfef9d60 cabana: do not try to save empty wildcard DBC (#27898)
* cabana: do not try to save empty wildcard DBC

* use reference
old-commit-hash: d8e9c44c76
2023-04-13 11:09:14 -07:00
Dean Lee
c635bf8723 cabana: switch theme on the fly (#27855)
* switch theme on the fly

* better chart theme

* Darcula like dark theme

* add TODO

* use theme aware toolbutton in ChartView

* add margin to text title

* lighter activity colors

* fix historylog header

* replace hardcoded color

* improve chart tooltip color

* use macro

* space

* remove function toolbutton

* fix remove all btn

* remove menu arrow

* improve chart::removeIf

* cleanup charts
old-commit-hash: fc90814199
2023-04-10 15:53:50 -07:00
Dean Lee
07e11f1331 cabana: support toggle between light / dark theme (#27787)
add dark theme
old-commit-hash: c56872265a
2023-04-02 11:34:10 -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
AlexandreSato
e75c02e89c caban: fix typo (#27700)
old-commit-hash: 083f008d94
2023-03-26 17:06:33 -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
Willem Melching
918bad4847 cabana: DBCManager only expose methods/signals through MessageId (#27540)
old-commit-hash: 0afd3bab34
2023-03-14 11:31:04 -07:00
Willem Melching
612d7aee6b cabana: create autosave file when there are unsaved changes (#27542)
old-commit-hash: ee615a3077
2023-03-10 11:21:34 -08:00
Willem Melching
f0d648d8c6 cabana: refactor Msg and Signal into dbc.cc (#27552)
old-commit-hash: e4d591ecbf
2023-03-10 11:19:37 -08:00
Dean Lee
138d468772 cabana: press F11 to toggle fullscreen (#27455)
old-commit-hash: 8d317ef51c
2023-02-28 15:50:30 -08: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: 78116029d3
2023-02-25 14:27:18 -08:00
Dean Lee
6dcb9d8699 cabana: dispaly current FPS & cached minitues on statusbar (#27430)
dispaly current FPS & cached minitues on statusbar
old-commit-hash: c1be6d945b
2023-02-22 20:44:33 -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
9b9a90bf7a cabana: show command's text in statusbar (#27398)
old-commit-hash: 10ed70d952
2023-02-20 13:52:16 -08:00
Shane Smiskol
d163f09e66 cabana: add space to help message (#27384)
add space
old-commit-hash: 8d9f99b835
2023-02-18 21:48:13 -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: 2510f78126
2023-02-16 14:47:36 -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: 95fc84e0b7
2023-02-09 14:52:44 -08:00
Dean Lee
a509f7a1eb cabana: better window title for live streaming (#27214)
better title for live streaming
old-commit-hash: 90108c0c28
2023-02-04 09:42:39 -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: 29d9d03759
2023-02-03 12:47:26 -08:00
Willem Melching
e814b0f9f7 cabana: add --dbc command line argument (#27132)
old-commit-hash: f3a9dac93e
2023-01-30 17:42:38 -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: 7a485d4308
2023-01-29 19:19:50 -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: a84b601d4c
2023-01-29 13:02:20 -08:00
Dean Lee
c08eeb0cf2 cabana: display warning if failed to load dbc from clipboard (#27115)
display warning if failed to load from clipboard
old-commit-hash: e1e0432317
2023-01-27 11:34:17 -08:00