1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
#!/usr/bin/env python3
"""
Shows how to receive messages via polling.
"""
import can
from can.bus import BusState
def receive_all():
"""Receives all messages and prints them to the console until Ctrl+C is pressed."""
# this uses the default configuration (for example from environment variables, or a
# config file) see https://python-can.readthedocs.io/en/stable/configuration.html
with can.Bus() as bus:
# set to read-only, only supported on some interfaces
try:
bus.state = BusState.PASSIVE
except NotImplementedError:
pass
try:
while True:
msg = bus.recv(1)
if msg is not None:
print(msg)
except KeyboardInterrupt:
pass # exit normally
if __name__ == "__main__":
receive_all()
|