3dc324d3f1
This adds the Python files in the tests/ directory to be formatted with ./tools/codeformat.py. The basics/ subdirectory is excluded for now so we aren't changing too much at once. In a few places `# fmt: off`/`# fmt: on` was used where the code had special formatting for readability or where the test was actually testing the specific formatting.
148 lines
3.7 KiB
Python
148 lines
3.7 KiB
Python
"""
|
|
SPI test for the CC3200 based boards.
|
|
"""
|
|
|
|
from machine import SPI
|
|
import os
|
|
|
|
mch = os.uname().machine
|
|
if "LaunchPad" in mch:
|
|
spi_pins = ("GP14", "GP16", "GP30")
|
|
elif "WiPy" in mch:
|
|
spi_pins = ("GP14", "GP16", "GP30")
|
|
else:
|
|
raise Exception("Board not supported!")
|
|
|
|
spi = SPI(0, SPI.MASTER, baudrate=2000000, polarity=0, phase=0, firstbit=SPI.MSB, pins=spi_pins)
|
|
print(spi)
|
|
spi = SPI(baudrate=5000000)
|
|
print(spi)
|
|
spi = SPI(0, SPI.MASTER, baudrate=200000, bits=16, polarity=0, phase=0)
|
|
print(spi)
|
|
spi = SPI(0, SPI.MASTER, baudrate=10000000, polarity=0, phase=1)
|
|
print(spi)
|
|
spi = SPI(0, SPI.MASTER, baudrate=5000000, bits=32, polarity=1, phase=0)
|
|
print(spi)
|
|
spi = SPI(0, SPI.MASTER, baudrate=10000000, polarity=1, phase=1)
|
|
print(spi)
|
|
spi.init(baudrate=20000000, polarity=0, phase=0)
|
|
print(spi)
|
|
spi = SPI()
|
|
print(spi)
|
|
SPI(mode=SPI.MASTER)
|
|
SPI(mode=SPI.MASTER, pins=spi_pins)
|
|
SPI(id=0, mode=SPI.MASTER, polarity=0, phase=0, pins=("GP14", "GP16", "GP15"))
|
|
SPI(0, SPI.MASTER, polarity=0, phase=0, pins=("GP31", "GP16", "GP15"))
|
|
|
|
spi = SPI(0, SPI.MASTER, baudrate=10000000, polarity=0, phase=0, pins=spi_pins)
|
|
print(spi.write("123456") == 6)
|
|
buffer_r = bytearray(10)
|
|
print(spi.readinto(buffer_r) == 10)
|
|
print(spi.readinto(buffer_r, write=0x55) == 10)
|
|
read = spi.read(10)
|
|
print(len(read) == 10)
|
|
read = spi.read(10, write=0xFF)
|
|
print(len(read) == 10)
|
|
buffer_w = bytearray([1, 2, 3, 4, 5, 6, 7, 8, 9, 0])
|
|
print(spi.write_readinto(buffer_w, buffer_r) == 10)
|
|
print(buffer_w == buffer_r)
|
|
|
|
# test all polaritiy and phase combinations
|
|
spi.init(polarity=1, phase=0, pins=None)
|
|
buffer_r = bytearray(10)
|
|
spi.write_readinto(buffer_w, buffer_r)
|
|
print(buffer_w == buffer_r)
|
|
|
|
spi.init(polarity=1, phase=1, pins=None)
|
|
buffer_r = bytearray(10)
|
|
spi.write_readinto(buffer_w, buffer_r)
|
|
print(buffer_w == buffer_r)
|
|
|
|
spi.init(polarity=0, phase=1, pins=None)
|
|
buffer_r = bytearray(10)
|
|
spi.write_readinto(buffer_w, buffer_r)
|
|
print(buffer_w == buffer_r)
|
|
|
|
# test 16 and 32 bit transfers
|
|
buffer_w = bytearray([1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2])
|
|
buffer_r = bytearray(12)
|
|
spi.init(SPI.MASTER, baudrate=10000000, bits=16, polarity=0, phase=0, pins=None)
|
|
print(spi.write_readinto(buffer_w, buffer_r) == 12)
|
|
print(buffer_w == buffer_r)
|
|
|
|
buffer_r = bytearray(12)
|
|
spi.init(SPI.MASTER, baudrate=10000000, bits=32, polarity=0, phase=0, pins=None)
|
|
print(spi.write_readinto(buffer_w, buffer_r) == 12)
|
|
print(buffer_w == buffer_r)
|
|
|
|
# check for memory leaks...
|
|
for i in range(0, 1000):
|
|
spi = SPI(0, SPI.MASTER, baudrate=1000000)
|
|
|
|
# test deinit
|
|
spi = SPI(0, SPI.MASTER, baudrate=1000000)
|
|
spi.deinit()
|
|
print(spi)
|
|
|
|
spi = SPI(0, SPI.MASTER, baudrate=1000000)
|
|
# next ones must fail
|
|
try:
|
|
spi = SPI(0, 10, baudrate=10000000, polarity=0, phase=0)
|
|
except:
|
|
print("Exception")
|
|
|
|
try:
|
|
spi = SPI(0, mode=SPI.MASTER, baudrate=10000000, polarity=1, phase=2)
|
|
except:
|
|
print("Exception")
|
|
|
|
try:
|
|
spi = SPI(1, mode=SPI.MASTER, baudrate=10000000, polarity=1, phase=1)
|
|
except:
|
|
print("Exception")
|
|
|
|
try:
|
|
spi = SPI(0, mode=SPI.MASTER, baudrate=2000000, polarity=2, phase=0)
|
|
except:
|
|
print("Exception")
|
|
|
|
try:
|
|
spi = SPI(0, mode=SPI.MASTER, baudrate=2000000, polarity=2, phase=0, firstbit=2)
|
|
except:
|
|
print("Exception")
|
|
|
|
try:
|
|
spi = SPI(0, mode=SPI.MASTER, baudrate=2000000, polarity=2, phase=0, pins=("GP1", "GP2"))
|
|
except:
|
|
print("Exception")
|
|
|
|
try:
|
|
spi = SPI(0, mode=SPI.MASTER, baudrate=2000000, polarity=0, phase=0, bits=9)
|
|
except:
|
|
print("Exception")
|
|
|
|
spi.deinit()
|
|
try:
|
|
spi.read(15)
|
|
except Exception:
|
|
print("Exception")
|
|
|
|
try:
|
|
spi.spi.readinto(buffer_r)
|
|
except Exception:
|
|
print("Exception")
|
|
|
|
try:
|
|
spi.spi.write("abc")
|
|
except Exception:
|
|
print("Exception")
|
|
|
|
try:
|
|
spi.write_readinto(buffer_w, buffer_r)
|
|
except Exception:
|
|
print("Exception")
|
|
|
|
# reinitialization must work
|
|
spi.init(baudrate=500000)
|
|
print(spi)
|