Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 63 additions & 0 deletions .github/workflows/compile-examples.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# Compiles every sketch in examples/ on each push and pull request, so a change
# that breaks the library (or an example) is caught before it lands. This is the
# floor of CI for this published Arduino library; off-device unit tests for the
# pure-logic classes (MovingAverageFilter, Shape collision, ColorName) are a
# planned follow-up.
#
# Uses the official arduino/compile-sketches action.
name: Compile Examples

on:
push:
paths:
- "src/**"
- "examples/**"
- ".github/workflows/compile-examples.yml"
pull_request:
paths:
- "src/**"
- "examples/**"
- ".github/workflows/compile-examples.yml"
# Allow manual runs from the Actions tab.
workflow_dispatch:

jobs:
compile:
name: ${{ matrix.board.fqbn }}
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
board:
# The verified floor (see CLAUDE.md). To extend coverage, add entries
# here once confirmed compiling, e.g.:
# - fqbn: esp32:esp32:esp32
# platform-name: esp32:esp32
# platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json
- fqbn: arduino:avr:uno
platform-name: arduino:avr

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Compile examples
uses: arduino/compile-sketches@v1
with:
fqbn: ${{ matrix.board.fqbn }}
platforms: |
- name: ${{ matrix.board.platform-name }}
# Install this repo as a library (source-path: ./) alongside the
# Adafruit dependencies the examples need. Adafruit SSD1306 pulls in
# Adafruit GFX and Adafruit BusIO, but we list them explicitly so a
# dependency resolution change upstream can't silently break the build.
libraries: |
- source-path: ./
- name: Adafruit SSD1306
- name: Adafruit GFX Library
- name: Adafruit BusIO
sketch-paths: |
- examples
enable-warnings-report: true
verbose: false
13 changes: 8 additions & 5 deletions src/Button.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,15 +26,18 @@
*
* void loop() {
* myButton.read();
* if (myButton.isPressed()) { /* held down */ }
* if (myButton.wasPressed()) { /* just released */ }
* if (myButton.isPressed()) { } // held down
* if (myButton.wasPressed()) { } // just released
* }
* @endcode
*
* @author Jon E. Froehlich
* @jonfroehlich
* https://jonfroehlich.github.io/
* https://makeabilitylab.github.io/physcomp/
*
* By Professor Jon E. Froehlich
* Director, Makeability Lab: https://makeabilitylab.cs.washington.edu/
* Physical Computing Textbook: https://makeabilitylab.github.io/physcomp/
*
* SPDX-License-Identifier: MIT
*/
#pragma once
#include <Arduino.h>
Expand Down
9 changes: 6 additions & 3 deletions src/ColorName.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,12 @@
* @endcode
*
* @author Jon E. Froehlich
* @jonfroehlich
* https://jonfroehlich.github.io/
* https://makeabilitylab.github.io/physcomp/
*
* By Professor Jon E. Froehlich
* Director, Makeability Lab: https://makeabilitylab.cs.washington.edu/
* Physical Computing Textbook: https://makeabilitylab.github.io/physcomp/
*
* SPDX-License-Identifier: MIT
*/
#pragma once
#include <Arduino.h>
Expand Down
9 changes: 6 additions & 3 deletions src/FileUtils.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,12 @@
* @endcode
*
* @author Jon E. Froehlich
* @jonfroehlich
* https://jonfroehlich.github.io/
* https://makeabilitylab.github.io/physcomp/
*
* By Professor Jon E. Froehlich
* Director, Makeability Lab: https://makeabilitylab.cs.washington.edu/
* Physical Computing Textbook: https://makeabilitylab.github.io/physcomp/
*
* SPDX-License-Identifier: MIT
*/
#pragma once
#include <Arduino.h>
Expand Down
12 changes: 9 additions & 3 deletions src/GraphLine.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,15 @@
* headers before this file if not already included.
*
* @author Jon E. Froehlich
* @jonfroehlich
* https://jonfroehlich.github.io/
* https://makeabilitylab.github.io/physcomp/advancedio/oled.html
*
* Learn more in the Physical Computing textbook:
* - OLED displays: https://makeabilitylab.github.io/physcomp/advancedio/oled.html
*
* By Professor Jon E. Froehlich
* Director, Makeability Lab: https://makeabilitylab.cs.washington.edu/
* Physical Computing Textbook: https://makeabilitylab.github.io/physcomp/
*
* SPDX-License-Identifier: MIT
*/
#pragma once
#include <Arduino.h>
Expand Down
12 changes: 9 additions & 3 deletions src/LineGraph.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,15 @@
* @see ScrollingLineGraphMultiValue.hpp (newer version with more features)
*
* @author Jon E. Froehlich
* @jonfroehlich
* https://jonfroehlich.github.io/
* https://makeabilitylab.github.io/physcomp/advancedio/oled.html
*
* Learn more in the Physical Computing textbook:
* - OLED displays: https://makeabilitylab.github.io/physcomp/advancedio/oled.html
*
* By Professor Jon E. Froehlich
* Director, Makeability Lab: https://makeabilitylab.cs.washington.edu/
* Physical Computing Textbook: https://makeabilitylab.github.io/physcomp/
*
* SPDX-License-Identifier: MIT
*/
#pragma once
#include <Arduino.h>
Expand Down
9 changes: 6 additions & 3 deletions src/MovingAverageFilter.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,12 @@
* @see https://makeabilitylab.github.io/physcomp/advancedio/smoothing-input.html
*
* @author Jon E. Froehlich
* @jonfroehlich
* https://jonfroehlich.github.io/
* https://makeabilitylab.github.io/physcomp/
*
* By Professor Jon E. Froehlich
* Director, Makeability Lab: https://makeabilitylab.cs.washington.edu/
* Physical Computing Textbook: https://makeabilitylab.github.io/physcomp/
*
* SPDX-License-Identifier: MIT
*/
#pragma once
#include <Arduino.h>
Expand Down
9 changes: 6 additions & 3 deletions src/ParallaxJoystick.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,12 @@
* @endcode
*
* @author Jon E. Froehlich
* @jonfroehlich
* https://jonfroehlich.github.io/
* https://makeabilitylab.github.io/physcomp/
*
* By Professor Jon E. Froehlich
* Director, Makeability Lab: https://makeabilitylab.cs.washington.edu/
* Physical Computing Textbook: https://makeabilitylab.github.io/physcomp/
*
* SPDX-License-Identifier: MIT
*/
#pragma once
#include <Arduino.h>
Expand Down
12 changes: 9 additions & 3 deletions src/ScrollingLineGraph.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,15 @@
* @endcode
*
* @author Jon E. Froehlich
* @jonfroehlich
* https://jonfroehlich.github.io/
* https://makeabilitylab.github.io/physcomp/advancedio/oled.html
*
* Learn more in the Physical Computing textbook:
* - OLED displays: https://makeabilitylab.github.io/physcomp/advancedio/oled.html
*
* By Professor Jon E. Froehlich
* Director, Makeability Lab: https://makeabilitylab.cs.washington.edu/
* Physical Computing Textbook: https://makeabilitylab.github.io/physcomp/
*
* SPDX-License-Identifier: MIT
*/
#pragma once
#include <Arduino.h>
Expand Down
12 changes: 9 additions & 3 deletions src/ScrollingLineGraphMultiValue.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,15 @@
* @endcode
*
* @author Jon E. Froehlich
* @jonfroehlich
* https://jonfroehlich.github.io/
* https://makeabilitylab.github.io/physcomp/advancedio/oled.html
*
* Learn more in the Physical Computing textbook:
* - OLED displays: https://makeabilitylab.github.io/physcomp/advancedio/oled.html
*
* By Professor Jon E. Froehlich
* Director, Makeability Lab: https://makeabilitylab.cs.washington.edu/
* Physical Computing Textbook: https://makeabilitylab.github.io/physcomp/
*
* SPDX-License-Identifier: MIT
*/
#pragma once
#include <Arduino.h>
Expand Down
12 changes: 9 additions & 3 deletions src/Shape.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,15 @@
* @endcode
*
* @author Jon E. Froehlich
* @jonfroehlich
* https://jonfroehlich.github.io/
* https://makeabilitylab.github.io/physcomp/advancedio/oled.html
*
* Learn more in the Physical Computing textbook:
* - OLED displays: https://makeabilitylab.github.io/physcomp/advancedio/oled.html
*
* By Professor Jon E. Froehlich
* Director, Makeability Lab: https://makeabilitylab.cs.washington.edu/
* Physical Computing Textbook: https://makeabilitylab.github.io/physcomp/
*
* SPDX-License-Identifier: MIT
*/
#pragma once
#include <Arduino.h>
Expand Down
Loading