Skip to content

Commit

Permalink
Merge pull request #5 from mrmcwethy/examples
Browse files Browse the repository at this point in the history
Added examples folder and an example .py
  • Loading branch information
mrmcwethy committed Jan 6, 2018
2 parents 761efb5 + e29610a commit 2532abe
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 0 deletions.
2 changes: 2 additions & 0 deletions adafruit_sdcard.py
Original file line number Diff line number Diff line change
Expand Up @@ -337,6 +337,8 @@ def _write(self, token, buf, start=0, end=None):
while cmd[0] == 0:
spi.readinto(cmd, end=1, write_value=0xff)

return 0 # worked

def count(self):
"""Returns the total number of sectors.
Expand Down
55 changes: 55 additions & 0 deletions examples/read_directory.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
import os
import busio
import digitalio
import board
import storage
import adafruit_sdcard

# The SD_CS pin is the chip select line.
#
# The Adalogger Featherwing with ESP8266 Feather, the SD CS pin is on board.D15
# The Adalogger Featherwing with Atmel M0 Feather, it's on board.D10
# The Adafruit Feather M0 Adalogger use board.SD_CS
# For the breakout boards use any pin that is not taken by SPI

SD_CS = board.SD_CS # setup for M0 Adalogger; change as needed

# Connect to the card and mount the filesystem.
spi = busio.SPI(board.SCK, board.MOSI, board.MISO)
cs = digitalio.DigitalInOut(SD_CS)
sdcard = adafruit_sdcard.SDCard(spi, cs)
vfs = storage.VfsFat(sdcard)
storage.mount(vfs, "/sd")

# Use the filesystem as normal! Our files are under /sd

# This helper function will print the contents of the SD
def print_directory(path, tabs=0):
for file in os.listdir(path):
stats = os.stat(path+"/"+file)
filesize = stats[6]
isdir = stats[0] & 0x4000

if filesize < 1000:
sizestr = str(filesize) + " bytes"
elif filesize < 1000000:
sizestr = "%0.1f KB" % (filesize/1000)
else:
sizestr = "%0.1f MB" % (filesize/1000000)

prettyprintname = ""
for _ in range(tabs):
prettyprintname += " "
prettyprintname += file
if isdir:
prettyprintname += "/"
print('{0:<40} Size: {1:>10}'.format(prettyprintname, sizestr))

# recursively print directory contents
if isdir:
print_directory(path+"/"+file, tabs+1)


print("Files on filesystem:")
print("====================")
print_directory("/sd")

0 comments on commit 2532abe

Please sign in to comment.