src/eric7/MicroPython/BoardDataDialog.py

Sun, 16 Mar 2025 12:53:12 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 16 Mar 2025 12:53:12 +0100
branch
eric7
changeset 11170
6d6199d668fb
parent 11167
a3f5af773bc7
permissions
-rw-r--r--

Added the Adafruit Feather nRF52840 to the list of known NRF52 boards and changed the list of known CircuitPython boards to be more explicit with respect to Adafruit boards (i.e. VID 0x239A).

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