-
Notifications
You must be signed in to change notification settings - Fork 775
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 #2621 from kattni/m7sd
Adding M7 SD code.
- Loading branch information
Showing
9 changed files
with
213 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
# SPDX-FileCopyrightText: 2021 Kattni Rembor for Adafruit Industries | ||
# SPDX-License-Identifier: MIT | ||
""" | ||
CircuitPython I2S Tone playback example. | ||
Plays a tone for one second on, one | ||
second off, in a loop. | ||
""" | ||
import time | ||
import array | ||
import math | ||
import audiocore | ||
import board | ||
import audiobusio | ||
|
||
audio = audiobusio.I2SOut(board.D10, board.D9, board.D12) | ||
|
||
tone_volume = 0.1 # Increase this to increase the volume of the tone. | ||
frequency = 440 # Set this to the Hz of the tone you want to generate. | ||
length = 8000 // frequency | ||
sine_wave = array.array("h", [0] * length) | ||
for i in range(length): | ||
sine_wave[i] = int((math.sin(math.pi * 2 * i / length)) * tone_volume * (2 ** 15 - 1)) | ||
sine_wave_sample = audiocore.RawSample(sine_wave) | ||
|
||
while True: | ||
audio.play(sine_wave_sample, loop=True) | ||
time.sleep(1) | ||
audio.stop() | ||
time.sleep(1) |
Binary file not shown.
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,21 @@ | ||
# SPDX-FileCopyrightText: 2021 Kattni Rembor for Adafruit Industries | ||
# SPDX-License-Identifier: MIT | ||
""" | ||
CircuitPython I2S WAV file playback. | ||
Plays a WAV file once. | ||
""" | ||
import audiocore | ||
import board | ||
import audiobusio | ||
|
||
audio = audiobusio.I2SOut(board.D10, board.D9, board.D12) | ||
|
||
with open("StreetChicken.wav", "rb") as wave_file: | ||
wav = audiocore.WaveFile(wave_file) | ||
|
||
print("Playing wav file!") | ||
audio.play(wav) | ||
while audio.playing: | ||
pass | ||
|
||
print("Done!") |
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,32 @@ | ||
# SPDX-FileCopyrightText: 2018 Kattni Rembor for Adafruit Industries | ||
# | ||
# SPDX-License-Identifier: MIT | ||
|
||
""" | ||
CircuitPython PWM Audio Out tone example | ||
Plays a tone for one second on, one | ||
second off, in a loop. | ||
""" | ||
import time | ||
import array | ||
import math | ||
import board | ||
from audiocore import RawSample | ||
from audiopwmio import PWMAudioOut as AudioOut | ||
|
||
audio = AudioOut(board.A1) | ||
|
||
tone_volume = 0.1 # Increase this to increase the volume of the tone. | ||
frequency = 440 # Set this to the Hz of the tone you want to generate. | ||
length = 8000 // frequency | ||
sine_wave = array.array("H", [0] * length) | ||
for i in range(length): | ||
sine_wave[i] = int((1 + math.sin(math.pi * 2 * i / length)) * tone_volume * (2 ** 15 - 1)) | ||
|
||
sine_wave_sample = RawSample(sine_wave) | ||
|
||
while True: | ||
audio.play(sine_wave_sample, loop=True) | ||
time.sleep(1) | ||
audio.stop() | ||
time.sleep(1) |
Binary file not shown.
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,22 @@ | ||
# SPDX-FileCopyrightText: 2018 Kattni Rembor for Adafruit Industries | ||
# | ||
# SPDX-License-Identifier: MIT | ||
|
||
""" | ||
CircuitPython PWM Audio Out WAV example | ||
Play a WAV file once. | ||
""" | ||
import board | ||
from audiocore import WaveFile | ||
from audiopwmio import PWMAudioOut as AudioOut | ||
|
||
audio = AudioOut(board.A1) | ||
|
||
with open("StreetChicken.wav", "rb") as wave_file: | ||
wave = WaveFile(wave_file) | ||
print("Playing wav file!") | ||
audio.play(wave) | ||
while audio.playing: | ||
pass | ||
|
||
print("Done!") |
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,54 @@ | ||
# SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries | ||
# SPDX-License-Identifier: MIT | ||
|
||
""" | ||
CircuitPython Essentials SD Card Read Demo | ||
""" | ||
|
||
import os | ||
import digitalio | ||
import board | ||
import storage | ||
import adafruit_sdcard | ||
|
||
# The SD_CS pin is the chip select line. | ||
SD_CS = board.SD_CS | ||
|
||
# Connect to the card and mount the filesystem. | ||
cs = digitalio.DigitalInOut(SD_CS) | ||
sdcard = adafruit_sdcard.SDCard(board.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") |
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,36 @@ | ||
# SPDX-FileCopyrightText: 2017 Limor Fried for Adafruit Industries | ||
# | ||
# SPDX-License-Identifier: MIT | ||
|
||
""" | ||
CircuitPython Essentials SD Card Write Demo | ||
""" | ||
|
||
import time | ||
import adafruit_sdcard | ||
import board | ||
import digitalio | ||
import microcontroller | ||
import storage | ||
|
||
# The SD_CS pin is the chip select line. | ||
SD_CS = board.SD_CS | ||
|
||
# Connect to the card and mount the filesystem. | ||
cs = digitalio.DigitalInOut(SD_CS) | ||
sdcard = adafruit_sdcard.SDCard(board.SPI(), cs) | ||
vfs = storage.VfsFat(sdcard) | ||
storage.mount(vfs, "/sd") | ||
|
||
# Use the filesystem as normal! Our files are under /sd | ||
|
||
print("Logging temperature to filesystem") | ||
# append to the file! | ||
while True: | ||
# open file for append | ||
with open("/sd/temperature.txt", "a") as f: | ||
t = microcontroller.cpu.temperature | ||
print("Temperature = %0.1f" % t) | ||
f.write("%0.1f\n" % t) | ||
# file is saved | ||
time.sleep(1) |
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,19 @@ | ||
# SPDX-FileCopyrightText: 2021 Kattni Rembor for Adafruit Industries | ||
# SPDX-License-Identifier: MIT | ||
""" | ||
CircuitPython Digital Input Example - Blinking an LED using a button switch. | ||
""" | ||
import board | ||
import digitalio | ||
|
||
led = digitalio.DigitalInOut(board.LED) | ||
led.direction = digitalio.Direction.OUTPUT | ||
|
||
button = digitalio.DigitalInOut(board.A0) | ||
button.switch_to_input(pull=digitalio.Pull.UP) | ||
|
||
while True: | ||
if not button.value: | ||
led.value = True | ||
else: | ||
led.value = False |