src/eric7/MicroPython/Devices/EspDialogs/EspBackupRestoreFirmwareDialog.py

Tue, 10 Dec 2024 15:46:34 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 10 Dec 2024 15:46:34 +0100
branch
eric7
changeset 11090
f5f5f5803935
parent 10690
fab36645aa7d
permissions
-rw-r--r--

Updated copyright for 2025.

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
11090
f5f5f5803935 Updated copyright for 2025.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10690
diff changeset
3 # Copyright (c) 2019 - 2025 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
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
16 from eric7.EricWidgets.EricPathPicker import EricPathPickerModes
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
18 from .Ui_EspBackupRestoreFirmwareDialog import Ui_EspBackupRestoreFirmwareDialog
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
21 class EspBackupRestoreFirmwareDialog(QDialog, Ui_EspBackupRestoreFirmwareDialog):
7352
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 implementing a dialog to select the ESP chip type and the backup and
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 restore parameters.
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
26
8924
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
27 Chips = (
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
28 ("", ""),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
29 ("ESP32", "esp32"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
30 ("ESP32-C3", "esp32c3"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
31 ("ESP32-S2", "esp32s2"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
32 ("ESP32-S3", "esp32s3"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
33 ("ESP8266", "esp8266"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
34 )
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
35
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
36 FlashModes = [
8945
b6be65111565 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8924
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 ("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
39 ("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
40 ("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
41 ("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
42 ]
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
43
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 FlashSizes = {
8924
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
45 "esp32": [
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
46 (" 1 MB", "0x100000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
47 (" 2 MB", "0x200000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
48 (" 4 MB", "0x400000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
49 (" 8 MB", "0x800000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
50 ("16 MB", "0x1000000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
51 ],
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
52 "esp32c3": [
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 (" 1 MB", "0x100000"),
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 (" 2 MB", "0x200000"),
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 (" 4 MB", "0x400000"),
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 (" 8 MB", "0x800000"),
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 ("16 MB", "0x1000000"),
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 ],
8924
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
59 "esp32s2": [
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
60 (" 1 MB", "0x100000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
61 (" 2 MB", "0x200000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
62 (" 4 MB", "0x400000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
63 (" 8 MB", "0x800000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
64 ("16 MB", "0x1000000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
65 ],
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
66 "esp32s3": [
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
67 (" 1 MB", "0x100000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
68 (" 2 MB", "0x200000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
69 (" 4 MB", "0x400000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
70 (" 8 MB", "0x800000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
71 ("16 MB", "0x1000000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
72 ],
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
73 "esp8266": [
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 ("256 KB", "0x40000"),
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 ("512 KB", "0x80000"),
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 (" 1 MB", "0x100000"),
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 (" 2 MB", "0x200000"),
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 (" 4 MB", "0x400000"),
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 (" 8 MB", "0x800000"),
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 ("16 MB", "0x1000000"),
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 ],
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 }
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
83
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84 def __init__(self, backupMode=True, parent=None):
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 """
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86 Constructor
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
87
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88 @param backupMode flag indicating parameters for a firmware backup are
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 requested
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90 @type bool
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
91 @param parent reference to the parent widget
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
92 @type QWidget
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
93 """
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
94 super().__init__(parent)
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
95 self.setupUi(self)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
96
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
97 self.__isBackupMode = backupMode
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
98
8924
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
99 for text, chip in self.Chips:
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
100 self.espComboBox.addItem(text, chip)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
101
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
102 self.baudRateComboBox.addItems(
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
103 ["74.880", "115.200", "230.400", "460.800", "921.600", "1.500.000"]
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
104 )
8945
b6be65111565 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8924
diff changeset
105 self.baudRateComboBox.setCurrentIndex(3)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
106
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
107 self.firmwarePicker.setFilters(self.tr("Firmware Files (*.img);;All Files (*)"))
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
108 if self.__isBackupMode:
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
109 self.firmwarePicker.setMode(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
110 EricPathPickerModes.SAVE_FILE_ENSURE_EXTENSION_MODE
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
111 )
8945
b6be65111565 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8924
diff changeset
112 self.sizeInfoLabel.clear()
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
113 self.modeComboBox.setEnabled(False)
8945
b6be65111565 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8924
diff changeset
114 self.modeInfoLabel.setEnabled(False)
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
115 self.setWindowTitle(self.tr("Backup Firmware"))
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
116 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
117 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
118 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
119 self.modeComboBox.addItem(text, mode)
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
120 self.setWindowTitle(self.tr("Restore Firmware"))
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
121
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
122 msh = self.minimumSizeHint()
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
123 self.resize(max(self.width(), msh.width()), msh.height())
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
124
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
125 def __updateOkButton(self):
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
126 """
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
127 Private method to update the state of the OK button.
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
128 """
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129 firmwareFile = self.firmwarePicker.text()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
130 enable = bool(self.espComboBox.currentText()) and bool(firmwareFile)
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 if self.__isBackupMode:
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132 enable &= bool(self.sizeComboBox.currentText())
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 else:
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
134 enable &= os.path.exists(firmwareFile)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
135 self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled(enable)
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
136
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
137 @pyqtSlot(str)
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
138 def on_espComboBox_currentTextChanged(self, chip):
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
139 """
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
140 Private slot to handle the selection of a chip type.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
141
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142 @param chip selected chip type
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
143 @type str
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
144 """
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
145 selectedSize = self.sizeComboBox.currentText()
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
146 self.sizeComboBox.clear()
8924
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
147 chipType = self.espComboBox.currentData()
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
148 if chipType and chipType in self.FlashSizes:
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
149 self.sizeComboBox.addItem("")
8924
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
150 for text, data in self.FlashSizes[chipType]:
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
151 self.sizeComboBox.addItem(text, data)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
152
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
153 self.sizeComboBox.setCurrentText(selectedSize)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
154
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
155 self.__updateOkButton()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
156
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
157 @pyqtSlot(str)
10690
fab36645aa7d Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10439
diff changeset
158 def on_sizeComboBox_currentTextChanged(self, _size):
8945
b6be65111565 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8924
diff changeset
159 """
b6be65111565 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8924
diff changeset
160 Private slot handling a change of the selected firmware size.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
161
10690
fab36645aa7d Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10439
diff changeset
162 @param _size selected size text (unused)
8945
b6be65111565 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8924
diff changeset
163 @type str
b6be65111565 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8924
diff changeset
164 """
b6be65111565 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8924
diff changeset
165 self.__updateOkButton()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
166
8945
b6be65111565 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8924
diff changeset
167 @pyqtSlot(str)
10690
fab36645aa7d Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10439
diff changeset
168 def on_firmwarePicker_textChanged(self, _firmware):
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
169 """
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
170 Private slot handling a change of the firmware path.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
171
10690
fab36645aa7d Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10439
diff changeset
172 @param _firmware path to the firmware (unused)
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
173 @type str
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
174 """
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
175 self.__updateOkButton()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
176
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
177 def getData(self):
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
178 """
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
179 Public method to get the entered data.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
180
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
181 @return tuple containing the selected chip type, the firmware size,
8945
b6be65111565 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8924
diff changeset
182 the baud rate or flashing, the flash mode and the path of the
b6be65111565 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8924
diff changeset
183 firmware file
b6be65111565 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8924
diff changeset
184 @rtype tuple of (str, str, str, str, str)
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
185 """
8955
202286fb4574 Fixed a code style issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8945
diff changeset
186 flashSize = (
202286fb4574 Fixed a code style issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8945
diff changeset
187 self.sizeComboBox.currentData()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
188 if self.__isBackupMode
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
189 else self.sizeComboBox.currentText().replace(" ", "")
8955
202286fb4574 Fixed a code style issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8945
diff changeset
190 )
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
191
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
192 return (
8924
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
193 self.espComboBox.currentData(),
8945
b6be65111565 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8924
diff changeset
194 flashSize,
b6be65111565 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8924
diff changeset
195 self.baudRateComboBox.currentText().replace(".", ""),
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
196 self.modeComboBox.currentData(),
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
197 self.firmwarePicker.text(),
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
198 )

eric ide

mercurial