A new flexible and powerful "pluggable discovery" system was added to the Arduino boards platform framework. This system makes it easy for Arduino boards platform authors to use any arbitrary communication channel between the board and development tools.
Boards platform configurations that use the old property syntax are automatically translated to the new syntax by Arduino CLI.
This translation is only done in platforms that use the old syntax exclusively. If pluggable_discovery properties are defined for the platform then the new pluggable discovery-style program.tool.<protocol_name> properties must be defined as well. If not, the "Upload Using Programmer" operation will fail:
Property 'program.tool.serial' is undefined
Or if no serial port is selected:
Property 'program.tool.' is undefined
Since the programmers.txt snippet provided in the readme is intended to be used with any platform, it must be compatible with those that use the new pluggable discovery syntax (e.g., https://github.com/arduino/ArduinoCore-samd/pull/648). This is accomplished by adding an arduinoOTA115.program.tool.default property.
It is also important to provide compatibility with older versions of Arduino development tools. For this reason, the old style property arduinoOTA115.program.tool is retained. Old versions of the development tools will treat the arduinoOTA115.program.tool.default property as an arbitrary user defined property with no special significance and the new versions of the development tools will do the same for the arduinoOTA115.program.tool property.
A new flexible and powerful "pluggable discovery" system was added to the Arduino boards platform framework. This system makes it easy for Arduino boards platform authors to use any arbitrary communication channel between the board and development tools.
Boards platform configurations that use the old property syntax are automatically translated to the new syntax by Arduino CLI.
https://arduino.github.io/arduino-cli/latest/platform-specification/#sketch-upload-configuration
This translation is only done in platforms that use the old syntax exclusively. If
pluggable_discovery
properties are defined for the platform then the new pluggable discovery-styleprogram.tool.<protocol_name>
properties must be defined as well. If not, the "Upload Using Programmer" operation will fail:Or if no serial port is selected:
Since the
programmers.txt
snippet provided in the readme is intended to be used with any platform, it must be compatible with those that use the new pluggable discovery syntax (e.g., https://github.com/arduino/ArduinoCore-samd/pull/648). This is accomplished by adding anarduinoOTA115.program.tool.default
property.It is also important to provide compatibility with older versions of Arduino development tools. For this reason, the old style property
arduinoOTA115.program.tool
is retained. Old versions of the development tools will treat thearduinoOTA115.program.tool.default
property as an arbitrary user defined property with no special significance and the new versions of the development tools will do the same for thearduinoOTA115.program.tool
property.