eric7/MicroPython/EspBackupRestoreFirmwareDialog.py

Sat, 15 Jan 2022 18:42:21 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 15 Jan 2022 18:42:21 +0100
branch
eric7
changeset 8924
7f2cad9900cf
parent 8881
54e42bc2437a
child 8945
b6be65111565
permissions
-rw-r--r--

MicroPython
- added support for ESP32-C3, ESP32-S2 and ESP32-S3 chips

7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
8881
54e42bc2437a Updated copyright for 2022.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8358
diff changeset
3 # Copyright (c) 2019 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a dialog to select the ESP chip type and the backup and
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 restore parameters.
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9 """
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11 import os
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12
8318
962bce857696 Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
13 from PyQt6.QtCore import pyqtSlot
962bce857696 Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
14 from PyQt6.QtWidgets import QDialog, QDialogButtonBox
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15
8358
144a6b854f70 Sorted the eric specific extensions into packages named like the corresponding PyQt packages (i.e. EricCore,EricGui and EricWidgets).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8356
diff changeset
16 from EricWidgets.EricPathPicker import EricPathPickerModes
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 from .Ui_EspBackupRestoreFirmwareDialog import (
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 Ui_EspBackupRestoreFirmwareDialog
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 )
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 class EspBackupRestoreFirmwareDialog(QDialog,
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 Ui_EspBackupRestoreFirmwareDialog):
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 """
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 Class implementing a dialog to select the ESP chip type and the backup and
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 restore parameters.
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 """
8924
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
29 Chips = (
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
30 ("", ""),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
31 ("ESP32", "esp32"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
32 ("ESP32-C3", "esp32c3"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
33 ("ESP32-S2", "esp32s2"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
34 ("ESP32-S3", "esp32s3"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
35 ("ESP8266", "esp8266"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
36 )
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
37
7595
5db6bfeff23e MicroPython: added code to allow the user to select the flash mod for flashing the MicroPython firmware for ESP32/ESP8266 devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
38 FlashModes = [
5db6bfeff23e MicroPython: added code to allow the user to select the flash mod for flashing the MicroPython firmware for ESP32/ESP8266 devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
39 ("Quad I/O", "qio"),
5db6bfeff23e MicroPython: added code to allow the user to select the flash mod for flashing the MicroPython firmware for ESP32/ESP8266 devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
40 ("Quad Output", "qout"),
5db6bfeff23e MicroPython: added code to allow the user to select the flash mod for flashing the MicroPython firmware for ESP32/ESP8266 devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
41 ("Dual I/O", "dio"),
5db6bfeff23e MicroPython: added code to allow the user to select the flash mod for flashing the MicroPython firmware for ESP32/ESP8266 devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
42 ("Dual Output", "dout"),
5db6bfeff23e MicroPython: added code to allow the user to select the flash mod for flashing the MicroPython firmware for ESP32/ESP8266 devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
43 ]
8924
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
44
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 FlashSizes = {
8924
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
46 "esp32": [
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
47 (" 1 MB", "0x100000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
48 (" 2 MB", "0x200000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
49 (" 4 MB", "0x400000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
50 (" 8 MB", "0x800000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
51 ("16 MB", "0x1000000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
52 ],
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
53 "esp32c3": [
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 (" 1 MB", "0x100000"),
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 (" 2 MB", "0x200000"),
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 (" 4 MB", "0x400000"),
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 (" 8 MB", "0x800000"),
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 ("16 MB", "0x1000000"),
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 ],
8924
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
60 "esp32s2": [
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
61 (" 1 MB", "0x100000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
62 (" 2 MB", "0x200000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
63 (" 4 MB", "0x400000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
64 (" 8 MB", "0x800000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
65 ("16 MB", "0x1000000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
66 ],
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
67 "esp32s3": [
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
68 (" 1 MB", "0x100000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
69 (" 2 MB", "0x200000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
70 (" 4 MB", "0x400000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
71 (" 8 MB", "0x800000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
72 ("16 MB", "0x1000000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
73 ],
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
74 "esp8266": [
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 ("256 KB", "0x40000"),
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 ("512 KB", "0x80000"),
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 (" 1 MB", "0x100000"),
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 (" 2 MB", "0x200000"),
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 (" 4 MB", "0x400000"),
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 (" 8 MB", "0x800000"),
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 ("16 MB", "0x1000000"),
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 ],
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
83 }
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 def __init__(self, backupMode=True, parent=None):
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86 """
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87 Constructor
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 @param backupMode flag indicating parameters for a firmware backup are
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90 requested
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
91 @type bool
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
92 @param parent reference to the parent widget
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
93 @type QWidget
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
94 """
8218
7c09585bd960 Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
95 super().__init__(parent)
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
96 self.setupUi(self)
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
97
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
98 self.__isBackupMode = backupMode
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99
8924
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
100 for text, chip in self.Chips:
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
101 self.espComboBox.addItem(text, chip)
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
102
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
103 self.firmwarePicker.setFilters(
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
104 self.tr("Firmware Files (*.img);;All Files (*)"))
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
105 if self.__isBackupMode:
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
106 self.firmwarePicker.setMode(
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8327
diff changeset
107 EricPathPickerModes.SAVE_FILE_ENSURE_EXTENSION_MODE)
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
108 self.modeComboBox.setEnabled(False)
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
109 self.setWindowTitle(self.tr("Backup Firmware"))
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
110 else:
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8327
diff changeset
111 self.firmwarePicker.setMode(EricPathPickerModes.OPEN_FILE_MODE)
7595
5db6bfeff23e MicroPython: added code to allow the user to select the flash mod for flashing the MicroPython firmware for ESP32/ESP8266 devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
112 for text, mode in self.FlashModes:
5db6bfeff23e MicroPython: added code to allow the user to select the flash mod for flashing the MicroPython firmware for ESP32/ESP8266 devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
113 self.modeComboBox.addItem(text, mode)
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
114 self.setWindowTitle(self.tr("Restore Firmware"))
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
115
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
116 msh = self.minimumSizeHint()
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
117 self.resize(max(self.width(), msh.width()), msh.height())
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
118
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
119 def __updateOkButton(self):
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
120 """
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
121 Private method to update the state of the OK button.
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
122 """
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
123 firmwareFile = self.firmwarePicker.text()
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
124 enable = (bool(self.espComboBox.currentText()) and
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
125 bool(firmwareFile))
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
126 if self.__isBackupMode:
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
127 enable &= bool(self.sizeComboBox.currentText())
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
128 else:
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129 enable &= os.path.exists(firmwareFile)
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
130 self.buttonBox.button(
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
131 QDialogButtonBox.StandardButton.Ok).setEnabled(enable)
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 @pyqtSlot(str)
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
134 def on_espComboBox_currentTextChanged(self, chip):
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135 """
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
136 Private slot to handle the selection of a chip type.
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
137
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
138 @param chip selected chip type
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
139 @type str
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
140 """
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
141 selectedSize = self.sizeComboBox.currentText()
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142 self.sizeComboBox.clear()
8924
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
143 chipType = self.espComboBox.currentData()
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
144 if chipType and chipType in self.FlashSizes:
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
145 self.sizeComboBox.addItem("")
8924
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
146 for text, data in self.FlashSizes[chipType]:
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
147 self.sizeComboBox.addItem(text, data)
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
148
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
149 self.sizeComboBox.setCurrentText(selectedSize)
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
150
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
151 self.__updateOkButton()
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
152
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
153 @pyqtSlot(str)
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
154 def on_firmwarePicker_textChanged(self, firmware):
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
155 """
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
156 Private slot handling a change of the firmware path.
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
157
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
158 @param firmware path to the firmware
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
159 @type str
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
160 """
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
161 self.__updateOkButton()
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
162
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
163 def getData(self):
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
164 """
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
165 Public method to get the entered data.
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
166
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
167 @return tuple containing the selected chip type, the firmware size,
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
168 the flash mode and the path of the firmware file
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
169 @rtype tuple of (str, str, str, str)
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
170 """
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
171 return (
8924
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
172 self.espComboBox.currentData(),
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
173 self.sizeComboBox.currentData(),
7595
5db6bfeff23e MicroPython: added code to allow the user to select the flash mod for flashing the MicroPython firmware for ESP32/ESP8266 devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
174 self.modeComboBox.currentData(),
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
175 self.firmwarePicker.text(),
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
176 )

eric ide

mercurial