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
5
6import board
7import busio
8from digitalio import DigitalInOut
9
10from adafruit_mcp2515 import MCP2515 as CAN
11from adafruit_mcp2515.canio import Message, RemoteTransmissionRequest
12
13cs = DigitalInOut(board.D5)
14cs.switch_to_output()
15spi = busio.SPI(board.SCK, board.MOSI, board.MISO)
16
17can_bus = CAN(spi, cs, loopback=True, silent=True) # use loopback to test without another device
18while True:
19 with can_bus.listen(timeout=1.0) as listener:
20 message = Message(id=0x1234ABCD, data=b"adafruit", extended=True)
21 send_success = can_bus.send(message)
22 print("Send success:", send_success)
23 message_count = listener.in_waiting()
24 print(message_count, "messages available")
25 for _i in range(message_count):
26 msg = listener.receive()
27 print("Message from ", hex(msg.id))
28 if isinstance(msg, Message):
29 print("message data:", msg.data)
30 if isinstance(msg, RemoteTransmissionRequest):
31 print("RTR length:", msg.length)
32 sleep(1)