-
Notifications
You must be signed in to change notification settings - Fork 17
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #5 from mrmcwethy/examples
Added examples folder and an example .py
- Loading branch information
Showing
2 changed files
with
57 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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") |