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

documentation missing: clear overview for identification of boards: supersets, subsets, and single boards #359

Open
dsyleixa opened this issue May 2, 2021 · 3 comments
Labels
community Bugs and fixes suggested by the community enhancement New feature or request

Comments

@dsyleixa
Copy link

dsyleixa commented May 2, 2021

a documentation feat. a clear hierarchical overview for identification of boards (supersets, sets, subsets, and single boards) would be appreciated, to be identified via #ifdef,
because often definitions found and discussed in several forum threads are vague or ambiguous which optional #ifdef includes which different and/or single other ones and which not.
e.g.

superset 8bit boards

  • set AVR
      • single boards: Uno, Nano, Leonardo, Mega,,...

superset 32bit boards

  • set SAMD

    • subset M0 SAMD21
      • single boards: m0, zero, nano33, RP2040 ,...
    • subset M4 SAMD51
      • single boards: Portenta H7 (?), Adafruit GrandCentral, Teensy 3.x (?)
  • set ARM Cortex (non-SAMD)

    • subset SAM3X
      • single board: M3 SAM3X8E Due
    • subset ARM Cortex M7 (?)
      • single boards: Portenta H7, Teensy 4.x (?)
  • set ESP

      • single board: ESP8266
      • single board: ESP32

(probably to be reworked and continued)

@dsyleixa dsyleixa changed the title documentation: clear overview for identification of boards:, supersets, subsets, and single boards documentation: clear overview for identification of boards: supersets, subsets, and single boards May 2, 2021
@dsyleixa dsyleixa changed the title documentation: clear overview for identification of boards: supersets, subsets, and single boards documentation missing: clear overview for identification of boards: supersets, subsets, and single boards May 9, 2021
@dsyleixa
Copy link
Author

where is the problem about a resasonable list of those preprocessor board type makros?

@per1234
Copy link
Contributor

per1234 commented Jun 14, 2021

There are two common conventions for identification macros provided by Arduino boards platforms:

The tricky thing is that these, and any other identification macros are created at the discretion of the toolchain or boards platform authors. And once you go beyond those two macros, there is no standardization or even common convention whatsoever. So it is not possible to create definitive documentation of such macros that would apply universally to all Arduino boards platforms. It would be possible to provide documentation that covers the official Arduino boards platforms, but your request goes significantly beyond that.

The current approach is generally that the conventions for which resources an Arduino boards platform is expected to provide are established implicitly by the official boards platforms and perhaps the 3rd party platforms will use them as a model and follow suit.

The correct approach in my opinion is to provide clear technical documentation of which standardized resources an Arduino boards platform is expected to provide. We currently have comprehensive technical documentation about what is required by the Arduino development software in the Arduino Platform Specification. However, with perhaps a few exceptions like the board definition macro, nothing about the additional resources which are expected, but not mandated by the software.

There is a request for technical documentation of expected standard identification macros here: arduino/arduino-cli#988 and a related one here: arduino/arduino-cli#1030. I have been treating arduino/arduino-cli#985 as somewhat of an umbrella issue for that type of request.

That is about technical documentation targeted to platform developers. My impression is that your request is for documentation targeted to sketch or library developers. But my feeling is that the creation and value of such content is benefited greatly by having a foundation of formal documentation to build on top of, rather than solely observations of conventions.

@dsyleixa
Copy link
Author

dsyleixa commented Jun 15, 2021

thanks, I know both links you mentioned at the top of your post.
Nonetheless, the "arch" architecture does not distinguish between e.g. SAMD vs. SAM3X vs. ARM Cortex M7 boards and it not even states if all these are even subsets of ARDUINO_ARCH_SAM. It also doesn't mention ESP board types either.
The 2nd link of yours doesn't provide a systematical overview list at all.
OTOH, it must be a way to distinguish between e.g. SAMD (SAMD51) vs. SAM3X or arbitrarily or optionally target all at once because many libs (e.g. for dtostrf, BUFFER_LENGTH definitions and more) run either on a AVR or a Due but don't on a SAMD51 or on a ESP32 or vice versa.
Also it's ambiguous and confusing about the sorting and clear demarcation of e.g., __AVR__, __arm__, ARDUINO_SAMD_VARIANT_COMPLIANCE, __ESP32__, __ESP8266__ (which is the makro for both ESPs in one?), __XTENSA__ ....
So a hierarchical overview would be still needed.

@per1234 per1234 transferred this issue from arduino/Arduino Jul 17, 2022
@per1234 per1234 added enhancement New feature or request community Bugs and fixes suggested by the community labels Jul 17, 2022
Serjlee pushed a commit that referenced this issue Mar 9, 2023
…X8 Redefinition (#359)

* Initial commit - Tutorial content update

* Tutorial content minor update

* Tutorial content update
jcarolinares added a commit that referenced this issue Mar 9, 2023
* Martab94/portenta-x8-user-manual (#287)

* Create content

* Rename content to content.md

* Create images

* Update content.md

* Add files via upload

* Delete images

* Update content.md

* Update content.md

* Update content.md

* Add files via upload

* Update content.md

* Update content.md

* Update content.md

* Update content.md

* Update content.md

* Update content.md

* Add files via upload

* Update content.md

* Update content.md

* Add files via upload

* Update content.md

* Update content.md

* Update content.md

* Add files via upload

* Add files via upload

* Update content.md

* Update content.md

* Update content.md

* Update content.md

* Add files via upload

* Delete linux_arduino_RPC.png

* Add files via upload

* Update content.md

* Add files via upload

* Update content.md

* Update content.md

* Add files via upload

* Update content.md

* Update content.md

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Delete OOTB_Cloud_device.png

* Add files via upload

* Update content.md

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Delete adb-connection.png

* Add files via upload

* Update content.md

* Add files via upload

* Add files via upload

* Delete OOTB_WiFi_button.png

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Delete OOTB_Cloud_button.png

* Delete OOTB_Cloud_device.png

* Delete OOTB_Python_button.png

* Delete OOTB_X8_manager_button.png

* Delete OOTB_home.png

* Add files via upload

* Add files via upload

* Update content.md

* Update content.md

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Update content.md

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Update content.md

* Add files via upload

* Add files via upload

* Update content.md

* Delete x8-terminal-ADB-push.png

* Add files via upload

* Update content.md

* Add files via upload

* Update content.md

* Add files via upload

* Add files via upload

* Add files via upload

* Update content.md

* Update content.md

* Add files via upload

* Add files via upload

* Update content.md

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Update content.md

* Update content.md

* Update content.md

* Update content.md

* Update content.md

* Update content.md

* Update content.md

* Delete OOTB_WiFi_connection_done.png

* Delete OOTB_WiFi_password.png

* Delete OOTB_WiFi_selection.png

* Delete portenta-x8-call-outs.png

* Delete python_shell_running.png

* Update content.md

* Update content.md

* Update content.md

* Update content.md

* Update content.md

* Update content.md

* Update content.md

* Update content.md

* Update content.md

* Update content.md

* Update content.md

* Update out-of-the-box update

Specify out-of-the-box update

* Andrea review

Adding Andrea's feedbacks

* Fix typo

Fix typo

* Add OS release image

* Portenta X8 update offline

Adding aktualizer lite offline documentation for X8

* Localhost command update

Update localhost command

* Delete OOTB_WiFi_first_setup.png

* Delete OOTB_homepage.png

* Add files via upload

* Add files via upload

* Delete OOTB_homepage_shell.png

* Add files via upload

* Delete OOTB_homepage_cloud.png

* New image upload

New image cloud

* Delete OOTB_cloud_device_name.png

* new cloud image

* Delete OOTB_cloud_generate_API.png

* New OOTB cloud API image

* Add files via upload

* Delete OOTB_cloud_API_copy.png

* New OOTB Cloud API copy image

* Upload organization ID image

* Update Cloud flow

* Add OOTB Cloud successful provisioning

* Adding content cloud example

* Add files via upload

* Delete OOTB_example_dashboard_launch.png

* Update example dashboard picture

* Add Portenta X8 thing created image

* Add Cloud dashboard image

* Fixing some ref links in the tutorial (internal links ref tags in the page)

* Links fixed in the tutorial

* Fixing image adress for OOTB_cloud_success.png

* Fixing some links

* Typo fixed

* Updating Cloud section

* Fixing some links on the tutorial

* Small typo fix

Fixing a word.

* Add working with Cloud section

* Continuing integrating Working with cloud chapter

* Update working with Cloud section

* Add portenta x8 use case for working with cloud

* Update Cloud container documentation

* Add update selection image

* Add update section (still to be finalized)

* Update working with cloud section to integrate Andrea's comments

* Remove NCM support

* Fix typo

* Continue on line 674. Grammar check in progress. Small typos and grammar problems fixed

* Grammar check finished

* Add successful update image

* Update OOTB update

* Architecture Overview moved at top of the section to improve readability/reading flow

* Pinout order updated

* Goals removed

* Number of hardware items

* Small fix, overview changed to introduction

* Update content/hardware/04.pro/boards/portenta-x8/tutorials/what-is-portenta-x8/content.md

* 399 update section correction

* Fix typo

* Banner added- Folder renamed to portenta-x8-user-manual

* Changed folder name to user-manual

* <snip> Error fixed

* Over-The-Air inconsistency solved

* Wi-F -> Wi-Fi®

* Julian's conflicts solution

* Ali Wifi suggestions added

---------

Co-authored-by: Jorge Trujillo <j.trujilloroman@ext.arduino.cc>
Co-authored-by: Jorge Trujillo Román <124149761+Jorgetrujilloroman@users.noreply.github.com>
Co-authored-by: jcarolinares <jcarolinares@gmail.com>
Co-authored-by: aliphys <alicompute@yahoo.com>

* [PC-1031] Portenta X8: Create and Upload a Custom Container to the Portenta X8 Redefinition (#357)

* Initial commit - Tutorial content minor update

* Tutorial content title update (Pending Suggestion)

* Tutorial content title readjustment

* Tutorial content update

* Tutorial content update

* Tutorial content update (Added Docker Hub Upload Section WIP)

* Tutorial content minor update

* [PC-1023] Getting Started Tutorial review (#365)

* [PC-1023] Grammar fixes

Some grammar fixes in the tutorial.

* [PC-1023] Documentation Fix

FIxing some URLs

* Update content/hardware/04.pro/boards/portenta-x8/tutorials/out-of-the-box/content.md

Co-authored-by: Pablo Marquínez Ferrándiz <11246294+marqdevx@users.noreply.github.com>

* Revert "Update content/hardware/04.pro/boards/portenta-x8/tutorials/out-of-the-box/content.md"

This reverts commit 74800a2c819e3b170f84166e72158f80ec8a7b5a.

* [PC-1023] Adding information about IP address

Adding images and information about how to connect to the Portenta X8 webpage when the default IP on the tutorial is not working properly.

---------

Co-authored-by: Pablo Marquínez Ferrándiz <11246294+marqdevx@users.noreply.github.com>

* [PC-1027] Portenta X8: Data Exchange Between Python on Linux and an Arduino Sketch Redefintion (#356)

* Initial commit - minor content update

* Tutorial content update

* Tutorial content minor update

* Tutorial content update

* Tutorial content update

* [PC-1026] Portenta X8: Container Management with Docker & Python on Linux Redefinition (#334)

* Initial Commit - Content clean base

* Tutorial content minor update

* Docker management tutorial major update

* Added small bootloader flash link (Portenta X8)

* tutorial content minor update

* Tutorial content update

* Tutorial content update

* Tutorial content minor update

* Update content/hardware/04.pro/boards/portenta-x8/tutorials/docker-container/content.md

Co-authored-by: Julián Caro Linares <jcarolinares@gmail.com>

* Update content/hardware/04.pro/boards/portenta-x8/tutorials/docker-container/content.md

Co-authored-by: Julián Caro Linares <jcarolinares@gmail.com>

* Tutorial content minor update

* Tutorial content minor update

---------

Co-authored-by: Julián Caro Linares <jcarolinares@gmail.com>

* [PC-1030] Portenta X8: How To Flash Your Portenta X8 Redefinition (#358)

* Initial commit - Tutorial content minor update

* Tutorial content update

* Tutorial content update

* [PC-1033] Portenta X8: How To Build a Custom Image for Your Portenta X8 Redefinition (#359)

* Initial commit - Tutorial content update

* Tutorial content minor update

* Tutorial content update

* [PC-####] Portenta X8: Using FoundriesFactory Waves Fleet Management Redefinition (#362)

* Initial commit - Tutorial content update

* Tutorial content update

* [PC-####] Portenta X8: Uploading Sketches to the M4 Core on Arduino Portenta X8 Redefinition (#361)

* Initial commit - Tutorial content update

* Tutorial content minor update

* Tutorial content update w/ graphic swap

* Tutorial content minor update

* [PC-1035] Grammar fixes (#366)

Some grammar fixes on the tutorial. Changing Wordpress to WordPress.

* [PC-1034] Portenta X8: Data Logging with MQTT, Node-RED, InfluxDB and Grafana Redefinition (#370)

* Initial commit - Tutorial content update

* Tutorial content minor update

* Tutorial content minor update

* Tutorial content update (Header consistency)

* [PC-1032] Portenta X8: Output WebGL Content on a Screen Redefinition (#363)

* Initial commit - Tutorial content update

* Tutorial content minor update

* Tutorial content update

* Tutorial content update

* Tutorial content update

* user manual-linter error fix

* user manual-linter fix

* Essentials updated

* Getting started button updated to user manual

* Suggested libraries updated

* Initial commit - Tutorial content update (Retesting) (#368)

* [PC-1036] Portenta X8: Multi-Protocol Gateway w/ Max Carrier Tutorial Redefinition  (#344)

* Initial commit - Initial adjustments

* Tutorial content major update

* Tutorial content update

* Tutorial content minor fix

* Tutorial content minor update

* Tutorial content graphics update

* Update content/hardware/04.pro/boards/portenta-x8/tutorials/multi-protocol-gateway/content.md

Co-authored-by: Julián Caro Linares <jcarolinares@gmail.com>

* Update content/hardware/04.pro/boards/portenta-x8/tutorials/multi-protocol-gateway/content.md

Co-authored-by: Julián Caro Linares <jcarolinares@gmail.com>

* Update content/hardware/04.pro/boards/portenta-x8/tutorials/multi-protocol-gateway/content.md

Co-authored-by: Julián Caro Linares <jcarolinares@gmail.com>

* Update content/hardware/04.pro/boards/portenta-x8/tutorials/multi-protocol-gateway/content.md

Co-authored-by: Julián Caro Linares <jcarolinares@gmail.com>

* Update content/hardware/04.pro/boards/portenta-x8/tutorials/multi-protocol-gateway/content.md

Co-authored-by: Julián Caro Linares <jcarolinares@gmail.com>

* Update content/hardware/04.pro/boards/portenta-x8/tutorials/multi-protocol-gateway/content.md

Co-authored-by: Julián Caro Linares <jcarolinares@gmail.com>

* Update content/hardware/04.pro/boards/portenta-x8/tutorials/multi-protocol-gateway/content.md

Co-authored-by: Julián Caro Linares <jcarolinares@gmail.com>

* Update content/hardware/04.pro/boards/portenta-x8/tutorials/multi-protocol-gateway/content.md

Co-authored-by: Julián Caro Linares <jcarolinares@gmail.com>

* Update content/hardware/04.pro/boards/portenta-x8/tutorials/multi-protocol-gateway/content.md

Co-authored-by: Julián Caro Linares <jcarolinares@gmail.com>

* Update content/hardware/04.pro/boards/portenta-x8/tutorials/multi-protocol-gateway/content.md

Co-authored-by: Julián Caro Linares <jcarolinares@gmail.com>

* Update content/hardware/04.pro/boards/portenta-x8/tutorials/multi-protocol-gateway/content.md

Co-authored-by: Julián Caro Linares <jcarolinares@gmail.com>

* Update content/hardware/04.pro/boards/portenta-x8/tutorials/multi-protocol-gateway/content.md

Co-authored-by: Julián Caro Linares <jcarolinares@gmail.com>

* Update content/hardware/04.pro/boards/portenta-x8/tutorials/multi-protocol-gateway/content.md

Co-authored-by: Julián Caro Linares <jcarolinares@gmail.com>

* Update content/hardware/04.pro/boards/portenta-x8/tutorials/multi-protocol-gateway/content.md

Co-authored-by: Julián Caro Linares <jcarolinares@gmail.com>

* Tutorial content update w/ Review feedback

---------

Co-authored-by: Julián Caro Linares <jcarolinares@gmail.com>

* Tutorials in order. Essentials fix

* Flashing tutorial PO feedback updated

* Linter general fix for Portenta X8

* Small number fix

---------

Co-authored-by: martab1994 <93210545+martab1994@users.noreply.github.com>
Co-authored-by: Jorge Trujillo <j.trujilloroman@ext.arduino.cc>
Co-authored-by: Jorge Trujillo Román <124149761+Jorgetrujilloroman@users.noreply.github.com>
Co-authored-by: jcarolinares <jcarolinares@gmail.com>
Co-authored-by: aliphys <alicompute@yahoo.com>
Co-authored-by: TaddyHC <94547080+TaddyHC@users.noreply.github.com>
Co-authored-by: Pablo Marquínez Ferrándiz <11246294+marqdevx@users.noreply.github.com>
Co-authored-by: TaddyHC <k.hochung@arduino.cc>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
community Bugs and fixes suggested by the community enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants