From 69f0a64c15a10380400394d7782a0b67e47761b0 Mon Sep 17 00:00:00 2001 From: per1234 Date: Wed, 3 May 2023 01:00:57 -0700 Subject: [PATCH] Add protocol-explicit upload.tool properties required for pluggable discovery compatibility 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.` 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 `.upload.tool` properties are retained. Old versions of the development tools will treat the `.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. --- boards.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/boards.txt b/boards.txt index 7fef6d89647..f3ea5e1cc5b 100644 --- a/boards.txt +++ b/boards.txt @@ -7314,6 +7314,7 @@ dfrobot_beetle_esp32c3.menu.EraseFlash.all.upload.erase_cmd=-e dfrobot_firebeetle2_esp32e.name=FireBeetle 2 ESP32-E dfrobot_firebeetle2_esp32e.upload.tool=esptool_py +dfrobot_firebeetle2_esp32e.upload.tool.default=esptool_py dfrobot_firebeetle2_esp32e.upload.maximum_size=1310720 dfrobot_firebeetle2_esp32e.upload.maximum_data_size=327680 dfrobot_firebeetle2_esp32e.upload.flags= @@ -22259,6 +22260,7 @@ esp32c3m1IKit.menu.EraseFlash.all.upload.erase_cmd=-e roboheart_hercules.name=RoboHeart Hercules roboheart_hercules.upload.tool=esptool_py +roboheart_hercules.upload.tool.default=esptool_py roboheart_hercules.upload.maximum_size=1310720 roboheart_hercules.upload.maximum_data_size=327680 roboheart_hercules.upload.wait_for_upload_port=true