src/eric7/MicroPython/Devices/MicrobitDevices.py

branch
eric7
changeset 11177
f511038a0061
parent 11167
a3f5af773bc7
child 11186
c2d18aefef6b
equal deleted inserted replaced
11176:1b0e4bf80f49 11177:f511038a0061
71 @param connected connection state 71 @param connected connection state
72 @type bool 72 @type bool
73 """ 73 """
74 super().setConnected(connected) 74 super().setConnected(connected)
75 75
76 self._deviceData["local_mip"] = False 76 if self._deviceData:
77 self._deviceData["local_mip"] = False
77 78
78 if self.hasCircuitPython(): 79 if self.hasCircuitPython():
79 self._submitMode = "paste" 80 self._submitMode = "paste"
80 81
81 def setButtons(self): 82 def setButtons(self):
279 # in maintenance mode, for MicroPython in standard mode. 280 # in maintenance mode, for MicroPython in standard mode.
280 if self.getDeviceType() == "bbc_microbit": 281 if self.getDeviceType() == "bbc_microbit":
281 # BBC micro:bit 282 # BBC micro:bit
282 if firmware: 283 if firmware:
283 deviceDirectories = FileSystemUtilities.findVolume( 284 deviceDirectories = FileSystemUtilities.findVolume(
284 "MAINTENANCE", findAll=True 285 "MAINTENANCE", findAll=True, markerFile="DETAILS.TXT"
285 ) 286 )
286 else: 287 else:
287 deviceDirectories = FileSystemUtilities.findVolume( 288 deviceDirectories = FileSystemUtilities.findVolume(
288 "MICROBIT", findAll=True 289 "MICROBIT", findAll=True, markerFile="DETAILS.TXT"
289 ) 290 )
290 else: 291 else:
291 # Calliope mini 292 # Calliope mini
292 if firmware: 293 if firmware:
293 deviceDirectories = FileSystemUtilities.findVolume( 294 deviceDirectories = FileSystemUtilities.findVolume(
294 "MAINTENANCE", findAll=True 295 "MAINTENANCE", findAll=True, markerFile="DETAILS.TXT"
295 ) 296 )
296 else: 297 else:
297 deviceDirectories = FileSystemUtilities.findVolume("MINI", findAll=True) 298 deviceDirectories = FileSystemUtilities.findVolume(
299 "MINI", findAll=True, markerFile="DETAILS.TXT"
300 )
298 if len(deviceDirectories) == 0: 301 if len(deviceDirectories) == 0:
299 if self.getDeviceType() == "bbc_microbit": 302 if self.getDeviceType() == "bbc_microbit":
300 # BBC micro:bit is not ready or not mounted 303 # BBC micro:bit is not ready or not mounted
301 if firmware: 304 if firmware:
302 EricMessageBox.critical( 305 EricMessageBox.critical(
966 @rtype bool 969 @rtype bool
967 """ 970 """
968 return True 971 return True
969 972
970 973
974 def getBoardInformation(self):
975 """
976 Public method to get some information data of the connected board.
977
978 @return dictionary containing the determined data
979 @rtype dict
980 """
981 res = super().getBoardInformation()
982 with contextlib.suppress(KeyError):
983 if res["mc_temp_c"] is not None:
984 res["mc_temp_c"] = res["mc_temp_c"] / 100 # due to integer support only
985
986 return res
987
988
971 def createDevice(microPythonWidget, deviceType, _vid, _pid, _boardName, serialNumber): 989 def createDevice(microPythonWidget, deviceType, _vid, _pid, _boardName, serialNumber):
972 """ 990 """
973 Function to instantiate a MicroPython device object. 991 Function to instantiate a MicroPython device object.
974 992
975 @param microPythonWidget reference to the main MicroPython widget 993 @param microPythonWidget reference to the main MicroPython widget

eric ide

mercurial