--- a/eric7/MicroPython/EspFirmwareSelectionDialog.py Sat Jan 15 18:40:57 2022 +0100 +++ b/eric7/MicroPython/EspFirmwareSelectionDialog.py Sat Jan 15 18:42:21 2022 +0100 @@ -24,6 +24,15 @@ Class implementing a dialog to select the ESP chip type and the firmware to be flashed. """ + Chips = ( + ("", ""), + ("ESP32", "esp32"), + ("ESP32-C3", "esp32c3"), + ("ESP32-S2", "esp32s2"), + ("ESP32-S3", "esp32s3"), + ("ESP8266", "esp8266"), + ) + FlashModes = ( ("", ""), ("Quad I/O", "qio"), @@ -32,6 +41,14 @@ ("Dual Output", "dout"), ) + FlashAddresses = { + "esp8266": "0x0000", + "esp32": "0x1000", + "esp32c3": "0x0000", + "esp32s2": "0x1000", + "esp32s3": "0x1000", + } + def __init__(self, addon=False, parent=None): """ Constructor @@ -50,7 +67,8 @@ self.firmwarePicker.setFilters( self.tr("Firmware Files (*.bin);;All Files (*)")) - self.espComboBox.addItems(["", "ESP32", "ESP8266"]) + for text, chip in self.Chips: + self.espComboBox.addItem(text, chip) self.baudRateComboBox.addItems([ "74.880", "115.200", "230.400", "460.800", "921.600", "1.500.000"]) @@ -112,10 +130,14 @@ address @rtype tuple of (str, str, str, str, str) """ - address = self.addressEdit.text() if self.__addon else "" + chip = self.espComboBox.currentData() + address = ( + self.addressEdit.text() + if self.__addon else + self.FlashAddresses[chip]) return ( - self.espComboBox.currentText().lower(), + chip, self.firmwarePicker.text(), self.baudRateComboBox.currentText().replace(".", ""), self.modeComboBox.currentData(),