From 0dd760a9084ea6c6c68d9b88a1f1b3a22bd0824d Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Wed, 10 Jan 2018 14:13:54 +0200 Subject: [PATCH 01/13] Update usage section in README --- README.md | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 5d53ae6..6140497 100644 --- a/README.md +++ b/README.md @@ -7,12 +7,27 @@ Linux x86_64 (64-bit) is a Unix-like and mostly POSIX-compliant computer operati # Usage -1. [Install PlatformIO Core](http://docs.platformio.org/page/core.html) -2. Install Linux x86_64 development platform: -```bash -# install the latest stable version -> platformio platform install linux_x86_64 - -# install development version -> platformio platform install https://github.com/platformio/platform-linux_x86_64.git +1. [Install PlatformIO](http://platformio.org) +2. Create PlatformIO project and configure a platform option in [platformio.ini](http://docs.platformio.org/page/projectconf.html) file: + +## Stable version + +```ini +[env:stable] +platform = linux_x86_64 +board = ... +... ``` + +## Development version + +```ini +[env:development] +platform = https://github.com/platformio/platform-linux_x86_64.git +board = ... +... +``` + +# Configuration + +Please navigate to [documentation](http://docs.platformio.org/page/platforms/linux_x86_64.html). From 7bbd7b3c6f0f08b30303013a9097b35c1f138620 Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Wed, 17 Oct 2018 21:29:03 +0300 Subject: [PATCH 02/13] Update README for "include", "lib", and "test" directories --- examples/hello-world/.gitignore | 3 +- examples/hello-world/.travis.yml | 10 ++++--- examples/hello-world/include/README | 39 ++++++++++++++++++++++++ examples/hello-world/lib/README | 46 +++++++++++++++++++++++++++++ examples/hello-world/test/README | 11 +++++++ 5 files changed, 103 insertions(+), 6 deletions(-) create mode 100644 examples/hello-world/include/README create mode 100644 examples/hello-world/lib/README create mode 100644 examples/hello-world/test/README diff --git a/examples/hello-world/.gitignore b/examples/hello-world/.gitignore index 5402c18..6c69f4c 100644 --- a/examples/hello-world/.gitignore +++ b/examples/hello-world/.gitignore @@ -1,3 +1,2 @@ .pioenvs -.clang_complete -.gcc-flags.json +.piolibdeps diff --git a/examples/hello-world/.travis.yml b/examples/hello-world/.travis.yml index 593d7ef..7c486f1 100644 --- a/examples/hello-world/.travis.yml +++ b/examples/hello-world/.travis.yml @@ -1,6 +1,6 @@ # Continuous Integration (CI) is the practice, in software # engineering, of merging all developer working copies with a shared mainline -# several times a day < http://docs.platformio.org/page/ci/index.html > +# several times a day < https://docs.platformio.org/page/ci/index.html > # # Documentation: # @@ -8,10 +8,10 @@ # < https://docs.travis-ci.com/user/integration/platformio/ > # # * PlatformIO integration with Travis CI -# < http://docs.platformio.org/page/ci/travis.html > +# < https://docs.platformio.org/page/ci/travis.html > # # * User Guide for `platformio ci` command -# < http://docs.platformio.org/page/userguide/cmd_ci.html > +# < https://docs.platformio.org/page/userguide/cmd_ci.html > # # # Please choose one of the following templates (proposed below) and uncomment @@ -35,13 +35,14 @@ # # install: # - pip install -U platformio +# - platformio update # # script: # - platformio run # -# Template #2: The project is intended to by used as a library with examples +# Template #2: The project is intended to be used as a library with examples. # # language: python @@ -60,6 +61,7 @@ # # install: # - pip install -U platformio +# - platformio update # # script: # - platformio ci --lib="." --board=ID_1 --board=ID_2 --board=ID_N diff --git a/examples/hello-world/include/README b/examples/hello-world/include/README new file mode 100644 index 0000000..194dcd4 --- /dev/null +++ b/examples/hello-world/include/README @@ -0,0 +1,39 @@ + +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/hello-world/lib/README b/examples/hello-world/lib/README new file mode 100644 index 0000000..6debab1 --- /dev/null +++ b/examples/hello-world/lib/README @@ -0,0 +1,46 @@ + +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/hello-world/test/README b/examples/hello-world/test/README new file mode 100644 index 0000000..df5066e --- /dev/null +++ b/examples/hello-world/test/README @@ -0,0 +1,11 @@ + +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 From 22398c6278b67e7be45bc7725972988a9f16425f Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Wed, 17 Oct 2018 21:53:55 +0300 Subject: [PATCH 03/13] Remove unused "readme.txt" --- examples/hello-world/lib/readme.txt | 38 ----------------------------- 1 file changed, 38 deletions(-) delete mode 100644 examples/hello-world/lib/readme.txt diff --git a/examples/hello-world/lib/readme.txt b/examples/hello-world/lib/readme.txt deleted file mode 100644 index 4b6209e..0000000 --- a/examples/hello-world/lib/readme.txt +++ /dev/null @@ -1,38 +0,0 @@ - -This directory is intended for the project specific (private) libraries. -PlatformIO will compile them to static libraries and link to executable file. - -The source code of each library should be placed in separate directory, like -"lib/private_lib/[here are source files]". - -For example, see how can be organized `Foo` and `Bar` libraries: - -|--lib -| |--Bar -| | |--docs -| | |--examples -| | |--src -| | |- Bar.c -| | |- Bar.h -| |--Foo -| | |- Foo.c -| | |- Foo.h -| |- readme.txt --> THIS FILE -|- platformio.ini -|--src - |- main.c - -Then in `src/main.c` you should use: - -#include -#include - -// rest H/C/CPP code - -PlatformIO will find your libraries automatically, configure preprocessor's -include paths and build them. - -See additional options for PlatformIO Library Dependency Finder `lib_*`: - -http://docs.platformio.org/page/projectconf.html#lib-install - From ebf1db9138d2200a1078ac22461e82e0b49590b1 Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Fri, 11 Jan 2019 14:01:30 +0200 Subject: [PATCH 04/13] Update compatible PlatformIO Core engine to <5 --- platform.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform.json b/platform.json index b06fae3..3372bf4 100644 --- a/platform.json +++ b/platform.json @@ -6,7 +6,7 @@ "homepage": "http://platformio.org/platforms/linux_x86_64", "license": "Apache-2.0", "engines": { - "platformio": "^3.0.0" + "platformio": "<5" }, "repository": { "type": "git", From 614bf8bdeeec5c7e39eb77506f3cd1fe09e42c33 Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Mon, 22 Jun 2020 14:14:21 +0300 Subject: [PATCH 05/13] Move vendor URL to "homepage" field --- platform.json | 1 - 1 file changed, 1 deletion(-) diff --git a/platform.json b/platform.json index 3372bf4..9d9df07 100644 --- a/platform.json +++ b/platform.json @@ -2,7 +2,6 @@ "name": "linux_x86_64", "title": "Linux x86_64", "description": "Linux x86_64 (64-bit) is a Unix-like and mostly POSIX-compliant computer operating system (OS) assembled under the model of free and open-source software development and distribution. Using host OS (Mac OS X or Linux 64-bit) you can build native application for Linux x86_64 platform.", - "url": "http://platformio.org/platforms/linux_x86_64", "homepage": "http://platformio.org/platforms/linux_x86_64", "license": "Apache-2.0", "engines": { From 0a9811a7b0ddb1011b3a50a7d95c0dd8608fcec4 Mon Sep 17 00:00:00 2001 From: Valerii Koval Date: Tue, 4 Aug 2020 14:07:08 +0300 Subject: [PATCH 06/13] Add keywords field to platform manifest --- platform.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/platform.json b/platform.json index 9d9df07..aedd4e7 100644 --- a/platform.json +++ b/platform.json @@ -4,6 +4,11 @@ "description": "Linux x86_64 (64-bit) is a Unix-like and mostly POSIX-compliant computer operating system (OS) assembled under the model of free and open-source software development and distribution. Using host OS (Mac OS X or Linux 64-bit) you can build native application for Linux x86_64 platform.", "homepage": "http://platformio.org/platforms/linux_x86_64", "license": "Apache-2.0", + "keywords": [ + "dev-platform", + "Linux", + "x86_64" + ], "engines": { "platformio": "<5" }, From 1c2d99f751b856da64807d9f89648253ef28b364 Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Tue, 25 Aug 2020 17:17:21 +0300 Subject: [PATCH 07/13] Use "platformio" owner for package dependencies --- platform.json | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/platform.json b/platform.json index aedd4e7..60eb8b8 100644 --- a/platform.json +++ b/platform.json @@ -5,9 +5,9 @@ "homepage": "http://platformio.org/platforms/linux_x86_64", "license": "Apache-2.0", "keywords": [ - "dev-platform", - "Linux", - "x86_64" + "dev-platform", + "Linux", + "x86_64" ], "engines": { "platformio": "<5" @@ -24,6 +24,7 @@ "packages": { "toolchain-gcclinux64": { "type": "toolchain", + "owner": "platformio", "version": "~1.40801.0" } } From f64d98cb850f2bbb78f0a6714a10124e21001bd4 Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Thu, 3 Sep 2020 15:18:09 +0300 Subject: [PATCH 08/13] Minimal compatible PlatformIO Core is 5.0 --- platform.json | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/platform.json b/platform.json index 60eb8b8..042ff68 100644 --- a/platform.json +++ b/platform.json @@ -10,17 +10,13 @@ "x86_64" ], "engines": { - "platformio": "<5" + "platformio": "^5" }, "repository": { "type": "git", "url": "https://github.com/platformio/platform-linux_x86_64.git" }, "version": "1.1.2", - "packageRepositories": [ - "https://dl.bintray.com/platformio/dl-packages/manifest.json", - "http://dl.platformio.org/packages/manifest.json" - ], "packages": { "toolchain-gcclinux64": { "type": "toolchain", From fe918f7b7bc12b2c1c45f49a3ea9b5c892362008 Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Mon, 22 Nov 2021 18:32:44 +0200 Subject: [PATCH 09/13] Convert README to markdown --- examples/hello-world/README.md | 21 +++++++++++++++++++++ examples/hello-world/README.rst | 32 -------------------------------- 2 files changed, 21 insertions(+), 32 deletions(-) create mode 100644 examples/hello-world/README.md delete mode 100644 examples/hello-world/README.rst diff --git a/examples/hello-world/README.md b/examples/hello-world/README.md new file mode 100644 index 0000000..8cbecaa --- /dev/null +++ b/examples/hello-world/README.md @@ -0,0 +1,21 @@ +How to build PlatformIO based project +===================================== + +1. [Install PlatformIO Core](http://docs.platformio.org/page/core.html) +2. Download [development platform with examples](https://github.com/platformio/platform-linux_x86_64/archive/develop.zip) +3. Extract ZIP archive +4. Run these commands: + +```shell +# Change directory to example +$ cd platform-linux_x86_64/examples/hello-world + +# Build project +$ pio run + +# Run program +> .pioenvs/native/program + +# Clean build files +$ pio run --target clean +``` diff --git a/examples/hello-world/README.rst b/examples/hello-world/README.rst deleted file mode 100644 index 9feb21d..0000000 --- a/examples/hello-world/README.rst +++ /dev/null @@ -1,32 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -How to build PlatformIO based project -===================================== - -1. `Install PlatformIO Core `_ -2. Download `development platform with examples `_ -3. Extract ZIP archive -4. Run these commands: - -.. code-block:: bash - - # Change directory to example - > cd platform-linux_x86_64/examples/hello-world - - # Build project - > platformio run - - # Run program - > .pioenvs/native/program - - # Clean build files - > platformio run --target clean From b9315f8fb615af00f4dc85c8c51c49346b456bb1 Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Thu, 31 Mar 2022 14:22:55 +0300 Subject: [PATCH 10/13] Switch docs to HTTP --- README.md | 8 ++++---- examples/hello-world/README.md | 2 +- examples/hello-world/platformio.ini | 2 +- platform.json | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 6140497..6635c48 100644 --- a/README.md +++ b/README.md @@ -2,13 +2,13 @@ Linux x86_64 (64-bit) is a Unix-like and mostly POSIX-compliant computer operating system (OS) assembled under the model of free and open-source software development and distribution. Using host OS (Mac OS X or Linux 64-bit) you can build native application for Linux x86_64 platform. -* [Home](http://platformio.org/platforms/linux_x86_64) (home page in PlatformIO Platform Registry) -* [Documentation](http://docs.platformio.org/page/platforms/linux_x86_64.html) (advanced usage, packages, boards, frameworks, etc.) +* [Home](https://registry.platformio.org/platforms/platformio/linux_x86_64) (home page in the PlatformIO Registry) +* [Documentation](https://docs.platformio.org/page/platforms/linux_x86_64.html) (advanced usage, packages, boards, frameworks, etc.) # Usage 1. [Install PlatformIO](http://platformio.org) -2. Create PlatformIO project and configure a platform option in [platformio.ini](http://docs.platformio.org/page/projectconf.html) file: +2. Create PlatformIO project and configure a platform option in [platformio.ini](https://docs.platformio.org/page/projectconf.html) file: ## Stable version @@ -30,4 +30,4 @@ board = ... # Configuration -Please navigate to [documentation](http://docs.platformio.org/page/platforms/linux_x86_64.html). +Please navigate to [documentation](https://docs.platformio.org/page/platforms/linux_x86_64.html). diff --git a/examples/hello-world/README.md b/examples/hello-world/README.md index 8cbecaa..b36bff5 100644 --- a/examples/hello-world/README.md +++ b/examples/hello-world/README.md @@ -1,7 +1,7 @@ How to build PlatformIO based project ===================================== -1. [Install PlatformIO Core](http://docs.platformio.org/page/core.html) +1. [Install PlatformIO Core](https://docs.platformio.org/page/core.html) 2. Download [development platform with examples](https://github.com/platformio/platform-linux_x86_64/archive/develop.zip) 3. Extract ZIP archive 4. Run these commands: diff --git a/examples/hello-world/platformio.ini b/examples/hello-world/platformio.ini index 9edef7e..edc3195 100644 --- a/examples/hello-world/platformio.ini +++ b/examples/hello-world/platformio.ini @@ -5,7 +5,7 @@ ; Library options: dependencies, extra library storages ; ; Please visit documentation for the other options and examples -; http://docs.platformio.org/page/projectconf.html +; https://docs.platformio.org/page/projectconf.html [env:linux_x86_64] platform = linux_x86_64 diff --git a/platform.json b/platform.json index 042ff68..bf30013 100644 --- a/platform.json +++ b/platform.json @@ -2,7 +2,7 @@ "name": "linux_x86_64", "title": "Linux x86_64", "description": "Linux x86_64 (64-bit) is a Unix-like and mostly POSIX-compliant computer operating system (OS) assembled under the model of free and open-source software development and distribution. Using host OS (Mac OS X or Linux 64-bit) you can build native application for Linux x86_64 platform.", - "homepage": "http://platformio.org/platforms/linux_x86_64", + "homepage": "https://registry.platformio.org/platforms/platformio/linux_x86_64", "license": "Apache-2.0", "keywords": [ "dev-platform", From ae4e846c463c5cb21f12d347b7ddc9633890f60a Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Fri, 27 May 2022 21:20:46 +0300 Subject: [PATCH 11/13] Remove unnecessary files --- examples/hello-world/.travis.yml | 67 -------------------------------- 1 file changed, 67 deletions(-) delete mode 100644 examples/hello-world/.travis.yml diff --git a/examples/hello-world/.travis.yml b/examples/hello-world/.travis.yml deleted file mode 100644 index 7c486f1..0000000 --- a/examples/hello-world/.travis.yml +++ /dev/null @@ -1,67 +0,0 @@ -# Continuous Integration (CI) is the practice, in software -# engineering, of merging all developer working copies with a shared mainline -# several times a day < https://docs.platformio.org/page/ci/index.html > -# -# Documentation: -# -# * Travis CI Embedded Builds with PlatformIO -# < https://docs.travis-ci.com/user/integration/platformio/ > -# -# * PlatformIO integration with Travis CI -# < https://docs.platformio.org/page/ci/travis.html > -# -# * User Guide for `platformio ci` command -# < https://docs.platformio.org/page/userguide/cmd_ci.html > -# -# -# Please choose one of the following templates (proposed below) and uncomment -# it (remove "# " before each line) or use own configuration according to the -# Travis CI documentation (see above). -# - - -# -# Template #1: General project. Test it using existing `platformio.ini`. -# - -# language: python -# python: -# - "2.7" -# -# sudo: false -# cache: -# directories: -# - "~/.platformio" -# -# install: -# - pip install -U platformio -# - platformio update -# -# script: -# - platformio run - - -# -# Template #2: The project is intended to be used as a library with examples. -# - -# language: python -# python: -# - "2.7" -# -# sudo: false -# cache: -# directories: -# - "~/.platformio" -# -# env: -# - PLATFORMIO_CI_SRC=path/to/test/file.c -# - PLATFORMIO_CI_SRC=examples/file.ino -# - PLATFORMIO_CI_SRC=path/to/test/directory -# -# install: -# - pip install -U platformio -# - platformio update -# -# script: -# - platformio ci --lib="." --board=ID_1 --board=ID_2 --board=ID_N From 32ed8218177eb5b9f5200573c4267d94024345f4 Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Fri, 27 May 2022 21:23:08 +0300 Subject: [PATCH 12/13] Add compatibility with PIO Core 6.0 --- README.md | 4 ++-- platform.json | 2 +- platform.py | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 6635c48..a53b6c9 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Linux x86_64: development platform for [PlatformIO](http://platformio.org) +# Linux x86_64: development platform for [PlatformIO](https://platformio.org) Linux x86_64 (64-bit) is a Unix-like and mostly POSIX-compliant computer operating system (OS) assembled under the model of free and open-source software development and distribution. Using host OS (Mac OS X or Linux 64-bit) you can build native application for Linux x86_64 platform. @@ -7,7 +7,7 @@ Linux x86_64 (64-bit) is a Unix-like and mostly POSIX-compliant computer operati # Usage -1. [Install PlatformIO](http://platformio.org) +1. [Install PlatformIO](https://platformio.org) 2. Create PlatformIO project and configure a platform option in [platformio.ini](https://docs.platformio.org/page/projectconf.html) file: ## Stable version diff --git a/platform.json b/platform.json index bf30013..f80095a 100644 --- a/platform.json +++ b/platform.json @@ -10,7 +10,7 @@ "x86_64" ], "engines": { - "platformio": "^5" + "platformio": "^6" }, "repository": { "type": "git", diff --git a/platform.py b/platform.py index 3f077ca..74dcf45 100644 --- a/platform.py +++ b/platform.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -from platformio.managers.platform import PlatformBase +from platformio.public import PlatformBase from platformio.util import get_systype From a4d468be29d70f832308bed71879b79d5e577274 Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Sat, 28 May 2022 19:54:34 +0300 Subject: [PATCH 13/13] Bump version to 1.2.0 --- platform.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform.json b/platform.json index f80095a..104449b 100644 --- a/platform.json +++ b/platform.json @@ -16,7 +16,7 @@ "type": "git", "url": "https://github.com/platformio/platform-linux_x86_64.git" }, - "version": "1.1.2", + "version": "1.2.0", "packages": { "toolchain-gcclinux64": { "type": "toolchain",