From 9648901661155ae13a95e86afe8b1c1f3cf53461 Mon Sep 17 00:00:00 2001
From: andreas <andreas@wellenvogel.de>
Date: Mon, 6 Nov 2023 17:25:03 +0100
Subject: [PATCH] better error handling for flashtool

---
 tools/flashtool/flasher.py | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/tools/flashtool/flasher.py b/tools/flashtool/flasher.py
index a063264..d291b40 100644
--- a/tools/flashtool/flasher.py
+++ b/tools/flashtool/flasher.py
@@ -94,13 +94,16 @@ class Flasher():
             print("check failed")
             return
         imageChipId=param['info']['chipid']
-        chip=esptool.ESPLoader.detect_chip(param['port'])
-        print("Detected chip %s, id=%d"%(chip.CHIP_NAME,chip.IMAGE_CHIP_ID))
-        if (chip.IMAGE_CHIP_ID != imageChipId):
-            print("##Error: chip id in image %d does not match detected chip"%imageChipId)
-            return
-        print("Checks OK")
-        param['chipname']=chip.CHIP_NAME
+        try:
+            chip=esptool.ESPLoader.detect_chip(param['port'],trace_enabled=True)
+            print("Detected chip %s, id=%d"%(chip.CHIP_NAME,chip.IMAGE_CHIP_ID))
+            if (chip.IMAGE_CHIP_ID != imageChipId):
+                print("##Error: chip id in image %d does not match detected chip"%imageChipId)
+                return
+            print("Checks OK")
+            param['chipname']=chip.CHIP_NAME
+        except Exception as e:
+            print("ERROR: ",str(e))
         return param
     def runCheck(self,port,fileName,isFull):
         param = self.checkSettings(port,fileName,isFull)