Commit Graph

45 Commits

Author SHA1 Message Date
Dean Lee
5f04517677 cabana: add csv export (#30800)
export csv
2023-12-19 11:50:16 -08:00
Dean Lee
aa744e8437 cabana: cleanp code (#30666) 2023-12-09 08:12:11 -08:00
Dean Lee
d87191c1c1 cabana: fix missing opendbc files (#30555)
* fix missing dbc files

* remove suffix
2023-11-30 20:46:31 -08:00
Dean Lee
bf932c6277 cabana: remove dependence on opendbc (#30329)
* remove dependence on opendbc

* move into function
2023-11-02 22:37:56 -07:00
Dean Lee
ff4aae85fe cabana: refactor dbc manager (#28445)
* rafactor signal

* cleanup

* refacto dbcmanager

* refactor dbcmanger
2023-06-08 13:41:55 -07:00
Angus Gratton
92d8295096 cabana: Add menu item that resets the window layout (#28390) 2023-06-03 14:51:16 -07:00
Dean Lee
a19799cbe9 cabana: fix multiple dialog popups (#28358)
fix multiple popups
2023-06-01 00:04:46 -07:00
Dean Lee
d5d1ca11d4 cabana: support editing dbc files without a stream (#28294)
* no stream mode

* disable tools menu if no stream

* disable splitter

* cleanup

* refactor matchMessage
2023-05-25 10:51:28 -07:00
Dean Lee
a26e6d1633 cabana: supports switching streams on the fly (#28081)
* open stream

* use std::atomic::exchange

* emit streamStarted immediately
2023-05-24 20:47:37 -07:00
Dean Lee
10bdcef0fe cabana: add tool to search for possible signals through values. (#28182)
* Add tools to search for possible signals through values.

* use ,
2023-05-13 14:05:14 -07:00
Dean Lee
933be2e128 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
2023-05-09 10:04:06 -07:00
Willem Melching
7f5cda00b5 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
2023-04-19 10:49:30 -07:00
Dean Lee
57bf782872 cabana: split chart to multiple files (#27871)
* git mv

* split file

* fix includes

* split tiplabel out
2023-04-11 22:30:15 -07:00
Dean Lee
8903e03c88 cabana: move dbc related files to dbc/ (#27712)
* move dbc related files to dbc/

* move generate_dbc_json.py to dbc/
2023-03-28 11:52:28 -07:00
Willem Melching
4ab2131ec9 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
2023-03-27 10:29:44 -07:00
Willem Melching
ee615a3077 cabana: create autosave file when there are unsaved changes (#27542) 2023-03-10 11:21:34 -08:00
Dean Lee
8d317ef51c cabana: press F11 to toggle fullscreen (#27455) 2023-02-28 15:50:30 -08:00
Dean Lee
c1be6d945b cabana: dispaly current FPS & cached minitues on statusbar (#27430)
dispaly current FPS & cached minitues on statusbar
2023-02-22 20:44:33 -08:00
Dean Lee
4efd246bac 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  

* 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
2023-02-20 14:16:30 -08:00
Dean Lee
10ed70d952 cabana: show command's text in statusbar (#27398) 2023-02-20 13:52:16 -08:00
Dean Lee
2510f78126 cabana: add online-help (#27349)
* add online helps

* typo

* remove duplicate 'too'

* show idle message:For Help, Press F1

* improve drawHelp

* fix color desc
2023-02-16 14:47:36 -08:00
Dean Lee
29d9d03759 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
2023-02-03 12:47:26 -08:00
Willem Melching
f3a9dac93e cabana: add --dbc command line argument (#27132) 2023-01-30 17:42:38 -08:00
Dean Lee
7a485d4308 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
2023-01-29 19:19:50 -08:00
Dean Lee
a84b601d4c Cabana: load commaai/opendbc from menu (#27114)
* load from opendbc

* move load from commaai/opendbc to menu

* keep margins
2023-01-29 13:02:20 -08:00
Dean Lee
50fc560b43 cabana: improve mainwin (#27053)
* open recent

* improve mainwin

* move to submenu

* new file & remind save before load

dd
2023-01-26 20:29:28 -08:00
Dean Lee
f9490739ab 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
2023-01-19 15:26:00 -08:00
Willem Melching
d365d99cb0 cabana: improve open/save functions (#27007) 2023-01-19 10:36:17 -08:00
Dean Lee
351d97ab5a cabana: make video resizable (#26998) 2023-01-18 11:40:44 -08:00
Dean Lee
7ae8792386 Cabana: make all panels dockable into each other (#26838) 2022-12-28 18:21:06 -08:00
Dean Lee
65509669b6 Cabana: add tool to find similar bits (#26834)
* find similar bits

* set window title
2022-12-28 16:51:02 -08:00
Dean Lee
68272449e1 Cabana: improve DBC file selector (#26787) 2022-12-13 20:25:50 -08:00
Dean Lee
daea877c07 Cabana: add shortcuts (#26528)
add shortcuts
2022-12-02 13:15:14 -08:00
Dean Lee
fc872271ae Cabana: add menu bar to main window (#26419)
* add menu bar

* show DBC name in title

* cleanup
2022-11-09 11:10:57 -08:00
Dean Lee
529504e201 Cabana: move dbc related code from MessagesWidget to MainWin (#26387)
* move dbc related code to mainwin

* trigger ci
2022-11-06 11:05:14 -08:00
Dean Lee
5aa0d211f0 Cabana: double click the title bar to move binview to a separate column (#26280)
* double click to move binview to seperate column

* cleanup

* double click frame

* continue

* rename signal

* add tooltip

* fix layout

* don't show last cell's  bottom line

* increase spliter handle size

* cleanup

* set resize mode to ResizeToContents

* add a split button

* cleanup layout&fix space

* cleanup

* remove hardcoded size

* cleanup
2022-10-29 12:01:08 -07:00
Dean Lee
ae1d150941 Cabana: redirect qt logs to status bar (#26187)
Redirect qt logs to status bar
2022-10-21 08:01:55 -07:00
Dean Lee
02a0a1c201 Cabana: add status bar to main window (#26159) 2022-10-20 13:37:27 -07:00
Dean Lee
4bf86742e6 Cabana: move settings to seperate files (#26173) 2022-10-20 11:22:09 -07:00
Dean Lee
93346c31d3 Cabana: add chart_height setting (#26066)
add chart_height setting
2022-10-17 10:20:27 -07:00
Dean Lee
b31932382d cabana: increase replay's segment cache limit & add setting dialog (#26019)
* increase replay's segment cache limit

* todo

* add settings dialog

blank line

typo
2022-10-12 19:31:26 -07:00
Dean Lee
0fa1588f6c 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
2022-10-12 13:55:17 -07:00
Dean Lee
9ec262bbfd cabana: Docking and undocking charts (#25983)
* floating dock charts

* more button

* setMinimumSize

* move reset zoom button to title bar

* show chart count

* cleanup

* reduce flicker

* dont update linemarker if pos not changed

* cleanup

* remove blank line

* always show dock/undock button
2022-10-06 13:57:11 -07:00
Dean Lee
a6ba073231 canbana: complete basic functions (#25965)
* add chart header

* get all signal val from logs

* loop in selected range

* clear list before append

* automatically zoom on yaxis

* cleanup

* sync charts

* fix event_begin_sec

* set the color of rubber

* add TODO

* sync slider with charts

* keep video aspect ratio

* sync plot buttons

* reduce flickers

* cleanup

* refactor detail view

* clear counters

* more

use qcamera
2022-10-05 21:17:22 -07:00
Dean Lee
1b8324af87 c++ cabana: Initial version (#25946)
* draft

* continue

* fix QChart unresponsive with large points

* build with --extras

* add filter

* save DBC button

* more buttons

* add flag to use qcamera

* stop replay in dctor

* README

* use getMsg

* video control

* edit signal

* add colors

* correct ts

* add/edit signals

* use bus:address as key
2022-10-03 15:19:42 -07:00