Skip to content
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

Updated and refined documentation #2760

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

cmaglie
Copy link
Member

@cmaglie cmaglie commented Nov 21, 2024

Please check if the PR fulfills these requirements

See how to contribute

  • The PR has no duplicates (please search among the Pull Requests
    before creating one)
  • The PR follows
    our contributing guidelines
  • Tests for the changes have been added (for bug fixes / features)
  • Docs have been added / updated (for bug fixes / features)
  • UPGRADING.md has been updated with a migration guide (for breaking changes)
  • configuration.schema.json updated if new parameters are added.

What kind of change does this PR introduce?

  • Refined platform specification on installation folder for platforms
  • Expanded docs on default directories configuration
  • Cleared usage of identification properties

What is the current behavior?

What is the new behavior?

Does this PR introduce a breaking change, and is titled accordingly?

Other information

Fix #2753

docs/configuration.md Outdated Show resolved Hide resolved
docs/platform-specification.md Outdated Show resolved Hide resolved
Co-authored-by: Alessio Perugini <[email protected]>
```
{directories.data}/packages/arduino/hardware/avr/1.2.3/...
{directories.data}/packages/arduino/hardware/sam/1.4.5/...
{directories.data}/packages/foo/hardware/avr/1.0.2/...

Choose a reason for hiding this comment

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

Would it make more sense to use something else than "avr" here (and below)? It looks strange when you have three hardware vendors, but all three manufacture the same "architecture" avr, as avr is specific only to a specific vendor.

Use some other vendor/architecture combination instead for the foo and bar examples.

Copy link
Member Author

Choose a reason for hiding this comment

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

I've updated the PR with a real example (with more architecture/vendors combination)

@thernstig
Copy link

I also noticed that if I install a platform manually in {directories.user}/hardware/STMicroelectronics/stm32/..., while already having a installation via the Board Manager in {directories.data}/packages/STMicroelectronics/hardware/stm32/2.8.1/..., the one in the user directory takes precedence for what is seen in the Arduino IDE.

Example:

image

The problem is however, that I had a new version in {directories.user}/hardware/STMicroelectronics/stm32/... with new board variants, but I could not see those in the Board part number: ... menu as expected.

Is this a separate bug? In that it is possible to install a platform manually, and it is seen in the menu, but the actual new additions to the manual installation are not shown?

Also it might be good to mention in these docs what happens if you have the same VENDOR_NAME and ARCHITECTURE in these data and user directory?

@cmaglie
Copy link
Member Author

cmaglie commented Nov 25, 2024

Is this a separate bug? In that it is possible to install a platform manually, and it is seen in the menu, but the actual new additions to the manual installation are not shown?

Currently, if there are two matching platforms the one installed in the sketchbook should take precedence... but since you're not able to see the new board definitions there could be a regression, I'll check this out.
To avoid confusion, during the development of a platform, we use the "trick" to slightly rename the vendor installed in the sketchbook so instead of:

{directories.user}/hardware/STMicroelectronics/stm32/...

we use for example:

{directories.user}/hardware/STMicroelectronics-dev/stm32/...

This way there is no confusion and both platforms (the original and the "dev") are visible in the IDE.

Also it might be good to mention in these docs what happens if you have the same VENDOR_NAME and ARCHITECTURE in these data and user directory?

Yes good point.

@thernstig
Copy link

This way there is no confusion and both platforms (the original and the "dev") are visible in the IDE.

This was not the case for me. I only saw the one as you see in the picture above.

Copy link

@thernstig thernstig left a comment

Choose a reason for hiding this comment

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

LGTM (except I saw no mention of what happens there are matching VENDOR+ARCHITECTURE namings in the data and user directory.

```

If the same platform were manually installed by the user, he should have unpacked them inside the following directories:
In this example three architectures have been installed from the vendor `arduino` (`avr`, `esp32` and `nrf52`), and one
from `adafruit` and `esp32` (`nrf52` and `esp32` respectively). Note that the vendor `esp32` has the same name of the

Choose a reason for hiding this comment

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

nit: has the same name of the -> has the same name as the

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic: documentation Related to documentation for the project type: enhancement Proposed improvement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Docs: Update the Platform specification's "Hardware Folders structure"
3 participants