Skip to content

Commit c3b6bd8

Browse files
authored
Merge pull request #34 from arduino-libraries/ci
Modernize continuous integration system
2 parents ce85b71 + 7d525b5 commit c3b6bd8

File tree

13 files changed

+226
-72
lines changed

13 files changed

+226
-72
lines changed

.codespellrc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# See: https://github.com/codespell-project/codespell#using-a-config-file
2+
[codespell]
3+
# In the event of a false positive, add the problematic word, in all lowercase, to a comma-separated list here:
4+
ignore-words-list = ,
5+
check-filenames =
6+
check-hidden =
7+
skip = ./.git

.github/dependabot.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# See: https://docs.github.com/en/github/administering-a-repository/configuration-options-for-dependency-updates#about-the-dependabotyml-file
2+
version: 2
3+
4+
updates:
5+
# Configure check for outdated GitHub Actions actions in workflows.
6+
# See: https://docs.github.com/en/github/administering-a-repository/keeping-your-actions-up-to-date-with-dependabot
7+
- package-ecosystem: github-actions
8+
directory: / # Check the repository's workflows under /.github/workflows/
9+
schedule:
10+
interval: daily

.github/workflows/check-arduino.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Check Arduino
2+
3+
# See: https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows
4+
on:
5+
push:
6+
pull_request:
7+
schedule:
8+
# Run every Tuesday at 8 AM UTC to catch breakage caused by new rules added to Arduino Lint.
9+
- cron: "0 8 * * TUE"
10+
workflow_dispatch:
11+
repository_dispatch:
12+
13+
jobs:
14+
lint:
15+
runs-on: ubuntu-latest
16+
17+
steps:
18+
- name: Checkout repository
19+
uses: actions/checkout@v2
20+
21+
- name: Arduino Lint
22+
uses: arduino/arduino-lint-action@v1
23+
with:
24+
compliance: specification
25+
library-manager: update
26+
# Always use this setting for official repositories. Remove for 3rd party projects.
27+
official: true
28+
project-type: library
Lines changed: 90 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,92 @@
11
name: Compile Examples
2-
on: [push, pull_request]
2+
3+
# See: https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows
4+
on:
5+
push:
6+
paths:
7+
- ".github/workflows/compile-examples.yml"
8+
- "examples/**"
9+
- "src/**"
10+
pull_request:
11+
paths:
12+
- ".github/workflows/compile-examples.yml"
13+
- "examples/**"
14+
- "src/**"
15+
schedule:
16+
# Run every Tuesday at 8 AM UTC to catch breakage caused by changes to external resources (libraries, platforms).
17+
- cron: "0 8 * * TUE"
18+
workflow_dispatch:
19+
repository_dispatch:
20+
321
jobs:
4-
build:
5-
runs-on: ubuntu-latest
6-
7-
strategy:
8-
matrix:
9-
fqbn: [
10-
"arduino:samd:mkrzero"
11-
]
12-
13-
steps:
14-
- uses: actions/checkout@v1
15-
with:
16-
fetch-depth: 1
17-
- uses: arduino/actions/libraries/compile-examples@master
18-
with:
19-
fqbn: ${{ matrix.fqbn }}
20-
libraries: SD
22+
build:
23+
name: ${{ matrix.board.fqbn }}
24+
runs-on: ubuntu-latest
25+
26+
env:
27+
SKETCHES_REPORTS_PATH: sketches-reports
28+
29+
strategy:
30+
fail-fast: false
31+
32+
matrix:
33+
board:
34+
- fqbn: arduino:samd:arduino_zero_edbg
35+
platforms: |
36+
- name: arduino:samd
37+
- fqbn: arduino:samd:mkr1000
38+
platforms: |
39+
- name: arduino:samd
40+
- fqbn: arduino:samd:mkrzero
41+
platforms: |
42+
- name: arduino:samd
43+
- fqbn: arduino:samd:mkrwifi1010
44+
platforms: |
45+
- name: arduino:samd
46+
- fqbn: arduino:samd:mkrfox1200
47+
platforms: |
48+
- name: arduino:samd
49+
- fqbn: arduino:samd:mkrwan1300
50+
platforms: |
51+
- name: arduino:samd
52+
- fqbn: arduino:samd:mkrwan1310
53+
platforms: |
54+
- name: arduino:samd
55+
- fqbn: arduino:samd:mkrgsm1400
56+
platforms: |
57+
- name: arduino:samd
58+
- fqbn: arduino:samd:mkrnb1500
59+
platforms: |
60+
- name: arduino:samd
61+
- fqbn: arduino:samd:mkrvidor4000
62+
platforms: |
63+
- name: arduino:samd
64+
- fqbn: arduino:samd:nano_33_iot
65+
platforms: |
66+
- name: arduino:samd
67+
68+
steps:
69+
- name: Checkout repository
70+
uses: actions/checkout@v2
71+
72+
- name: Compile examples
73+
uses: arduino/compile-sketches@v1
74+
with:
75+
github-token: ${{ secrets.GITHUB_TOKEN }}
76+
fqbn: ${{ matrix.board.fqbn }}
77+
platforms: ${{ matrix.board.platforms }}
78+
libraries: |
79+
# Install the library from the local path.
80+
- source-path: ./
81+
- name: SD
82+
sketch-paths: |
83+
- examples
84+
enable-deltas-report: true
85+
sketches-report-path: ${{ env.SKETCHES_REPORTS_PATH }}
86+
87+
- name: Save sketches report as workflow artifact
88+
uses: actions/upload-artifact@v2
89+
with:
90+
if-no-files-found: error
91+
path: ${{ env.SKETCHES_REPORTS_PATH }}
92+
name: ${{ env.SKETCHES_REPORTS_PATH }}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: Report Size Deltas
2+
3+
# See: https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows
4+
on:
5+
push:
6+
paths:
7+
- ".github/workflows/report-size-deltas.yml"
8+
schedule:
9+
# Run at the minimum interval allowed by GitHub Actions.
10+
# Note: GitHub Actions periodically has outages which result in workflow failures.
11+
# In this event, the workflows will start passing again once the service recovers.
12+
- cron: "*/5 * * * *"
13+
workflow_dispatch:
14+
repository_dispatch:
15+
16+
jobs:
17+
report:
18+
runs-on: ubuntu-latest
19+
steps:
20+
- name: Comment size deltas reports to PRs
21+
uses: arduino/report-size-deltas@v1
22+
with:
23+
# The name of the workflow artifact created by the sketch compilation workflow
24+
sketches-reports-source: sketches-reports

.github/workflows/spell-check.yml

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,22 @@
11
name: Spell Check
2-
on: [push, pull_request]
2+
3+
# See: https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows
4+
on:
5+
push:
6+
pull_request:
7+
schedule:
8+
# Run every Tuesday at 8 AM UTC to catch new misspelling detections resulting from dictionary updates.
9+
- cron: "0 8 * * TUE"
10+
workflow_dispatch:
11+
repository_dispatch:
12+
313
jobs:
4-
build:
5-
runs-on: ubuntu-latest
6-
7-
steps:
8-
- uses: actions/checkout@v1
9-
with:
10-
fetch-depth: 1
11-
- uses: arduino/actions/libraries/spell-check@master
14+
spellcheck:
15+
runs-on: ubuntu-latest
16+
17+
steps:
18+
- name: Checkout repository
19+
uses: actions/checkout@v2
20+
21+
- name: Spell check
22+
uses: codespell-project/actions-codespell@master

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# ArduinoSound
22

3-
[![Compile Examples Status](https://github.com/arduino-libraries/ArduinoSound/workflows/Compile%20Examples/badge.svg)](https://github.com/arduino-libraries/ArduinoSound/actions?workflow=Compile+Examples) [![Spell Check Status](https://github.com/arduino-libraries/ArduinoSound/workflows/Spell%20Check/badge.svg)](https://github.com/arduino-libraries/ArduinoSound/actions?workflow=Spell+Check)
3+
[![Check Arduino status](https://github.com/arduino-libraries/ArduinoSound/actions/workflows/check-arduino.yml/badge.svg)](https://github.com/arduino-libraries/ArduinoSound/actions/workflows/check-arduino.yml)
4+
[![Compile Examples status](https://github.com/arduino-libraries/ArduinoSound/actions/workflows/compile-examples.yml/badge.svg)](https://github.com/arduino-libraries/ArduinoSound/actions/workflows/compile-examples.yml)
5+
[![Spell Check status](https://github.com/arduino-libraries/ArduinoSound/actions/workflows/spell-check.yml/badge.svg)](https://github.com/arduino-libraries/ArduinoSound/actions/workflows/spell-check.yml)
46

57
A simple way to play and analyze audio data using Arduino. Currently only supports SAMD21 boards and I2S audio devices.
68

examples/AmplitudeSerialPlotter/AmplitudeSerialPlotter.ino

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
/*
2-
This example reads audio data from an Invensense's ICS43432 I2S microphone
3-
breakout board, and prints out the amplitude to the Serial console. The
4-
Serial Plotter built into the Arduino IDE can be used to plot the audio
5-
amplitude data (Tools -> Serial Plotter)
2+
This example reads audio data from an InvenSense ICS-43432 I2S microphone
3+
breakout board, and prints out the amplitude to the Serial Monitor. The
4+
Serial Plotter built into the Arduino IDE (Tools -> Serial Plotter) can be
5+
used to plot the audio amplitude data.
66
77
Circuit:
8-
* Arduino/Genuino Zero, MKRZero or MKR1000 board
9-
* ICS43432:
8+
* Arduino Zero, MKR Zero or MKR1000 board
9+
* ICS-43432:
1010
* GND connected GND
11-
* 3.3V connected 3.3V (Zero) or VCC (MKR1000, MKRZero)
12-
* WS connected to pin 0 (Zero) or pin 3 (MKR1000, MKRZero)
13-
* CLK connected to pin 1 (Zero) or pin 2 (MKR1000, MKRZero)
14-
* SD connected to pin 9 (Zero) or pin A6 (MKR1000, MKRZero)
11+
* 3.3V connected 3.3V (Zero) or VCC (MKR1000, MKR Zero)
12+
* WS connected to pin 0 (Zero) or pin 3 (MKR1000, MKR Zero)
13+
* CLK connected to pin 1 (Zero) or pin 2 (MKR1000, MKR Zero)
14+
* SD connected to pin 9 (Zero) or pin A6 (MKR1000, MKR Zero)
1515
1616
created 23 November 2016
1717
by Sandeep Mistry

examples/ClapDetector/ClapDetector.ino

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
/*
2-
This example reads audio data from an Invensense's ICS43432 I2S microphone
2+
This example reads audio data from an InvenSense ICS-43432 I2S microphone
33
breakout board, and uses the input to detect clapping sounds. An LED is
4-
togggled when a clapp is detected.
4+
toggled when a clap is detected.
55
66
Circuit:
7-
* Arduino/Genuino Zero, MKRZero or MKR1000 board
8-
* ICS43432:
7+
* Arduino Zero, MKR Zero or MKR1000 board
8+
* ICS-43432:
99
* GND connected GND
10-
* 3.3V connected 3.3V (Zero) or VCC (MKR1000, MKRZero)
11-
* WS connected to pin 0 (Zero) or pin 3 (MKR1000, MKRZero)
12-
* CLK connected to pin 1 (Zero) or pin 2 (MKR1000, MKRZero)
13-
* SD connected to pin 9 (Zero) or pin A6 (MKR1000, MKRZero)
10+
* 3.3V connected 3.3V (Zero) or VCC (MKR1000, MKR Zero)
11+
* WS connected to pin 0 (Zero) or pin 3 (MKR1000, MKR Zero)
12+
* CLK connected to pin 1 (Zero) or pin 2 (MKR1000, MKR Zero)
13+
* SD connected to pin 9 (Zero) or pin A6 (MKR1000, MKR Zero)
1414
1515
created 18 November 2016
1616
by Sandeep Mistry

examples/SpectrumSerialPlotter/SpectrumSerialPlotter.ino

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
/*
2-
This example reads audio data from an Invensense's ICS43432 I2S microphone
3-
breakout board, and prints out the spectrum to the Serial console. The
4-
Serial Plotter built into the Arduino IDE can be used to plot the audio
5-
amplitude data (Tools -> Serial Plotter)
2+
This example reads audio data from an InvenSense ICS-43432 I2S microphone
3+
breakout board, and prints out the spectrum to the Serial Monitor. The
4+
Serial Plotter built into the Arduino IDE (Tools -> Serial Plotter) can be
5+
used to plot the audio amplitude data.
66
77
Circuit:
8-
* Arduino/Genuino Zero, MKRZero or MKR1000 board
9-
* ICS43432:
8+
* Arduino Zero, MKR Zero or MKR1000 board
9+
* ICS-43432:
1010
* GND connected GND
11-
* 3.3V connected 3.3V (Zero) or VCC (MKR1000, MKRZero)
12-
* WS connected to pin 0 (Zero) or pin 3 (MKR1000, MKRZero)
13-
* CLK connected to pin 1 (Zero) or pin 2 (MKR1000, MKRZero)
14-
* SD connected to pin 9 (Zero) or pin A6 (MKR1000, MKRZero)
11+
* 3.3V connected 3.3V (Zero) or VCC (MKR1000, MKR Zero)
12+
* WS connected to pin 0 (Zero) or pin 3 (MKR1000, MKR Zero)
13+
* CLK connected to pin 1 (Zero) or pin 2 (MKR1000, MKR Zero)
14+
* SD connected to pin 9 (Zero) or pin A6 (MKR1000, MKR Zero)
1515
1616
created 21 November 2016
1717
by Sandeep Mistry

examples/WavePlayback/WavePlayback.ino

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
/*
22
This reads a wave file from an SD card and plays it using the I2S interface to
3-
a MAX08357 I2S Amp Breakout board.
3+
a MAX98357 I2S Amp Breakout board.
44
55
Circuit:
6-
* Arduino/Genuino Zero, MKRZero or MKR1000 board
6+
* Arduino Zero, MKR Zero or MKR1000 board
77
* SD breakout or shield connected
8-
* MAX08357:
8+
* MAX98357:
99
* GND connected GND
1010
* VIN connected 5V
11-
* LRC connected to pin 0 (Zero) or pin 3 (MKR1000, MKRZero)
12-
* BCLK connected to pin 1 (Zero) or pin 2 (MKR1000, MKRZero)
13-
* DIN connected to pin 9 (Zero) or pin A6 (MKR1000, MKRZero)
11+
* LRC connected to pin 0 (Zero) or pin 3 (MKR1000, MKR Zero)
12+
* BCLK connected to pin 1 (Zero) or pin 2 (MKR1000, MKR Zero)
13+
* DIN connected to pin 9 (Zero) or pin A6 (MKR1000, MKR Zero)
1414
1515
created 15 November 2016
1616
by Sandeep Mistry

examples/WhistleDetector/WhistleDetector.ino

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
/*
2-
This example reads audio data from an Invensense's ICS43432 I2S microphone
2+
This example reads audio data from an InvenSense ICS-43432 I2S microphone
33
breakout board, and uses the input to detect whistling sounds at a particular
4-
frequency. When a whistle is detected, it's level is used to control the
5-
brightness of an LED
4+
frequency. When a whistle is detected, its level is used to control the
5+
brightness of an LED.
66
77
Circuit:
8-
* Arduino/Genuino Zero, MKRZero or MKR1000 board
9-
* ICS43432:
8+
* Arduino Zero, MKR Zero or MKR1000 board
9+
* ICS-43432:
1010
* GND connected GND
11-
* 3.3V connected 3.3V (Zero) or VCC (MKR1000, MKRZero)
12-
* WS connected to pin 0 (Zero) or pin 3 (MKR1000, MKRZero)
13-
* CLK connected to pin 1 (Zero) or pin 2 (MKR1000, MKRZero)
14-
* SD connected to pin 9 (Zero) or pin A6 (MKR1000, MKRZero)
11+
* 3.3V connected 3.3V (Zero) or VCC (MKR1000, MKR Zero)
12+
* WS connected to pin 0 (Zero) or pin 3 (MKR1000, MKR Zero)
13+
* CLK connected to pin 1 (Zero) or pin 2 (MKR1000, MKR Zero)
14+
* SD connected to pin 9 (Zero) or pin A6 (MKR1000, MKR Zero)
1515
1616
created 30 November 2016
1717
by Sandeep Mistry

src/SDWaveFile.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ int SDWaveFile::cue(long time)
150150
offset = 0;
151151
}
152152

153-
// make sure it's multiple of 512
153+
// make sure it's a multiple of 512
154154
offset = (offset / 512) * 512;
155155

156156
if ((uint32_t)offset > _file.size()) {

0 commit comments

Comments
 (0)