arduino / compile-sketches Goto Github PK
View Code? Open in Web Editor NEWGitHub Actions action that checks whether Arduino sketches compile and produces a report of data from the compilations
License: GNU General Public License v3.0
GitHub Actions action that checks whether Arduino sketches compile and produces a report of data from the compilations
License: GNU General Public License v3.0
When trying to run the compile-sketches action, all actions fail and the traceback indicates that this is due to a 403 when attempting to access the URL for the Arduino CLI.
Traceback (most recent call last):
File "/home/runner/work/_actions/arduino/compile-sketches/main/compilesketches/compilesketches.py", line 1717, in <module>
main() # pragma: no cover
^^^^^^
File "/home/runner/work/_actions/arduino/compile-sketches/main/compilesketches/compilesketches.py", line 63, in main
compile_sketches.compile_sketches()
File "/home/runner/work/_actions/arduino/compile-sketches/main/compilesketches/compilesketches.py", line 216, in compile_sketches
self.install_arduino_cli()
File "/home/runner/work/_actions/arduino/compile-sketches/main/compilesketches/compilesketches.py", line 253, in install_arduino_cli
self.install_from_download(
File "/home/runner/work/_actions/arduino/compile-sketches/main/compilesketches/compilesketches.py", line 290, in install_from_download
with contextlib.closing(thing=urllib.request.urlopen(url=url)) as file_pointer:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.11.2/x64/lib/python3.11/urllib/request.py", line 216, in urlopen
return opener.open(url, data, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.11.2/x64/lib/python3.11/urllib/request.py", line 525, in open
response = meth(req, response)
^^^^^^^^^^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.11.2/x64/lib/python3.11/urllib/request.py", line 634, in http_response
response = self.parent.error(
^^^^^^^^^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.11.2/x64/lib/python3.11/urllib/request.py", line 563, in error
return self._call_chain(*args)
^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.11.2/x64/lib/python3.11/urllib/request.py", line 496, in _call_chain
result = func(*args)
^^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.11.2/x64/lib/python3.11/urllib/request.py", line 643, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden
Attempt to run the compile-sketches action.
Sketches compile.
Same error both with v1 and main
No response
I have use this action to do CI check for all examples. However, it gives me errors found in py files. I have tried last week passed action to re-run the error also comes out. I guess it related with some code recent update used by this GitHub actions. I have tried with main and v1.1.0, neither can work. Found the arduino-cli has an update today. Maybe it is the update cause the issue.
https://github.com/ambiot/ambpro2_arduino/actions/runs/9492771613/job/26160846238
File "/home/runner/work/_actions/arduino/compile-sketches/main/compilesketches/compilesketches.py", line 563, in get_platform_installation_path
if installed_platform[self.cli_json_key("core list", "ID")] == platform[self.dependency_name_key]:
~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: string indices must be integers, not 'str'
basic/default use of the action
Can run compilesketches with no process error.
main / v1.1.0
No response
It passes 3 args instead of 1
Use my workflow here:
https://github.com/tkbstudios/tinet-bridge-esp8266/blob/fbe894329d2dda1708ccbb220f5946b48cc9888f/.github/workflows/build-and-release.yaml
Build it and save the .bin file in the sketch folder
1.1.0
No response
When using the action the following warning appears:
The
set-output
command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
There are some mentions of set-output
in this action that should probably be taken care of.
Use the action, check the output warnings.
No warnings appear during action execution.
1.0.1
No response
The initial development work on the action was done in a repository used to host actions while they are in their unstable, experimental stage of development. The valuable commit history should be imported into the dedicated repository for the action.
All commits relevant to this action were filtered from the full history of that repository using the excellent newren/git-filter-repo
:
git clone https://github.com/newren/git-filter-repo
cd git-filter-repo
# checkout latest tag
git checkout $(git describe --tags `git rev-list --tags --max-count=1`)
export PATH="$PATH:$PWD"
cd ..
git clone https://github.com/arduino/actions
cd actions
git filter-repo --path LICENSE \
--path .github/workflows/libraries_compile-examples.yml \
--path .github/workflows/spell-check.yml \
--path etc/codespell-ignore-words-list.txt \
--path libraries/compile-examples --path-rename libraries/compile-examples/: \
--message-callback 'return message.split(b"libraries/compile-examples:", maxsplit=1)[1].strip()[:1].upper() + message.split(b"libraries/compile-examples:", maxsplit=1)[1].strip()[1:] if message.startswith(b"libraries/compile-examples:") else message.strip()'
Since it's not possible to add this commit history to the repository via a pull request, I have pushed it to a development branch.
https://github.com/arduino/compile-sketches/tree/per1234/development-initial-import
This development branch should be reviewed. Once it is approved, I'll push it to the primary main
branch.
I have also submitted a PR to update the CI workflows. You can see from the CI runs on that PR that all checks are still passing after the import:
https://github.com/arduino/compile-sketches/pull/1/checks
Note: the initial run of the Spell Check workflow on the per1234/development-initial-import
branch is expected to fail because that run was from the unchanged imported workflow that is still configured for the experimental repository.
Note: this is only an initial import. The outdated parts of the documentation will be updated in a PR soon to come after the import is approved.
When a library is declared in the depends
field of library.properties
, it is included as part of the compilation.
In other words, when the following is part of library.properties
depends=Arduino_POSIXStorage,ArduinoRS485,Arduino_USBHostMbed5
Then this should be redundent in the comple-examples.yml
workflow
libraries: |
- name: Arduino_USBHostMbed5
- name: Arduino_POSIXStorage
- name: ArduinoRS485
The dependant libraries need to be defined in the compile-sketches.yml
workflow, regardless of what is defined inside the library.properties
file of the library.
latest
Inside the IDE, when a library is declared in the depends
field of library.properties
and is not installed the user is prompted to install them. This prevents dependancies issues when using the library functions or examples. As shown in this screenshot provided by @jcarolinares
For my use case I need to be able to modify files in an installed library before the build takes place.
For example, tft_eSPI is a popular library for different displays, but it requires the user to update a User_Setup.h
file inside the library. From the library Readme:
The screen controller, interface pins and library configuration settings must be defined inside the library. They can NOT be defined in the Arduino sketch.
In order to use the library I would need to:
User_Setup.h
into the libraryUnless I'm missing something (And I could be, i'm pretty new to Arduino CLI and Github actions), I don't think that's possible with the current setup?
I don't see how to achieve this with current options/flags
latest
Thanks so much for the work on this, I've already started to use for some of my libraries to test examples!
Using an FQBN with spaces, like "Heltec-esp32:Heltec ESP32 Series Dev-boards:esp32"
fails with Invalid FQBN: not an FQBN: Heltec-esp32:Heltec
.
Escaping like "Heltec-esp32:Heltec\\ ESP32\\ Series\\ Dev-boards:esp32"
fails with Invalid FQBN: not an FQBN: Heltec-esp32:Heltec\
jobs:
compile:
runs-on: ubuntu-latest
strategy:
matrix:
fqbn:
- "Heltec-esp32:Heltec ESP32 Series Dev-boards:esp32"
steps:
- uses: arduino/compile-sketches@v1
with:
fqbn: ${{ matrix.fqbn }}
platforms: |
- name: "Heltec ESP32 Series Dev-boards:esp32"
version: "0.0.6"
source-url: https://resource.heltec.cn/download/package_heltec_esp32_index.json
It should not fail.
v1
No response
Almost all of the (many) examples in my library are meant to work on all supported boards. However, there are a few exceptions that are specific to a certain platform.
I am aware that I can define a "positive" matrix to the effect of "sketches A and B should be compiled for all platforms, but sketch C should only be compiled for AVR". However, this approach is a) pretty verbose, where dozens of examples are involved, and b) just waiting to get outdated as new examples are added/removed.
What I would like to be able to do, therefore, is to exclude certain sketches from a path, i.e. "all sketches should be compiled for all platforms, except sketch C should be excluded on RP2040". I'm thinking of perhaps a "exclude-sketch-paths" to be applied after "sketch-paths".
sketch-paths
input allows to define a (recursive) positive whitelist of examples to compile, but there does not seem to be an exclude-sketch-paths
counterpart.
v1.1.0
No response
It appears that github is being more aggressive about rate limiting, just happened in the past few weeks, but now to get a run to pass, I often have to rerun failed jobs several times for my cores.
The error output ends with this, which implies that there is a way to make an authenticated request. I see nothing in the documentation of compile-sketches that suggests that this is supported. It should be, because github seems to be trying to force people to authenticate actions (For quite a while I've occasionally had installation failures for the same reason, but those were few and far between and livewithable. It is no longer liverwithable. Every single attempt at running compile examples results in failures of this form, and it camoflages actual problems with the core.
The error ends in:
github.GithubException.RateLimitExceededException: 403 {"message": "API rate limit exceeded for 52.179.102.209. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)", "documentation_url": "https://docs.github.com/rest/overview/resources-in-the-rest-api#rate-limiting"}
Error: Process completed with exit code 1.
See the is example of a run that failed like this.
I would like the rate limit to not be reached. Either throttle the routines, or provide a mechanism and document it to use the "authenticated requests" that the error message mentions
arduino/compile-sketches@main
it seems that they're moving in the direction of severely curtailing anyone who doesn't authenticate, (i imagine because they're seeing abuse), but with little fluency in yaml (i'm much better at AVR assembly than this newfangled stuff - my brain only has a 16-bit address space; that's why I never liked the ATmega2560) and with difficulty understanding how the hell the whole scheme is supposed to work I was unsuccessful at getting another much simpler CI script that wanted a token (I don't know if that's the same thing) what it wanted.
I had a thought that might be useful for workflow maintainers: Output the time it takes to compile an individual sketch. It might also instigate optimization for sketches that take longer to compile, but that is subject to sketch author's intentions.
There's currently no way of looking at a completed workflow's log and determine which sketch(s) cost more minutes (rather important for private repos). Compared to PlatformIO's CI capability, each sketch is compiled separately as individual jobs, thus the compile time is displayed as part of the job's runtime (not an exact measurement but helpful). Furthermore, PIO output does include how long it took to compile a sketch. Since this action compiles several sketches in 1 job, the job's runtime is cumulative and less representative of an individual sketch's compile time.
The workflow sets up a python environment, with all of the necessary dependencies, but then tries to execute a completely different (and non existent) hard coded version of python to do the build:
Action setup
creating virtual environment...
installing poetry from spec 'poetry==1.4.0'...
done! β¨ π β¨
installed package poetry 1.4.0, installed using Python 3.11.2
These apps are now globally available
- poetry
Creating virtualenv compilesketches-jE1jbGsw-py3.11 in /home/runner/.cache/pypoetry/virtualenvs
Installing dependencies from lock file
Package operations: 19 installs, 0 updates, 0 removals
β’ Installing pycparser (2.21)
β’ Installing cffi (1.15.1)
β’ Installing certifi (2022.12.7)
β’ Installing charset-normalizer (3.1.0)
β’ Installing cryptography (40.0.1)
β’ Installing idna (3.4)
β’ Installing smmap (5.0.0)
β’ Installing urllib3 (1.26.15)
β’ Installing wrapt (1.15.0)
β’ Installing deprecated (1.2.13)
β’ Installing gitdb (4.0.10)
β’ Installing pyjwt (2.6.0)
β’ Installing pynacl (1.5.0)
β’ Installing requests (2.28.2)
β’ Installing gitpython (3.1.31)
β’ Installing pygithub (1.58.1)
β’ Installing pyserial (3.5)
β’ Installing pyyaml (6.0)
β’ Installing semver (2.13.0)
Installing the current project: compilesketches (0.0.0)
Run # Run action
# Run action
poetry run \
python compilesketches/compilesketches.py
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
UNIVERSAL_LIBRARIES: - name: Websockets
- name: ESPAsyncTCP
SKETCHES_REPORTS_PATH: sketches-reports
pythonLocation: /opt/hostedtoolcache/Python/3.11.2/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.11.2/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.2/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.2/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.2/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.11.2/x64/lib
INPUT_CLI-VERSION: latest
INPUT_FQBN: esp8266:esp8266:esp8285
INPUT_LIBRARIES: - name: Websockets
- name: ESPAsyncTCP
INPUT_PLATFORMS: - name: esp8266:esp8266
source-url: https://github.com/esp8266/Arduino.git
version: 3.1.2
INPUT_SKETCH-PATHS: ./
INPUT_CLI-COMPILE-FLAGS:
INPUT_VERBOSE: false
INPUT_GITHUB-TOKEN:
INPUT_ENABLE-DELTAS-REPORT: true
INPUT_ENABLE-WARNINGS-REPORT: true
INPUT_SKETCHES-REPORT-PATH: sketches-reports
Compiling sketch: .
Used platform Version Path
esp8266:esp8266 3.1.2 /home/runner/Arduino/hardware/esp8266/esp8266
Error during build: fork/exec /home/runner/Arduino/hardware/esp8266/esp8266/tools/python3/python3: no such file or directory
Error: Compilation failed
Error: One or more compilations failed
Error: Process completed with exit code 1.
Compile any sketch for esp8266.
I expect the workflow to see if my sketch builds, not fail before the build process has even begun.
arduino/compile-sketches@v1
This is my workflow yaml file, did I make a stupid mistake here?
name: Compile Sketch
# The workflow will run on Saturday's at 2:30am UTC & every push and pull request to the repository
on:
schedule:
- cron: "30 2 * * 6"
push:
pull_request:
jobs:
compile-sketch:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
board:
- fqbn: esp8266:esp8266:nodemcu
- fqbn: esp8266:esp8266:esp8285
core:
- version: 3.1.2
- version: 3.0.2
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Compile examples
uses: arduino/compile-sketches@v1
with:
platforms: |
- name: esp8266:esp8266
source-url: https://github.com/esp8266/Arduino.git
version: ${{ matrix.core.version }}
fqbn: ${{ matrix.board.fqbn }}
libraries: |
- name: Websockets
- name: ESPAsyncTCP
sketch-paths: ./
I want to check that the examples in library A compile correctly prior to public release. However, library A is dependant upon library B. Both libraries are private.
The compile-sketches-private.yml workflow works for library B, but not library A.
LibA
and LibB
. LibB
has no external dependancies, outside what is inside the library manager. LibA
however is dependant upon LibB
(i.e. has #include "LibB"
in the example sketches).github/workflows
folder in each repo. Configure the fqbn:
and add libraies from the library manager (e.g. libraries: - name: Servo
)compile-sketches-private.yml
for LibA
, refer to LibB
as follows: libraries: |
# Install the library from the local path.
- source-path: ./
- source-path: https://github.com/arduino-libraries/LibB
Error: Library source path: https:/github.com/arduino-libraries/LibB doesn't exist
Error: Process completed with exit code 1.
Private libraries to which my account (or the organisation hosting it) have access to should be acceptable entries to source-path:
No response
If a sketch has #include "Math.h"
, the arduino/compile-sketches
GitHub Action will return fatal error: Math.h: No such file or directory
. However, the same sketch compiles and executes locally as expected.
/home/runner/work/nicla-sense-me-fw/nicla-sense-me-fw/Arduino_BHY2/examples/Magnetometer/Magnetometer.ino:17:10: fatal error: Math.h: No such file or directory
#include "Math.h"
^~~~~~~~
compilation terminated.
Used library Version Path
Arduino_BHY2 1.0.6 /home/runner/work/nicla-sense-me-fw/nicla-sense-me-fw/Arduino_BHY2
ArduinoBLE 1.3.6 /home/runner/Arduino/libraries/ArduinoBLE
Used platform Version Path
arduino:mbed_nicla 4.1.3 /home/runner/.arduino15/packages/arduino/hardware/mbed_nicla/4.1.3
Error during build: exit status 1
/*
* This example shows how to use the access the magnetometer data and send it over serial.
*
* Every 1 second, this sketch will send the heading of the magnetometer over serial.
* by calculating the arctangent between the x and y axis and multiplied in a conversion
* factor to convert the headings from radians to degrees.
*
* Instructions:
* 1. Upload this sketch to your Nicla Sense ME board.
* 2. Open the Serial Monitor at a baud rate of 115200.
* 3. The heading of the magnetometer will be printed to the serial monitor.
*
* Initial author: @mcmchris
*/
#include "Arduino_BHY2.h"
#include "Math.h"
SensorXYZ magnetometer(SENSOR_ID_MAG);
float heading = 0;
unsigned long previousMillis = 0; // will store last time the sensor was updated
const long interval = 1000;
void setup() {
Serial.begin(115200);
BHY2.begin();
magnetometer.begin();
}
void loop() {
BHY2.update();
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis;
heading = round(atan2(magnetometer.x(), magnetometer.y()) * 180.0 / PI);
Serial.println(String(heading) + "ΒΊ");
}
}
- name: Compile examples
uses: arduino/compile-sketches@v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
fqbn: ${{ matrix.board.fqbn }}
platforms: ${{ matrix.board.platforms }}
libraries: |
# Board-specific libraries
${{ matrix.bhy2-libraries }}
${{ matrix.bhy2host-libraries }}
${{ matrix.board.libraries }}
${{ matrix.arduinoiotcloud-libraries }}
${{ matrix.blebridge-libraries }}
sketch-paths: |
${{ matrix.bhy2-sketch-paths }}
${{ matrix.bhy2host-sketch-paths }}
${{ matrix.arduinoiotcloud-sketch-paths }}
${{ matrix.blebridge-sketch-paths }}
enable-deltas-report: true
sketches-report-path: ${{ env.SKETCHES_REPORTS_PATH }}
Math.h
is displayed hereIf a sketch is able to compile locally and Math.h
is found, then I also expect the CLI to do the same and not give an error.
uses: arduino/compile-sketches@v1
Magnetometer.ino
sketch locally confirmed by @mcmchrisHello all.
I'm trying to run this action in a matrix for various boards. Works fine with Uno only, works fine when adding Mega to the job matrix.
However, when I add Due or Zero, the tasks start but then eventually fail with "Error: The operation was canceled." or "Error: A task was canceled." messages.
Here is my workflow/file: https://github.com/gergelytakacs/AutomationShield/actions/workflows/build-arduino.yml
Can anyone advise what I'm doing wrong?
This question is what made me think of the #59 suggestion because it would aid in reducing the action's runtime. My intention is to make use of actions/cache@v3
.
Initially, I thought to install the python src of this action as a step then execute the python code as another step, but it looks like that would be skipping the action's setup script.
So, this question seems dependent on where the cache-able assets exist (in the docker container's FS or the runner's FS). When I say "cache-able assets", I mean the Arduino cores (builtin or externally fetched like the ATTinyCore). I don't think that caching the size-delta reports would be applicable/helpful. Maybe the ArduinoCLI tool could also apply to the cache...
Hi there.
By using platform.local.txt
file, we can override properties defined in platform.txt or define new properties without modifying platform.txt, as you know.
If the action supports platform-file
section to import custom platform.local.txt file, it would be more flexible and powerful.
Regards.
It is possible to let this action runs under
I have tried the following set upοΌ gives many errors
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
main / v1.1.0
No response
Supplying the board source-url
for the BM .json
file via the platform scheme documented does not work.
I searched through the python file to get it working and appended the URL to the fqbn
field in my action file and it worked.
Please update the docs, or make the code match the docs.
Attempt to use a 3rd party board given the instructions in the action documentation.
This failed and gave an error indicating the information was parsed incorrectly.
- name: Compile Arduino Sketches
uses: arduino/compile-sketches@v1
with:
fqbn: 'adafruit:samd:adafruit_feather_m4_can'
platforms: |
- name: "adafruit:samd"
- source-url: "https://adafruit.github.io/arduino-board-index/package_adafruit_index.json"
libraries: |
- name: CAN Adafruit Fork
- name: SafeString
This worked:
- name: Compile Arduino Sketches
uses: arduino/compile-sketches@v1
with:
fqbn: 'adafruit:samd:adafruit_feather_m4_can https://adafruit.github.io/arduino-board-index/package_adafruit_index.json'
libraries: |
- name: CAN Adafruit Fork
- name: SafeString
Explained above.
v1.0.1
No response
config;
name: Compile Sketch
# The workflow will run on every push and pull request to the repository
on:
push:
paths:
- '.github/workflows/sketches.yaml'
- '*.ino'
- '*.cpp'
- '*.h'
pull_request:
paths:
- '.github/workflows/sketches.yaml'
- '*.ino'
- '*.cpp'
- '*.h'
jobs:
compile-sketch:
runs-on: ubuntu-latest
strategy:
matrix:
# variants listed in Defines.h:11
variant: [ 0, 1 , 2, 3 ]
steps:
# This step makes the contents of the repository available to the workflow
- name: Checkout repository
uses: actions/checkout@v2
# For more information: https://github.com/arduino/compile-sketches#readme
- name: Compile sketch
uses: arduino/compile-sketches@v1
with:
# The default is to compile for the Arduino Uno board. If you want to compile for other boards, use the `fqbn` input.
fqbn: arduino:avr:mega
sketch-paths: |
# Configure the action to search all folders under the root of the repository for sketches and compile them.
# This is formatted as a YAML list, which makes it possible to have multiple sketch paths if needed.
- ./main.ino
cli-compile-flags: |
- --build-property build.extra_flags=-VARIANT_SELECTED=${{ matrix.variant }}
# Run action
poetry run \
python compilesketches/compilesketches.py
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.11.2/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.11.2/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.2/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.2/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.2/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.11.2/x64/lib
INPUT_CLI-VERSION: latest
INPUT_FQBN: arduino:avr:mega
INPUT_LIBRARIES: - source-path: ./
INPUT_PLATFORMS:
INPUT_SKETCH-PATHS: # Configure the action to search all folders under the root of the repository for sketches and compile them.
# This is formatted as a YAML list, which makes it possible to have multiple sketch paths if needed.
- ./main.ino
INPUT_CLI-COMPILE-FLAGS: - --build-property build.extra_flags=-VARIANT_SELECTED=0
INPUT_VERBOSE: false
INPUT_GITHUB-TOKEN:
INPUT_ENABLE-DELTAS-REPORT: false
INPUT_ENABLE-WARNINGS-REPORT: false
INPUT_SKETCHES-REPORT-PATH: sketches-reports
Compiling sketch: .
Error: unknown flag: --build-property build.extra_flags
Usage:
arduino-cli compile [flags]
Examples:
/home/runner/bin/arduino-cli compile -b arduino:avr:uno /home/user/Arduino/MySketch
/home/runner/bin/arduino-cli compile -b arduino:avr:uno --build-property "build.extra_flags=\"-DMY_DEFINE=\"hello world\"\"" /home/user/Arduino/MySketch
/home/runner/bin/arduino-cli compile -b arduino:avr:uno --build-property "build.extra_flags=-DPIN=2 \"-DMY_DEFINE=\"hello world\"\"" /home/user/Arduino/MySketch
/home/runner/bin/arduino-cli compile -b arduino:avr:uno --build-property build.extra_flags=-DPIN=2 --build-property "compiler.cpp.extra_flags=\"-DSSID=\"hello world\"\"" /home/user/Arduino/MySketch
Flags:
--board-options strings List of board options separated by commas. Or can be used multiple times for multiple options.
--build-cache-path string Builds of 'core.a' are saved into this path to be cached and reused.
--build-path string Path where to save compiled files. If omitted, a directory will be created in the default temporary path of your OS.
--build-property stringArray Override a build property with a custom value. Can be used multiple times for multiple properties.
--clean Optional, cleanup the build folder and do not use any cached build.
--discovery-timeout duration Max time to wait for port discovery, e.g.: 30s, 1m (default 1s)
--dump-profile Create and print a profile configuration from the build.
--encrypt-key string The name of the custom encryption key to use to encrypt a binary during the compile process. Used only by the platforms that support it.
-e, --export-binaries If set built binaries will be exported to the sketch folder.
-b, --fqbn string Fully Qualified Board Name, e.g.: arduino:avr:uno
-h, --help help for compile
--keys-keychain string The path of the dir to search for the custom keys to sign and encrypt a binary. Used only by the platforms that support it.
--libraries strings Path to a collection of libraries. Can be used multiple times or entries can be comma separated.
--library strings Path to a single libraryβs root folder. Can be used multiple times or entries can be comma separated.
--only-compilation-database Just produce the compilation database, without actually compiling. All build commands are skipped except pre* hooks.
--optimize-for-debug Optional, optimize compile output for debugging, rather than for release.
--output-dir string Save build artifacts in this directory.
-p, --port string Upload port address, e.g.: COM3 or /dev/ttyACM2
--preprocess Print preprocessed code to stdout instead of compiling.
-m, --profile string Sketch profile to use
-P, --programmer string Programmer to use, e.g: atmel_ice
-l, --protocol string Upload port protocol, e.g: serial
--quiet Optional, suppresses almost every output.
--show-properties string[="expanded"] Show build properties. The properties are expanded, use "--show-properties=unexpanded" if you want them exactly as they are defined. (default "disabled")
--sign-key string The name of the custom signing key to use to sign a binary during the compile process. Used only by the platforms that support it.
-u, --upload Upload the binary after the compilation.
-t, --verify Verify uploaded binary after the upload.
--warnings string Optional, can be: none, default, more, all. Used to tell gcc which warning level to use (-W flag). (default "none")
Global Flags:
--additional-urls strings Comma-separated list of additional URLs for the Boards Manager.
--config-file string The custom config file (if not specified the default will be used).
--format string The output format for the logs, can be: text, json, jsonmini, yaml (default "text")
--log Print the logs on the standard output.
--log-file string Path to the file where logs will be written.
--log-format string The output format for the logs, can be: text, json
--log-level string Messages with this level and above will be logged. Valid levels are: trace, debug, info, warn, error, fatal, panic
--no-color Disable colored output.
unknown flag: --build-property build.extra_flags
Error: Compilation failed
Error: One or more compilations failed
Error: Process completed with exit code 1.
Matrix builds from flags provided
I tried to see if it's a string thing with a double yaml.load but it seems fine;
import yaml
cli = yaml.load(wf["jobs"]["compile-sketch"]["steps"][1]["with"]["cli-compile-flags"], Loader=yaml.SafeLoader)
cli
['--build-property build.extra_flags=-VARIANT_SELECTED=${{ matrix.variant }}']
@per1234 added an input that takes arbitrary flags that are passed to Arduino CLI during compilation, maybe can be useful.
The problem arises from arduino/arduino-cli#1570
For my project, I need to use libraries with specific versions (not the recent ones). So, I prepared the workflow with a list of libraries (even with dependencies):
libraries: |
- name: WiFiManager
version: 2.0.16-rc.2
- name: ArduinoJson
version: 6.21.3
- name: ESPDateTime
version: 1.0.4
- name: SD
version: 1.2.4
- name: Adafruit seesaw Library
version: 1.7.3
- name: Adafruit BusIO
version: 1.14.4
- name: Adafruit GFX Library
version: 1.11.7
- name: Adafruit ST7735 and ST7789 Library
version: 1.10.3
- name: U8g2_for_Adafruit_GFX
version: 1.8.0
- name: DoubleResetDetector
version: 1.0.3
But for some reason I see this replacing in logs:
Replacing Adafruit GFX [email protected] with Adafruit GFX [email protected]...
Replacing Adafruit seesaw [email protected] with Adafruit seesaw [email protected]...
Running command: /home/runner/bin/arduino-cli lib install Adafruit ST7735 and ST7789 [email protected] --log-level warn --verbose
Already installed Adafruit [email protected]
Already installed Adafruit ST7735 and ST7789 [email protected]
Already installed [email protected]
Downloading Adafruit GFX [email protected]...
Adafruit GFX [email protected] Adafruit GFX [email protected] already downloaded
Installing Adafruit GFX [email protected]...
Replacing Adafruit GFX [email protected] with Adafruit GFX [email protected]...
Installed Adafruit GFX [email protected]
Downloading Adafruit seesaw [email protected]...
Adafruit seesaw [email protected] 0 B / 122.88 KiB 0.00%
Adafruit seesaw [email protected] downloaded
Installing Adafruit seesaw [email protected]...
Replacing Adafruit seesaw [email protected] with Adafruit seesaw [email protected]...
Installed Adafruit seesaw [email protected]
Maybe it's my mistake in configuration, but I don't know how to force using the specific versions.
Any ideas?
Try to use a specific version of a dependency. In my case, Adafruit GFX [email protected] for Adafruit ST7735 and ST7789 [email protected]
Compiling the project with specific versions of the libraries.
1.1.0
No response
I created a workflow file together with git copilot, and got this:
But it seems the is a mistake with the esp8266 installation.
The esp platform installation fails.
Can anyone help here?
name: Compile Examples
on: [push, pull_request]
jobs:
build-arduino:
runs-on: ubuntu-latest
if: contains(github.event.head_commit.message, '[arduino]')
steps:
- uses: actions/checkout@v3
- uses: arduino/compile-sketches@v1
with:
libraries: |
- source-path: ./
build-esp8266:
runs-on: ubuntu-latest
if: contains(github.event.head_commit.message, '[esp8266]')
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Install Arduino CLI
uses: arduino/setup-arduino-cli@v1
- name: Install ESP8266 platform
run: |
arduino-cli core update-index
arduino-cli core install esp8266:esp8266
- name: Compile code
run: |
arduino-cli compile --fqbn esp8266:esp8266:d1_mini ./examples/Wemos_D1_mini_AM2302_Sensor_Array_Example/Wemos_D1_mini_AM2302_Sensor_Array_Example.ino
builtin:[email protected] 0 B / 1.63 MiB 0.00%
builtin:[email protected] downloaded
Installing builtin:[email protected]...
Skipping tool configuration....
builtin:[email protected] installed
Downloading index: package_index.tar.bz2 0 B / 57.83 KiB 0.00%
Downloading index: package_index.tar.bz2 downloaded
Invalid argument passed: Found 0 platform for reference "esp8266:esp8266":
Error: Process completed with exit code 7.
every time when an esp example is pushed
no error in installation
v1
No response
Hello, is it possible to get the compiled HEX from the sketch?
For a given sketch.yml
build profile, when the fqbn:
is specified inside it, then this should be accounted for by the compile-sketches.
This is one example of a sketch.yml
file, in which the fqbn
is specified.
profiles:
envie_m7:
notes: Portenta H7 family & Portenta Machine Control
fqbn: arduino:mbed_portenta:envie_m7
platforms:
- platform: arduino:mbed_portenta (4.1.1)
libraries:
- Arduino_USBHostMbed5 (0.3.1)
- Arduino_POSIXStorage (1.2.0)
- Arduino_UnifiedStorage (1.1.0)
- ArduinoRS485 (1.0.5)
Currently, the compile-sketches workflow disregards the specified fqbn:
inside the sketch.yml
file. For this step:
- name: Compile examples
uses: arduino/compile-sketches@v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
enable-deltas-report: true
sketches-report-path: ${{ env.SKETCHES_REPORTS_PATH }}
cli-compile-flags: |
- --profile=${{ matrix.board.name }}
We get a build error, inline with the default values of the fqbn entry
Error during build: Platform 'arduino:avr' not found: platform not installed
See here for a full log.
An interim solution (proposed by @per1234 ) is to manually specify the fqbn
like this.
- name: Compile examples
uses: arduino/compile-sketches@v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
enable-deltas-report: true
sketches-report-path: ${{ env.SKETCHES_REPORTS_PATH }}
cli-compile-flags: |
- --profile=${{ matrix.board.name }}
fqbn: ${{ matrix.board.fqbn }}
While this does result in a correct build (see here), it does not abide to the DRY principles. Additionally, this makes it difficult to link the build profile to the workflow (which is the reason for using the sketch.yml
) in the first place.
latest
When running arduino-cli compile --profile envie_m7
locally, the fqbn
is automatically selected from inside the sketch.yml
file as expected.
PS C:\Users\Ali Jahangiri\Documents\GitHub\Arduino_UnifiedStorage\examples\AdvancedUSBInternalOperations> arduino-cli compile --profile envie_m7 --verbose
FQBN: arduino:mbed_portenta:envie_m7
Using board 'envie_m7' from platform in folder: C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e
Using core 'arduino' from platform in folder: C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e
Detecting libraries used...
C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_arm-none-eabi-gcc_7-2017q4_7b7be9f526b2cb64/bin/arm-none-eabi-g++ -c -w -g3 -nostdlib @C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\variants\PORTENTA_H7_M7/defines.txt @C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\variants\PORTENTA_H7_M7/cxxflags.txt -mcpu=cortex-m7 -mfloat-abi=softfp -mfpu=fpv5-d16 -w -x c++ -E -CC -DARDUINO=10607 -DARDUINO_PORTENTA_H7_M7 -DARDUINO_ARCH_MBED_PORTENTA -DARDUINO_ARCH_MBED -DARDUINO_LIBRARY_DISCOVERY_PHASE=1 -IC:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\cores\arduino -IC:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\variants\PORTENTA_H7_M7 -DCM4_BINARY_START=0x08100000 -DCM4_BINARY_END=0x08200000 -IC:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\cores\arduino/api/deprecated -IC:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\cores\arduino/api/deprecated-avr-comp -iprefixC:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\cores\arduino @C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\variants\PORTENTA_H7_M7/../PORTENTA_H7_M7/includes.txt C:\Users\Ali Jahangiri\AppData\Local\Temp\arduino\sketches\50F344C94FE0893975B4D48C211CFA9C\sketch\AdvancedUSBInternalOperations.ino.cpp -o nul
Alternatives for Arduino_UnifiedStorage.h: [[email protected]]
ResolveLibrary(Arduino_UnifiedStorage.h)
-> candidates: [[email protected]]
C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_arm-none-eabi-gcc_7-2017q4_7b7be9f526b2cb64/bin/arm-none-eabi-g++ -c -w -g3 -nostdlib @C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\variants\PORTENTA_H7_M7/defines.txt @C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\variants\PORTENTA_H7_M7/cxxflags.txt -mcpu=cortex-m7 -mfloat-abi=softfp -mfpu=fpv5-d16 -w -x c++ -E -CC -DARDUINO=10607 -DARDUINO_PORTENTA_H7_M7 -DARDUINO_ARCH_MBED_PORTENTA -DARDUINO_ARCH_MBED -DARDUINO_LIBRARY_DISCOVERY_PHASE=1 -IC:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\cores\arduino -IC:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\variants\PORTENTA_H7_M7 -IC:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\Arduino_UnifiedStorage_1.1.0_cf85c666c400970f\Arduino_UnifiedStorage\src -DCM4_BINARY_START=0x08100000 -DCM4_BINARY_END=0x08200000 -IC:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\cores\arduino/api/deprecated -IC:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\cores\arduino/api/deprecated-avr-comp -iprefixC:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\cores\arduino @C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\variants\PORTENTA_H7_M7/../PORTENTA_H7_M7/includes.txt C:\Users\Ali Jahangiri\AppData\Local\Temp\arduino\sketches\50F344C94FE0893975B4D48C211CFA9C\sketch\AdvancedUSBInternalOperations.ino.cpp -o nul
Alternatives for Arduino_POSIXStorage.h: [[email protected]]
ResolveLibrary(Arduino_POSIXStorage.h)
-> candidates: [[email protected]]
C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_arm-none-eabi-gcc_7-2017q4_7b7be9f526b2cb64/bin/arm-none-eabi-g++ -c -w -g3 -nostdlib @C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\variants\PORTENTA_H7_M7/defines.txt @C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\variants\PORTENTA_H7_M7/cxxflags.txt -mcpu=cortex-m7 -mfloat-abi=softfp -mfpu=fpv5-d16 -w -x c++ -E -CC -DARDUINO=10607 -DARDUINO_PORTENTA_H7_M7 -DARDUINO_ARCH_MBED_PORTENTA -DARDUINO_ARCH_MBED -DARDUINO_LIBRARY_DISCOVERY_PHASE=1 -IC:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\cores\arduino -IC:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\variants\PORTENTA_H7_M7 -IC:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\Arduino_UnifiedStorage_1.1.0_cf85c666c400970f\Arduino_UnifiedStorage\src -IC:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\Arduino_POSIXStorage_1.2.0_e7053177655041b1\Arduino_POSIXStorage\src -DCM4_BINARY_START=0x08100000 -DCM4_BINARY_END=0x08200000 -IC:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\cores\arduino/api/deprecated -IC:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\cores\arduino/api/deprecated-avr-comp -iprefixC:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\cores\arduino @C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\variants\PORTENTA_H7_M7/../PORTENTA_H7_M7/includes.txt C:\Users\Ali Jahangiri\AppData\Local\Temp\arduino\sketches\50F344C94FE0893975B4D48C211CFA9C\sketch\AdvancedUSBInternalOperations.ino.cpp -o nul
Using cached library dependencies for file: C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\Arduino_UnifiedStorage_1.1.0_cf85c666c400970f\Arduino_UnifiedStorage\src\Arduino_UnifiedStorage.cpp
Using cached library dependencies for file: C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\Arduino_UnifiedStorage_1.1.0_cf85c666c400970f\Arduino_UnifiedStorage\src\Folder.cpp
Using cached library dependencies for file: C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\Arduino_UnifiedStorage_1.1.0_cf85c666c400970f\Arduino_UnifiedStorage\src\InternalStorage.cpp
Using cached library dependencies for file: C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\Arduino_UnifiedStorage_1.1.0_cf85c666c400970f\Arduino_UnifiedStorage\src\Partitioning.cpp
Using cached library dependencies for file: C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\Arduino_UnifiedStorage_1.1.0_cf85c666c400970f\Arduino_UnifiedStorage\src\SDStorage.cpp
Using cached library dependencies for file: C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\Arduino_UnifiedStorage_1.1.0_cf85c666c400970f\Arduino_UnifiedStorage\src\UFile.cpp
Using cached library dependencies for file: C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\Arduino_UnifiedStorage_1.1.0_cf85c666c400970f\Arduino_UnifiedStorage\src\USBStorage.cpp
Using cached library dependencies for file: C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\Arduino_POSIXStorage_1.2.0_e7053177655041b1\Arduino_POSIXStorage\src\Arduino_POSIXStorage.cpp
Alternatives for Arduino_USBHostMbed5.h: [[email protected]]
ResolveLibrary(Arduino_USBHostMbed5.h)
-> candidates: [[email protected]]
Alternatives for SDMMCBlockDevice.h: [[email protected]]
ResolveLibrary(SDMMCBlockDevice.h)
-> candidates: [[email protected]]
Using cached library dependencies for file: C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\Arduino_USBHostMbed5_0.3.1_cd6938f29a024044\Arduino_USBHostMbed5\src\USBHost\USBDeviceConnected.cpp
Using cached library dependencies for file: C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\Arduino_USBHostMbed5_0.3.1_cd6938f29a024044\Arduino_USBHostMbed5\src\USBHost\USBEndpoint.cpp
Using cached library dependencies for file: C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\Arduino_USBHostMbed5_0.3.1_cd6938f29a024044\Arduino_USBHostMbed5\src\USBHost\USBHost.cpp
Using cached library dependencies for file: C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\Arduino_USBHostMbed5_0.3.1_cd6938f29a024044\Arduino_USBHostMbed5\src\USBHost3GModule\WANDongle.cpp
Using cached library dependencies for file: C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\Arduino_USBHostMbed5_0.3.1_cd6938f29a024044\Arduino_USBHostMbed5\src\USBHost3GModule\WANDongleSerialPort.cpp
Using cached library dependencies for file: C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\Arduino_USBHostMbed5_0.3.1_cd6938f29a024044\Arduino_USBHostMbed5\src\USBHostHID\USBHostKeyboard.cpp
Using cached library dependencies for file: C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\Arduino_USBHostMbed5_0.3.1_cd6938f29a024044\Arduino_USBHostMbed5\src\USBHostHID\USBHostMouse.cpp
Using cached library dependencies for file: C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\Arduino_USBHostMbed5_0.3.1_cd6938f29a024044\Arduino_USBHostMbed5\src\USBHostHub\USBHostHub.cpp
Using cached library dependencies for file: C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\Arduino_USBHostMbed5_0.3.1_cd6938f29a024044\Arduino_USBHostMbed5\src\USBHostMIDI\USBHostMIDI.cpp
Using cached library dependencies for file: C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\Arduino_USBHostMbed5_0.3.1_cd6938f29a024044\Arduino_USBHostMbed5\src\USBHostMSD\USBHostMSD.cpp
Using cached library dependencies for file: C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\Arduino_USBHostMbed5_0.3.1_cd6938f29a024044\Arduino_USBHostMbed5\src\USBHostSerial\USBHostSerial.cpp
Using cached library dependencies for file: C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\Arduino_USBHostMbed5_0.3.1_cd6938f29a024044\Arduino_USBHostMbed5\src\targets\TARGET_STM\USBEndpoint_STM.cpp
Using cached library dependencies for file: C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\Arduino_USBHostMbed5_0.3.1_cd6938f29a024044\Arduino_USBHostMbed5\src\targets\TARGET_STM\USBHALHost_STM.cpp
Using cached library dependencies for file: C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\libraries\Portenta_SDCARD\src\BSP.c
Using cached library dependencies for file: C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\libraries\Portenta_SDCARD\src\SDMMCBlockDevice.cpp
Generating function prototypes...
C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_arm-none-eabi-gcc_7-2017q4_7b7be9f526b2cb64/bin/arm-none-eabi-g++ -c -w -g3 -nostdlib @C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\variants\PORTENTA_H7_M7/defines.txt @C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\variants\PORTENTA_H7_M7/cxxflags.txt -mcpu=cortex-m7 -mfloat-abi=softfp -mfpu=fpv5-d16 -w -x c++ -E -CC -DARDUINO=10607 -DARDUINO_PORTENTA_H7_M7 -DARDUINO_ARCH_MBED_PORTENTA -DARDUINO_ARCH_MBED -DARDUINO_LIBRARY_DISCOVERY_PHASE=1 -IC:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\cores\arduino -IC:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\variants\PORTENTA_H7_M7 -IC:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\Arduino_UnifiedStorage_1.1.0_cf85c666c400970f\Arduino_UnifiedStorage\src -IC:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\Arduino_POSIXStorage_1.2.0_e7053177655041b1\Arduino_POSIXStorage\src -IC:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\Arduino_USBHostMbed5_0.3.1_cd6938f29a024044\Arduino_USBHostMbed5\src -IC:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\libraries\Portenta_SDCARD\src -DCM4_BINARY_START=0x08100000 -DCM4_BINARY_END=0x08200000 -IC:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\cores\arduino/api/deprecated -IC:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\cores\arduino/api/deprecated-avr-comp -iprefixC:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\cores\arduino @C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\variants\PORTENTA_H7_M7/../PORTENTA_H7_M7/includes.txt C:\Users\Ali Jahangiri\AppData\Local\Temp\arduino\sketches\50F344C94FE0893975B4D48C211CFA9C\sketch\AdvancedUSBInternalOperations.ino.cpp -o C:\Users\Ali Jahangiri\AppData\Local\Temp\4173928976\sketch_merged.cpp
C:\Users\Ali Jahangiri\AppData\Local\Arduino15\packages\builtin\tools\ctags\5.8-arduino11/ctags -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives C:\Users\Ali Jahangiri\AppData\Local\Temp\4173928976\sketch_merged.cpp
Compiling sketch...
"C:\\Users\\Ali Jahangiri\\AppData\\Local\\Arduino15\\internal\\arduino_arm-none-eabi-gcc_7-2017q4_7b7be9f526b2cb64/bin/arm-none-eabi-g++" -c -w -g3 -nostdlib "@C:\\Users\\Ali Jahangiri\\AppData\\Local\\Arduino15\\internal\\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\\variants\\PORTENTA_H7_M7/defines.txt" "@C:\\Users\\Ali Jahangiri\\AppData\\Local\\Arduino15\\internal\\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\\variants\\PORTENTA_H7_M7/cxxflags.txt" -MMD -mcpu=cortex-m7 -mfloat-abi=softfp -mfpu=fpv5-d16 -DARDUINO=10607 -DARDUINO_PORTENTA_H7_M7 -DARDUINO_ARCH_MBED_PORTENTA -DARDUINO_ARCH_MBED -DARDUINO_LIBRARY_DISCOVERY_PHASE=0 "-IC:\\Users\\Ali Jahangiri\\AppData\\Local\\Arduino15\\internal\\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\\cores\\arduino" "-IC:\\Users\\Ali Jahangiri\\AppData\\Local\\Arduino15\\internal\\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\\variants\\PORTENTA_H7_M7" "-IC:\\Users\\Ali Jahangiri\\AppData\\Local\\Arduino15\\internal\\Arduino_UnifiedStorage_1.1.0_cf85c666c400970f\\Arduino_UnifiedStorage\\src" "-IC:\\Users\\Ali Jahangiri\\AppData\\Local\\Arduino15\\internal\\Arduino_POSIXStorage_1.2.0_e7053177655041b1\\Arduino_POSIXStorage\\src" "-IC:\\Users\\Ali Jahangiri\\AppData\\Local\\Arduino15\\internal\\Arduino_USBHostMbed5_0.3.1_cd6938f29a024044\\Arduino_USBHostMbed5\\src" "-IC:\\Users\\Ali Jahangiri\\AppData\\Local\\Arduino15\\internal\\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\\libraries\\Portenta_SDCARD\\src" -DCM4_BINARY_START=0x08100000 -DCM4_BINARY_END=0x08200000 "-IC:\\Users\\Ali Jahangiri\\AppData\\Local\\Arduino15\\internal\\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\\cores\\arduino/api/deprecated" "-IC:\\Users\\Ali Jahangiri\\AppData\\Local\\Arduino15\\internal\\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\\cores\\arduino/api/deprecated-avr-comp" "-iprefixC:\\Users\\Ali Jahangiri\\AppData\\Local\\Arduino15\\internal\\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\\cores\\arduino" "@C:\\Users\\Ali Jahangiri\\AppData\\Local\\Arduino15\\internal\\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\\variants\\PORTENTA_H7_M7/../PORTENTA_H7_M7/includes.txt" "C:\\Users\\Ali Jahangiri\\AppData\\Local\\Temp\\arduino\\sketches\\50F344C94FE0893975B4D48C211CFA9C\\sketch\\AdvancedUSBInternalOperations.ino.cpp" -o "C:\\Users\\Ali Jahangiri\\AppData\\Local\\Temp\\arduino\\sketches\\50F344C94FE0893975B4D48C211CFA9C\\sketch\\AdvancedUSBInternalOperations.ino.cpp.o"
Compiling libraries...
Compiling library "Arduino_UnifiedStorage"
Using previously compiled file: C:\Users\Ali Jahangiri\AppData\Local\Temp\arduino\sketches\50F344C94FE0893975B4D48C211CFA9C\libraries\Arduino_UnifiedStorage\Arduino_UnifiedStorage.cpp.o
Using previously compiled file: C:\Users\Ali Jahangiri\AppData\Local\Temp\arduino\sketches\50F344C94FE0893975B4D48C211CFA9C\libraries\Arduino_UnifiedStorage\Folder.cpp.o
Using previously compiled file: C:\Users\Ali Jahangiri\AppData\Local\Temp\arduino\sketches\50F344C94FE0893975B4D48C211CFA9C\libraries\Arduino_UnifiedStorage\UFile.cpp.o
Using previously compiled file: C:\Users\Ali Jahangiri\AppData\Local\Temp\arduino\sketches\50F344C94FE0893975B4D48C211CFA9C\libraries\Arduino_UnifiedStorage\InternalStorage.cpp.o
Using previously compiled file: C:\Users\Ali Jahangiri\AppData\Local\Temp\arduino\sketches\50F344C94FE0893975B4D48C211CFA9C\libraries\Arduino_UnifiedStorage\USBStorage.cpp.o
Using previously compiled file: C:\Users\Ali Jahangiri\AppData\Local\Temp\arduino\sketches\50F344C94FE0893975B4D48C211CFA9C\libraries\Arduino_UnifiedStorage\SDStorage.cpp.o
Using previously compiled file: C:\Users\Ali Jahangiri\AppData\Local\Temp\arduino\sketches\50F344C94FE0893975B4D48C211CFA9C\libraries\Arduino_UnifiedStorage\Partitioning.cpp.o
Compiling library "Arduino_POSIXStorage"
Using previously compiled file: C:\Users\Ali Jahangiri\AppData\Local\Temp\arduino\sketches\50F344C94FE0893975B4D48C211CFA9C\libraries\Arduino_POSIXStorage\Arduino_POSIXStorage.cpp.o
Compiling library "Arduino_USBHostMbed5"
Using previously compiled file: C:\Users\Ali Jahangiri\AppData\Local\Temp\arduino\sketches\50F344C94FE0893975B4D48C211CFA9C\libraries\Arduino_USBHostMbed5\USBHost\USBDeviceConnected.cpp.o
Using previously compiled file: C:\Users\Ali Jahangiri\AppData\Local\Temp\arduino\sketches\50F344C94FE0893975B4D48C211CFA9C\libraries\Arduino_USBHostMbed5\USBHost\USBEndpoint.cpp.o
Using previously compiled file: C:\Users\Ali Jahangiri\AppData\Local\Temp\arduino\sketches\50F344C94FE0893975B4D48C211CFA9C\libraries\Arduino_USBHostMbed5\USBHostHID\USBHostKeyboard.cpp.o
Using previously compiled file: C:\Users\Ali Jahangiri\AppData\Local\Temp\arduino\sketches\50F344C94FE0893975B4D48C211CFA9C\libraries\Arduino_USBHostMbed5\targets\TARGET_STM\USBEndpoint_STM.cpp.o
Using previously compiled file: C:\Users\Ali Jahangiri\AppData\Local\Temp\arduino\sketches\50F344C94FE0893975B4D48C211CFA9C\libraries\Arduino_USBHostMbed5\USBHostMIDI\USBHostMIDI.cpp.o
Using previously compiled file: C:\Users\Ali Jahangiri\AppData\Local\Temp\arduino\sketches\50F344C94FE0893975B4D48C211CFA9C\libraries\Arduino_USBHostMbed5\USBHost\USBHost.cpp.o
Using previously compiled file: C:\Users\Ali Jahangiri\AppData\Local\Temp\arduino\sketches\50F344C94FE0893975B4D48C211CFA9C\libraries\Arduino_USBHostMbed5\targets\TARGET_STM\USBHALHost_STM.cpp.o
Using previously compiled file: C:\Users\Ali Jahangiri\AppData\Local\Temp\arduino\sketches\50F344C94FE0893975B4D48C211CFA9C\libraries\Arduino_USBHostMbed5\USBHost3GModule\WANDongle.cpp.o
Using previously compiled file: C:\Users\Ali Jahangiri\AppData\Local\Temp\arduino\sketches\50F344C94FE0893975B4D48C211CFA9C\libraries\Arduino_USBHostMbed5\USBHostHub\USBHostHub.cpp.o
Using previously compiled file: C:\Users\Ali Jahangiri\AppData\Local\Temp\arduino\sketches\50F344C94FE0893975B4D48C211CFA9C\libraries\Arduino_USBHostMbed5\USBHostMSD\USBHostMSD.cpp.o
Using previously compiled file: C:\Users\Ali Jahangiri\AppData\Local\Temp\arduino\sketches\50F344C94FE0893975B4D48C211CFA9C\libraries\Arduino_USBHostMbed5\USBHostSerial\USBHostSerial.cpp.o
Using previously compiled file: C:\Users\Ali Jahangiri\AppData\Local\Temp\arduino\sketches\50F344C94FE0893975B4D48C211CFA9C\libraries\Arduino_USBHostMbed5\USBHostHID\USBHostMouse.cpp.o
Using previously compiled file: C:\Users\Ali Jahangiri\AppData\Local\Temp\arduino\sketches\50F344C94FE0893975B4D48C211CFA9C\libraries\Arduino_USBHostMbed5\USBHost3GModule\WANDongleSerialPort.cpp.o
Compiling library "Portenta_SDCARD"
Using previously compiled file: C:\Users\Ali Jahangiri\AppData\Local\Temp\arduino\sketches\50F344C94FE0893975B4D48C211CFA9C\libraries\Portenta_SDCARD\BSP.c.o
Using previously compiled file: C:\Users\Ali Jahangiri\AppData\Local\Temp\arduino\sketches\50F344C94FE0893975B4D48C211CFA9C\libraries\Portenta_SDCARD\SDMMCBlockDevice.cpp.o
Compiling core...
Using previously compiled file: C:\Users\Ali Jahangiri\AppData\Local\Temp\arduino\sketches\50F344C94FE0893975B4D48C211CFA9C\core\variant.cpp.o
Using precompiled core: C:\Users\Ali Jahangiri\AppData\Local\Temp\arduino\cores\arduino_mbed_portenta_envie_m7_82d9f75b7c30def42734a5d8276820eb\core.a
Linking everything together...
"C:\\Users\\Ali Jahangiri\\AppData\\Local\\Arduino15\\internal\\arduino_arm-none-eabi-gcc_7-2017q4_7b7be9f526b2cb64/bin/arm-none-eabi-g++" -E -P -x c -DCM4_BINARY_START=0x08100000 -DCM4_BINARY_END=0x08200000 "C:\\Users\\Ali Jahangiri\\AppData\\Local\\Arduino15\\internal\\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\\variants\\PORTENTA_H7_M7/linker_script.ld" -o "C:\\Users\\Ali Jahangiri\\AppData\\Local\\Temp\\arduino\\sketches\\50F344C94FE0893975B4D48C211CFA9C/linker_script.ld"
"C:\\Users\\Ali Jahangiri\\AppData\\Local\\Arduino15\\internal\\arduino_arm-none-eabi-gcc_7-2017q4_7b7be9f526b2cb64/bin/arm-none-eabi-g++" "-LC:\\Users\\Ali Jahangiri\\AppData\\Local\\Temp\\arduino\\sketches\\50F344C94FE0893975B4D48C211CFA9C" -Wl,--gc-sections -w -Wl,--as-needed -DCM4_BINARY_START=0x08100000 -DCM4_BINARY_END=0x08200000 "@C:\\Users\\Ali Jahangiri\\AppData\\Local\\Arduino15\\internal\\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\\variants\\PORTENTA_H7_M7/ldflags.txt" "-TC:\\Users\\Ali Jahangiri\\AppData\\Local\\Temp\\arduino\\sketches\\50F344C94FE0893975B4D48C211CFA9C/linker_script.ld" "-Wl,-Map,C:\\Users\\Ali Jahangiri\\AppData\\Local\\Temp\\arduino\\sketches\\50F344C94FE0893975B4D48C211CFA9C/AdvancedUSBInternalOperations.ino.map" --specs=nosys.specs -o "C:\\Users\\Ali Jahangiri\\AppData\\Local\\Temp\\arduino\\sketches\\50F344C94FE0893975B4D48C211CFA9C/AdvancedUSBInternalOperations.ino.elf" "C:\\Users\\Ali Jahangiri\\AppData\\Local\\Temp\\arduino\\sketches\\50F344C94FE0893975B4D48C211CFA9C\\sketch\\AdvancedUSBInternalOperations.ino.cpp.o" "C:\\Users\\Ali Jahangiri\\AppData\\Local\\Temp\\arduino\\sketches\\50F344C94FE0893975B4D48C211CFA9C\\libraries\\Arduino_UnifiedStorage\\Arduino_UnifiedStorage.cpp.o" "C:\\Users\\Ali Jahangiri\\AppData\\Local\\Temp\\arduino\\sketches\\50F344C94FE0893975B4D48C211CFA9C\\libraries\\Arduino_UnifiedStorage\\Folder.cpp.o" "C:\\Users\\Ali Jahangiri\\AppData\\Local\\Temp\\arduino\\sketches\\50F344C94FE0893975B4D48C211CFA9C\\libraries\\Arduino_UnifiedStorage\\InternalStorage.cpp.o" "C:\\Users\\Ali Jahangiri\\AppData\\Local\\Temp\\arduino\\sketches\\50F344C94FE0893975B4D48C211CFA9C\\libraries\\Arduino_UnifiedStorage\\Partitioning.cpp.o" "C:\\Users\\Ali Jahangiri\\AppData\\Local\\Temp\\arduino\\sketches\\50F344C94FE0893975B4D48C211CFA9C\\libraries\\Arduino_UnifiedStorage\\SDStorage.cpp.o" "C:\\Users\\Ali Jahangiri\\AppData\\Local\\Temp\\arduino\\sketches\\50F344C94FE0893975B4D48C211CFA9C\\libraries\\Arduino_UnifiedStorage\\UFile.cpp.o" "C:\\Users\\Ali Jahangiri\\AppData\\Local\\Temp\\arduino\\sketches\\50F344C94FE0893975B4D48C211CFA9C\\libraries\\Arduino_UnifiedStorage\\USBStorage.cpp.o" "C:\\Users\\Ali Jahangiri\\AppData\\Local\\Temp\\arduino\\sketches\\50F344C94FE0893975B4D48C211CFA9C\\libraries\\Arduino_POSIXStorage\\Arduino_POSIXStorage.cpp.o" "C:\\Users\\Ali Jahangiri\\AppData\\Local\\Temp\\arduino\\sketches\\50F344C94FE0893975B4D48C211CFA9C\\libraries\\Arduino_USBHostMbed5\\USBHost3GModule\\WANDongle.cpp.o" "C:\\Users\\Ali Jahangiri\\AppData\\Local\\Temp\\arduino\\sketches\\50F344C94FE0893975B4D48C211CFA9C\\libraries\\Arduino_USBHostMbed5\\USBHost3GModule\\WANDongleSerialPort.cpp.o" "C:\\Users\\Ali Jahangiri\\AppData\\Local\\Temp\\arduino\\sketches\\50F344C94FE0893975B4D48C211CFA9C\\libraries\\Arduino_USBHostMbed5\\USBHostHID\\USBHostKeyboard.cpp.o" "C:\\Users\\Ali Jahangiri\\AppData\\Local\\Temp\\arduino\\sketches\\50F344C94FE0893975B4D48C211CFA9C\\libraries\\Arduino_USBHostMbed5\\USBHostHID\\USBHostMouse.cpp.o" "C:\\Users\\Ali Jahangiri\\AppData\\Local\\Temp\\arduino\\sketches\\50F344C94FE0893975B4D48C211CFA9C\\libraries\\Arduino_USBHostMbed5\\USBHostHub\\USBHostHub.cpp.o" "C:\\Users\\Ali Jahangiri\\AppData\\Local\\Temp\\arduino\\sketches\\50F344C94FE0893975B4D48C211CFA9C\\libraries\\Arduino_USBHostMbed5\\USBHostMIDI\\USBHostMIDI.cpp.o" "C:\\Users\\Ali Jahangiri\\AppData\\Local\\Temp\\arduino\\sketches\\50F344C94FE0893975B4D48C211CFA9C\\libraries\\Arduino_USBHostMbed5\\USBHostMSD\\USBHostMSD.cpp.o" "C:\\Users\\Ali Jahangiri\\AppData\\Local\\Temp\\arduino\\sketches\\50F344C94FE0893975B4D48C211CFA9C\\libraries\\Arduino_USBHostMbed5\\USBHostSerial\\USBHostSerial.cpp.o" "C:\\Users\\Ali Jahangiri\\AppData\\Local\\Temp\\arduino\\sketches\\50F344C94FE0893975B4D48C211CFA9C\\libraries\\Arduino_USBHostMbed5\\USBHost\\USBDeviceConnected.cpp.o" "C:\\Users\\Ali Jahangiri\\AppData\\Local\\Temp\\arduino\\sketches\\50F344C94FE0893975B4D48C211CFA9C\\libraries\\Arduino_USBHostMbed5\\USBHost\\USBEndpoint.cpp.o" "C:\\Users\\Ali Jahangiri\\AppData\\Local\\Temp\\arduino\\sketches\\50F344C94FE0893975B4D48C211CFA9C\\libraries\\Arduino_USBHostMbed5\\USBHost\\USBHost.cpp.o" "C:\\Users\\Ali Jahangiri\\AppData\\Local\\Temp\\arduino\\sketches\\50F344C94FE0893975B4D48C211CFA9C\\libraries\\Arduino_USBHostMbed5\\targets\\TARGET_STM\\USBEndpoint_STM.cpp.o" "C:\\Users\\Ali Jahangiri\\AppData\\Local\\Temp\\arduino\\sketches\\50F344C94FE0893975B4D48C211CFA9C\\libraries\\Arduino_USBHostMbed5\\targets\\TARGET_STM\\USBHALHost_STM.cpp.o" "C:\\Users\\Ali Jahangiri\\AppData\\Local\\Temp\\arduino\\sketches\\50F344C94FE0893975B4D48C211CFA9C\\libraries\\Portenta_SDCARD\\BSP.c.o" "C:\\Users\\Ali Jahangiri\\AppData\\Local\\Temp\\arduino\\sketches\\50F344C94FE0893975B4D48C211CFA9C\\libraries\\Portenta_SDCARD\\SDMMCBlockDevice.cpp.o" "C:\\Users\\Ali Jahangiri\\AppData\\Local\\Temp\\arduino\\sketches\\50F344C94FE0893975B4D48C211CFA9C\\core\\variant.cpp.o" -Wl,--whole-archive "C:\\Users\\Ali Jahangiri\\AppData\\Local\\Temp\\arduino\\sketches\\50F344C94FE0893975B4D48C211CFA9C/..\\..\\cores\\arduino_mbed_portenta_envie_m7_82d9f75b7c30def42734a5d8276820eb\\core.a" "C:\\Users\\Ali Jahangiri\\AppData\\Local\\Arduino15\\internal\\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\\variants\\PORTENTA_H7_M7/libs/libmbed.a" -Wl,--no-whole-archive -Wl,--start-group -lstdc++ -lsupc++ -lm -lc -lgcc -lnosys -Wl,--end-group
"C:\\Users\\Ali Jahangiri\\AppData\\Local\\Arduino15\\internal\\arduino_arm-none-eabi-gcc_7-2017q4_7b7be9f526b2cb64/bin/arm-none-eabi-objcopy" -O binary "C:\\Users\\Ali Jahangiri\\AppData\\Local\\Temp\\arduino\\sketches\\50F344C94FE0893975B4D48C211CFA9C/AdvancedUSBInternalOperations.ino.elf" "C:\\Users\\Ali Jahangiri\\AppData\\Local\\Temp\\arduino\\sketches\\50F344C94FE0893975B4D48C211CFA9C/AdvancedUSBInternalOperations.ino.bin"
"C:\\Users\\Ali Jahangiri\\AppData\\Local\\Arduino15\\internal\\arduino_arm-none-eabi-gcc_7-2017q4_7b7be9f526b2cb64/bin/arm-none-eabi-objcopy" -O ihex -R .eeprom "C:\\Users\\Ali Jahangiri\\AppData\\Local\\Temp\\arduino\\sketches\\50F344C94FE0893975B4D48C211CFA9C/AdvancedUSBInternalOperations.ino.elf" "C:\\Users\\Ali Jahangiri\\AppData\\Local\\Temp\\arduino\\sketches\\50F344C94FE0893975B4D48C211CFA9C/AdvancedUSBInternalOperations.ino.hex"
C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\bootloaders\PORTENTA_H7\portentah7_bootloader_mbed_hs_v2.elf syntax error: no colon char on the first line character at line 1
Using library Arduino_UnifiedStorage at version 1.1.0 in folder: C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\Arduino_UnifiedStorage_1.1.0_cf85c666c400970f\Arduino_UnifiedStorage
Using library Arduino_POSIXStorage at version 1.2.0 in folder: C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\Arduino_POSIXStorage_1.2.0_e7053177655041b1\Arduino_POSIXStorage
Using library Arduino_USBHostMbed5 at version 0.3.1 in folder: C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\Arduino_USBHostMbed5_0.3.1_cd6938f29a024044\Arduino_USBHostMbed5
Using library Portenta_SDCARD at version 1.0 in folder: C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\libraries\Portenta_SDCARD
Used library Version Path
Arduino_UnifiedStorage 1.1.0 C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\Arduino_UnifiedStorage_1.1.0_cf85c666c400970f\Arduino_UnifiedStorage
Arduino_POSIXStorage 1.2.0 C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\Arduino_POSIXStorage_1.2.0_e7053177655041b1\Arduino_POSIXStorage
Arduino_USBHostMbed5 0.3.1 C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\Arduino_USBHostMbed5_0.3.1_cd6938f29a024044\Arduino_USBHostMbed5
Portenta_SDCARD 1.0 C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e\libraries\Portenta_SDCARD
Used platform Version Path
arduino:mbed_portenta 4.1.1 C:\Users\Ali Jahangiri\AppData\Local\Arduino15\internal\arduino_mbed_portenta_4.1.1_3aaf240e6bca340e
Please can we have problem matchers? I assume there isn't some reason you aren't using them?
Given it's a composite action, it looks like it's probably as simple as loading https://github.com/marketplace/actions/gcc-problem-matcher before compiling.
My sketches need to set gnu++17 instead of gnu++11 in the platform.txt file.
How to do the same when compiling on GitHub?
Compile some sketches with a c++17 feature, not available in c++11.
It should be possible to overwrite the c++ version used to compile.
latest
No response
Hello,
Considering that the ESP32 folks seem to have built their own here:
https://github.com/espressif/arduino-esp32/actions/workflows/push.yml
Is the official arduino compile-sketches going to support ESP32 as well? Considering there is some special compilers/tools needed.
I'm asking as I'm trying to get this going here:
https://github.com/Blueprint-Foundry/Shelly/actions/workflows/compile-test.yml
However I am fairly new to Github actions, and don't want to dig in the wrong direction if ESP32 is fundamentally not supported yet.
Cheers :)
This action is a very interesting project.
Woud like to use this and also the report size delta action, but i think there is no option to pass multiple --build-property to the compile option.
I use this, to pass defines and specify the compiler path.
May support for this options can be added, my python isn't good enough to make a pr.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.