Skip to content

Commit 7e51a03

Browse files
authored
Add protocol-explicit upload.tool properties required for pluggable discovery compatibility (#8151)
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 > For backward compatibility with IDE 1.8.15 and older the previous syntax is still supported 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 `upload.tool.<protocol_name>` properties must be defined for each board as well. This platform was converted to use the new pluggable discovery platform properties syntax, so those properties are required. Although such properties were added to board definitions at the time the syntax was changed, new board definitions without the required properties were added later. Those missing properties caused uploads to fail for users of the recent versions of Arduino IDE and Arduino CLI with an error of the form: Error during Upload: Property 'upload.tool.serial' is undefined It is also important to provide compatibility with versions of Arduino development tools from before the introduction of the modern pluggable discovery system. For this reason, the old style `<board ID>.upload.tool` properties are retained. Old versions of the development tools will treat the `<board ID>.upload.tool.default` properties as an unused arbitrary user defined property with no special significance and the new versions of the development tools will do the same for the `upload.tool` properties.
1 parent 628b668 commit 7e51a03

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

boards.txt

+2
Original file line numberDiff line numberDiff line change
@@ -7314,6 +7314,7 @@ dfrobot_beetle_esp32c3.menu.EraseFlash.all.upload.erase_cmd=-e
73147314
dfrobot_firebeetle2_esp32e.name=FireBeetle 2 ESP32-E
73157315

73167316
dfrobot_firebeetle2_esp32e.upload.tool=esptool_py
7317+
dfrobot_firebeetle2_esp32e.upload.tool.default=esptool_py
73177318
dfrobot_firebeetle2_esp32e.upload.maximum_size=1310720
73187319
dfrobot_firebeetle2_esp32e.upload.maximum_data_size=327680
73197320
dfrobot_firebeetle2_esp32e.upload.flags=
@@ -22259,6 +22260,7 @@ esp32c3m1IKit.menu.EraseFlash.all.upload.erase_cmd=-e
2225922260
roboheart_hercules.name=RoboHeart Hercules
2226022261

2226122262
roboheart_hercules.upload.tool=esptool_py
22263+
roboheart_hercules.upload.tool.default=esptool_py
2226222264
roboheart_hercules.upload.maximum_size=1310720
2226322265
roboheart_hercules.upload.maximum_data_size=327680
2226422266
roboheart_hercules.upload.wait_for_upload_port=true

0 commit comments

Comments
 (0)