micropython: add micropython component
This commit is contained in:
61
components/language/micropython/drivers/sdcard/sdtest.py
Normal file
61
components/language/micropython/drivers/sdcard/sdtest.py
Normal file
@@ -0,0 +1,61 @@
|
||||
# Test for sdcard block protocol
|
||||
# Peter hinch 30th Jan 2016
|
||||
import os, sdcard, machine
|
||||
|
||||
|
||||
def sdtest():
|
||||
spi = machine.SPI(1)
|
||||
spi.init() # Ensure right baudrate
|
||||
sd = sdcard.SDCard(spi, machine.Pin.board.X21) # Compatible with PCB
|
||||
vfs = os.VfsFat(sd)
|
||||
os.mount(vfs, "/fc")
|
||||
print("Filesystem check")
|
||||
print(os.listdir("/fc"))
|
||||
|
||||
line = "abcdefghijklmnopqrstuvwxyz\n"
|
||||
lines = line * 200 # 5400 chars
|
||||
short = "1234567890\n"
|
||||
|
||||
fn = "/fc/rats.txt"
|
||||
print()
|
||||
print("Multiple block read/write")
|
||||
with open(fn, "w") as f:
|
||||
n = f.write(lines)
|
||||
print(n, "bytes written")
|
||||
n = f.write(short)
|
||||
print(n, "bytes written")
|
||||
n = f.write(lines)
|
||||
print(n, "bytes written")
|
||||
|
||||
with open(fn, "r") as f:
|
||||
result1 = f.read()
|
||||
print(len(result1), "bytes read")
|
||||
|
||||
fn = "/fc/rats1.txt"
|
||||
print()
|
||||
print("Single block read/write")
|
||||
with open(fn, "w") as f:
|
||||
n = f.write(short) # one block
|
||||
print(n, "bytes written")
|
||||
|
||||
with open(fn, "r") as f:
|
||||
result2 = f.read()
|
||||
print(len(result2), "bytes read")
|
||||
|
||||
os.umount("/fc")
|
||||
|
||||
print()
|
||||
print("Verifying data read back")
|
||||
success = True
|
||||
if result1 == "".join((lines, short, lines)):
|
||||
print("Large file Pass")
|
||||
else:
|
||||
print("Large file Fail")
|
||||
success = False
|
||||
if result2 == short:
|
||||
print("Small file Pass")
|
||||
else:
|
||||
print("Small file Fail")
|
||||
success = False
|
||||
print()
|
||||
print("Tests", "passed" if success else "failed")
|
Reference in New Issue
Block a user