src/eric7/MicroPython/BoardDataDialog.py

Sat, 26 Apr 2025 12:34:32 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 26 Apr 2025 12:34:32 +0200
branch
eric7
changeset 11240
c48c615c04a3
parent 11167
a3f5af773bc7
permissions
-rw-r--r--

MicroPython
- Added a configuration option to disable the support for the no longer produced Pimoroni Pico Wireless Pack.

8928
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
11090
f5f5f5803935 Updated copyright for 2025.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10621
diff changeset
3 # Copyright (c) 2022 - 2025 Detlev Offenbach <detlev@die-offenbachs.de>
8928
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a dialog to show information about a connected board.
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 import contextlib
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11
9910
3716e88ade69 Enhanced the Board Data dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9826
diff changeset
12 from PyQt6.QtCore import QLocale, Qt
3716e88ade69 Enhanced the Board Data dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9826
diff changeset
13 from PyQt6.QtWidgets import QDialog, QDialogButtonBox, QTreeWidgetItem
8928
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15 from .Ui_BoardDataDialog import Ui_BoardDataDialog
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 class BoardDataDialog(QDialog, Ui_BoardDataDialog):
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 """
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 Class implementing a dialog to show information about a connected board.
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
22
8928
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 def __init__(self, data, parent=None):
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 """
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 Constructor
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
26
8928
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 @param data dictionary containing the data to be shown
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 @type dict
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 @param parent reference to the parent widget (defaults to None)
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 @type QWidget (optional)
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 """
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 super().__init__(parent)
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 self.setupUi(self)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
34
8928
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 loc = QLocale()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
36
8928
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 self.dataTree.setColumnCount(2)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
38
8928
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 header = self.__createHeader(self.tr("General"))
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
40 QTreeWidgetItem(
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
41 header,
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
42 [
11167
a3f5af773bc7 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
43 self.tr("Board ID"),
a3f5af773bc7 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
44 data["mc_id"] if data["mc_id"] else self.tr("unknown"),
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
45 ],
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
46 )
11167
a3f5af773bc7 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
47 if data["mc_frequency_mhz"] is not None:
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
48 QTreeWidgetItem(
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
49 header,
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
50 [
11167
a3f5af773bc7 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
51 self.tr("Board Frequency"),
a3f5af773bc7 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
52 self.tr("{0} MHz").format(
a3f5af773bc7 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
53 loc.toString(float(data["mc_frequency_mhz"]), "f", 0)
a3f5af773bc7 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
54 ),
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
55 ],
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
56 )
11167
a3f5af773bc7 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
57 with contextlib.suppress(KeyError):
a3f5af773bc7 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
58 if data["mc_temp_c"] is not None:
a3f5af773bc7 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
59 QTreeWidgetItem(
a3f5af773bc7 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
60 header,
a3f5af773bc7 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
61 [
a3f5af773bc7 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
62 self.tr("Board Temperature"),
a3f5af773bc7 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
63 self.tr("{0} °C").format(
a3f5af773bc7 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
64 loc.toString(float(data["mc_temp_c"]), "f", 1)
a3f5af773bc7 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
65 ),
a3f5af773bc7 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
66 ],
a3f5af773bc7 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
67 )
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
68
8928
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 header = self.__createHeader(self.tr("Python"))
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
70 QTreeWidgetItem(header, [self.tr("Python Version"), data["py_version"]])
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
71 QTreeWidgetItem(header, [self.tr("Platform"), data["py_platform"]])
9772
06ef28082c4d Changed the RP2040 related code of the MicroPython package to show the version info for a MicroPython variant (like Pimoroni Pico) if such is available (e.g. Pimoroni Pico 1.19.14 or newer).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9749
diff changeset
72
06ef28082c4d Changed the RP2040 related code of the MicroPython package to show the version info for a MicroPython variant (like Pimoroni Pico) if such is available (e.g. Pimoroni Pico 1.19.14 or newer).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9749
diff changeset
73 # µPython name
8928
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 if data["mpy_name"] == "micropython":
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 mpyName = "MicroPython"
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 elif data["mpy_name"] == "circuitpython":
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 mpyName = "CircuitPython"
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 elif data["mpy_name"] == "unknown":
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 mpyName = self.tr("unknown")
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 else:
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 mpyName = data["name"]
9772
06ef28082c4d Changed the RP2040 related code of the MicroPython package to show the version info for a MicroPython variant (like Pimoroni Pico) if such is available (e.g. Pimoroni Pico 1.19.14 or newer).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9749
diff changeset
82
06ef28082c4d Changed the RP2040 related code of the MicroPython package to show the version info for a MicroPython variant (like Pimoroni Pico) if such is available (e.g. Pimoroni Pico 1.19.14 or newer).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9749
diff changeset
83 # version
06ef28082c4d Changed the RP2040 related code of the MicroPython package to show the version info for a MicroPython variant (like Pimoroni Pico) if such is available (e.g. Pimoroni Pico 1.19.14 or newer).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9749
diff changeset
84 if data["mpy_variant_version"]:
06ef28082c4d Changed the RP2040 related code of the MicroPython package to show the version info for a MicroPython variant (like Pimoroni Pico) if such is available (e.g. Pimoroni Pico 1.19.14 or newer).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9749
diff changeset
85 mpyVersion = data["mpy_variant_version"]
06ef28082c4d Changed the RP2040 related code of the MicroPython package to show the version info for a MicroPython variant (like Pimoroni Pico) if such is available (e.g. Pimoroni Pico 1.19.14 or newer).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9749
diff changeset
86 elif data["mpy_version"] == "unknown":
06ef28082c4d Changed the RP2040 related code of the MicroPython package to show the version info for a MicroPython variant (like Pimoroni Pico) if such is available (e.g. Pimoroni Pico 1.19.14 or newer).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9749
diff changeset
87 mpyVersion = self.tr("unknown")
06ef28082c4d Changed the RP2040 related code of the MicroPython package to show the version info for a MicroPython variant (like Pimoroni Pico) if such is available (e.g. Pimoroni Pico 1.19.14 or newer).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9749
diff changeset
88 else:
06ef28082c4d Changed the RP2040 related code of the MicroPython package to show the version info for a MicroPython variant (like Pimoroni Pico) if such is available (e.g. Pimoroni Pico 1.19.14 or newer).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9749
diff changeset
89 mpyVersion = data["mpy_version"]
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
90 QTreeWidgetItem(
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
91 header,
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
92 [
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
93 self.tr("Implementation"),
9747
b7976868d5b0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
94 self.tr("{0} V. {1}{2}").format(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
95 mpyName,
9772
06ef28082c4d Changed the RP2040 related code of the MicroPython package to show the version info for a MicroPython variant (like Pimoroni Pico) if such is available (e.g. Pimoroni Pico 1.19.14 or newer).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9749
diff changeset
96 mpyVersion,
10621
f5631f40c4d9 Corrected some code formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10439
diff changeset
97 (
f5631f40c4d9 Corrected some code formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10439
diff changeset
98 self.tr(" ({0})").format(data["mpy_variant"])
f5631f40c4d9 Corrected some code formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10439
diff changeset
99 if data["mpy_variant"]
f5631f40c4d9 Corrected some code formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10439
diff changeset
100 else ""
f5631f40c4d9 Corrected some code formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10439
diff changeset
101 ),
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
102 ),
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
103 ],
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
104 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
105
8928
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
106 header = self.__createHeader(self.tr("System"))
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
107 QTreeWidgetItem(header, [self.tr("System Name"), data["sysname"]])
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
108 QTreeWidgetItem(header, [self.tr("Node Name"), data["nodename"]])
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
109 QTreeWidgetItem(header, [self.tr("Release"), data["release"]])
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
110 QTreeWidgetItem(header, [self.tr("Version"), data["version"]])
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
111 QTreeWidgetItem(header, [self.tr("Machine"), data["machine"]])
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
112
8928
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
113 header = self.__createHeader(self.tr("Memory"))
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
114 QTreeWidgetItem(
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
115 header,
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
116 [
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
117 self.tr("total"),
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
118 self.tr("{0} KBytes").format(
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
119 loc.toString(data["mem_total_kb"], "f", 2)
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
120 ),
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
121 ],
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
122 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
123 QTreeWidgetItem(
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
124 header,
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
125 [
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
126 self.tr("used"),
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
127 self.tr("{0} KBytes ({1}%)").format(
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
128 loc.toString(data["mem_used_kb"], "f", 2),
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
129 loc.toString(data["mem_used_pc"], "f", 2),
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
130 ),
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
131 ],
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
132 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
133 QTreeWidgetItem(
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
134 header,
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
135 [
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
136 self.tr("free"),
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
137 self.tr("{0} KBytes ({1}%)").format(
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
138 loc.toString(data["mem_free_kb"], "f", 2),
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
139 loc.toString(data["mem_free_pc"], "f", 2),
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
140 ),
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
141 ],
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
142 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
143
9959
8ca27cc20953 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9910
diff changeset
144 header = self.__createHeader(self.tr("Flash Memory"))
9749
5d409223cf3f MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9747
diff changeset
145 if data["flash_info_available"]:
5d409223cf3f MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9747
diff changeset
146 QTreeWidgetItem(
5d409223cf3f MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9747
diff changeset
147 header,
5d409223cf3f MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9747
diff changeset
148 [
5d409223cf3f MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9747
diff changeset
149 self.tr("total"),
5d409223cf3f MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9747
diff changeset
150 self.tr("{0} KBytes").format(
5d409223cf3f MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9747
diff changeset
151 loc.toString(data["flash_total_kb"], "f", 0)
5d409223cf3f MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9747
diff changeset
152 ),
5d409223cf3f MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9747
diff changeset
153 ],
5d409223cf3f MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9747
diff changeset
154 )
5d409223cf3f MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9747
diff changeset
155 QTreeWidgetItem(
5d409223cf3f MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9747
diff changeset
156 header,
5d409223cf3f MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9747
diff changeset
157 [
5d409223cf3f MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9747
diff changeset
158 self.tr("used"),
5d409223cf3f MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9747
diff changeset
159 self.tr("{0} KBytes ({1}%)").format(
5d409223cf3f MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9747
diff changeset
160 loc.toString(data["flash_used_kb"], "f", 0),
5d409223cf3f MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9747
diff changeset
161 loc.toString(data["flash_used_pc"], "f", 2),
5d409223cf3f MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9747
diff changeset
162 ),
5d409223cf3f MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9747
diff changeset
163 ],
5d409223cf3f MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9747
diff changeset
164 )
5d409223cf3f MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9747
diff changeset
165 QTreeWidgetItem(
5d409223cf3f MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9747
diff changeset
166 header,
5d409223cf3f MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9747
diff changeset
167 [
5d409223cf3f MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9747
diff changeset
168 self.tr("free"),
5d409223cf3f MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9747
diff changeset
169 self.tr("{0} KBytes ({1}%)").format(
5d409223cf3f MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9747
diff changeset
170 loc.toString(data["flash_free_kb"], "f", 0),
5d409223cf3f MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9747
diff changeset
171 loc.toString(data["flash_free_pc"], "f", 2),
5d409223cf3f MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9747
diff changeset
172 ),
5d409223cf3f MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9747
diff changeset
173 ],
5d409223cf3f MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9747
diff changeset
174 )
9959
8ca27cc20953 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9910
diff changeset
175 else:
8ca27cc20953 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9910
diff changeset
176 itm = QTreeWidgetItem(header, [self.tr("No flash file system available")])
8ca27cc20953 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9910
diff changeset
177 itm.setFirstColumnSpanned(True)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
178
10034
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
179 header = self.__createHeader(self.tr("Features"))
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
180 QTreeWidgetItem(
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
181 header,
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
182 [
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
183 self.tr("Bluetooth"),
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
184 self.tr("available") if data["bluetooth"] else self.tr("not available"),
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
185 ],
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
186 )
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
187 QTreeWidgetItem(
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
188 header,
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
189 [
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
190 self.tr("WiFi"),
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
191 self.tr("available") if data["wifi"] else self.tr("not available"),
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
192 ],
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
193 )
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
194 QTreeWidgetItem(
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
195 header,
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
196 [
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
197 self.tr("Ethernet"),
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
198 self.tr("available") if data["ethernet"] else self.tr("not available"),
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
199 ],
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
200 )
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
201 QTreeWidgetItem(
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
202 header,
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
203 [
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
204 self.tr("Network Time"),
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
205 self.tr("available") if data["ntp"] else self.tr("not available"),
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
206 ],
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
207 )
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
208 if data["mip"]:
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
209 installer = "mip"
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
210 elif data["upip"]:
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
211 installer = "upip"
8928
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
212 else:
10034
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
213 installer = ""
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
214 if installer:
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
215 QTreeWidgetItem(header, [self.tr("Package Installer"), installer])
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
216 QTreeWidgetItem(
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
217 header,
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
218 [
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
219 self.tr("µLab"),
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
220 data["ulab"] if data["ulab"] is not None else self.tr("not available"),
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
221 ],
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
222 )
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
223
8928
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
224 for col in range(self.dataTree.columnCount()):
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
225 self.dataTree.resizeColumnToContents(col)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
226
9910
3716e88ade69 Enhanced the Board Data dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9826
diff changeset
227 self.buttonBox.button(QDialogButtonBox.StandardButton.Close).setDefault(True)
3716e88ade69 Enhanced the Board Data dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9826
diff changeset
228 self.buttonBox.setFocus(Qt.FocusReason.OtherFocusReason)
3716e88ade69 Enhanced the Board Data dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9826
diff changeset
229
10034
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
230 def __createHeader(self, headerText, parent=None):
8928
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
231 """
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
232 Private method to create a header item.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
233
8928
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
234 @param headerText text for the header item
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
235 @type str
10034
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
236 @param parent reference to the parent item (defaults to None)
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
237 @type QTreeWidgetItem (optional)
8928
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
238 @return reference to the created header item
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
239 @rtype QTreeWidgetItem
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
240 """
10034
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
241 if parent is None:
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
242 parent = self.dataTree
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
243
bf2d02317ba6 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9959
diff changeset
244 headerItem = QTreeWidgetItem(parent, [headerText])
8928
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
245 headerItem.setExpanded(True)
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
246 headerItem.setFirstColumnSpanned(True)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
247
8928
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
248 font = headerItem.font(0)
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
249 font.setBold(True)
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
250 headerItem.setFont(0, font)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
251
8928
d856023fbeb0 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
252 return headerItem

eric ide

mercurial