File tree Expand file tree Collapse file tree
CircuitPython_sdcardio_sdioio Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ import os
2+
3+ import mount_sd
4+
5+ def print_directory (path , tabs = 0 ):
6+ for file in os .listdir (path ):
7+ stats = os .stat (path + "/" + file )
8+ filesize = stats [6 ]
9+ isdir = stats [0 ] & 0x4000
10+
11+ if filesize < 1000 :
12+ sizestr = str (filesize ) + " by"
13+ elif filesize < 1000000 :
14+ sizestr = "%0.1f KB" % (filesize / 1000 )
15+ else :
16+ sizestr = "%0.1f MB" % (filesize / 1000000 )
17+
18+ prettyprintname = ""
19+ for _ in range (tabs ):
20+ prettyprintname += " "
21+ prettyprintname += file
22+ if isdir :
23+ prettyprintname += "/"
24+ print ('{0:<40} Size: {1:>10}' .format (prettyprintname , sizestr ))
25+
26+ # recursively print directory contents
27+ if isdir :
28+ print_directory (path + "/" + file , tabs + 1 )
29+
30+
31+ print ("Files on filesystem:" )
32+ print ("====================" )
33+ print_directory ("/sd" )
Original file line number Diff line number Diff line change 1+ import time
2+
3+ import board
4+ import digitalio
5+ import microcontroller
6+ import mount_sd
7+
8+ led = digitalio .DigitalInOut (board .D13 )
9+ led .direction = digitalio .Direction .OUTPUT
10+
11+ # Use the filesystem as normal! Our files are under /sd
12+
13+ print ("Logging temperature to filesystem" )
14+ # append to the file!
15+ while True :
16+ # open file for append
17+ with open ("/sd/temperature.txt" , "a" ) as f :
18+ led .value = True # turn on LED to indicate we're writing to the file
19+ t = microcontroller .cpu .temperature
20+ print ("Temperature = %0.1f" % t )
21+ f .write ("%0.1f\n " % t )
22+ led .value = False # turn off LED to indicate we're done
23+ # file is saved
24+ time .sleep (1 )
Original file line number Diff line number Diff line change 1+ import os
2+ import time
3+
4+ import board
5+ import digitalio
6+ import mount_sd
7+
8+ # Updating the display can interfere with MP3 playback if it is not
9+ # done carefully
10+ try :
11+ board .DISPLAY .auto_refresh = False
12+ except :
13+ pass
14+
15+ from audiomp3 import MP3Decoder
16+
17+ try :
18+ from audioio import AudioOut
19+ except ImportError :
20+ try :
21+ from audiopwmio import PWMAudioOut as AudioOut
22+ except ImportError :
23+ pass # not always supported by every board!
24+
25+ # The mp3 files on the sd card will be played in alphabetical order
26+ mp3files = sorted ("/sd/" + filename for filename in os .listdir ("/sd" )
27+ if filename .lower ().endswith ("mp3" ))
28+
29+ voodoo = [1 ,2 ,3 ]
30+
31+ # You have to specify some mp3 file when creating the decoder
32+ mp3 = open (mp3files [0 ], "rb" )
33+ decoder = MP3Decoder (mp3 )
34+ audio = AudioOut (board .A0 , right_channel = board .A1 )
35+
36+ speaker_enable = digitalio .DigitalInOut (board .SPEAKER_ENABLE )
37+ speaker_enable .switch_to_output (True )
38+
39+ while True :
40+ for filename in mp3files :
41+ print ("Playing" , filename )
42+
43+ # Updating the .file property of the existing decoder
44+ # helps avoid running out of memory (MemoryError exception)
45+ decoder .file = open (filename , "rb" )
46+ audio .play (decoder )
47+
48+ # This allows you to do other things while the audio plays!
49+ while audio .playing :
50+ time .sleep (1 )
Original file line number Diff line number Diff line change 1+ import os
2+ import time
3+
4+ import board
5+ import digitalio
6+ import displayio
7+ import mount_sd
8+
9+ display = board .DISPLAY
10+
11+ # The bmp files on the sd card will be shown in alphabetical order
12+ bmpfiles = sorted ("/sd/" + filename for filename in os .listdir ("/sd" )
13+ if filename .lower ().endswith ("bmp" ))
14+
15+ while True :
16+ for filename in bmpfiles :
17+ print ("showing" , filename )
18+
19+ bitmap_file = open (filename , "rb" )
20+ bitmap = displayio .OnDiskBitmap (bitmap_file )
21+ tile_grid = displayio .TileGrid (bitmap ,
22+ pixel_shader = displayio .ColorConverter ())
23+ group = displayio .Group ()
24+ group .append (tile_grid )
25+ display .show (group )
26+
27+ # Show the image for 10 seconds
28+ time .sleep (10 )
You can’t perform that action at this time.
0 commit comments