allow something like "PandaFirmware" to be processed correctly.
According to capnp spec, Text could only be an UTF-8 string,
PandaFirmware is evidently a pure binary (as decodec by the web ui):
( key = "PandaFirmware",
value = "\x11\x01[\x16|GSe\xd5\x1a+\x94\xff\\f|" ),
This is causing logreader.py to fail processing rlog:
root@localhost:/data/openpilot$ python tools/lib/logreader.py /tmp/xxx_2021-01-04--21-40-41--0--rlog
Traceback (most recent call last):
File "tools/lib/logreader.py", line 147, in <module>
print(msg)
File "capnp/lib/capnp.pyx", line 1091, in capnp.lib.capnp._DynamicStructReader.str
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd5 in position 30118: invalid continuation byte
Not only that, the binary blob also gets truncated at '\0'. The real value
is as follows:
( key = "PandaFirmware",
value = (
bin = "\021\001[\026|GSe\325\032+\224\377\\f|\000\241\321\366j\360\247\354E?:\274\205\301\035\241\241T\370X\224\031\367P\257\350*eY\223rt\246\204=\223\301u\207\277\027xE\tn\365?J\234$\032\375\226\300a\215MB\326\342 }\r\366]5\250\236\006\312\000\025\353>Y\v+U\340C\321\017M\231\0307\220\236\303\005\327\'gJ\302Kv\270V\301F8\246\030\206[\344\2239T\003\275" ) ),
* Update README.md
* Update README.md
* Split out sensors
* no duplicate ports
* not used
* misc cleanup
* fix tests
* only catch import error
* celcius is not SI
* better temp
* update servicespy
* add explicit
* -data
* save sensors for later
* more thermal
* little more
* thermal -> deviceState
* steering
* forgot deg
* explicit ids
Co-authored-by: Willem Melching <willem.melching@gmail.com>
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* add visionbuf
make static
ignore that
* Needs decleration
* add test binary
* c++
* create some structure
* some impl
* socket stuff
* Accept socket connection
* Alloc some buffers
* Create pub sockets and send buffer id
* make listener private
* Implement receive
* use error check macros in cl_helpers
* constructors to pass in opencl context
* add some convenience values in struct
* refactor creating buffers
* rgb is not so simple
* add fake stride and expose buffers
* add comment
* add extra data struct
* support conflate
* init opencl on all buffers
* make ion compile
* fix qcom2
* correctly setup yuv pointers when importing buffer
* also included from c
* Remove send print statements
* send metadata
* reveive metadata
* also used in c code
* dont start listener automatically
* Was started in 2 places
* set 100ms timeout on socket
* verify server id to detect reconnects
* handle reconnect
* buffer cleanup
* let user handle opencl creation
* add default values
* Add support for aligned rgb buffers
* add align macro
* dont use namespace
* use poller
* apple ifdef in ipc.cc
* VisionBuf is C++ class
* Install opencl headers
* cppcheck c++
* remove c header guard
* fix mac build
* simplify constructors
* Update visionipc/visionipc.h
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* Update visionipc/visionbuf_ion.cc
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* add brackets
* s/VIPCBufExtra/VisionIpcBufExtra/g
* Add unittesting harness
* remove vipc demo
* very basic tests
* add conflate test
* Install opencl
* suppress msgq warnings
* Make it work using zmq
* cl in qcom replay
* run unittests in zmq mode as well
* non blocking connect
* always larger frame queues
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>