Sun, 09 Mar 2025 14:16:35 +0100
MicroPython Interface
- Changed the WiFi and Bluetooth status dialogs to non-modal windows with a 'Refresh' button.
9776
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
11090
f5f5f5803935
Updated copyright for 2025.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11005
diff
changeset
|
3 | # Copyright (c) 2023 - 2025 Detlev Offenbach <detlev@die-offenbachs.de> |
9776
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing the WiFi related functionality. |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | from PyQt6.QtCore import QObject, pyqtSlot |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | from PyQt6.QtWidgets import QDialog, QMenu |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | |
10806
2f6df822e3b9
Moved some functions to the EricUtilities package for consistency and adapted the code base accordingly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
13 | from eric7 import EricUtilities |
9787
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
14 | from eric7.EricGui.EricOverrideCursor import EricOverrideCursor |
9776
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
15 | from eric7.EricWidgets import EricMessageBox |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | class WifiController(QObject): |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | """ |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | Class implementing the WiFi related functionality. |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | """ |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | def __init__(self, microPython, parent=None): |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | """ |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | Constructor |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | @param microPython reference to the MicroPython widget |
11005
b918c6c2736b
MicroPython Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10806
diff
changeset
|
28 | @type MicroPythonWidget |
9776
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | @param parent reference to the parent object (defaults to None) |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | @type QObject (optional) |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | """ |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | super().__init__(parent) |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | self.__mpy = microPython |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | |
11166
fd914f897dcf
MicroPython Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11090
diff
changeset
|
36 | self.__wifiStatusDialog = None |
fd914f897dcf
MicroPython Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11090
diff
changeset
|
37 | |
9776
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | def createMenu(self, menu): |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | """ |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | Public method to create the WiFi submenu. |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | @param menu reference to the parent menu |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | @type QMenu |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | @return reference to the created menu |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | @rtype QMenu |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | """ |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | wifiMenu = QMenu(self.tr("WiFi Functions"), menu) |
9779
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
48 | wifiMenu.setTearOffEnabled(True) |
9776
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | wifiMenu.addAction(self.tr("Show WiFi Status"), self.__showWifiStatus) |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | wifiMenu.addSeparator() |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | wifiMenu.addAction(self.tr("Connect WiFi"), self.__connectWifi) |
9779
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
52 | wifiMenu.addAction(self.tr("Check Internet Connection"), self.__checkInternet) |
9776
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | wifiMenu.addAction(self.tr("Disconnect WiFi"), self.__disconnectWifi) |
9779
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
54 | wifiMenu.addSeparator() |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
55 | wifiMenu.addAction(self.tr("Scan Networks"), self.__scanNetwork) |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
56 | wifiMenu.addSeparator() |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
57 | wifiMenu.addAction(self.tr("Write WiFi Credentials"), self.__writeCredentials) |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
58 | wifiMenu.addAction(self.tr("Remove WiFi Credentials"), self.__removeCredentials) |
10022 | 59 | if not self.__mpy.getDevice().hasCircuitPython(): |
60 | wifiMenu.addAction(self.tr("Enable WebREPL"), self.__enableWebrepl) | |
61 | wifiMenu.addAction(self.tr("Disable WebREPL"), self.__disableWebrepl) | |
9779
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
62 | wifiMenu.addSeparator() |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
63 | wifiMenu.addAction(self.tr("Start WiFi Access Point"), self.__startAccessPoint) |
9781
3112f77f722b
Continued implementing WiFi functionality for RP2040 based devices (internet connection, network scan).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9779
diff
changeset
|
64 | wifiMenu.addAction( |
9797 | 65 | self.tr("Start WiFi Access Point with IP"), self.__startAccessPointIP |
66 | ) | |
67 | wifiMenu.addAction( | |
9781
3112f77f722b
Continued implementing WiFi functionality for RP2040 based devices (internet connection, network scan).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9779
diff
changeset
|
68 | self.tr("Show Connected Clients"), self.__showConnectedClients |
3112f77f722b
Continued implementing WiFi functionality for RP2040 based devices (internet connection, network scan).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9779
diff
changeset
|
69 | ) |
9779
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
70 | wifiMenu.addAction(self.tr("Stop WiFi Access Point"), self.__stopAccessPoint) |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
71 | wifiMenu.addSeparator() |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
72 | wifiMenu.addAction( |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
73 | self.tr("Deactivate Client Interface"), |
9781
3112f77f722b
Continued implementing WiFi functionality for RP2040 based devices (internet connection, network scan).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9779
diff
changeset
|
74 | lambda: self.__deactivateInterface("STA"), |
9779
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
75 | ) |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
76 | wifiMenu.addAction( |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
77 | self.tr("Deactivate Access Point Interface"), |
9781
3112f77f722b
Continued implementing WiFi functionality for RP2040 based devices (internet connection, network scan).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9779
diff
changeset
|
78 | lambda: self.__deactivateInterface("AP"), |
9779
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
79 | ) |
9875
b4512fbcf567
Modified the MicroPython WiFi menu to give a hint, why NTP time synchronization is not available.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9872
diff
changeset
|
80 | wifiMenu.addSeparator() |
b4512fbcf567
Modified the MicroPython WiFi menu to give a hint, why NTP time synchronization is not available.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9872
diff
changeset
|
81 | wifiMenu.addAction(self.tr("Set Network Time"), self.__setNetworkTime) |
9868 | 82 | |
9776
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
83 | # add device specific entries (if there are any) |
9779
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
84 | self.__mpy.getDevice().addDeviceWifiEntries(wifiMenu) |
9776
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
85 | |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
86 | return wifiMenu |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
87 | |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
88 | @pyqtSlot() |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
89 | def __showWifiStatus(self): |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
90 | """ |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
91 | Private slot to show a dialog with the WiFi status of the current device. |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
92 | """ |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
93 | from .WifiStatusDialog import WifiStatusDialog |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
94 | |
11166
fd914f897dcf
MicroPython Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11090
diff
changeset
|
95 | if self.__wifiStatusDialog is not None: |
fd914f897dcf
MicroPython Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11090
diff
changeset
|
96 | self.__wifiStatusDialog.deleteLater() |
fd914f897dcf
MicroPython Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11090
diff
changeset
|
97 | self.__wifiStatusDialog = None |
9776
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
98 | |
11166
fd914f897dcf
MicroPython Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11090
diff
changeset
|
99 | self.__wifiStatusDialog = WifiStatusDialog( |
fd914f897dcf
MicroPython Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11090
diff
changeset
|
100 | microPython=self.__mpy, parent=self.__mpy |
fd914f897dcf
MicroPython Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11090
diff
changeset
|
101 | ) |
fd914f897dcf
MicroPython Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11090
diff
changeset
|
102 | self.__wifiStatusDialog.show() |
9776
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
103 | |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
104 | @pyqtSlot() |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
105 | def __connectWifi(self): |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
106 | """ |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
107 | Private slot to connect the current device to a WiFi network. |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
108 | """ |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
109 | from .WifiConnectionDialog import WifiConnectionDialog |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
110 | |
11005
b918c6c2736b
MicroPython Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10806
diff
changeset
|
111 | dlg = WifiConnectionDialog(parent=self.__mpy) |
9776
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
112 | if dlg.exec() == QDialog.DialogCode.Accepted: |
10153 | 113 | ssid, password, hostname = dlg.getConnectionParameters() |
114 | success, error = self.__mpy.getDevice().connectWifi( | |
115 | ssid, password, hostname | |
116 | ) | |
9776
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
117 | if success: |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
118 | EricMessageBox.information( |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
119 | None, |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
120 | self.tr("Connect WiFi"), |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
121 | self.tr( |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
122 | "<p>The device was connected to <b>{0}</b> successfully.</p>" |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
123 | ).format(ssid), |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
124 | ) |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
125 | else: |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
126 | EricMessageBox.critical( |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
127 | None, |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
128 | self.tr("Connect WiFi"), |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
129 | self.tr( |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
130 | "<p>The device could not connect to <b>{0}</b>.</p>" |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
131 | "<p>Reason: {1}</p>" |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
132 | ).format(ssid, error if error else self.tr("unknown")), |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
133 | ) |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
134 | |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
135 | @pyqtSlot() |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
136 | def __disconnectWifi(self): |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
137 | """ |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
138 | Private slot to disconnect the current device from the WiFi network. |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
139 | """ |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
140 | success, error = self.__mpy.getDevice().disconnectWifi() |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
141 | if success: |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
142 | EricMessageBox.information( |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
143 | None, |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
144 | self.tr("Disconnect WiFi"), |
9781
3112f77f722b
Continued implementing WiFi functionality for RP2040 based devices (internet connection, network scan).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9779
diff
changeset
|
145 | self.tr("<p>The device was disconnected from the WiFi network.</p>"), |
9776
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
146 | ) |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
147 | else: |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
148 | EricMessageBox.critical( |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
149 | None, |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
150 | self.tr("Disconnect WiFi"), |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
151 | self.tr( |
9781
3112f77f722b
Continued implementing WiFi functionality for RP2040 based devices (internet connection, network scan).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9779
diff
changeset
|
152 | "<p>The device could not be disconnected.</p><p>Reason: {0}</p>" |
9776
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
153 | ).format(error if error else self.tr("unknown")), |
210bf87ae5c7
Continued implementing WiFi functionality for RP2040 based devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
154 | ) |
9779
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
155 | |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
156 | @pyqtSlot() |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
157 | def __checkInternet(self): |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
158 | """ |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
159 | Private slot to check the availability of an internet connection. |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
160 | """ |
9781
3112f77f722b
Continued implementing WiFi functionality for RP2040 based devices (internet connection, network scan).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9779
diff
changeset
|
161 | success, error = self.__mpy.getDevice().checkInternet() |
3112f77f722b
Continued implementing WiFi functionality for RP2040 based devices (internet connection, network scan).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9779
diff
changeset
|
162 | if not error: |
3112f77f722b
Continued implementing WiFi functionality for RP2040 based devices (internet connection, network scan).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9779
diff
changeset
|
163 | msg = ( |
3112f77f722b
Continued implementing WiFi functionality for RP2040 based devices (internet connection, network scan).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9779
diff
changeset
|
164 | self.tr("<p>The internet connection is <b>available</b>.</p>") |
3112f77f722b
Continued implementing WiFi functionality for RP2040 based devices (internet connection, network scan).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9779
diff
changeset
|
165 | if success |
3112f77f722b
Continued implementing WiFi functionality for RP2040 based devices (internet connection, network scan).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9779
diff
changeset
|
166 | else self.tr("<p>The internet connection is <b>not available</b>.</p>") |
3112f77f722b
Continued implementing WiFi functionality for RP2040 based devices (internet connection, network scan).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9779
diff
changeset
|
167 | ) |
3112f77f722b
Continued implementing WiFi functionality for RP2040 based devices (internet connection, network scan).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9779
diff
changeset
|
168 | EricMessageBox.information( |
3112f77f722b
Continued implementing WiFi functionality for RP2040 based devices (internet connection, network scan).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9779
diff
changeset
|
169 | None, |
3112f77f722b
Continued implementing WiFi functionality for RP2040 based devices (internet connection, network scan).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9779
diff
changeset
|
170 | self.tr("Check Internet Connection"), |
3112f77f722b
Continued implementing WiFi functionality for RP2040 based devices (internet connection, network scan).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9779
diff
changeset
|
171 | msg, |
3112f77f722b
Continued implementing WiFi functionality for RP2040 based devices (internet connection, network scan).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9779
diff
changeset
|
172 | ) |
3112f77f722b
Continued implementing WiFi functionality for RP2040 based devices (internet connection, network scan).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9779
diff
changeset
|
173 | else: |
3112f77f722b
Continued implementing WiFi functionality for RP2040 based devices (internet connection, network scan).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9779
diff
changeset
|
174 | EricMessageBox.critical( |
3112f77f722b
Continued implementing WiFi functionality for RP2040 based devices (internet connection, network scan).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9779
diff
changeset
|
175 | None, |
3112f77f722b
Continued implementing WiFi functionality for RP2040 based devices (internet connection, network scan).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9779
diff
changeset
|
176 | self.tr("Check Internet Connection"), |
3112f77f722b
Continued implementing WiFi functionality for RP2040 based devices (internet connection, network scan).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9779
diff
changeset
|
177 | self.tr( |
3112f77f722b
Continued implementing WiFi functionality for RP2040 based devices (internet connection, network scan).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9779
diff
changeset
|
178 | "<p>The internet is not available.</p><p>Reason: {0}</p>" |
3112f77f722b
Continued implementing WiFi functionality for RP2040 based devices (internet connection, network scan).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9779
diff
changeset
|
179 | ).format(error if error else self.tr("unknown")), |
3112f77f722b
Continued implementing WiFi functionality for RP2040 based devices (internet connection, network scan).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9779
diff
changeset
|
180 | ) |
9779
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
181 | |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
182 | @pyqtSlot() |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
183 | def __scanNetwork(self): |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
184 | """ |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
185 | Private slot to scan for visible WiFi networks. |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
186 | """ |
9781
3112f77f722b
Continued implementing WiFi functionality for RP2040 based devices (internet connection, network scan).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9779
diff
changeset
|
187 | from .WifiNetworksWindow import WifiNetworksWindow |
3112f77f722b
Continued implementing WiFi functionality for RP2040 based devices (internet connection, network scan).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9779
diff
changeset
|
188 | |
3112f77f722b
Continued implementing WiFi functionality for RP2040 based devices (internet connection, network scan).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9779
diff
changeset
|
189 | win = WifiNetworksWindow(self.__mpy.getDevice(), self.__mpy) |
3112f77f722b
Continued implementing WiFi functionality for RP2040 based devices (internet connection, network scan).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9779
diff
changeset
|
190 | win.show() |
3112f77f722b
Continued implementing WiFi functionality for RP2040 based devices (internet connection, network scan).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9779
diff
changeset
|
191 | win.scanNetworks() |
9779
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
192 | |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
193 | @pyqtSlot() |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
194 | def __writeCredentials(self): |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
195 | """ |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
196 | Private slot to save the WiFi login credentials to the connected device. |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
197 | |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
198 | This will also modify the boot script to perform an automatic WiFi connection. |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
199 | """ |
9787
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
200 | from .WifiConnectionDialog import WifiConnectionDialog |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
201 | |
11005
b918c6c2736b
MicroPython Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10806
diff
changeset
|
202 | dlg = WifiConnectionDialog( |
b918c6c2736b
MicroPython Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10806
diff
changeset
|
203 | withCountry=self.__mpy.getDevice().hasWifiCountry(), |
b918c6c2736b
MicroPython Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10806
diff
changeset
|
204 | parent=self.__mpy, |
b918c6c2736b
MicroPython Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10806
diff
changeset
|
205 | ) |
9787
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
206 | if dlg.exec() == QDialog.DialogCode.Accepted: |
10153 | 207 | ssid, password, hostname = dlg.getConnectionParameters() |
208 | country = dlg.getCountryCode() | |
209 | success, error = self.__mpy.getDevice().writeCredentials( | |
210 | ssid, password, hostname, country | |
211 | ) | |
9787
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
212 | if success: |
9886
1a4f05b0dc00
Modified feedback message to reflect CircuitPython.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9878
diff
changeset
|
213 | if self.__mpy.getDevice().hasCircuitPython(): |
1a4f05b0dc00
Modified feedback message to reflect CircuitPython.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9878
diff
changeset
|
214 | # CircuitPython will reset for the REPL, so no auto-connect |
1a4f05b0dc00
Modified feedback message to reflect CircuitPython.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9878
diff
changeset
|
215 | # available. |
10806
2f6df822e3b9
Moved some functions to the EricUtilities package for consistency and adapted the code base accordingly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
216 | if EricUtilities.versionToTuple( |
9886
1a4f05b0dc00
Modified feedback message to reflect CircuitPython.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9878
diff
changeset
|
217 | self.__mpy.getDevice().getDeviceData("release") |
1a4f05b0dc00
Modified feedback message to reflect CircuitPython.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9878
diff
changeset
|
218 | ) >= (8, 0, 0): |
1a4f05b0dc00
Modified feedback message to reflect CircuitPython.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9878
diff
changeset
|
219 | EricMessageBox.information( |
1a4f05b0dc00
Modified feedback message to reflect CircuitPython.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9878
diff
changeset
|
220 | None, |
1a4f05b0dc00
Modified feedback message to reflect CircuitPython.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9878
diff
changeset
|
221 | self.tr("Write WiFi Credentials"), |
1a4f05b0dc00
Modified feedback message to reflect CircuitPython.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9878
diff
changeset
|
222 | self.tr( |
1a4f05b0dc00
Modified feedback message to reflect CircuitPython.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9878
diff
changeset
|
223 | "<p>The WiFi credentials were saved on the device. The" |
1a4f05b0dc00
Modified feedback message to reflect CircuitPython.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9878
diff
changeset
|
224 | " device will connect to the WiFi network at boot time." |
1a4f05b0dc00
Modified feedback message to reflect CircuitPython.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9878
diff
changeset
|
225 | "</p>" |
1a4f05b0dc00
Modified feedback message to reflect CircuitPython.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9878
diff
changeset
|
226 | ), |
1a4f05b0dc00
Modified feedback message to reflect CircuitPython.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9878
diff
changeset
|
227 | ) |
1a4f05b0dc00
Modified feedback message to reflect CircuitPython.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9878
diff
changeset
|
228 | else: |
1a4f05b0dc00
Modified feedback message to reflect CircuitPython.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9878
diff
changeset
|
229 | EricMessageBox.information( |
1a4f05b0dc00
Modified feedback message to reflect CircuitPython.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9878
diff
changeset
|
230 | None, |
1a4f05b0dc00
Modified feedback message to reflect CircuitPython.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9878
diff
changeset
|
231 | self.tr("Write WiFi Credentials"), |
1a4f05b0dc00
Modified feedback message to reflect CircuitPython.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9878
diff
changeset
|
232 | self.tr( |
1a4f05b0dc00
Modified feedback message to reflect CircuitPython.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9878
diff
changeset
|
233 | "<p>The WiFi credentials and a connect script were" |
1a4f05b0dc00
Modified feedback message to reflect CircuitPython.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9878
diff
changeset
|
234 | " saved on the device. Use the script by simply" |
1a4f05b0dc00
Modified feedback message to reflect CircuitPython.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9878
diff
changeset
|
235 | " importing it.</p>" |
1a4f05b0dc00
Modified feedback message to reflect CircuitPython.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9878
diff
changeset
|
236 | ), |
1a4f05b0dc00
Modified feedback message to reflect CircuitPython.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9878
diff
changeset
|
237 | ) |
1a4f05b0dc00
Modified feedback message to reflect CircuitPython.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9878
diff
changeset
|
238 | else: |
1a4f05b0dc00
Modified feedback message to reflect CircuitPython.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9878
diff
changeset
|
239 | EricMessageBox.information( |
1a4f05b0dc00
Modified feedback message to reflect CircuitPython.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9878
diff
changeset
|
240 | None, |
1a4f05b0dc00
Modified feedback message to reflect CircuitPython.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9878
diff
changeset
|
241 | self.tr("Write WiFi Credentials"), |
1a4f05b0dc00
Modified feedback message to reflect CircuitPython.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9878
diff
changeset
|
242 | self.tr( |
1a4f05b0dc00
Modified feedback message to reflect CircuitPython.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9878
diff
changeset
|
243 | "<p>The WiFi credentials were saved on the device. The" |
1a4f05b0dc00
Modified feedback message to reflect CircuitPython.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9878
diff
changeset
|
244 | " device will connect to the WiFi network at boot time.</p>" |
1a4f05b0dc00
Modified feedback message to reflect CircuitPython.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9878
diff
changeset
|
245 | ), |
1a4f05b0dc00
Modified feedback message to reflect CircuitPython.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9878
diff
changeset
|
246 | ) |
9787
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
247 | else: |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
248 | EricMessageBox.critical( |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
249 | None, |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
250 | self.tr("Write WiFi Credentials"), |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
251 | self.tr( |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
252 | "<p>The WiFi credentials could not be saved on the device.</p>" |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
253 | "<p>Reason: {0}</p>" |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
254 | ).format(error if error else self.tr("unknown")), |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
255 | ) |
9779
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
256 | |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
257 | @pyqtSlot() |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
258 | def __removeCredentials(self): |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
259 | """ |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
260 | Private slot to remove the saved WiFi credentials from the connected device. |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
261 | |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
262 | This will not remove the auto-connect part of the boot script. This needs to be |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
263 | done manually if desired. |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
264 | """ |
9787
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
265 | ok = EricMessageBox.yesNo( |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
266 | None, |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
267 | self.tr("Remove WiFi Credentials"), |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
268 | self.tr( |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
269 | "Shall the saved WiFi credentials really be removed from the connected" |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
270 | " device?" |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
271 | ), |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
272 | ) |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
273 | if ok: |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
274 | success, error = self.__mpy.getDevice().removeCredentials() |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
275 | if success: |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
276 | EricMessageBox.information( |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
277 | None, |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
278 | self.tr("Remove WiFi Credentials"), |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
279 | self.tr( |
9794 | 280 | "<p>The WiFi credentials were removed from the device. The" |
281 | " device will not connect to the WiFi network at boot time" | |
282 | " anymore.</p>" | |
9789
d8e0ab86ddca
Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9787
diff
changeset
|
283 | ), |
9787
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
284 | ) |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
285 | else: |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
286 | EricMessageBox.critical( |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
287 | None, |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
288 | self.tr("Remove WiFi Credentials"), |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
289 | self.tr( |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
290 | "<p>The WiFi credentials could not be removed from the device." |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
291 | "</p><p>Reason: {0}</p>" |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
292 | ).format(error if error else self.tr("unknown")), |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
293 | ) |
9779
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
294 | |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
295 | @pyqtSlot() |
9797 | 296 | def __startAccessPoint(self, withIP=False): |
9779
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
297 | """ |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
298 | Private slot to start the Access Point interface of the connected device. |
9797 | 299 | |
300 | @param withIP flag indicating to start the access point with an IP configuration | |
301 | @type bool | |
9779
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
302 | """ |
9787
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
303 | from .WifiApConfigDialog import WifiApConfigDialog |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
304 | |
11005
b918c6c2736b
MicroPython Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10806
diff
changeset
|
305 | dlg = WifiApConfigDialog(withIP=withIP, parent=self.__mpy) |
9787
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
306 | if dlg.exec() == QDialog.DialogCode.Accepted: |
10153 | 307 | ssid, password, security, hostname, ifconfig = dlg.getApConfig() |
9787
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
308 | |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
309 | ok, err = self.__mpy.getDevice().startAccessPoint( |
9797 | 310 | ssid, |
311 | security=security, | |
312 | password=password, | |
10153 | 313 | hostname=hostname, |
9797 | 314 | ifconfig=ifconfig if withIP else None, |
9787
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
315 | ) |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
316 | if ok: |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
317 | EricMessageBox.information( |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
318 | None, |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
319 | self.tr("Start WiFi Access Point"), |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
320 | self.tr( |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
321 | "The WiFi Access Point interface was started successfully." |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
322 | ), |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
323 | ) |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
324 | else: |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
325 | msg = self.tr("<p>The WiFi Access Point could not be started.</p>") |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
326 | if err: |
9872
6b8aa1c50c6d
Updated translations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9870
diff
changeset
|
327 | msg += self.tr("<p>Reason: {0}</p>").format(err) |
9787
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
328 | EricMessageBox.critical( |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
329 | None, |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
330 | self.tr("Start WiFi Access Point"), |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
331 | msg, |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
332 | ) |
9779
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
333 | |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
334 | @pyqtSlot() |
9797 | 335 | def __startAccessPointIP(self): |
336 | """ | |
337 | Private slot to start the Access Point interface of the connected device | |
338 | with given IP parameters. | |
339 | """ | |
340 | self.__startAccessPoint(withIP=True) | |
341 | ||
342 | @pyqtSlot() | |
9779
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
343 | def __stopAccessPoint(self): |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
344 | """ |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
345 | Private slot to stop the Access Point interface of the connected device. |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
346 | """ |
9782
67414f28db68
Continued implementing WiFi functionality for RP2040 based devices (interface deactivation, AP stop, MicroPython config page).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9781
diff
changeset
|
347 | ok, err = self.__mpy.getDevice().stopAccessPoint() |
67414f28db68
Continued implementing WiFi functionality for RP2040 based devices (interface deactivation, AP stop, MicroPython config page).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9781
diff
changeset
|
348 | if ok: |
67414f28db68
Continued implementing WiFi functionality for RP2040 based devices (interface deactivation, AP stop, MicroPython config page).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9781
diff
changeset
|
349 | EricMessageBox.information( |
67414f28db68
Continued implementing WiFi functionality for RP2040 based devices (interface deactivation, AP stop, MicroPython config page).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9781
diff
changeset
|
350 | None, |
67414f28db68
Continued implementing WiFi functionality for RP2040 based devices (interface deactivation, AP stop, MicroPython config page).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9781
diff
changeset
|
351 | self.tr("Stop WiFi Access Point"), |
67414f28db68
Continued implementing WiFi functionality for RP2040 based devices (interface deactivation, AP stop, MicroPython config page).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9781
diff
changeset
|
352 | self.tr("The WiFi Access Point interface was stopped successfully."), |
67414f28db68
Continued implementing WiFi functionality for RP2040 based devices (interface deactivation, AP stop, MicroPython config page).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9781
diff
changeset
|
353 | ) |
67414f28db68
Continued implementing WiFi functionality for RP2040 based devices (interface deactivation, AP stop, MicroPython config page).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9781
diff
changeset
|
354 | else: |
67414f28db68
Continued implementing WiFi functionality for RP2040 based devices (interface deactivation, AP stop, MicroPython config page).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9781
diff
changeset
|
355 | msg = self.tr("<p>The WiFi Access Point could not be stopped.</p>") |
67414f28db68
Continued implementing WiFi functionality for RP2040 based devices (interface deactivation, AP stop, MicroPython config page).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9781
diff
changeset
|
356 | if err: |
9872
6b8aa1c50c6d
Updated translations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9870
diff
changeset
|
357 | msg += self.tr("<p>Reason: {0}</p>").format(err) |
9782
67414f28db68
Continued implementing WiFi functionality for RP2040 based devices (interface deactivation, AP stop, MicroPython config page).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9781
diff
changeset
|
358 | EricMessageBox.critical( |
67414f28db68
Continued implementing WiFi functionality for RP2040 based devices (interface deactivation, AP stop, MicroPython config page).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9781
diff
changeset
|
359 | None, |
67414f28db68
Continued implementing WiFi functionality for RP2040 based devices (interface deactivation, AP stop, MicroPython config page).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9781
diff
changeset
|
360 | self.tr("Stop WiFi Access Point"), |
67414f28db68
Continued implementing WiFi functionality for RP2040 based devices (interface deactivation, AP stop, MicroPython config page).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9781
diff
changeset
|
361 | msg, |
67414f28db68
Continued implementing WiFi functionality for RP2040 based devices (interface deactivation, AP stop, MicroPython config page).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9781
diff
changeset
|
362 | ) |
9779
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
363 | |
9781
3112f77f722b
Continued implementing WiFi functionality for RP2040 based devices (internet connection, network scan).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9779
diff
changeset
|
364 | @pyqtSlot() |
3112f77f722b
Continued implementing WiFi functionality for RP2040 based devices (internet connection, network scan).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9779
diff
changeset
|
365 | def __showConnectedClients(self): |
3112f77f722b
Continued implementing WiFi functionality for RP2040 based devices (internet connection, network scan).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9779
diff
changeset
|
366 | """ |
3112f77f722b
Continued implementing WiFi functionality for RP2040 based devices (internet connection, network scan).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9779
diff
changeset
|
367 | Private slot to show a list of WiFi clients connected to the Access Point |
3112f77f722b
Continued implementing WiFi functionality for RP2040 based devices (internet connection, network scan).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9779
diff
changeset
|
368 | interface. |
3112f77f722b
Continued implementing WiFi functionality for RP2040 based devices (internet connection, network scan).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9779
diff
changeset
|
369 | """ |
9787
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
370 | from .WifiApStationsDialog import WifiApStationsDialog |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
371 | |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
372 | with EricOverrideCursor(): |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
373 | stations, err = self.__mpy.getDevice().getConnectedClients() |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
374 | |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
375 | if err: |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
376 | self.__mpy.showError("getConnectedClients()", err) |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
377 | else: |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
378 | if stations: |
11005
b918c6c2736b
MicroPython Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10806
diff
changeset
|
379 | dlg = WifiApStationsDialog(stations, parent=self.__mpy) |
9787
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
380 | dlg.exec() |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
381 | else: |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
382 | EricMessageBox.information( |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
383 | None, |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
384 | self.tr("Show Connected Clients"), |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
385 | self.tr("No clients are connected to the access point."), |
163511257f24
Continued implementing WiFi functionality for RP2040 based devices (show connected stations, save/remove credentials, boot script for Pico W).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9782
diff
changeset
|
386 | ) |
9781
3112f77f722b
Continued implementing WiFi functionality for RP2040 based devices (internet connection, network scan).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9779
diff
changeset
|
387 | |
9779
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
388 | def __deactivateInterface(self, interface): |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
389 | """ |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
390 | Private method to deactivate a given WiFi interface of the connected device. |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
391 | |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
392 | @param interface designation of the interface to be deactivated (one of 'AP' |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
393 | or 'STA') |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
394 | @type str |
8d3c7c991085
Continued implementing WiFi functionality for RP2040 based devices (set country, menu hierarchy).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9776
diff
changeset
|
395 | """ |
9782
67414f28db68
Continued implementing WiFi functionality for RP2040 based devices (interface deactivation, AP stop, MicroPython config page).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9781
diff
changeset
|
396 | ok, err = self.__mpy.getDevice().deactivateInterface(interface) |
67414f28db68
Continued implementing WiFi functionality for RP2040 based devices (interface deactivation, AP stop, MicroPython config page).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9781
diff
changeset
|
397 | if ok: |
67414f28db68
Continued implementing WiFi functionality for RP2040 based devices (interface deactivation, AP stop, MicroPython config page).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9781
diff
changeset
|
398 | EricMessageBox.information( |
67414f28db68
Continued implementing WiFi functionality for RP2040 based devices (interface deactivation, AP stop, MicroPython config page).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9781
diff
changeset
|
399 | None, |
67414f28db68
Continued implementing WiFi functionality for RP2040 based devices (interface deactivation, AP stop, MicroPython config page).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9781
diff
changeset
|
400 | self.tr("Deactivate WiFi Interface"), |
67414f28db68
Continued implementing WiFi functionality for RP2040 based devices (interface deactivation, AP stop, MicroPython config page).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9781
diff
changeset
|
401 | self.tr("The WiFi interface was deactivated successfully."), |
67414f28db68
Continued implementing WiFi functionality for RP2040 based devices (interface deactivation, AP stop, MicroPython config page).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9781
diff
changeset
|
402 | ) |
67414f28db68
Continued implementing WiFi functionality for RP2040 based devices (interface deactivation, AP stop, MicroPython config page).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9781
diff
changeset
|
403 | else: |
67414f28db68
Continued implementing WiFi functionality for RP2040 based devices (interface deactivation, AP stop, MicroPython config page).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9781
diff
changeset
|
404 | msg = self.tr("<p>The WiFi interface could not be deactivated.</p>") |
67414f28db68
Continued implementing WiFi functionality for RP2040 based devices (interface deactivation, AP stop, MicroPython config page).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9781
diff
changeset
|
405 | if err: |
9868 | 406 | msg += self.tr("<p>Reason: {0}</p>").format(err) |
9782
67414f28db68
Continued implementing WiFi functionality for RP2040 based devices (interface deactivation, AP stop, MicroPython config page).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9781
diff
changeset
|
407 | EricMessageBox.critical( |
67414f28db68
Continued implementing WiFi functionality for RP2040 based devices (interface deactivation, AP stop, MicroPython config page).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9781
diff
changeset
|
408 | None, |
67414f28db68
Continued implementing WiFi functionality for RP2040 based devices (interface deactivation, AP stop, MicroPython config page).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9781
diff
changeset
|
409 | self.tr("Deactivate WiFi Interface"), |
67414f28db68
Continued implementing WiFi functionality for RP2040 based devices (interface deactivation, AP stop, MicroPython config page).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9781
diff
changeset
|
410 | msg, |
67414f28db68
Continued implementing WiFi functionality for RP2040 based devices (interface deactivation, AP stop, MicroPython config page).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9781
diff
changeset
|
411 | ) |
9868 | 412 | |
9878 | 413 | @pyqtSlot() |
9868 | 414 | def __setNetworkTime(self): |
415 | """ | |
9878 | 416 | Private slot to synchronize the device clock to network time. |
9868 | 417 | """ |
418 | from ..NtpParametersDialog import NtpParametersDialog | |
9870
0399d3607829
Fixed a few code formatting and style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9868
diff
changeset
|
419 | |
9875
b4512fbcf567
Modified the MicroPython WiFi menu to give a hint, why NTP time synchronization is not available.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9872
diff
changeset
|
420 | device = self.__mpy.getDevice() |
10230
1311cd5d117e
MicroPython interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10153
diff
changeset
|
421 | if not device.hasNetworkTime(): |
9875
b4512fbcf567
Modified the MicroPython WiFi menu to give a hint, why NTP time synchronization is not available.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9872
diff
changeset
|
422 | if device.hasCircuitPython(): |
b4512fbcf567
Modified the MicroPython WiFi menu to give a hint, why NTP time synchronization is not available.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9872
diff
changeset
|
423 | EricMessageBox.warning( |
b4512fbcf567
Modified the MicroPython WiFi menu to give a hint, why NTP time synchronization is not available.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9872
diff
changeset
|
424 | None, |
b4512fbcf567
Modified the MicroPython WiFi menu to give a hint, why NTP time synchronization is not available.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9872
diff
changeset
|
425 | self.tr("Set Network Time"), |
b4512fbcf567
Modified the MicroPython WiFi menu to give a hint, why NTP time synchronization is not available.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9872
diff
changeset
|
426 | self.tr( |
b4512fbcf567
Modified the MicroPython WiFi menu to give a hint, why NTP time synchronization is not available.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9872
diff
changeset
|
427 | "<p>The device does not support network time synchronization." |
b4512fbcf567
Modified the MicroPython WiFi menu to give a hint, why NTP time synchronization is not available.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9872
diff
changeset
|
428 | " The module <b>adafruit_ntp</b> is not installed.</p>" |
b4512fbcf567
Modified the MicroPython WiFi menu to give a hint, why NTP time synchronization is not available.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9872
diff
changeset
|
429 | ), |
b4512fbcf567
Modified the MicroPython WiFi menu to give a hint, why NTP time synchronization is not available.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9872
diff
changeset
|
430 | ) |
b4512fbcf567
Modified the MicroPython WiFi menu to give a hint, why NTP time synchronization is not available.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9872
diff
changeset
|
431 | else: |
b4512fbcf567
Modified the MicroPython WiFi menu to give a hint, why NTP time synchronization is not available.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9872
diff
changeset
|
432 | EricMessageBox.critical( |
b4512fbcf567
Modified the MicroPython WiFi menu to give a hint, why NTP time synchronization is not available.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9872
diff
changeset
|
433 | None, |
b4512fbcf567
Modified the MicroPython WiFi menu to give a hint, why NTP time synchronization is not available.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9872
diff
changeset
|
434 | self.tr("Set Network Time"), |
b4512fbcf567
Modified the MicroPython WiFi menu to give a hint, why NTP time synchronization is not available.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9872
diff
changeset
|
435 | self.tr( |
b4512fbcf567
Modified the MicroPython WiFi menu to give a hint, why NTP time synchronization is not available.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9872
diff
changeset
|
436 | "<p>The device does not support network time synchronization." |
b4512fbcf567
Modified the MicroPython WiFi menu to give a hint, why NTP time synchronization is not available.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9872
diff
changeset
|
437 | " The module <b>ntptime</b> is not available.</p>" |
b4512fbcf567
Modified the MicroPython WiFi menu to give a hint, why NTP time synchronization is not available.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9872
diff
changeset
|
438 | ), |
b4512fbcf567
Modified the MicroPython WiFi menu to give a hint, why NTP time synchronization is not available.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9872
diff
changeset
|
439 | ) |
b4512fbcf567
Modified the MicroPython WiFi menu to give a hint, why NTP time synchronization is not available.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9872
diff
changeset
|
440 | return |
b4512fbcf567
Modified the MicroPython WiFi menu to give a hint, why NTP time synchronization is not available.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9872
diff
changeset
|
441 | |
11005
b918c6c2736b
MicroPython Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10806
diff
changeset
|
442 | dlg = NtpParametersDialog(parent=self.__mpy) |
9868 | 443 | if dlg.exec() == QDialog.DialogCode.Accepted: |
444 | server, tzOffset, isDst, timeout = dlg.getParameters() | |
445 | if isDst: | |
446 | tzOffset += 1 | |
447 | ||
448 | ok, err = self.__mpy.getDevice().setNetworkTime( | |
449 | server=server, tzOffset=tzOffset, timeout=timeout | |
450 | ) | |
451 | if ok: | |
452 | EricMessageBox.information( | |
453 | None, | |
454 | self.tr("Set Network Time"), | |
455 | self.tr("The device time was synchronized successfully."), | |
456 | ) | |
457 | else: | |
458 | if err: | |
459 | msg = self.tr( | |
460 | "<p>The device time could not be synchronized.</p>" | |
461 | "<p>Reason: {0}</p>" | |
462 | ).format(err) | |
463 | else: | |
464 | msg = self.tr( | |
465 | "<p>The device time could not be synchronized. Is the device" | |
466 | " connected to a WiFi network?</p>" | |
467 | ) | |
468 | EricMessageBox.critical( | |
469 | None, | |
470 | self.tr("Set Network Time"), | |
471 | msg, | |
472 | ) | |
10022 | 473 | |
474 | @pyqtSlot() | |
475 | def __enableWebrepl(self): | |
476 | """ | |
477 | Private slot to enable the WebREPL server of the device. | |
478 | ||
479 | This will also modify the boot script. | |
480 | """ | |
481 | from ..MicroPythonWebreplParametersDialog import ( | |
482 | MicroPythonWebreplParametersDialog, | |
483 | ) | |
484 | ||
11005
b918c6c2736b
MicroPython Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10806
diff
changeset
|
485 | dlg = MicroPythonWebreplParametersDialog(parent=self.__mpy) |
10022 | 486 | if dlg.exec() == QDialog.DialogCode.Accepted: |
487 | (password,) = dlg.getParameters() | |
488 | success, error = self.__mpy.getDevice().enableWebrepl(password) | |
489 | if success: | |
490 | EricMessageBox.information( | |
491 | None, | |
492 | self.tr("Enable WebREPL"), | |
493 | self.tr( | |
494 | "<p>The WebREPL server of the device will be activated after a" | |
495 | " reboot.</p>" | |
496 | ), | |
497 | ) | |
498 | else: | |
499 | EricMessageBox.critical( | |
500 | None, | |
501 | self.tr("Enable WebREPL"), | |
502 | self.tr( | |
503 | "<p>The WebREPL server of the device could not be enabled.</p>" | |
504 | "<p>Reason: {0}</p>" | |
505 | ).format(error if error else self.tr("unknown")), | |
506 | ) | |
507 | ||
508 | @pyqtSlot() | |
509 | def __disableWebrepl(self): | |
510 | """ | |
511 | Private slot to disable the WebREPL server of the device. | |
512 | ||
513 | This will not remove the 'webrepl_cfg.py' file. It will just modify the boot | |
514 | script. | |
515 | """ | |
516 | ok = EricMessageBox.yesNo( | |
517 | None, | |
518 | self.tr("Disable WebREPL"), | |
519 | self.tr("Shall the WebREPL server of the device really be disabled?"), | |
520 | ) | |
521 | if ok: | |
522 | success, error = self.__mpy.getDevice().disableWebrepl() | |
523 | if success: | |
524 | EricMessageBox.information( | |
525 | None, | |
526 | self.tr("Disable WebREPL"), | |
527 | self.tr( | |
528 | "<p>The WebREPL server of the device will not be enabled" | |
529 | " at boot time anymore.</p>" | |
530 | ), | |
531 | ) | |
532 | else: | |
533 | EricMessageBox.critical( | |
534 | None, | |
535 | self.tr("Disable WebREPL"), | |
536 | self.tr( | |
537 | "<p>The WebREPL server of the device could not be disabled." | |
538 | "</p><p>Reason: {0}</p>" | |
539 | ).format(error if error else self.tr("unknown")), | |
540 | ) |