src/eric7/MicroPython/Devices/CircuitPythonDevices.py

branch
mpy_network
changeset 9989
286c2a21f36f
parent 9979
dbafba79461d
child 10032
102b79b2a8cd
equal deleted inserted replaced
9988:1ba9d07ba9da 9989:286c2a21f36f
467 def __resetDevice(self): 467 def __resetDevice(self):
468 """ 468 """
469 Private slot to reset the connected device. 469 Private slot to reset the connected device.
470 """ 470 """
471 if self.microPython.isConnected(): 471 if self.microPython.isConnected():
472 self.microPython.deviceInterface().execute( 472 self.executeCommands(
473 "import microcontroller as mc\n" 473 "import microcontroller as mc\n"
474 "mc.on_next_reset(mc.RunMode.NORMAL)" 474 "mc.on_next_reset(mc.RunMode.NORMAL)"
475 "mc.reset()\n", 475 "mc.reset()\n",
476 mode=self._submitMode, 476 mode=self._submitMode,
477 ) 477 )
499 def __activateBootloader(self): 499 def __activateBootloader(self):
500 """ 500 """
501 Private slot to switch the board into 'bootloader' mode. 501 Private slot to switch the board into 'bootloader' mode.
502 """ 502 """
503 if self.microPython.isConnected(): 503 if self.microPython.isConnected():
504 self.microPython.deviceInterface().execute( 504 self.executeCommands(
505 "import microcontroller as mc\n" 505 "import microcontroller as mc\n"
506 "mc.on_next_reset(mc.RunMode.BOOTLOADER)\n" 506 "mc.on_next_reset(mc.RunMode.BOOTLOADER)\n"
507 "mc.reset()\n", 507 "mc.reset()\n",
508 mode=self._submitMode, 508 mode=self._submitMode,
509 ) 509 )
512 def __activateUF2Boot(self): 512 def __activateUF2Boot(self):
513 """ 513 """
514 Private slot to switch the board into 'UF2 Boot' mode. 514 Private slot to switch the board into 'UF2 Boot' mode.
515 """ 515 """
516 if self.microPython.isConnected(): 516 if self.microPython.isConnected():
517 self.microPython.deviceInterface().execute( 517 self.executeCommands(
518 "import microcontroller as mc\n" 518 "import microcontroller as mc\n"
519 "mc.on_next_reset(mc.RunMode.UF2)\n" 519 "mc.on_next_reset(mc.RunMode.UF2)\n"
520 "mc.reset()\n", 520 "mc.reset()\n",
521 mode=self._submitMode, 521 mode=self._submitMode,
522 ) 522 )
762 return False, '' 762 return False, ''
763 763
764 print(has_wifi()) 764 print(has_wifi())
765 del has_wifi 765 del has_wifi
766 """ 766 """
767 out, err = self._interface.execute(command, mode=self._submitMode) 767 out, err = self.executeCommands(command, mode=self._submitMode)
768 if err: 768 if err:
769 raise OSError(self._shortError(err)) 769 raise OSError(self._shortError(err))
770 return ast.literal_eval(out.decode("utf-8")) 770 return ast.literal_eval(out.decode("utf-8"))
771 771
772 def getWifiData(self): 772 def getWifiData(self):
846 846
847 wifi_status() 847 wifi_status()
848 del wifi_status 848 del wifi_status
849 """ 849 """
850 850
851 out, err = self._interface.execute(command, mode=self._submitMode) 851 out, err = self.executeCommands(command, mode=self._submitMode)
852 if err: 852 if err:
853 raise OSError(self._shortError(err)) 853 raise OSError(self._shortError(err))
854 854
855 stationStr, apStr, overallStr = out.decode("utf-8").splitlines() 855 stationStr, apStr, overallStr = out.decode("utf-8").splitlines()
856 station = json.loads(stationStr) 856 station = json.loads(stationStr)
900 repr(ssid), 900 repr(ssid),
901 repr(password if password else ""), 901 repr(password if password else ""),
902 ) 902 )
903 903
904 with EricOverrideCursor(): 904 with EricOverrideCursor():
905 out, err = self._interface.execute( 905 out, err = self.executeCommands(
906 command, mode=self._submitMode, timeout=15000 906 command, mode=self._submitMode, timeout=15000
907 ) 907 )
908 if err: 908 if err:
909 return False, err 909 return False, err
910 910
936 936
937 disconnect_wifi() 937 disconnect_wifi()
938 del disconnect_wifi 938 del disconnect_wifi
939 """ 939 """
940 940
941 out, err = self._interface.execute(command, mode=self._submitMode) 941 out, err = self.executeCommands(command, mode=self._submitMode)
942 if err: 942 if err:
943 return False, err 943 return False, err
944 944
945 result = json.loads(out.decode("utf-8").strip()) 945 result = json.loads(out.decode("utf-8").strip())
946 return result["success"], result["status"] 946 return result["success"], result["status"]
1068 1068
1069 check_internet() 1069 check_internet()
1070 del check_internet 1070 del check_internet
1071 """ 1071 """
1072 1072
1073 out, err = self._interface.execute(command, mode=self._submitMode) 1073 out, err = self.executeCommands(command, mode=self._submitMode)
1074 if err: 1074 if err:
1075 return False, err 1075 return False, err
1076 1076
1077 return out.decode("utf-8").strip() == "True", "" 1077 return out.decode("utf-8").strip() == "True", ""
1078 1078
1105 1105
1106 scan_networks() 1106 scan_networks()
1107 del scan_networks 1107 del scan_networks
1108 """ 1108 """
1109 1109
1110 out, err = self._interface.execute( 1110 out, err = self.executeCommands(command, mode=self._submitMode, timeout=15000)
1111 command, mode=self._submitMode, timeout=15000
1112 )
1113 if err: 1111 if err:
1114 return [], err 1112 return [], err
1115 1113
1116 networksList = ast.literal_eval(out.decode("utf-8")) 1114 networksList = ast.literal_eval(out.decode("utf-8"))
1117 networks = [] 1115 networks = []
1160 1158
1161 deactivate() 1159 deactivate()
1162 del deactivate 1160 del deactivate
1163 """ 1161 """
1164 1162
1165 out, err = self._interface.execute(command, mode=self._submitMode) 1163 out, err = self.executeCommands(command, mode=self._submitMode)
1166 if err: 1164 if err:
1167 return False, err 1165 return False, err
1168 else: 1166 else:
1169 return out.decode("utf-8").strip() == "True", "" 1167 return out.decode("utf-8").strip() == "True", ""
1170 1168
1212 del start_ap 1210 del start_ap
1213 """.format( 1211 """.format(
1214 repr(ssid), repr(password), authmode 1212 repr(ssid), repr(password), authmode
1215 ) 1213 )
1216 1214
1217 out, err = self._interface.execute( 1215 out, err = self.executeCommands(command, mode=self._submitMode, timeout=15000)
1218 command, mode=self._submitMode, timeout=15000
1219 )
1220 if err: 1216 if err:
1221 return False, err 1217 return False, err
1222 elif out and out.startswith(b"Error:"): 1218 elif out and out.startswith(b"Error:"):
1223 return False, out.decode("utf-8").split(None, 1)[-1] 1219 return False, out.decode("utf-8").split(None, 1)[-1]
1224 else: 1220 else:
1243 1239
1244 stop_ap() 1240 stop_ap()
1245 del stop_ap 1241 del stop_ap
1246 """ 1242 """
1247 1243
1248 out, err = self._interface.execute(command, mode=self._submitMode) 1244 out, err = self.executeCommands(command, mode=self._submitMode)
1249 if err: 1245 if err:
1250 return False, err 1246 return False, err
1251 elif out and out.startswith(b"Error:"): 1247 elif out and out.startswith(b"Error:"):
1252 return False, out.decode("utf-8").split(None, 1)[-1] 1248 return False, out.decode("utf-8").split(None, 1)[-1]
1253 else: 1249 else:
1292 1288
1293 print(has_eth()) 1289 print(has_eth())
1294 del has_eth 1290 del has_eth
1295 """ 1291 """
1296 1292
1297 out, err = self._interface.execute( 1293 out, err = self.executeCommands(command, mode=self._submitMode, timeout=10000)
1298 command, mode=self._submitMode, timeout=10000
1299 )
1300 if err: 1294 if err:
1301 raise OSError(self._shortError(err)) 1295 raise OSError(self._shortError(err))
1302 1296
1303 return ast.literal_eval(out.decode("utf-8")) 1297 return ast.literal_eval(out.decode("utf-8"))
1304 1298
1337 del ethernet_status, w5x00_init 1331 del ethernet_status, w5x00_init
1338 """.format( 1332 """.format(
1339 WiznetUtilities.cpyWiznetInit() 1333 WiznetUtilities.cpyWiznetInit()
1340 ) 1334 )
1341 1335
1342 out, err = self._interface.execute( 1336 out, err = self.executeCommands(command, mode=self._submitMode, timeout=10000)
1343 command, mode=self._submitMode, timeout=10000
1344 )
1345 if err: 1337 if err:
1346 raise OSError(self._shortError(err)) 1338 raise OSError(self._shortError(err))
1347 1339
1348 status = [] 1340 status = []
1349 ethStatus = json.loads(out.decode("utf-8")) 1341 ethStatus = json.loads(out.decode("utf-8"))
1394 """.format( 1386 """.format(
1395 WiznetUtilities.cpyWiznetInit(), "'dhcp'" if config == "dhcp" else config 1387 WiznetUtilities.cpyWiznetInit(), "'dhcp'" if config == "dhcp" else config
1396 ) 1388 )
1397 1389
1398 with EricOverrideCursor(): 1390 with EricOverrideCursor():
1399 out, err = self._interface.execute( 1391 out, err = self.executeCommands(
1400 command, mode=self._submitMode, timeout=15000 1392 command, mode=self._submitMode, timeout=15000
1401 ) 1393 )
1402 if err: 1394 if err:
1403 return False, err 1395 return False, err
1404 1396
1426 """.format( 1418 """.format(
1427 WiznetUtilities.cpyWiznetInit(), 1419 WiznetUtilities.cpyWiznetInit(),
1428 ) 1420 )
1429 1421
1430 with EricOverrideCursor(): 1422 with EricOverrideCursor():
1431 out, err = self._interface.execute( 1423 out, err = self.executeCommands(
1432 command, mode=self._submitMode, timeout=15000 1424 command, mode=self._submitMode, timeout=15000
1433 ) 1425 )
1434 if err: 1426 if err:
1435 return False, err 1427 return False, err
1436 1428
1463 del check_internet, w5x00_init 1455 del check_internet, w5x00_init
1464 """.format( 1456 """.format(
1465 WiznetUtilities.cpyWiznetInit(), 1457 WiznetUtilities.cpyWiznetInit(),
1466 ) 1458 )
1467 1459
1468 out, err = self._interface.execute( 1460 out, err = self.executeCommands(command, mode=self._submitMode, timeout=15000)
1469 command, mode=self._submitMode, timeout=15000
1470 )
1471 if err: 1461 if err:
1472 return False, err 1462 return False, err
1473 1463
1474 return out.strip() == b"True", "" 1464 return out.strip() == b"True", ""
1475 1465
1619 return False 1609 return False
1620 1610
1621 print(has_bt()) 1611 print(has_bt())
1622 del has_bt 1612 del has_bt
1623 """ 1613 """
1624 out, err = self._interface.execute( 1614 out, err = self.executeCommands(command, mode=self._submitMode, timeout=10000)
1625 command, mode=self._submitMode, timeout=10000
1626 )
1627 if err: 1615 if err:
1628 raise OSError(self._shortError(err)) 1616 raise OSError(self._shortError(err))
1629 return out.strip() == b"True" 1617 return out.strip() == b"True"
1630 1618
1631 def getBluetoothStatus(self): 1619 def getBluetoothStatus(self):
1664 print(json.dumps(res)) 1652 print(json.dumps(res))
1665 1653
1666 ble_status() 1654 ble_status()
1667 del ble_status 1655 del ble_status
1668 """ 1656 """
1669 out, err = self._interface.execute(command, mode=self._submitMode) 1657 out, err = self.executeCommands(command, mode=self._submitMode)
1670 if err: 1658 if err:
1671 raise OSError(self._shortError(err)) 1659 raise OSError(self._shortError(err))
1672 1660
1673 status = [] 1661 status = []
1674 bleStatus = json.loads(out.decode("utf-8")) 1662 bleStatus = json.loads(out.decode("utf-8"))
1701 print(a.enabled) 1689 print(a.enabled)
1702 1690
1703 activate_ble() 1691 activate_ble()
1704 del activate_ble 1692 del activate_ble
1705 """ 1693 """
1706 out, err = self._interface.execute(command, mode=self._submitMode) 1694 out, err = self.executeCommands(command, mode=self._submitMode)
1707 if err: 1695 if err:
1708 raise OSError(self._shortError(err)) 1696 raise OSError(self._shortError(err))
1709 1697
1710 return out.strip() == b"True" 1698 return out.strip() == b"True"
1711 1699
1727 print(a.enabled) 1715 print(a.enabled)
1728 1716
1729 deactivate_ble() 1717 deactivate_ble()
1730 del deactivate_ble 1718 del deactivate_ble
1731 """ 1719 """
1732 out, err = self._interface.execute(command, mode=self._submitMode) 1720 out, err = self.executeCommands(command, mode=self._submitMode)
1733 if err: 1721 if err:
1734 raise OSError(self._shortError(err)) 1722 raise OSError(self._shortError(err))
1735 1723
1736 return out.strip() == b"True" 1724 return out.strip() == b"True"
1737 1725
1788 ble_scan() 1776 ble_scan()
1789 del ble_scan 1777 del ble_scan
1790 """.format( 1778 """.format(
1791 timeout 1779 timeout
1792 ) 1780 )
1793 out, err = self._interface.execute( 1781 out, err = self.executeCommands(
1794 command, mode=self._submitMode, timeout=(timeout + 5) * 1000 1782 command, mode=self._submitMode, timeout=(timeout + 5) * 1000
1795 ) 1783 )
1796 if err: 1784 if err:
1797 return {}, err 1785 return {}, err
1798 1786
1843 return False 1831 return False
1844 1832
1845 print(has_ntp()) 1833 print(has_ntp())
1846 del has_ntp 1834 del has_ntp
1847 """ 1835 """
1848 out, err = self._interface.execute(command, mode=self._submitMode) 1836 out, err = self.executeCommands(command, mode=self._submitMode)
1849 if err: 1837 if err:
1850 raise OSError(self._shortError(err)) 1838 raise OSError(self._shortError(err))
1851 return out.strip() == b"True" 1839 return out.strip() == b"True"
1852 1840
1853 def setNetworkTime(self, server="0.pool.ntp.org", tzOffset=0, timeout=10): 1841 def setNetworkTime(self, server="0.pool.ntp.org", tzOffset=0, timeout=10):
1935 del set_ntp_time 1923 del set_ntp_time
1936 """.format( 1924 """.format(
1937 repr(server), tzOffset, timeout 1925 repr(server), tzOffset, timeout
1938 ) 1926 )
1939 1927
1940 out, err = self._interface.execute( 1928 out, err = self.executeCommands(
1941 command, mode=self._submitMode, timeout=(timeout + 2) * 1000 1929 command, mode=self._submitMode, timeout=(timeout + 2) * 1000
1942 ) 1930 )
1943 if err: 1931 if err:
1944 return False, err 1932 return False, err
1945 else: 1933 else:

eric ide

mercurial