diff --git a/.codespellrc b/.codespellrc new file mode 100644 index 0000000..101edae --- /dev/null +++ b/.codespellrc @@ -0,0 +1,7 @@ +# See: https://github.com/codespell-project/codespell#using-a-config-file +[codespell] +# In the event of a false positive, add the problematic word, in all lowercase, to a comma-separated list here: +ignore-words-list = , +check-filenames = +check-hidden = +skip = ./.git diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..03600dd --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,10 @@ +# See: https://docs.github.com/en/github/administering-a-repository/configuration-options-for-dependency-updates#about-the-dependabotyml-file +version: 2 + +updates: + # Configure check for outdated GitHub Actions actions in workflows. + # See: https://docs.github.com/en/github/administering-a-repository/keeping-your-actions-up-to-date-with-dependabot + - package-ecosystem: github-actions + directory: / # Check the repository's workflows under /.github/workflows/ + schedule: + interval: daily diff --git a/.github/workflows/check-arduino.yml b/.github/workflows/check-arduino.yml new file mode 100644 index 0000000..0d969f6 --- /dev/null +++ b/.github/workflows/check-arduino.yml @@ -0,0 +1,28 @@ +name: Check Arduino + +# See: https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows +on: + push: + pull_request: + schedule: + # Run every Tuesday at 8 AM UTC to catch breakage caused by new rules added to Arduino Lint. + - cron: "0 8 * * TUE" + workflow_dispatch: + repository_dispatch: + +jobs: + lint: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Arduino Lint + uses: arduino/arduino-lint-action@v1 + with: + compliance: specification + library-manager: update + # Always use this setting for official repositories. Remove for 3rd party projects. + official: true + project-type: library diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml new file mode 100644 index 0000000..b1f8e0f --- /dev/null +++ b/.github/workflows/compile-examples.yml @@ -0,0 +1,78 @@ +name: Compile Examples + +# See: https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows +on: + push: + paths: + - ".github/workflows/compile-examples.yml" + - "library.properties" + - "examples/**" + - "src/**" + pull_request: + paths: + - ".github/workflows/compile-examples.yml" + - "library.properties" + - "examples/**" + - "src/**" + schedule: + # Run every Tuesday at 8 AM UTC to catch breakage caused by changes to external resources (libraries, platforms). + - cron: "0 8 * * TUE" + workflow_dispatch: + repository_dispatch: + +jobs: + build: + name: ${{ matrix.board.fqbn }} + runs-on: ubuntu-latest + + env: + SKETCHES_REPORTS_PATH: sketches-reports + + strategy: + fail-fast: false + + matrix: + board: + - fqbn: arduino:mbed_nano:nano33ble + platforms: | + - name: arduino:mbed_nano + libraries: | + - name: Arduino_APDS9960 + - name: Arduino_HTS221 + - name: Arduino_LPS22HB + - name: Arduino_LSM9DS1 + sketch-paths: examples/Nano33BLESenseFirmware + - fqbn: arduino:samd:mkrwifi1010 + platforms: | + - name: arduino:samd + libraries: | + - name: ArduinoBLE + - name: Adafruit LSM9DS1 Library + sketch-paths: examples/PhysicsLabFirmware + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Compile examples + uses: arduino/compile-sketches@v1 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + fqbn: ${{ matrix.board.fqbn }} + platforms: ${{ matrix.board.platforms }} + libraries: | + # Install the library from the local path. + - source-path: ./ + # Board-specific library dependencies + ${{ matrix.board.libraries }} + sketch-paths: | + ${{ matrix.board.sketch-paths }} + enable-deltas-report: true + sketches-report-path: ${{ env.SKETCHES_REPORTS_PATH }} + + - name: Save sketches report as workflow artifact + uses: actions/upload-artifact@v2 + with: + if-no-files-found: error + path: ${{ env.SKETCHES_REPORTS_PATH }} + name: ${{ env.SKETCHES_REPORTS_PATH }} diff --git a/.github/workflows/report-size-deltas.yml b/.github/workflows/report-size-deltas.yml new file mode 100644 index 0000000..652be5d --- /dev/null +++ b/.github/workflows/report-size-deltas.yml @@ -0,0 +1,24 @@ +name: Report Size Deltas + +# See: https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows +on: + push: + paths: + - ".github/workflows/report-size-deltas.yml" + schedule: + # Run at the minimum interval allowed by GitHub Actions. + # Note: GitHub Actions periodically has outages which result in workflow failures. + # In this event, the workflows will start passing again once the service recovers. + - cron: "*/5 * * * *" + workflow_dispatch: + repository_dispatch: + +jobs: + report: + runs-on: ubuntu-latest + steps: + - name: Comment size deltas reports to PRs + uses: arduino/report-size-deltas@v1 + with: + # The name of the workflow artifact created by the sketch compilation workflow + sketches-reports-source: sketches-reports diff --git a/.github/workflows/spell-check.yml b/.github/workflows/spell-check.yml new file mode 100644 index 0000000..01bee87 --- /dev/null +++ b/.github/workflows/spell-check.yml @@ -0,0 +1,22 @@ +name: Spell Check + +# See: https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows +on: + push: + pull_request: + schedule: + # Run every Tuesday at 8 AM UTC to catch new misspelling detections resulting from dictionary updates. + - cron: "0 8 * * TUE" + workflow_dispatch: + repository_dispatch: + +jobs: + spellcheck: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Spell check + uses: codespell-project/actions-codespell@master diff --git a/README.adoc b/README.adoc index 85eaab2..1588e74 100644 --- a/README.adoc +++ b/README.adoc @@ -1,4 +1,11 @@ -= Arduino_ScienceJournal Library for Arduino = +:repository-owner: arduino-libraries +:repository-name: Arduino_ScienceJournal + += {repository-name} Library for Arduino = + +image:https://github.com/{repository-owner}/{repository-name}/actions/workflows/check-arduino.yml/badge.svg["Check Arduino status", link="https://github.com/{repository-owner}/{repository-name}/actions/workflows/check-arduino.yml"] +image:https://github.com/{repository-owner}/{repository-name}/actions/workflows/compile-examples.yml/badge.svg["Compile Examples status", link="https://github.com/{repository-owner}/{repository-name}/actions/workflows/compile-examples.yml"] +image:https://github.com/{repository-owner}/{repository-name}/actions/workflows/spell-check.yml/badge.svg["Spell Check status", link="https://github.com/{repository-owner}/{repository-name}/actions/workflows/spell-check.yml"] Firmware for the Physics Lab kit and the Arduino Nano 33 BLE Sense. diff --git a/examples/PhysicsLabFirmware/PhysicsLabFirmware.ino b/examples/PhysicsLabFirmware/PhysicsLabFirmware.ino index f043e49..66127d9 100644 --- a/examples/PhysicsLabFirmware/PhysicsLabFirmware.ino +++ b/examples/PhysicsLabFirmware/PhysicsLabFirmware.ino @@ -81,13 +81,13 @@ void setup() { digitalWrite(RESISTANCE_AUX_PIN, LOW); if (!INA226.begin(0x45)) { - Serial.println("Failled to initialized INA226!"); + Serial.println("Failed to initialized INA226!"); while (1); } if (!imu.begin()) { - Serial.println("Failled to initialized IMU!"); + Serial.println("Failed to initialized IMU!"); while (1); } @@ -97,7 +97,7 @@ void setup() { imu.setupGyro(imu.LSM9DS1_GYROSCALE_245DPS); if (!BLE.begin()) { - Serial.println("Failled to initialized BLE!"); + Serial.println("Failed to initialized BLE!"); while (1); } diff --git a/extras/BLE_spec BLE Sense Firmware.txt b/extras/BLE_spec BLE Sense Firmware.txt index e9d7530..4b19f06 100644 --- a/extras/BLE_spec BLE Sense Firmware.txt +++ b/extras/BLE_spec BLE Sense Firmware.txt @@ -1,10 +1,10 @@ BLE Sense - BLE specifications.txt ================================== -GAP (Adversisement) +GAP (Advertisement) ------------------- Local name: BLESense - -Serivice UUID: 555a0002-0000-467a-9538-01f0652c74e8 +Service UUID: 555a0002-0000-467a-9538-01f0652c74e8 GATT diff --git a/extras/BLE_spec MKR Science Kit Firmware.txt b/extras/BLE_spec MKR Science Kit Firmware.txt index 7611641..cd7f04d 100644 --- a/extras/BLE_spec MKR Science Kit Firmware.txt +++ b/extras/BLE_spec MKR Science Kit Firmware.txt @@ -2,10 +2,10 @@ MKR Science Kit Firmware - BLE specifications.txt ================================================= -GAP (Adversisement) +GAP (Advertisement) ------------------- Local name: MKRSci -Serivice UUID: 555a0001-0000-467a-9538-01f0652c74e8 +Service UUID: 555a0001-0000-467a-9538-01f0652c74e8 GATT @@ -114,7 +114,7 @@ UUID: 555a0001-5001-467a-9538-01f0652c74e8 Properties: notify Value size: 12 bytes Data format: Array of 3 x 32-bit IEEE floats (little endian) -Description: X, Y, Z acceleration values in G's, if subscribed notification sent every 10 ms +Description: X, Y, Z acceleration values in g's, if subscribed notification sent every 10 ms Gyroscope Characteristic ~~~~~~~~~~~~~~~~~~~~~~~~