diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml index e2e38cf..b24ad69 100644 --- a/.github/workflows/examples.yml +++ b/.github/workflows/examples.yml @@ -10,8 +10,7 @@ jobs: os: [ubuntu-latest, windows-latest, macos-latest] example: - "examples/arduino-blink" - - "examples/arduino-blink" - - "examples/arduino-blink-earlephilhower" + - "examples/arduino-external-libs" runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v3 diff --git a/examples/arduino-blink-earlephilhower/.gitignore b/examples/arduino-blink-earlephilhower/.gitignore deleted file mode 100644 index 03f4a3c..0000000 --- a/examples/arduino-blink-earlephilhower/.gitignore +++ /dev/null @@ -1 +0,0 @@ -.pio diff --git a/examples/arduino-blink-earlephilhower/README.md b/examples/arduino-blink-earlephilhower/README.md deleted file mode 100644 index 443298d..0000000 --- a/examples/arduino-blink-earlephilhower/README.md +++ /dev/null @@ -1,21 +0,0 @@ -How to build PlatformIO based project -===================================== - -1. [Install PlatformIO Core](https://docs.platformio.org/page/core.html) -2. Download [development platform with examples](https://github.com/platformio/platform-raspberrypi/archive/develop.zip) -3. Extract ZIP archive -4. Run these commands: - -```shell -# Change directory to example -$ cd platform-raspberrypi/examples/arduino-blink-earlephilhower - -# Build project -$ pio run - -# Upload firmware -$ pio run --target upload - -# Clean build files -$ pio run --target clean -``` diff --git a/examples/arduino-blink-earlephilhower/include/README b/examples/arduino-blink-earlephilhower/include/README deleted file mode 100644 index 194dcd4..0000000 --- a/examples/arduino-blink-earlephilhower/include/README +++ /dev/null @@ -1,39 +0,0 @@ - -This directory is intended for project header files. - -A header file is a file containing C declarations and macro definitions -to be shared between several project source files. You request the use of a -header file in your project source file (C, C++, etc) located in `src` folder -by including it, with the C preprocessing directive `#include'. - -```src/main.c - -#include "header.h" - -int main (void) -{ - ... -} -``` - -Including a header file produces the same results as copying the header file -into each source file that needs it. Such copying would be time-consuming -and error-prone. With a header file, the related declarations appear -in only one place. If they need to be changed, they can be changed in one -place, and programs that include the header file will automatically use the -new version when next recompiled. The header file eliminates the labor of -finding and changing all the copies as well as the risk that a failure to -find one copy will result in inconsistencies within a program. - -In C, the usual convention is to give header files names that end with `.h'. -It is most portable to use only letters, digits, dashes, and underscores in -header file names, and at most one dot. - -Read more about using header files in official GCC documentation: - -* Include Syntax -* Include Operation -* Once-Only Headers -* Computed Includes - -https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html diff --git a/examples/arduino-blink-earlephilhower/lib/README b/examples/arduino-blink-earlephilhower/lib/README deleted file mode 100644 index 6debab1..0000000 --- a/examples/arduino-blink-earlephilhower/lib/README +++ /dev/null @@ -1,46 +0,0 @@ - -This directory is intended for project specific (private) libraries. -PlatformIO will compile them to static libraries and link into executable file. - -The source code of each library should be placed in a an own separate directory -("lib/your_library_name/[here are source files]"). - -For example, see a structure of the following two libraries `Foo` and `Bar`: - -|--lib -| | -| |--Bar -| | |--docs -| | |--examples -| | |--src -| | |- Bar.c -| | |- Bar.h -| | |- library.json (optional, custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html -| | -| |--Foo -| | |- Foo.c -| | |- Foo.h -| | -| |- README --> THIS FILE -| -|- platformio.ini -|--src - |- main.c - -and a contents of `src/main.c`: -``` -#include -#include - -int main (void) -{ - ... -} - -``` - -PlatformIO Library Dependency Finder will find automatically dependent -libraries scanning project source files. - -More information about PlatformIO Library Dependency Finder -- https://docs.platformio.org/page/librarymanager/ldf.html diff --git a/examples/arduino-blink-earlephilhower/platformio.ini b/examples/arduino-blink-earlephilhower/platformio.ini deleted file mode 100644 index ae696fb..0000000 --- a/examples/arduino-blink-earlephilhower/platformio.ini +++ /dev/null @@ -1,35 +0,0 @@ -; PlatformIO Project Configuration File -; -; Build options: build flags, source filter, extra scripting -; Upload options: custom port, speed and extra flags -; Library options: dependencies, extra library storages -; -; Please visit documentation for the other options and examples -; https://docs.platformio.org/page/projectconf.html - -[env] -platform = raspberrypi -framework = arduino - -[env:pico] -board = pico -; "pico" board can use both mbed and earlephilhower core, must select here -board_build.core = earlephilhower - -[env:nanorp2040connect] -board = nanorp2040connect -; "nanorp2040connect" board can use both mbed and earlephilhower core, must select here -board_build.core = earlephilhower - -; earlephilhower-only boards -[env:rpipico] -board = rpipico - -[env:adafruit_feather] -board = adafruit_feather - -[env:seeed_xiao_rp2040] -board = seeed_xiao_rp2040 - -[env:sparkfun_thingplusrp2040] -board = sparkfun_thingplusrp2040 \ No newline at end of file diff --git a/examples/arduino-blink-earlephilhower/src/main.cpp b/examples/arduino-blink-earlephilhower/src/main.cpp deleted file mode 100644 index 8c4e60f..0000000 --- a/examples/arduino-blink-earlephilhower/src/main.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include - -// the setup routine runs once when you press reset: -void setup() { - // initialize the digital pin as an output. - pinMode(LED_BUILTIN, OUTPUT); -} - -// the loop routine runs over and over again forever: -void loop() { - digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level) - delay(1000); // wait for a second - digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW - delay(1000); // wait for a second -} diff --git a/examples/arduino-blink-earlephilhower/test/README b/examples/arduino-blink-earlephilhower/test/README deleted file mode 100644 index df5066e..0000000 --- a/examples/arduino-blink-earlephilhower/test/README +++ /dev/null @@ -1,11 +0,0 @@ - -This directory is intended for PIO Unit Testing and project tests. - -Unit Testing is a software testing method by which individual units of -source code, sets of one or more MCU program modules together with associated -control data, usage procedures, and operating procedures, are tested to -determine whether they are fit for use. Unit testing finds problems early -in the development cycle. - -More information about PIO Unit Testing: -- https://docs.platformio.org/page/plus/unit-testing.html diff --git a/examples/arduino-blink/README.md b/examples/arduino-blink/README.md index 6eb4be3..938e48b 100644 --- a/examples/arduino-blink/README.md +++ b/examples/arduino-blink/README.md @@ -19,3 +19,11 @@ $ pio run --target upload # Clean build files $ pio run --target clean ``` + +## Notes + +For Raspberry Pi Pico devices, two Arduino cores exist: +* https://github.com/arduino/ArduinoCore-mbed +* https://github.com/earlephilhower/arduino-pico + +This examples showcases how to use both of these cores in the `platformio.ini`. \ No newline at end of file diff --git a/examples/arduino-blink/platformio.ini b/examples/arduino-blink/platformio.ini index 9a51012..840a800 100644 --- a/examples/arduino-blink/platformio.ini +++ b/examples/arduino-blink/platformio.ini @@ -16,3 +16,26 @@ board = pico [env:nanorp2040connect] board = nanorp2040connect + +[env:pico_earle] +board = pico +; "pico" board can use both mbed and earlephilhower core, must select here +board_build.core = earlephilhower + +[env:nanorp2040connect_earle] +board = nanorp2040connect +; "nanorp2040connect" board can use both mbed and earlephilhower core, must select here +board_build.core = earlephilhower + +; earlephilhower-only boards +[env:rpipico] +board = rpipico + +[env:adafruit_feather] +board = adafruit_feather + +[env:seeed_xiao_rp2040] +board = seeed_xiao_rp2040 + +[env:sparkfun_thingplusrp2040] +board = sparkfun_thingplusrp2040 \ No newline at end of file