eric7/MicroPython/EspBackupRestoreFirmwareDialog.py

Mon, 21 Feb 2022 17:40:01 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Mon, 21 Feb 2022 17:40:01 +0100
branch
eric7
changeset 8955
202286fb4574
parent 8945
b6be65111565
permissions
-rw-r--r--

Fixed a code style issue.

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 = [
8945
b6be65111565 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8924
diff changeset
39 ("", ""),
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
40 ("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
41 ("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
42 ("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
43 ("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
44 ]
8924
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
45
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 FlashSizes = {
8924
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
47 "esp32": [
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
48 (" 1 MB", "0x100000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
49 (" 2 MB", "0x200000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
50 (" 4 MB", "0x400000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
51 (" 8 MB", "0x800000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
52 ("16 MB", "0x1000000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
53 ],
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
54 "esp32c3": [
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 (" 1 MB", "0x100000"),
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 (" 2 MB", "0x200000"),
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 (" 4 MB", "0x400000"),
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 (" 8 MB", "0x800000"),
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 ("16 MB", "0x1000000"),
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 ],
8924
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
61 "esp32s2": [
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
62 (" 1 MB", "0x100000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
63 (" 2 MB", "0x200000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
64 (" 4 MB", "0x400000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
65 (" 8 MB", "0x800000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
66 ("16 MB", "0x1000000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
67 ],
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
68 "esp32s3": [
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
69 (" 1 MB", "0x100000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
70 (" 2 MB", "0x200000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
71 (" 4 MB", "0x400000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
72 (" 8 MB", "0x800000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
73 ("16 MB", "0x1000000"),
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
74 ],
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
75 "esp8266": [
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 ("256 KB", "0x40000"),
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 ("512 KB", "0x80000"),
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 (" 1 MB", "0x100000"),
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 (" 2 MB", "0x200000"),
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 (" 4 MB", "0x400000"),
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 (" 8 MB", "0x800000"),
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 ("16 MB", "0x1000000"),
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
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86 def __init__(self, backupMode=True, parent=None):
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87 """
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88 Constructor
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90 @param backupMode flag indicating parameters for a firmware backup are
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
91 requested
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
92 @type bool
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
93 @param parent reference to the parent widget
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
94 @type QWidget
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
95 """
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
96 super().__init__(parent)
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
97 self.setupUi(self)
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
98
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99 self.__isBackupMode = backupMode
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
100
8924
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
101 for text, chip in self.Chips:
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
102 self.espComboBox.addItem(text, chip)
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
103
8945
b6be65111565 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8924
diff changeset
104 self.baudRateComboBox.addItems([
b6be65111565 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8924
diff changeset
105 "74.880", "115.200", "230.400", "460.800", "921.600", "1.500.000"])
b6be65111565 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8924
diff changeset
106 self.baudRateComboBox.setCurrentIndex(3)
b6be65111565 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8924
diff changeset
107
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
108 self.firmwarePicker.setFilters(
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
109 self.tr("Firmware Files (*.img);;All Files (*)"))
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
110 if self.__isBackupMode:
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
111 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
112 EricPathPickerModes.SAVE_FILE_ENSURE_EXTENSION_MODE)
8945
b6be65111565 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8924
diff changeset
113 self.sizeInfoLabel.clear()
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
114 self.modeComboBox.setEnabled(False)
8945
b6be65111565 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8924
diff changeset
115 self.modeInfoLabel.setEnabled(False)
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
116 self.setWindowTitle(self.tr("Backup Firmware"))
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
117 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
118 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
119 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
120 self.modeComboBox.addItem(text, mode)
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
121 self.setWindowTitle(self.tr("Restore Firmware"))
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
122
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
123 msh = self.minimumSizeHint()
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
124 self.resize(max(self.width(), msh.width()), msh.height())
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
125
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
126 def __updateOkButton(self):
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
127 """
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
128 Private method to update the state of the OK button.
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129 """
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
130 firmwareFile = self.firmwarePicker.text()
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 enable = (bool(self.espComboBox.currentText()) and
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132 bool(firmwareFile))
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 if self.__isBackupMode:
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
134 enable &= bool(self.sizeComboBox.currentText())
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135 else:
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
136 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
137 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
138 QDialogButtonBox.StandardButton.Ok).setEnabled(enable)
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
139
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
140 @pyqtSlot(str)
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
141 def on_espComboBox_currentTextChanged(self, chip):
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142 """
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
143 Private slot to handle the selection of a chip type.
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
144
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
145 @param chip selected chip type
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
146 @type str
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
147 """
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
148 selectedSize = self.sizeComboBox.currentText()
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
149 self.sizeComboBox.clear()
8924
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
150 chipType = self.espComboBox.currentData()
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
151 if chipType and chipType in self.FlashSizes:
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
152 self.sizeComboBox.addItem("")
8924
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
153 for text, data in self.FlashSizes[chipType]:
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
154 self.sizeComboBox.addItem(text, data)
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
155
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
156 self.sizeComboBox.setCurrentText(selectedSize)
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
157
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
158 self.__updateOkButton()
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
159
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
160 @pyqtSlot(str)
8945
b6be65111565 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8924
diff changeset
161 def on_sizeComboBox_currentTextChanged(self, size):
b6be65111565 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8924
diff changeset
162 """
b6be65111565 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8924
diff changeset
163 Private slot handling a change of the selected firmware size.
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 @param size selected size text
b6be65111565 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8924
diff changeset
166 @type str
b6be65111565 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8924
diff changeset
167 """
b6be65111565 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8924
diff changeset
168 self.__updateOkButton()
b6be65111565 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8924
diff changeset
169
b6be65111565 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8924
diff changeset
170 @pyqtSlot(str)
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
171 def on_firmwarePicker_textChanged(self, firmware):
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
172 """
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
173 Private slot handling a change of the firmware path.
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
174
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
175 @param firmware path to the firmware
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
176 @type str
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
177 """
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
178 self.__updateOkButton()
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
179
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
180 def getData(self):
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
181 """
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
182 Public method to get the entered data.
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
183
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
184 @return tuple containing the selected chip type, the firmware size,
8945
b6be65111565 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8924
diff changeset
185 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
186 firmware file
b6be65111565 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8924
diff changeset
187 @rtype tuple of (str, str, str, str, str)
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
188 """
8955
202286fb4574 Fixed a code style issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8945
diff changeset
189 flashSize = (
202286fb4574 Fixed a code style issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8945
diff changeset
190 self.sizeComboBox.currentData()
202286fb4574 Fixed a code style issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8945
diff changeset
191 if self.__isBackupMode else
202286fb4574 Fixed a code style issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8945
diff changeset
192 self.sizeComboBox.currentText().replace(" ", "")
202286fb4574 Fixed a code style issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8945
diff changeset
193 )
8945
b6be65111565 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8924
diff changeset
194
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
195 return (
8924
7f2cad9900cf MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
196 self.espComboBox.currentData(),
8945
b6be65111565 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8924
diff changeset
197 flashSize,
b6be65111565 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8924
diff changeset
198 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
199 self.modeComboBox.currentData(),
7352
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
200 self.firmwarePicker.text(),
5f69f55b919f MicroPython:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
201 )

eric ide

mercurial