diff -r 91b0939626ff -r bf2d02317ba6 src/eric7/MicroPython/Devices/DeviceBase.py --- a/src/eric7/MicroPython/Devices/DeviceBase.py Tue May 16 14:36:37 2023 +0200 +++ b/src/eric7/MicroPython/Devices/DeviceBase.py Tue May 16 17:42:54 2023 +0200 @@ -141,7 +141,9 @@ with contextlib.suppress(OSError): self._deviceData = self.__getDeviceData() self._deviceData["local_mip"] = ( - not self._deviceData["mip"] and not self._deviceData["upip"] + not self._deviceData["mip"] + and not self._deviceData["upip"] + and not self.hasCircuitPython() ) self._deviceData["wifi"], self._deviceData["wifi_type"] = self.hasWifi() self._deviceData["bluetooth"] = self.hasBluetooth() @@ -164,15 +166,24 @@ def getDeviceData(self, key=None): """ - Public method to get a copy of the determined device data. + Public method to get a copy of the determined device data or part of them. - @param key name of the data to get (None to get all data) (defaults to None) - @type str (optional) + @param key name or a list of names of the data to get (None to get all data) + (defaults to None) + @type str or list of str (optional) @return dictionary containing the essential device data - @rtype dict + @rtype dict or Any """ if key is None: return copy.deepcopy(self._deviceData) + elif isinstance(key, list): + res = {} + for name in key: + try: + res[name] = self._deviceData[name] + except KeyError: + res[name] = None + return res else: try: return self._deviceData[key]