/cereal

Serial messaging library for high performance pub/sub messaging with Cap'n Proto and ZMQ that supports C++ and python.

Primary LanguagePythonMIT LicenseMIT

Cereal

Serial messaging with Cap'n Proto and 0MQ in either Python or C++ based on the code from comma.ai

Example

import cereal.messaging as messaging

# in subscriber
sm = messaging.SubMaster(['sensorEvents'])
while 1:
  sm.update()
  print(sm['sensorEvents'])
# in publisher
pm = messaging.PubMaster(['sensorEvents'])
dat = messaging.new_message('sensorEvents', size=1)
dat.sensorEvents[0] = {"gyro": {"v": [0.1, -0.1, 0.1]}}
pm.send('sensorEvents', dat)