Advertisement
Ilya_Bykonya

Pycyphal heartbeat listener

Nov 29th, 2023
934
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.71 KB | Source Code | 0 0
  1.  
  2. from pycyphal.application import make_node, NodeInfo
  3. import pycyphal
  4. import uavcan
  5. import asyncio
  6. import time
  7.  
  8. def handle_command(msg: uavcan.node.Heartbeat_1_0, _metadata: pycyphal.transport.TransferFrom) -> None:
  9.     print('Heartbeat received:', msg)
  10.  
  11. async def main() -> None:
  12.     with make_node(NodeInfo(name="org.opencyphal.pycyphal.demo.plant"), "plant.db") as node:
  13.         heartbeat_subscriptor = node.make_subscriber(uavcan.node.Heartbeat_1_0, "heartbeat")
  14.         heartbeat_subscriptor.receive_in_background(handle_command)
  15.         while True:
  16.             await asyncio.sleep(1)
  17.  
  18.  
  19. if __name__ == "__main__":
  20.     try:
  21.         asyncio.run(main())
  22.     except KeyboardInterrupt:
  23.         pass
  24.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement