adding CP example for PiCowbell

This commit is contained in:
Liz 2023-05-08 16:01:46 -04:00
parent fa59f8315f
commit 2735149eb5

View file

@ -0,0 +1,36 @@
# SPDX-FileCopyrightText: Copyright (c) 2020 Bryan Siepert for Adafruit Industries
#
# SPDX-License-Identifier: MIT
'''Simple Test for the PiCowbell CAN Bus with Raspberry Pi Pico'''
from time import sleep
import board
import busio
from digitalio import DigitalInOut
from adafruit_mcp2515.canio import Message, RemoteTransmissionRequest
from adafruit_mcp2515 import MCP2515 as CAN
cs = DigitalInOut(board.GP20)
cs.switch_to_output()
spi = busio.SPI(board.GP18, board.GP19, board.GP16)
can_bus = CAN(
spi, cs, loopback=True, silent=True
) # use loopback to test without another device
while True:
with can_bus.listen(timeout=1.0) as listener:
message = Message(id=0x1234ABCD, data=b"adafruit", extended=True)
send_success = can_bus.send(message)
print("Send success:", send_success)
message_count = listener.in_waiting()
print(message_count, "messages available")
for _i in range(message_count):
msg = listener.receive()
print("Message from ", hex(msg.id))
if isinstance(msg, Message):
print("message data:", msg.data)
if isinstance(msg, RemoteTransmissionRequest):
print("RTR length:", msg.length)
sleep(1)