Closed
Description
I am currently using the IDE version 2.0.0 RC3 and this is a feature request.
Proposal
It would be really useful introducing a separate manifest file that defines the context needed from .ino
code to properly run.
- A list of boards that are compatible with the project
- For each defined board:
- the board parameters for a specific variant, if any (voltages, bootloaders, programmer settings, etc.)
- One or more compile time constants (to be used in preprocessor
#ifdef
macros) to map specific pins, include libraries, etc. - the last known good serial port used to connect to the board
- All the metadata needed to properly define the
.zip
file defining a library (author, description, tags, etc.) - External dependencies (libraries) specifying the exact version. There are often libraries depending on older versions of other libraries that do not work properly.
Probably a.json
file would be the most appropriate choice.
Once the boards for a given project are clearly defined, the current combo box may just list those. And an additional combo box could instead specify the currently available physical ports where the board may be connected to.
Issues addressed
- ability to work on different boards from different IDE windows
- ability to roam the code through the cloud on different PCs and still mapping the correct board
- matching the correct version of the external libraries
- clearly understand the dependencies of a project
- avoiding confusion in the community discussions: there are plenty of Arduino code examples on the internet that do not specify the board where the code can be run. This is often source of confusion and useless discussions.
Thank you for the great work.