Skip to content

Portenta H7: extended pin list, pinNames, SPI, WIre, PWM, ADC #87

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 11 commits into
base: arduino
Choose a base branch
from
Open
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
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
99 changes: 96 additions & 3 deletions .github/workflows/package_core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ jobs:
path: ${{ env.CORE_ARTIFACT }}.tar.bz2

test-core:
name: Test arduino:zephyr:${{ matrix.board }}
name: Test ${{ matrix.board }} board
runs-on: ubuntu-latest
needs: package-core
strategy:
Expand All @@ -83,8 +83,8 @@ jobs:
mkdir Blink/
wget -nv https://raw.githubusercontent.com/arduino/arduino-examples/refs/heads/main/examples/01.Basics/Blink/Blink.ino -P Blink/

- name: Compile Blink for ${{ env.FQBN }}
uses: arduino/compile-sketches@main
- name: Compile Blink for ${{ matrix.board }}
uses: pillo79/compile-sketches@main
with:
fqbn: ${{ env.FQBN }}
platforms: |
Expand All @@ -96,3 +96,96 @@ jobs:
sketch-paths: Blink
verbose: 'false'
enable-deltas-report: 'false'
enable-warnings-report: 'true'
enable-warnings-log: 'true'

- name: Clean up log
run: |
sed -i -e 's!/home/runner/.arduino15/packages/arduino/hardware/zephyr/[^/]*/!!g' sketches-reports/*

- uses: actions/upload-artifact@v4
with:
name: test-report-${{ needs.package-core.outputs.CORE_TAG }}-${{ matrix.board }}
path: sketches-reports/*

collect-logs:
name: Test summary
runs-on: ubuntu-latest
needs:
- package-core
- test-core
if: ${{ !cancelled() && needs.package-core.result == 'success' }}
env:
BOARD_NAMES: ${{ needs.package-core.outputs.BOARD_NAMES }}
steps:
- uses: actions/download-artifact@v4
with:
path: .
pattern: test-report-*
merge-multiple: true

- run: |
echo "### Core test results" >> "$GITHUB_STEP_SUMMARY"
for BOARD in $(echo $BOARD_NAMES | jq -cr '.[]'); do
FQBN="arduino:zephyr:$BOARD"
REPORT_FILE="arduino-zephyr-$BOARD.json"
if [ ! -f $REPORT_FILE ]; then
echo ":x: $BOARD - No report found?" >> "$GITHUB_STEP_SUMMARY"
else
REPORT=$(jq -cr '.boards[0].sketches[0]' $REPORT_FILE)
if ! $(echo $REPORT | jq -cr '.compilation_success') ; then
echo ":x: $BOARD - **Build failed**" >> "$GITHUB_STEP_SUMMARY"
else
WARNINGS=$(echo $REPORT | jq -cr '.warnings.current.absolute // 0')
if [ $WARNINGS -eq 0 ]; then
echo ":white_check_mark: $BOARD - Build successful" >> "$GITHUB_STEP_SUMMARY"
else
echo "<details><summary>:warning: $BOARD - $WARNINGS Warnings:</summary>" >> "$GITHUB_STEP_SUMMARY"
echo >> "$GITHUB_STEP_SUMMARY"
echo "\`\`\`" >> "$GITHUB_STEP_SUMMARY"
echo $REPORT | jq -cr '.warnings_log[]' >> "$GITHUB_STEP_SUMMARY"
echo "\`\`\`" >> "$GITHUB_STEP_SUMMARY"
echo >> "$GITHUB_STEP_SUMMARY"
echo "</details>" >> "$GITHUB_STEP_SUMMARY"
fi
fi
fi
done

publish-artifacts:
name: Publish artifacts
runs-on: ubuntu-latest
if: ${{ github.event_name == 'push' && github.repository == 'arduino/ArduinoCore-zephyr' }}
needs:
- package-core
- test-core
environment: production
permissions:
id-token: write
contents: read
env:
CORE_ARTIFACT: ${{ needs.package-core.outputs.CORE_ARTIFACT }}
CORE_TAG: ${{ needs.package-core.outputs.CORE_TAG }}
PACKAGE_INDEX_JSON: zephyr-core-${{ needs.package-core.outputs.CORE_TAG }}.json
steps:
- uses: actions/download-artifact@v4
with:
name: ${{ env.CORE_ARTIFACT }}

- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ secrets.IAM_ROLE }}
aws-region: ${{ secrets.AWS_REGION }}

- name: Upload artifact
run: aws s3 cp ${{ env.CORE_ARTIFACT }}.tar.bz2 s3://${{ secrets.S3_BUCKET }}

- name: Prepare package index snippet
run: ./extra/gen_package_index_json.sh

- name: Archive package index snippet
uses: actions/upload-artifact@v4
with:
name: ${{ env.PACKAGE_INDEX_JSON }}
path: ${{ env.PACKAGE_INDEX_JSON }}
11 changes: 11 additions & 0 deletions extra/gen_package_index_json.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/bin/bash

if [ -z "$CORE_TAG" ]; then
echo "This script can be used in Github CI only."
exit 1
fi

export ARTIFACT_HASH=$(sha256sum $CORE_ARTIFACT)
export ARTIFACT_SIZE=$(stat -c %s $CORE_ARTIFACT)

envsubst < extra/zephyr-core-template.json > $PACKAGE_INDEX_JSON
66 changes: 66 additions & 0 deletions extra/zephyr-core-template.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
{
"packages": [
{
"platforms": [
{
"name": "Arduino Zephyr Boards",
"architecture": "zephyr",
"version": "$CORE_TAG",
"category": "Arduino",
"url": "https://downloads.arduino.cc/cores/zephyr/${CORE_ARTIFACT}.tar.bz2",
"archiveFileName": "${CORE_ARTIFACT}.tar.bz2",
"checksum": "SHA-256:${ARTIFACT_HASH}",
"size": "${ARTIFACT_SIZE}",
"help": {
"online": "https://www.arduino.cc/en/Reference/HomePage"
},
"boards": [
{
"name": "Arduino Giga"
},
{
"name": "Arduino Nano 33 BLE"
},
{
"name": "Arduino Portenta H7"
},
{
"name": "Arduino Portenta C33"
},
{
"name": "Renesas EK_RA8D1"
},
{
"name": "NXP FRDM MCXN947"
},
{
"name": "NXP FRDM RW612"
}
],
"toolsDependencies": [
{
"packager": "zephyr",
"name": "arm-zephyr-eabi",
"version": "0.16.8"
},
{
"packager": "arduino",
"name": "dfu-util",
"version": "0.11.0-arduino5"
},
{
"packager": "arduino",
"name": "bossac",
"version": "1.9.1-arduino2"
},
{
"packager": "arduino",
"name": "zephyr-post-build-tool",
"version": "0.1.0"
}
]
}
]
}
]
}
Binary file modified firmwares/zephyr-arduino_giga_r1_stm32h747xx_m7.bin
Binary file not shown.
Binary file modified firmwares/zephyr-arduino_giga_r1_stm32h747xx_m7.elf
Binary file not shown.
Loading