Previously, the programmers menu always showed *all* programmers of *all* platforms. This made it hard to find the programmer you need. When selecting a programmer from another platform, it would typically not work, since the tool definitions rely on specific variables to be defined by the board, or files available in the variant directory, which are typically platform-dependent. Also, some programmers might be defined in multiple platforms, but there is currently no way to tell which one is for the current platform an will work, and which is for another platform and will break. This commit changes the programmer menu to only show programmers from the platforms that define the board and the core used. The latter is only used when boar definition refers a core in another platform, in which case the core and variant already have a strong coupling (the variant must offer the right variables for the core to work), so that would also apply to the programmer, so programmers from the referenced core's platform can be expected to work. When a board is selected, the menu of available programmers is refreshed, but the currently selected programmer preference is untouched. This might mean that a programmer is selected that is invalid for the current board and will not actually work. This could be fixed by clearing the current programmer when it becomes invalid, but that would mean that changing to another platform and back would always require reselecting the programmer to use, which seems counter-productive. An alternative fix would be to check the programmer against the board and throw an error, but that would require duplicating some code, which did not seem worthwile (ideally, all this code will be moved to arduino-cli anyway in the future). This fixes #9373.
Arduino is an open-source physical computing platform based on a simple I/O board and a development environment that implements the Processing/Wiring language. Arduino can be used to develop stand-alone interactive objects or can be connected to software on your computer (e.g. Flash, Processing and MaxMSP). The boards can be assembled by hand or purchased preassembled; the open-source IDE can be downloaded for free at https://arduino.cc
More info at
Bug reports and technical discussions
-
To report a bug in the software or to request a simple enhancement go to Github Issues
-
More complex requests and technical discussion should go on the Arduino Developers mailing list
-
If you're interested in modifying or extending the Arduino software, we strongly suggest discussing your ideas on the Developers mailing list before starting to work on them. That way you can coordinate with the Arduino Team and others, giving your work a higher chance of being integrated into the official release
Installation
Detailed instructions for installation in popular operating systems can be found at:
- Linux (see also the Arduino playground)
- macOS
- Windows
Credits
Arduino is an open source project, supported by many.
The Arduino team is composed of Massimo Banzi, David Cuartielles, Tom Igoe and David A. Mellis.
Arduino uses GNU avr-gcc toolchain, GCC ARM Embedded toolchain, avr-libc, avrdude, bossac, openOCD and code from Processing and Wiring.
Icon and about image designed by ToDo