From 213be81db53e9341e66fad887ea1316499db220a Mon Sep 17 00:00:00 2001 From: Valerii Koval Date: Wed, 21 Mar 2018 23:37:51 +0200 Subject: [PATCH] Add initial code for debugging feature --- boards/esp-wrover-kit.json | 11 ++++++++- boards/esp32-evb.json | 13 ++++++++-- boards/esp32-gateway.json | 13 ++++++++-- boards/esp320.json | 8 ++++-- boards/esp32dev.json | 13 ++++++++-- boards/esp32doit-devkit-v1.json | 13 ++++++++-- boards/esp32thing.json | 13 ++++++++-- boards/esp32vn-iot-uno.json | 13 ++++++++-- boards/espea32.json | 8 ++++-- boards/espectro32.json | 13 ++++++++-- boards/espino32.json | 13 ++++++++-- boards/featheresp32.json | 13 ++++++++-- boards/firebeetle32.json | 13 ++++++++-- boards/heltec_wifi_kit_32.json | 8 ++++-- boards/heltec_wifi_lora_32.json | 8 ++++-- boards/hornbill32dev.json | 13 ++++++++-- boards/hornbill32minima.json | 13 ++++++++-- boards/intorobot.json | 8 ++++-- boards/lolin32.json | 13 ++++++++-- boards/m5stack-core-esp32.json | 8 ++++-- boards/mhetesp32devkit.json | 13 ++++++++-- boards/mhetesp32minikit.json | 13 ++++++++-- boards/microduino-core-esp32.json | 8 ++++-- boards/nano32.json | 8 ++++-- boards/nina_w10.json | 8 ++++-- boards/node32s.json | 13 ++++++++-- boards/nodemcu-32s.json | 13 ++++++++-- boards/onehorse32dev.json | 8 ++++-- boards/pocket_32.json | 13 ++++++++-- boards/quantum.json | 8 ++++-- boards/wemosbat.json | 13 ++++++++-- boards/widora-air.json | 8 ++++-- platform.json | 5 ++++ platform.py | 41 +++++++++++++++++++++++++++++++ 34 files changed, 337 insertions(+), 63 deletions(-) diff --git a/boards/esp-wrover-kit.json b/boards/esp-wrover-kit.json index 6f7d9ea..1109686 100644 --- a/boards/esp-wrover-kit.json +++ b/boards/esp-wrover-kit.json @@ -21,6 +21,9 @@ "ethernet", "can" ], + "debug": { + "openocd_board": "esp32-wrover.cfg" + }, "frameworks": [ "arduino", "espidf" @@ -32,7 +35,13 @@ "maximum_size": 1310720, "require_upload_port": true, "speed": 115200, - "wait_for_upload_port": true + "wait_for_upload_port": true, + "protocol": "esptool", + "protocols": [ + "esptool", + "olimex-arm-usb-tiny-h", + "olimex-arm-usb-ocd-h" + ] }, "url": "https://espressif.com/en/products/hardware/esp-wrover-kit/overview", "vendor": "Espressif" diff --git a/boards/esp32-evb.json b/boards/esp32-evb.json index 6f00ce2..8c75e18 100644 --- a/boards/esp32-evb.json +++ b/boards/esp32-evb.json @@ -15,7 +15,10 @@ "ethernet", "can" ], - "frameworks": [ + "debug": { + "openocd_board": "esp-wroom-32.cfg" + }, + "frameworks": [ "arduino", "espidf" ], @@ -26,7 +29,13 @@ "maximum_size": 1310720, "require_upload_port": true, "speed": 115200, - "wait_for_upload_port": true + "wait_for_upload_port": true, + "protocol": "esptool", + "protocols": [ + "esptool", + "olimex-arm-usb-tiny-h", + "olimex-arm-usb-ocd-h" + ] }, "url": "https://www.olimex.com/Products/IoT/ESP32-EVB/open-source-hardware", "vendor": "OLIMEX" diff --git a/boards/esp32-gateway.json b/boards/esp32-gateway.json index 05da6c5..6a5f038 100644 --- a/boards/esp32-gateway.json +++ b/boards/esp32-gateway.json @@ -15,7 +15,10 @@ "ethernet", "can" ], - "frameworks": [ + "debug": { + "openocd_board": "esp-wroom-32.cfg" + }, + "frameworks": [ "arduino", "espidf" ], @@ -26,7 +29,13 @@ "maximum_size": 1310720, "require_upload_port": true, "speed": 115200, - "wait_for_upload_port": true + "wait_for_upload_port": true, + "protocol": "esptool", + "protocols": [ + "esptool", + "olimex-arm-usb-tiny-h", + "olimex-arm-usb-ocd-h" + ] }, "url": "https://www.olimex.com/Products/IoT/ESP32-GATEWAY/open-source-hardware", "vendor": "OLIMEX" diff --git a/boards/esp320.json b/boards/esp320.json index b33488d..84f0dbe 100644 --- a/boards/esp320.json +++ b/boards/esp320.json @@ -15,7 +15,7 @@ "ethernet", "can" ], - "frameworks": [ + "frameworks": [ "arduino", "espidf" ], @@ -26,7 +26,11 @@ "maximum_size": 1310720, "require_upload_port": true, "speed": 115200, - "wait_for_upload_port": true + "wait_for_upload_port": true, + "protocol": "esptool", + "protocols": [ + "esptool" + ] }, "url": "http://www.sweetpeas.se/controller-modules/10-esp210.html", "vendor": "Electronic SweetPeas" diff --git a/boards/esp32dev.json b/boards/esp32dev.json index 032743e..e5efe8e 100644 --- a/boards/esp32dev.json +++ b/boards/esp32dev.json @@ -15,7 +15,10 @@ "ethernet", "can" ], - "frameworks": [ + "debug": { + "openocd_board": "esp-wroom-32.cfg" + }, + "frameworks": [ "arduino", "espidf" ], @@ -26,7 +29,13 @@ "maximum_size": 1310720, "require_upload_port": true, "speed": 115200, - "wait_for_upload_port": true + "wait_for_upload_port": true, + "protocol": "esptool", + "protocols": [ + "esptool", + "olimex-arm-usb-tiny-h", + "olimex-arm-usb-ocd-h" + ] }, "url": "https://en.wikipedia.org/wiki/ESP32", "vendor": "Espressif" diff --git a/boards/esp32doit-devkit-v1.json b/boards/esp32doit-devkit-v1.json index 2e69666..d4f8e16 100644 --- a/boards/esp32doit-devkit-v1.json +++ b/boards/esp32doit-devkit-v1.json @@ -15,7 +15,10 @@ "ethernet", "can" ], - "frameworks": [ + "debug": { + "openocd_board": "esp-wroom-32.cfg" + }, + "frameworks": [ "arduino", "espidf" ], @@ -26,7 +29,13 @@ "maximum_size": 1310720, "require_upload_port": true, "speed": 115200, - "wait_for_upload_port": true + "wait_for_upload_port": true, + "protocol": "esptool", + "protocols": [ + "esptool", + "olimex-arm-usb-tiny-h", + "olimex-arm-usb-ocd-h" + ] }, "url": "http://www.doit.am/", "vendor": "DOIT" diff --git a/boards/esp32thing.json b/boards/esp32thing.json index 76e89f6..636f7ae 100644 --- a/boards/esp32thing.json +++ b/boards/esp32thing.json @@ -15,7 +15,10 @@ "ethernet", "can" ], - "frameworks": [ + "debug": { + "openocd_board": "esp-wroom-32.cfg" + }, + "frameworks": [ "arduino", "espidf" ], @@ -26,7 +29,13 @@ "maximum_size": 1310720, "require_upload_port": true, "speed": 115200, - "wait_for_upload_port": true + "wait_for_upload_port": true, + "protocol": "esptool", + "protocols": [ + "esptool", + "olimex-arm-usb-tiny-h", + "olimex-arm-usb-ocd-h" + ] }, "url": "https://www.sparkfun.com/products/13907", "vendor": "SparkFun Electronics" diff --git a/boards/esp32vn-iot-uno.json b/boards/esp32vn-iot-uno.json index 25815ec..2af96b9 100644 --- a/boards/esp32vn-iot-uno.json +++ b/boards/esp32vn-iot-uno.json @@ -15,7 +15,10 @@ "ethernet", "can" ], - "frameworks": [ + "debug": { + "openocd_board": "esp-wroom-32.cfg" + }, + "frameworks": [ "arduino", "espidf" ], @@ -26,7 +29,13 @@ "maximum_size": 1310720, "require_upload_port": true, "speed": 115200, - "wait_for_upload_port": true + "wait_for_upload_port": true, + "protocol": "esptool", + "protocols": [ + "esptool", + "olimex-arm-usb-tiny-h", + "olimex-arm-usb-ocd-h" + ] }, "url": "https://esp32.vn/", "vendor": "ESP32vn" diff --git a/boards/espea32.json b/boards/espea32.json index 44ff2f5..71fe3cf 100644 --- a/boards/espea32.json +++ b/boards/espea32.json @@ -15,7 +15,7 @@ "ethernet", "can" ], - "frameworks": [ + "frameworks": [ "arduino", "espidf" ], @@ -26,7 +26,11 @@ "maximum_size": 1310720, "require_upload_port": true, "speed": 115200, - "wait_for_upload_port": true + "wait_for_upload_port": true, + "protocol": "esptool", + "protocols": [ + "esptool" + ] }, "url": "https://blog.aprbrother.com/product/espea", "vendor": "April Brother" diff --git a/boards/espectro32.json b/boards/espectro32.json index 03e8aba..2f228b8 100644 --- a/boards/espectro32.json +++ b/boards/espectro32.json @@ -15,7 +15,10 @@ "ethernet", "can" ], - "frameworks": [ + "debug": { + "openocd_board": "esp-wroom-32.cfg" + }, + "frameworks": [ "arduino", "espidf" ], @@ -26,7 +29,13 @@ "maximum_size": 1310720, "require_upload_port": true, "speed": 2000000, - "wait_for_upload_port": true + "wait_for_upload_port": true, + "protocol": "esptool", + "protocols": [ + "esptool", + "olimex-arm-usb-tiny-h", + "olimex-arm-usb-ocd-h" + ] }, "url": "https://shop.makestro.com/product/espectro32", "vendor": "DycodeX" diff --git a/boards/espino32.json b/boards/espino32.json index ad36d32..2c5668e 100644 --- a/boards/espino32.json +++ b/boards/espino32.json @@ -15,7 +15,10 @@ "ethernet", "can" ], - "frameworks": [ + "debug": { + "openocd_board": "esp-wroom-32.cfg" + }, + "frameworks": [ "arduino", "espidf" ], @@ -26,7 +29,13 @@ "maximum_size": 1310720, "require_upload_port": true, "speed": 115200, - "wait_for_upload_port": true + "wait_for_upload_port": true, + "protocol": "esptool", + "protocols": [ + "esptool", + "olimex-arm-usb-tiny-h", + "olimex-arm-usb-ocd-h" + ] }, "url": "http://thaieasyelec.com/products/development-boards/espino-wifi-development-board-detail.html", "vendor": "ThaiEasyElec" diff --git a/boards/featheresp32.json b/boards/featheresp32.json index e3e283e..8478b40 100644 --- a/boards/featheresp32.json +++ b/boards/featheresp32.json @@ -15,7 +15,10 @@ "ethernet", "can" ], - "frameworks": [ + "debug": { + "openocd_board": "esp-wroom-32.cfg" + }, + "frameworks": [ "arduino", "espidf" ], @@ -26,7 +29,13 @@ "maximum_size": 1310720, "require_upload_port": true, "speed": 115200, - "wait_for_upload_port": true + "wait_for_upload_port": true, + "protocol": "esptool", + "protocols": [ + "esptool", + "olimex-arm-usb-tiny-h", + "olimex-arm-usb-ocd-h" + ] }, "url": "https://www.adafruit.com/product/3405", "vendor": "Adafruit" diff --git a/boards/firebeetle32.json b/boards/firebeetle32.json index 118617e..fc32da4 100644 --- a/boards/firebeetle32.json +++ b/boards/firebeetle32.json @@ -15,7 +15,10 @@ "ethernet", "can" ], - "frameworks": [ + "debug": { + "openocd_board": "esp-wroom-32.cfg" + }, + "frameworks": [ "arduino", "espidf" ], @@ -26,7 +29,13 @@ "maximum_size": 1310720, "require_upload_port": true, "speed": 115200, - "wait_for_upload_port": true + "wait_for_upload_port": true, + "protocol": "esptool", + "protocols": [ + "esptool", + "olimex-arm-usb-tiny-h", + "olimex-arm-usb-ocd-h" + ] }, "url": "https://dfrobotblog.wordpress.com", "vendor": "DFRobot" diff --git a/boards/heltec_wifi_kit_32.json b/boards/heltec_wifi_kit_32.json index abd61d4..4de2cbc 100644 --- a/boards/heltec_wifi_kit_32.json +++ b/boards/heltec_wifi_kit_32.json @@ -15,7 +15,7 @@ "ethernet", "can" ], - "frameworks": [ + "frameworks": [ "arduino", "espidf" ], @@ -26,7 +26,11 @@ "maximum_size": 1310720, "require_upload_port": true, "speed": 115200, - "wait_for_upload_port": true + "wait_for_upload_port": true, + "protocol": "esptool", + "protocols": [ + "esptool" + ] }, "url": "http://www.heltec.cn", "vendor": "Heltec Automation" diff --git a/boards/heltec_wifi_lora_32.json b/boards/heltec_wifi_lora_32.json index 89c961f..e744b0c 100644 --- a/boards/heltec_wifi_lora_32.json +++ b/boards/heltec_wifi_lora_32.json @@ -15,7 +15,7 @@ "ethernet", "can" ], - "frameworks": [ + "frameworks": [ "arduino", "espidf" ], @@ -26,7 +26,11 @@ "maximum_size": 1310720, "require_upload_port": true, "speed": 115200, - "wait_for_upload_port": true + "wait_for_upload_port": true, + "protocol": "esptool", + "protocols": [ + "esptool" + ] }, "url": "http://www.heltec.cn", "vendor": "Heltec Automation" diff --git a/boards/hornbill32dev.json b/boards/hornbill32dev.json index 135c97e..d6acf1e 100644 --- a/boards/hornbill32dev.json +++ b/boards/hornbill32dev.json @@ -15,7 +15,10 @@ "ethernet", "can" ], - "frameworks": [ + "debug": { + "openocd_board": "esp-wroom-32.cfg" + }, + "frameworks": [ "arduino", "espidf" ], @@ -26,7 +29,13 @@ "maximum_size": 1310720, "require_upload_port": true, "speed": 115200, - "wait_for_upload_port": true + "wait_for_upload_port": true, + "protocol": "esptool", + "protocols": [ + "esptool", + "olimex-arm-usb-tiny-h", + "olimex-arm-usb-ocd-h" + ] }, "url": "https://hackaday.io/project/18997-hornbill", "vendor": "Hornbill" diff --git a/boards/hornbill32minima.json b/boards/hornbill32minima.json index e1bb9cf..c6d2f8a 100644 --- a/boards/hornbill32minima.json +++ b/boards/hornbill32minima.json @@ -15,7 +15,10 @@ "ethernet", "can" ], - "frameworks": [ + "debug": { + "openocd_board": "esp-wroom-32.cfg" + }, + "frameworks": [ "arduino", "espidf" ], @@ -26,7 +29,13 @@ "maximum_size": 1310720, "require_upload_port": true, "speed": 115200, - "wait_for_upload_port": true + "wait_for_upload_port": true, + "protocol": "esptool", + "protocols": [ + "esptool", + "olimex-arm-usb-tiny-h", + "olimex-arm-usb-ocd-h" + ] }, "url": "https://hackaday.io/project/18997-hornbill", "vendor": "Hornbill" diff --git a/boards/intorobot.json b/boards/intorobot.json index fd5f2d2..8814256 100644 --- a/boards/intorobot.json +++ b/boards/intorobot.json @@ -15,7 +15,7 @@ "ethernet", "can" ], - "frameworks": [ + "frameworks": [ "arduino", "espidf" ], @@ -26,7 +26,11 @@ "maximum_size": 1310720, "require_upload_port": true, "speed": 115200, - "wait_for_upload_port": true + "wait_for_upload_port": true, + "protocol": "esptool", + "protocols": [ + "esptool" + ] }, "url": "http://docs.intorobot.com/zh/hardware/fig/hardware/", "vendor": "IntoRobot" diff --git a/boards/lolin32.json b/boards/lolin32.json index 33f3769..4c415ea 100644 --- a/boards/lolin32.json +++ b/boards/lolin32.json @@ -15,7 +15,10 @@ "ethernet", "can" ], - "frameworks": [ + "debug": { + "openocd_board": "esp-wroom-32.cfg" + }, + "frameworks": [ "arduino", "espidf" ], @@ -26,7 +29,13 @@ "maximum_size": 1310720, "require_upload_port": true, "speed": 115200, - "wait_for_upload_port": true + "wait_for_upload_port": true, + "protocol": "esptool", + "protocols": [ + "esptool", + "olimex-arm-usb-tiny-h", + "olimex-arm-usb-ocd-h" + ] }, "url": "https://wemos.cc", "vendor": "WEMOS" diff --git a/boards/m5stack-core-esp32.json b/boards/m5stack-core-esp32.json index 6177d68..84313d8 100644 --- a/boards/m5stack-core-esp32.json +++ b/boards/m5stack-core-esp32.json @@ -15,7 +15,7 @@ "ethernet", "can" ], - "frameworks": [ + "frameworks": [ "arduino", "espidf" ], @@ -26,7 +26,11 @@ "maximum_size": 1310720, "require_upload_port": true, "speed": 115200, - "wait_for_upload_port": true + "wait_for_upload_port": true, + "protocol": "esptool", + "protocols": [ + "esptool" + ] }, "url": "http://www.m5stack.com", "vendor": "M5Stack" diff --git a/boards/mhetesp32devkit.json b/boards/mhetesp32devkit.json index 5b7aa19..59cc0df 100644 --- a/boards/mhetesp32devkit.json +++ b/boards/mhetesp32devkit.json @@ -15,7 +15,10 @@ "ethernet", "can" ], - "frameworks": [ + "debug": { + "openocd_board": "esp-wroom-32.cfg" + }, + "frameworks": [ "arduino", "espidf" ], @@ -26,7 +29,13 @@ "maximum_size": 1310720, "require_upload_port": true, "speed": 115200, - "wait_for_upload_port": true + "wait_for_upload_port": true, + "protocol": "esptool", + "protocols": [ + "esptool", + "olimex-arm-usb-tiny-h", + "olimex-arm-usb-ocd-h" + ] }, "url": "http://forum.mhetlive.com", "vendor": "MH-ET Live" diff --git a/boards/mhetesp32minikit.json b/boards/mhetesp32minikit.json index 7c8e5e2..ba2e279 100644 --- a/boards/mhetesp32minikit.json +++ b/boards/mhetesp32minikit.json @@ -15,7 +15,10 @@ "ethernet", "can" ], - "frameworks": [ + "debug": { + "openocd_board": "esp-wroom-32.cfg" + }, + "frameworks": [ "arduino", "espidf" ], @@ -26,7 +29,13 @@ "maximum_size": 1310720, "require_upload_port": true, "speed": 115200, - "wait_for_upload_port": true + "wait_for_upload_port": true, + "protocol": "esptool", + "protocols": [ + "esptool", + "olimex-arm-usb-tiny-h", + "olimex-arm-usb-ocd-h" + ] }, "url": "http://forum.mhetlive.com", "vendor": "MH-ET Live" diff --git a/boards/microduino-core-esp32.json b/boards/microduino-core-esp32.json index 7ceb214..558a476 100644 --- a/boards/microduino-core-esp32.json +++ b/boards/microduino-core-esp32.json @@ -15,7 +15,7 @@ "ethernet", "can" ], - "frameworks": [ + "frameworks": [ "arduino", "espidf" ], @@ -26,7 +26,11 @@ "maximum_size": 1310720, "require_upload_port": true, "speed": 2000000, - "wait_for_upload_port": true + "wait_for_upload_port": true, + "protocol": "esptool", + "protocols": [ + "esptool" + ] }, "url": "https://microduinoinc.com", "vendor": "Microduino" diff --git a/boards/nano32.json b/boards/nano32.json index 4fd1bce..4632d4d 100644 --- a/boards/nano32.json +++ b/boards/nano32.json @@ -15,7 +15,7 @@ "ethernet", "can" ], - "frameworks": [ + "frameworks": [ "arduino", "espidf", "simba", @@ -28,7 +28,11 @@ "maximum_size": 1310720, "require_upload_port": true, "speed": 115200, - "wait_for_upload_port": true + "wait_for_upload_port": true, + "protocol": "esptool", + "protocols": [ + "esptool" + ] }, "url": "http://iot-bits.com/nano32-esp32-development-board", "vendor": "MakerAsia" diff --git a/boards/nina_w10.json b/boards/nina_w10.json index 9e6294b..096936e 100644 --- a/boards/nina_w10.json +++ b/boards/nina_w10.json @@ -16,7 +16,7 @@ "ethernet", "can" ], - "frameworks": [ + "frameworks": [ "arduino", "espidf" ], @@ -27,7 +27,11 @@ "maximum_size": 1310720, "require_upload_port": true, "speed": 115200, - "wait_for_upload_port": true + "wait_for_upload_port": true, + "protocol": "esptool", + "protocols": [ + "esptool" + ] }, "url": "https://www.u-blox.com/en/product/nina-w10-series", "vendor": "u-blox" diff --git a/boards/node32s.json b/boards/node32s.json index 36c0cf7..884684c 100644 --- a/boards/node32s.json +++ b/boards/node32s.json @@ -15,7 +15,10 @@ "ethernet", "can" ], - "frameworks": [ + "debug": { + "openocd_board": "esp-wroom-32.cfg" + }, + "frameworks": [ "arduino", "espidf" ], @@ -26,7 +29,13 @@ "maximum_size": 1310720, "require_upload_port": true, "speed": 115200, - "wait_for_upload_port": true + "wait_for_upload_port": true, + "protocol": "esptool", + "protocols": [ + "esptool", + "olimex-arm-usb-tiny-h", + "olimex-arm-usb-ocd-h" + ] }, "url": "http://www.ayarafun.com", "vendor": "Aiyarafun" diff --git a/boards/nodemcu-32s.json b/boards/nodemcu-32s.json index 581b78f..3031a50 100644 --- a/boards/nodemcu-32s.json +++ b/boards/nodemcu-32s.json @@ -15,7 +15,10 @@ "ethernet", "can" ], - "frameworks": [ + "debug": { + "openocd_board": "esp-wroom-32.cfg" + }, + "frameworks": [ "arduino", "espidf" ], @@ -26,7 +29,13 @@ "maximum_size": 1310720, "require_upload_port": true, "speed": 115200, - "wait_for_upload_port": true + "wait_for_upload_port": true, + "protocol": "esptool", + "protocols": [ + "esptool", + "olimex-arm-usb-tiny-h", + "olimex-arm-usb-ocd-h" + ] }, "url": "http://www.nodemcu.com/", "vendor": "NodeMCU" diff --git a/boards/onehorse32dev.json b/boards/onehorse32dev.json index 0fe69da..37fda2f 100644 --- a/boards/onehorse32dev.json +++ b/boards/onehorse32dev.json @@ -15,7 +15,7 @@ "ethernet", "can" ], - "frameworks": [ + "frameworks": [ "arduino", "espidf" ], @@ -26,7 +26,11 @@ "maximum_size": 1310720, "require_upload_port": true, "speed": 115200, - "wait_for_upload_port": true + "wait_for_upload_port": true, + "protocol": "esptool", + "protocols": [ + "esptool" + ] }, "url": "https://www.tindie.com/products/onehorse/esp32-development-board/", "vendor": "Onehorse" diff --git a/boards/pocket_32.json b/boards/pocket_32.json index 716a255..db868ec 100644 --- a/boards/pocket_32.json +++ b/boards/pocket_32.json @@ -15,7 +15,10 @@ "ethernet", "can" ], - "frameworks": [ + "debug": { + "openocd_board": "esp-wroom-32.cfg" + }, + "frameworks": [ "arduino", "espidf" ], @@ -26,7 +29,13 @@ "maximum_size": 1310720, "require_upload_port": true, "speed": 115200, - "wait_for_upload_port": true + "wait_for_upload_port": true, + "protocol": "esptool", + "protocols": [ + "esptool", + "olimex-arm-usb-tiny-h", + "olimex-arm-usb-ocd-h" + ] }, "url": "http://dong-sen.com", "vendor": "Dongsen Technology" diff --git a/boards/quantum.json b/boards/quantum.json index 62e87d4..f33cd12 100644 --- a/boards/quantum.json +++ b/boards/quantum.json @@ -15,7 +15,7 @@ "ethernet", "can" ], - "frameworks": [ + "frameworks": [ "arduino", "espidf" ], @@ -26,7 +26,11 @@ "maximum_size": 1310720, "require_upload_port": true, "speed": 115200, - "wait_for_upload_port": true + "wait_for_upload_port": true, + "protocol": "esptool", + "protocols": [ + "esptool" + ] }, "url": "http://wiki.jackslab.org/Noduino", "vendor": "Noduino" diff --git a/boards/wemosbat.json b/boards/wemosbat.json index e424180..c0f1dfa 100644 --- a/boards/wemosbat.json +++ b/boards/wemosbat.json @@ -15,7 +15,10 @@ "ethernet", "can" ], - "frameworks": [ + "debug": { + "openocd_board": "esp-wroom-32.cfg" + }, + "frameworks": [ "arduino", "espidf" ], @@ -26,7 +29,13 @@ "maximum_size": 1310720, "require_upload_port": true, "speed": 115200, - "wait_for_upload_port": true + "wait_for_upload_port": true, + "protocol": "esptool", + "protocols": [ + "esptool", + "olimex-arm-usb-tiny-h", + "olimex-arm-usb-ocd-h" + ] }, "url": "https://www.wemos.cc", "vendor": "WEMOS" diff --git a/boards/widora-air.json b/boards/widora-air.json index 148958c..0b4b31a 100644 --- a/boards/widora-air.json +++ b/boards/widora-air.json @@ -15,7 +15,7 @@ "ethernet", "can" ], - "frameworks": [ + "frameworks": [ "arduino", "espidf" ], @@ -26,7 +26,11 @@ "maximum_size": 1310720, "require_upload_port": true, "speed": 115200, - "wait_for_upload_port": true + "wait_for_upload_port": true, + "protocol": "esptool", + "protocols": [ + "esptool" + ] }, "url": "http://widora.io", "vendor": "Widora" diff --git a/platform.json b/platform.json index a243423..e8317d9 100644 --- a/platform.json +++ b/platform.json @@ -70,6 +70,11 @@ "type": "uploader", "optional": true, "version": "~1.1.0" + }, + "tool-openocd-esp32": { + "type": "uploader", + "optional": true, + "version": "~0.1.0" } } } diff --git a/platform.py b/platform.py index 25c631a..240f892 100644 --- a/platform.py +++ b/platform.py @@ -22,3 +22,44 @@ class Espressif32Platform(PlatformBase): self.packages['toolchain-xtensa32']['version'] = "~2.50200.0" return PlatformBase.configure_default_packages( self, variables, targets) + + def get_boards(self, id_=None): + result = PlatformBase.get_boards(self, id_) + if not result: + return result + if id_: + return self._add_default_debug_tools(result) + else: + for key, value in result.items(): + result[key] = self._add_default_debug_tools(result[key]) + return result + + def _add_default_debug_tools(self, board): + debug = board.manifest.get("debug", {}) + + upload_protocols = board.manifest.get("upload", {}).get( + "protocols", []) + if "tools" not in debug: + debug['tools'] = {} + + # Only FTDI based debug probes + for link in ("olimex-arm-usb-tiny-h", "olimex-arm-usb-ocd-h"): + if link not in upload_protocols or link in debug['tools']: + continue + + server_args = [ + "-s", "$PACKAGE_DIR/share/openocd/scripts", + "-f", "share/openocd/scripts/interface/ftdi/%s.cfg" % link, + "-f", "share/openocd/scripts/board/%s" % debug.get("openocd_board") + ] + + debug['tools'][link] = { + "server": { + "package": "tool-openocd-esp32", + "executable": "bin/openocd", + "arguments": server_args + } + } + + board.manifest['debug'] = debug + return board