Commit Graph

26 Commits

Author SHA1 Message Date
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  

* 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
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: 5078c91805
2023-02-15 12:39:03 -08:00
Dean Lee 20977cbdfa cabana: fix incorrect bit color after seek (#27287)
old-commit-hash: d19b668365
2023-02-10 10:13:39 -08:00
Willem Melching 82eeb6f256 cabana: bit level change frequency highlighting (#27259)
* cabana: bit level change highlighting

* change default color
old-commit-hash: 276586fdf0
2023-02-08 15:18:56 -08:00
Dean Lee 6640006987 cabana: delay starting live streaming thread (#27213)
old-commit-hash: 2cb0f59962
2023-02-04 15:25:06 -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
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: 41304db1e6
2023-02-02 20:39:16 -08:00
Willem Melching 4081c51c73 cabana: add button to suppress highlighted bytes (#27131)
old-commit-hash: e3c202b4a2
2023-02-02 13:16:09 -08:00
Dean Lee dd914f684a cabana: support pause and slow motion playback in live stream mode (#27051)
* support pause and slow motion playback in live stream mode

* override

* virtual functions

* move to function

fix

* lock handleEvent

* show speed controls in video widget

* fix pause signal

* set margins

* cleanup
old-commit-hash: 544ad25a0b
2023-01-24 15:07:11 -08:00
Dean Lee fc3dac373e cabana: colorful logs based on activity (#27008)
* color logs

* remove space

* update in updateColors
old-commit-hash: b2675cef9a
2023-01-24 11:36:40 -08:00
Dean Lee 57fca0c177 cabana: fix memory corruption in live stream (#27037)
old-commit-hash: 1e4721ad62
2023-01-22 13:20:20 -08:00
Dean Lee e675648a16 cabana: add a slider to adjust chart range from 1 sec to max cached seconds. (#27005)
* add slider to set chart range

* set minumu to 1 sec

* make chart work in any range

* cleanup

* rename to max_cached_minitues

* more

* dont draw out of plotarea

* cleanup

* updateLayout after chart removed

* cleanup

* fix clamp

* usea same cur_sec to update all charts
old-commit-hash: f0d22f88e1
2023-01-20 11:47:29 -08:00
Dean Lee 504453c3e4 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
old-commit-hash: f9490739ab
2023-01-19 15:26:00 -08:00