Simple test

Ensure your device works with this simple test.

examples/mcp2515_simpletest.py
 1# SPDX-FileCopyrightText: Copyright (c) 2020 Bryan Siepert for Adafruit Industries
 2#
 3# SPDX-License-Identifier: MIT
 4from time import sleep
 5import board
 6import busio
 7from digitalio import DigitalInOut
 8from adafruit_mcp2515.canio import Message, RemoteTransmissionRequest
 9from adafruit_mcp2515 import MCP2515 as CAN
10
11
12cs = DigitalInOut(board.D5)
13cs.switch_to_output()
14spi = busio.SPI(board.SCK, board.MOSI, board.MISO)
15
16can_bus = CAN(
17    spi, cs, loopback=True, silent=True
18)  # use loopback to test without another device
19while True:
20    with can_bus.listen(timeout=1.0) as listener:
21
22        message = Message(id=0x1234ABCD, data=b"adafruit", extended=True)
23        send_success = can_bus.send(message)
24        print("Send success:", send_success)
25        message_count = listener.in_waiting()
26        print(message_count, "messages available")
27        for _i in range(message_count):
28            msg = listener.receive()
29            print("Message from ", hex(msg.id))
30            if isinstance(msg, Message):
31                print("message data:", msg.data)
32            if isinstance(msg, RemoteTransmissionRequest):
33                print("RTR length:", msg.length)
34    sleep(1)