|
12 | 12 | import json
|
13 | 13 |
|
14 | 14 | import requests
|
15 |
| -from esptool import ESPLoader, erase_flash, write_flash |
| 15 | +from esptool import ESPLoader, erase_flash, write_flash, NotSupportedError |
16 | 16 |
|
17 | 17 | import airrohrFlasher
|
18 | 18 | from airrohrFlasher.qtvariant import QtGui, QtCore, QtWidgets
|
|
34 | 34 | else:
|
35 | 35 | RESOURCES_PATH = os.path.dirname(os.path.realpath(__file__))
|
36 | 36 |
|
| 37 | + |
| 38 | +def get_chip_id(esp): |
| 39 | + """ |
| 40 | + A shim to fix firmware flashing for ESP-32 |
| 41 | + """ |
| 42 | + try: |
| 43 | + return esp.chip_id() |
| 44 | + except NotSupportedError: |
| 45 | + return esp.read_mac() |
| 46 | + |
| 47 | + |
37 | 48 | class MainWindow(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow):
|
38 | 49 | uploadProgress = QtCore.Signal([str, int])
|
39 | 50 | configProgress = QtCore.Signal([str, int])
|
@@ -494,7 +505,7 @@ def write_config(self, progress, device, path, baudrate=460800):
|
494 | 505 |
|
495 | 506 | progress.emit(self.tr(
|
496 | 507 | 'Finished in {time:.2f} seconds. Sensor ID: {sensor_id}').format(
|
497 |
| - time=t, sensor_id=esp.chip_id()), 100) |
| 508 | + time=t, sensor_id=get_chip_id(esp)), 100) |
498 | 509 |
|
499 | 510 | esp.flash_finish(True)
|
500 | 511 |
|
@@ -640,7 +651,7 @@ def flash_board(self, progress, device, binary_uri, baudrate=460800):
|
640 | 651 |
|
641 | 652 | progress.emit(self.tr(
|
642 | 653 | 'Finished in {time:.2f} seconds. Sensor ID: {sensor_id}').format(
|
643 |
| - time=t, sensor_id=esp.chip_id()), 100) |
| 654 | + time=t, sensor_id=get_chip_id(esp)), 100) |
644 | 655 |
|
645 | 656 | esp.flash_finish(True)
|
646 | 657 |
|
|
0 commit comments