diff --git a/.codespellrc b/.codespellrc index d5d337d2c..7d9fef573 100644 --- a/.codespellrc +++ b/.codespellrc @@ -1,7 +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 = hart,pullrequest +ignore-words-list = clearin,clen,hart,pullrequest,shiftin,waitin builtin = clear check-filenames = check-hidden = diff --git a/.github/workflows/check-arduino.yml b/.github/workflows/check-arduino.yml index cfffb75c0..3991385f1 100644 --- a/.github/workflows/check-arduino.yml +++ b/.github/workflows/check-arduino.yml @@ -16,10 +16,10 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Arduino Lint - uses: arduino/arduino-lint-action@v1 + uses: arduino/arduino-lint-action@v2 with: compliance: specification # Always use this setting for official repositories. Remove for 3rd party projects. diff --git a/.github/workflows/compile-platform-examples.yml b/.github/workflows/compile-platform-examples.yml index f7226e0d5..58cfd3409 100644 --- a/.github/workflows/compile-platform-examples.yml +++ b/.github/workflows/compile-platform-examples.yml @@ -35,117 +35,155 @@ jobs: matrix: board: - fqbn: arduino:avr:yun + artifact-name-suffix: arduino-avr-yun serial: true softwareserial: true - fqbn: arduino:avr:uno + artifact-name-suffix: arduino-avr-uno serial: true softwareserial: true - fqbn: arduino:avr:diecimila:cpu=atmega328 + artifact-name-suffix: arduino-avr-diecimila-cpu-atmega328 serial: true softwareserial: true - fqbn: arduino:avr:diecimila:cpu=atmega168 + artifact-name-suffix: arduino-avr-diecimila-cpu-atmega168 serial: true softwareserial: true - fqbn: arduino:avr:nano:cpu=atmega328 + artifact-name-suffix: arduino-avr-nano-cpu-atmega328 serial: true softwareserial: true - fqbn: arduino:avr:nano:cpu=atmega328old + artifact-name-suffix: arduino-avr-nano-cpu-atmega328old serial: true softwareserial: true - fqbn: arduino:avr:nano:cpu=atmega168 + artifact-name-suffix: arduino-avr-nano-cpu-atmega168 serial: true softwareserial: true - fqbn: arduino:avr:mega:cpu=atmega2560 + artifact-name-suffix: arduino-avr-mega-cpu-atmega2560 serial: true softwareserial: true - fqbn: arduino:avr:mega:cpu=atmega1280 + artifact-name-suffix: arduino-avr-mega-cpu-atmega1280 serial: true softwareserial: true - fqbn: arduino:avr:megaADK + artifact-name-suffix: arduino-avr-megaADK serial: true softwareserial: true - fqbn: arduino:avr:leonardo + artifact-name-suffix: arduino-avr-leonardo serial: true softwareserial: true - fqbn: arduino:avr:leonardoeth + artifact-name-suffix: arduino-avr-leonardoeth serial: true softwareserial: true - fqbn: arduino:avr:micro + artifact-name-suffix: arduino-avr-micro serial: true softwareserial: true - fqbn: arduino:avr:esplora + artifact-name-suffix: arduino-avr-esplora serial: true softwareserial: true - fqbn: arduino:avr:mini:cpu=atmega328 + artifact-name-suffix: arduino-avr-mini-cpu-atmega328 serial: true softwareserial: true - fqbn: arduino:avr:mini:cpu=atmega168 + artifact-name-suffix: arduino-avr-mini-cpu-atmega168 serial: true softwareserial: true - fqbn: arduino:avr:ethernet + artifact-name-suffix: arduino-avr-ethernet serial: true softwareserial: true - fqbn: arduino:avr:fio + artifact-name-suffix: arduino-avr-fio serial: true softwareserial: true - fqbn: arduino:avr:bt:cpu=atmega328 + artifact-name-suffix: arduino-avr-bt-cpu-atmega328 serial: true softwareserial: true - fqbn: arduino:avr:bt:cpu=atmega168 + artifact-name-suffix: arduino-avr-bt-cpu-atmega168 serial: true softwareserial: true - fqbn: arduino:avr:LilyPadUSB + artifact-name-suffix: arduino-avr-LilyPadUSB serial: true softwareserial: true - fqbn: arduino:avr:lilypad:cpu=atmega328 + artifact-name-suffix: arduino-avr-lilypad-cpu-atmega328 serial: true softwareserial: true - fqbn: arduino:avr:lilypad:cpu=atmega168 + artifact-name-suffix: arduino-avr-lilypad-cpu-atmega168 serial: true softwareserial: true - fqbn: arduino:avr:pro:cpu=16MHzatmega328 + artifact-name-suffix: arduino-avr-pro-cpu-16MHzatmega328 serial: true softwareserial: true - fqbn: arduino:avr:pro:cpu=8MHzatmega328 + artifact-name-suffix: arduino-avr-pro-cpu-8MHzatmega328 serial: true softwareserial: true - fqbn: arduino:avr:pro:cpu=16MHzatmega168 + artifact-name-suffix: arduino-avr-pro-cpu-16MHzatmega168 serial: true softwareserial: true - fqbn: arduino:avr:pro:cpu=8MHzatmega168 + artifact-name-suffix: arduino-avr-pro-cpu-8MHzatmega168 serial: true softwareserial: true - fqbn: arduino:avr:atmegang:cpu=atmega168 + artifact-name-suffix: arduino-avr-atmegang-cpu-atmega168 serial: true softwareserial: true - fqbn: arduino:avr:atmegang:cpu=atmega8 + artifact-name-suffix: arduino-avr-atmegang-cpu-atmega8 serial: true softwareserial: false - fqbn: arduino:avr:robotControl + artifact-name-suffix: arduino-avr-robotControl serial: true softwareserial: false - fqbn: arduino:avr:robotMotor + artifact-name-suffix: arduino-avr-robotMotor serial: true softwareserial: false - fqbn: arduino:avr:gemma + artifact-name-suffix: arduino-avr-gemma serial: false softwareserial: false - fqbn: arduino:avr:circuitplay32u4cat + artifact-name-suffix: arduino-avr-circuitplay32u4cat serial: true softwareserial: true - fqbn: arduino:avr:yunmini + artifact-name-suffix: arduino-avr-yunmini serial: true softwareserial: true - fqbn: arduino:avr:chiwawa + artifact-name-suffix: arduino-avr-chiwawa serial: true softwareserial: true - fqbn: arduino:avr:one + artifact-name-suffix: arduino-avr-one serial: true softwareserial: true - fqbn: arduino:avr:unowifi + artifact-name-suffix: arduino-avr-unowifi serial: true softwareserial: true - fqbn: arduino:avr:unomini + artifact-name-suffix: arduino-avr-unomini serial: true softwareserial: true @@ -176,7 +214,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Compile examples uses: arduino/compile-sketches@v1 @@ -202,8 +240,8 @@ jobs: sketches-report-path: ${{ env.SKETCHES_REPORTS_PATH }} - name: Save sketches report as workflow artifact - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: if-no-files-found: error path: ${{ env.SKETCHES_REPORTS_PATH }} - name: ${{ env.SKETCHES_REPORTS_PATH }} + name: sketches-report-${{ matrix.board.artifact-name-suffix }} diff --git a/.github/workflows/report-size-deltas.yml b/.github/workflows/report-size-deltas.yml index 652be5d9d..39e2a0ad2 100644 --- a/.github/workflows/report-size-deltas.yml +++ b/.github/workflows/report-size-deltas.yml @@ -20,5 +20,5 @@ jobs: - 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 + # Regex matching the names of the workflow artifacts created by the "Compile Examples" workflow + sketches-reports-source: ^sketches-report-.+ diff --git a/.github/workflows/spell-check.yml b/.github/workflows/spell-check.yml index 01bee879b..ef7d89414 100644 --- a/.github/workflows/spell-check.yml +++ b/.github/workflows/spell-check.yml @@ -16,7 +16,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Spell check uses: codespell-project/actions-codespell@master diff --git a/boards.txt b/boards.txt index ab18bae0e..b9add104a 100644 --- a/boards.txt +++ b/boards.txt @@ -58,7 +58,7 @@ yun.build.extra_flags={build.usb_flags} ############################################################## -uno.name=Arduino Uno +uno.name=Arduino UNO uno.vid.0=0x2341 uno.pid.0=0x0043 @@ -68,6 +68,8 @@ uno.vid.2=0x2A03 uno.pid.2=0x0043 uno.vid.3=0x2341 uno.pid.3=0x0243 +uno.vid.4=0x2341 +uno.pid.4=0x006A uno.upload_port.0.vid=0x2341 uno.upload_port.0.pid=0x0043 uno.upload_port.1.vid=0x2341 @@ -76,7 +78,9 @@ uno.upload_port.2.vid=0x2A03 uno.upload_port.2.pid=0x0043 uno.upload_port.3.vid=0x2341 uno.upload_port.3.pid=0x0243 -uno.upload_port.4.board=uno +uno.upload_port.4.vid=0x2341 +uno.upload_port.4.pid=0x006A +uno.upload_port.5.board=uno uno.upload.tool=avrdude uno.upload.tool.default=avrdude @@ -103,7 +107,7 @@ uno.build.variant=standard ############################################################## -unomini.name=Arduino Uno Mini +unomini.name=Arduino UNO Mini unomini.vid.0=0x2341 unomini.pid.0=0x0062 @@ -1268,7 +1272,7 @@ one.build.extra_flags={build.usb_flags} ############################################################## -unowifi.name=Arduino Uno WiFi +unowifi.name=Arduino UNO WiFi unowifi.vid.0=0x2A03 unowifi.pid.0=0x0057 unowifi.upload_port.0.vid=0x2A03 diff --git a/bootloaders/atmega/ATmegaBOOT_168.c b/bootloaders/atmega/ATmegaBOOT_168.c index ff2c4e486..143e7a7ca 100644 --- a/bootloaders/atmega/ATmegaBOOT_168.c +++ b/bootloaders/atmega/ATmegaBOOT_168.c @@ -387,7 +387,7 @@ int main(void) UCSR0C = (1<