* add update_msgs
* works, need to find a way to pair socket to message without map
* works with strings
* save changes
* fix
* style
* remove fixMaybe
* style
* void update
* removing dynamic_struct
* comments
* dont need include anymore
* map -> vector<pair>
* move to update_msgs
* uint64
* change
* refrence
* whitepsace after if
* make sure specified port isn't reserved
* only sshd
* Add check to tests as well and test
* commonly define these safety check numbers in services and check in both places
* add function to generate new ports that aren't reserved
* port is guaranteed to not be a reserved port and above 8000 now
asserting the rate on runtime isn't necessary, just for testing
* create service_list dynamically
* redundant
* just add an offset equal to length of services dict
* fix test?
* only one reserved
* ignore the argument type error
* rm line
* Add back tests
* starts at 8001
* Added getters
* extra service to ack messages in process replay
* fix allAliveAndValid ignoring ignoreValid services
* check if readers are updated
* default message valid true
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>