From 673c9180bcc2990cd382ff54b2d25ce21be68321 Mon Sep 17 00:00:00 2001
From: Andreas Strasser <a.strasser@student.tugraz.at>
Date: Tue, 1 Aug 2023 19:07:32 +0200
Subject: [PATCH] re-init after failed reset

---
 src/driver/nbiot.be | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/driver/nbiot.be b/src/driver/nbiot.be
index 6811117..000e6a9 100644
--- a/src/driver/nbiot.be
+++ b/src/driver/nbiot.be
@@ -228,7 +228,7 @@ class NBIoTResetProcedure : NBIoTProcedure
   def init(ser)
     super(self).init(ser)
 
-    self.cmd_reset = NBIoTCommand('AT+QRST=1\r\n', 'RDY')
+    self.cmd_reset = NBIoTCommand('AT+QRST=1\r\n', 'RDY', 10)
     self.cmd_at = NBIoTCommand('AT\r\n', 'OK')
   end
 
@@ -242,6 +242,8 @@ class NBIoTResetProcedure : NBIoTProcedure
     elif self.cmd_in_process == self.cmd_at
       self.done = self.read_rsp_contains_expected_rsp_or_send()
     end
+
+    self.aborted = self.retries_exceeded()
   end
 end
 
@@ -543,6 +545,8 @@ class NBIoTDriver
         else
           self.next_state(NBIoTDriverState.DISABLE_PSM)
         end
+      elif self.procedure.is_aborted()
+        self.next_state(NBIoTDriverState.INIT)
       end
     elif self.state == NBIoTDriverState.DISABLE_PSM
       if self.procedure == nil
-- 
GitLab