Commit Graph

41 Commits

Author SHA1 Message Date
Dean Lee
d72f000d98 cabana: Improve seeking and zooming (#32334)
* Improve seeking and zooming

* No repeated calculation of freq

* set min zoom seconds to 10ms
2024-05-03 02:42:29 -07:00
Dean Lee
2d1078ee5b cabana: some improvements (#32161)
some improvements
2024-04-24 15:56:25 -07:00
Dean Lee
5e61775561 cabana: refactor HistoryLog for simplification and enhancements (#32284) 2024-04-23 09:53:50 -07:00
Dean Lee
9e1639c3f1 cabana: fix the suppress highlight breaks after seeking (#31912) 2024-03-18 22:37:17 -07:00
Dean Lee
7ded7a0720 cabana: fix double comparisons (#30468)
compare double with epsilon
2023-11-14 21:44:22 -08:00
Dean Lee
01610128bb 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
2023-10-30 09:47:23 -07:00
Dean Lee
57621afcb0 cabana/chart: populate the points incrementally (#30326)
* populate the points incrementally

* less spacing
2023-10-25 10:56:49 -07:00
Dean Lee
ef4c963c60 cabana: add comparision operator for CanEvent (#29864) 2023-09-10 16:09:22 -07:00
Dean Lee
74daab120d cabana: speed up exit (#29813) 2023-09-07 11:30:53 -07:00
Dean Lee
60593660e6 cabana: add empty check before insert events (#29798) 2023-09-06 10:24:58 -07:00
Dean Lee
0afcf12368 cabana: fix crash when no can events in the log (#29795)
fix crash when no events
2023-09-06 02:36:07 -07:00
Dean Lee
57ad4f02f8 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
2023-08-26 08:42:50 -07:00
Dean Lee
2484548fdd cabana: improve frequency accuracy (#29631)
* improve frequency accuracy

* apply review

* 2 less lines!

* another!

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-08-25 15:15:16 -07:00
Dean Lee
2d99521e75 cpplint: build/include_what_you_use (#29556)
* include_what_you_use

* remove comments

* include <memory>

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2023-08-23 13:25:17 -07:00
Dean Lee
e80440dc5d cabana: fixed the multi-threading issues of AbstractStream (#28590)
* fix multi-threading issues

* protect masks with mutex
2023-06-19 10:21:16 -07:00
Dean Lee
e08569b0f3 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
2023-06-13 13:22:03 -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
f01652cc41 cabana: fix the frequency was incorrect when replay from a specified segment (#28165) 2023-05-11 10:42:25 -07:00
Dean Lee
f7e024f2f2 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
2023-05-07 16:48:47 -07:00
Willem Melching
b53f748a1a 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
2023-05-04 10:50:28 -07:00
Dean Lee
7f856eafd9 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>
2023-04-25 21:49:10 -07:00
Dean Lee
aabbe9ff18 cabana: fixed incorrect comparison (#28007) 2023-04-23 18:20:43 -07:00
Dean Lee
91dc064ac7 cabana: support all features except video in live stream mode. (#27994) 2023-04-21 13:23:17 -07:00
Willem Melching
31cdb8de4c cabana: fix shadowed variable in abstractstream.cc (#27976) 2023-04-19 13:31:03 -07:00
Willem Melching
8da5745970 cabana: use cyan/red coloring for values that move mostly up/down (#27966) 2023-04-19 10:45:07 -07:00
Dean Lee
8ad2d84aeb cabana: refactor the cache for CAN events (#27969) 2023-04-19 10:44:52 -07:00
Willem Melching
fbe70c43a4 cabana: make highlight fade time independent of playback speed (#27951) 2023-04-18 09:20:42 -07:00
Dean Lee
f15cb01137 cabana: speed up parsing can events (#27874)
speed up parsing can events

cleanup include
2023-04-11 19:35:11 -07:00
Dean Lee
74db5a4b42 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
2023-03-17 10:16:14 -07:00
Willem Melching
0afd3bab34 cabana: DBCManager only expose methods/signals through MessageId (#27540) 2023-03-14 11:31:04 -07:00
Dean Lee
d09a9a08fc cabana: fix hang on scrubbing in zommed chart (#27568) 2023-03-13 10:25:16 -07:00
Dean Lee
dc31c50aa7 cabana: split events into chunks and processed concurrently (#27562) 2023-03-11 12:47:34 -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 &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
2023-02-20 14:16:30 -08:00
Willem Melching
8772306467 cabana: fix events() call in AbstractStream::updateLastMsgsTo (#27360) 2023-02-16 10:34:42 -08:00
Willem Melching
5078c91805 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
2023-02-15 12:39:03 -08:00
Dean Lee
d19b668365 cabana: fix incorrect bit color after seek (#27287) 2023-02-10 10:13:39 -08:00
Willem Melching
276586fdf0 cabana: bit level change frequency highlighting (#27259)
* cabana: bit level change highlighting

* change default color
2023-02-08 15:18:56 -08:00
Dean Lee
41304db1e6 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
2023-02-02 20:39:16 -08:00
Willem Melching
e3c202b4a2 cabana: add button to suppress highlighted bytes (#27131) 2023-02-02 13:16:09 -08:00
Dean Lee
b2675cef9a cabana: colorful logs based on activity (#27008)
* color logs

* remove space

* update in updateColors
2023-01-24 11:36:40 -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