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 |
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: |
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): |
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: |