Abstract dbc dialog away into Rlog Parser (#25)
* start to abstract DBC dialog
* start to refactor dbc dialog
* forgot to load dbc in dialog, now it works!
* that gave no noticeable speed ups
* re-ask if it failed to load (it shouldn't)
* display what we've already parsed (instead of nothing)
* should be fully working
* clean up
* make loadDBC shorter
* sort includes
* shouldn't need any of these
* better?
* fix
* Move constructor out of header
* combine the two dialog functions
* comment
add root Event fields to each sub-struct (#15)
* add logMonoTime and valid from Event struct to each sub-struct
* get global fields in parser
* debugging
* couldn't find a func to test if field was root, so pass one in
* clean up
* rm line
* struct never not had a root field
* Works but lots of loops
* it works! will clean up
* clean up
* add comment
* commit test
* revert
* match file style
* hide deprecated structs in Event union
* doesn't need to be recursive
* rm line
* combine into one if
* combine into one if
* no need
* detect if union or not in one loop
* remove comments
* move to constructor
* can be private again
Co-authored-by: ShaneSmiskol <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>
Streaming plugin - ZMQ and MSGQ (#19)
* messaging/cereal data streaming plugin starting point
* rename to cereal
* add cereal
* includes messaging.h successfully!
* never could find cereal
* compiles
* Revert "never could find cereal"
This reverts commit 88f7d127bffa83ef0100e7bcaf8f8039c6c5ecb1.
* try to link libcereal.a
* compiling, launching, and no symbol errors when SubMaster is created! will clean up
* launch thread
* clean up
* rm zmq.hpp
* cereal_parser doesn't work (need to convert to json apparently?)
* rm cereal
* bump cereal
* building cereal with its own SConstruct!
todo: do same for opendbc
* fix
* get ready
* before resetting opendbc submodule
* rm submodule
* add opendbc
* opendbc compiles with scons now
* remove previous opendbc compilation code
* we still need to add the dbc source files to SRC
* include opendbc for DataStreamCereal as well
* rough draft working. very slow!
* measure
* clean up
* relative
* compile cereal and opendbc in main dockerfile
* clean up
* no longer needed
* got zmq compiling and running, no msgs though
* ZMQ working
* more house cleaning
* tmp
* include rlog_parser
* more house cleaning
* not needed
* no need to keep track of sockets
* debug
* turns out we did need this after all
* more absolute services path
* update submodule temporarily
* doesn't need to be in class
* rm
* bump cereal
* match procs
* rm chrono
* Add back time debugging
This reverts commit a61f0e17f6e33a8432e17b8e193cefe2d658c1e8.
* Revert "Add back time debugging"
This reverts commit b56be3a0f3dcd95fc6067bf98c98917205f8c76f.
* only tcp
* don't conflate
* indentation
* drain socket
* drain socket
* better way of converting msg to Event
* debug lag when above 5 ms
* sort includes
* don't build in dockerfile
* Update plugins/DataStreamCereal/datastream_cereal.cpp
Co-authored-by: Adeeb Shihadeh <email address hidden>
* rename to sockets
* just a warning
* don't need to link dbcs
* use QElapsedTimer
* build with scons in CMakeLists.txt
* cmt
* sort and comment
* build in FindCereal
* build properly
* add cereal plugin too
* not needed
* clean up
* don't set 0 timeout for socket (100 by default, like poller)
* these are dynamically linked, need them to load any dbcs
* add DBC env var. make event a DynamicStruct
* build opendbc with make again (had to do it in both since it entered Cereal plugin before Rlog even if we define Rlog first
* built from scratch
* pass show_deprecated to rlog parser on initialization
* abstract cereal and can parsing into RlogMessageParser
* looks better
Co-authored-by: Adeeb Shihadeh <email address hidden>