Skip to content

[skip changelog] Use relative links for documentation pages #799

New issue

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

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

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 8, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs/library-specification.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ This is the specification for the 3rd party library format to be used with Ardui
* rev.2.1 will be implemented starting from version Arduino IDE 1.6.10
* rev.2.2 will be implemented starting from version Arduino IDE 1.8.10

This new library format is intended to be used in tandem with **Library Manager**, available since Arduino IDE 1.6.2. The Library Manager allows users to automatically download and install libraries needed in their projects, with an easy to use graphic interface in the [Arduino IDE](https://www.arduino.cc/en/guide/libraries#toc3)/Pro IDE and [Arduino Web Editor](https://create.arduino.cc/projecthub/Arduino_Genuino/getting-started-with-arduino-web-editor-on-various-platforms-4b3e4a#toc-libraries-and-the-arduino-web-editor-11) as well as [`arduino-cli lib`](https://arduino.github.io/arduino-cli/commands/arduino-cli_lib/).
This new library format is intended to be used in tandem with **Library Manager**, available since Arduino IDE 1.6.2. The Library Manager allows users to automatically download and install libraries needed in their projects, with an easy to use graphic interface in the [Arduino IDE](https://www.arduino.cc/en/guide/libraries#toc3)/Pro IDE and [Arduino Web Editor](https://create.arduino.cc/projecthub/Arduino_Genuino/getting-started-with-arduino-web-editor-on-various-platforms-4b3e4a#toc-libraries-and-the-arduino-web-editor-11) as well as [`arduino-cli lib`](../commands/arduino-cli_lib).
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

“graphic user interface”


More information about how Library Manager works is available [here](https://github.com/arduino/Arduino/wiki/Library-Manager-FAQ).

Expand Down Expand Up @@ -47,7 +47,7 @@ The library.properties file is a key=value properties list. Every field in this
* Other
* **url** - the URL of the library project, for a person to visit. For example, the library's GitHub page. This is used for the "More info" links in Library Manager
* **architectures** - (defaults to `*`) a comma separated list of architectures supported by the library. If the library doesn’t contain architecture specific code use `*` to match all architectures. This field is used as one factor in determining priority when multiple libraries match an `#include` directive and to provide a warning message when the library is compiled for a board of an architecture that doesn't match any on the list.
* **depends** - **(available from Arduino IDE 1.8.10/Arduino CLI 0.7.0)** (optional) a comma-separated list of dependencies (libraries that are needed to build the current library). The Arduino IDE's Library Manager will offer to install the dependencies during installation of the library. [`arduino-cli lib install`](https://arduino.github.io/arduino-cli/commands/arduino-cli_lib_install/) will automatically install the dependencies. Since spaces are allowed in the `name` of a library, but not commas, you can refer to libraries containing spaces in the name without ambiguity for example:<br>
* **depends** - **(available from Arduino IDE 1.8.10/Arduino CLI 0.7.0)** (optional) a comma-separated list of dependencies (libraries that are needed to build the current library). The Arduino IDE's Library Manager will offer to install the dependencies during installation of the library. [`arduino-cli lib install`](../commands/arduino-cli_lib_install) will automatically install the dependencies. Since spaces are allowed in the `name` of a library, but not commas, you can refer to libraries containing spaces in the name without ambiguity for example:<br>
`depends=Very long library name, Another library with long-name`
* **dot_a_linkage** - **(available from Arduino IDE 1.6.0 / arduino-builder 1.0.0-beta13)** (optional) when set to `true`, the library will be compiled using a .a (archive) file. First, all source files are compiled into .o files as normal. Then instead of including all .o files in the linker command directly, all .o files are saved into a .a file, which is then included in the linker command. [1.5 format library folder structure](#layout-of-folders-and-files) is required.
* **includes** - **(available from Arduino IDE 1.6.10)** (optional) a comma separated list of files to be added to the sketch as `#include <...>` lines. This property is used with the "Include library" command in the Arduino IDE. If the `includes` property is missing, all the header files (.h) on the root source folder are included.
Expand Down
4 changes: 2 additions & 2 deletions docs/platform-specification.md
Original file line number Diff line number Diff line change
Expand Up @@ -425,7 +425,7 @@ If the user didn't enable verbose mode, then **{upload.params.quiet}** is used i

### Sketch upload configuration

The Upload action is triggered when the user clicks on the "Upload" button on the IDE toolbar or uses [`arduino-cli upload`](https://arduino.github.io/arduino-cli/commands/arduino-cli_upload/).
The Upload action is triggered when the user clicks on the "Upload" button on the IDE toolbar or uses [`arduino-cli upload`](../commands/arduino-cli_upload).
The **upload.tool** property determines the tool to be used for upload.
A specific **upload.tool** property should be defined for every board in boards.txt:

Expand Down Expand Up @@ -471,7 +471,7 @@ Note that the IDE implementation of this 1200 bps touch has some peculiarities,

### Serial port

The port selected via the IDE or [`arduino-cli upload`](https://arduino.github.io/arduino-cli/commands/arduino-cli_upload/)'s `--port` option is available as a configuration property **{serial.port}**.
The port selected via the IDE or [`arduino-cli upload`](../commands/arduino-cli_upload)'s `--port` option is available as a configuration property **{serial.port}**.

### Upload using an external programmer

Expand Down
2 changes: 1 addition & 1 deletion docs/sketch-specification.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ The Arduino IDE's **File > Save As...** only copies the code files in the sketch

Arduino CLI and Arduino Web Editor use a file named sketch.json, located in the sketch root folder, to store sketch metadata.

The `cpu` key contains the board configuration information. This can be set via [`arduino-cli board attach`](https://arduino.github.io/arduino-cli/commands/arduino-cli_board_attach/) or by selecting a board in the Arduino Web Editor while the sketch is open. With this configuration set, it is not necessary to specify the `--fqbn` or `--port` flags to the [`arduino-cli compile`](https://arduino.github.io/arduino-cli/commands/arduino-cli_compile/) or [`arduino-cli upload`](https://arduino.github.io/arduino-cli/commands/arduino-cli_upload/) commands when compiling or uploading the sketch.
The `cpu` key contains the board configuration information. This can be set via [`arduino-cli board attach`](../commands/arduino-cli_board_attach/) or by selecting a board in the Arduino Web Editor while the sketch is open. With this configuration set, it is not necessary to specify the `--fqbn` or `--port` flags to the [`arduino-cli compile`](../commands/arduino-cli_compile/) or [`arduino-cli upload`](../commands/arduino-cli_upload/) commands when compiling or uploading the sketch.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this generates confusion.
why would selecting the cpu option remove requirement for the port option?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cpu is not really an great name for the key. Something like "board" would have been better.

If I run this command:

arduino-cli board attach serial:///dev/ttyACM0 HelloWorld

It writes a sketch.json sketch metadata file to the HelloWorld sketch that looks something like:

{
  "cpu": {
    "fqbn": "arduino:avr:mega",
    "name": "Arduino Mega or Mega 2560",
    "port": "serial:///dev/ttyACM0"
  }
}

So now if I don't specify a --port option when running an arduino-cli command with the HelloWorld sketch, the cpu.port value from sketch.json is automatically used.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this should be board or target rather than cpu
@rsora @cmaglie , care to chime in on this small debate?


The `included_libs` key defines the library versions the Arduino Web Editor uses when the sketch is compiled. This is Arduino Web Editor specific because all versions of all the Library Manager libraries are pre-installed in Arduino Web Editor, while only one version of each library may be installed when using the other Arduino development software.

Expand Down