更新
authorp15692025051 <846603105@qq.com>
Wed, 27 Aug 2025 09:20:19 +0000 (17:20 +0800)
committerp15692025051 <846603105@qq.com>
Wed, 27 Aug 2025 09:20:19 +0000 (17:20 +0800)
2.sdk/Helios_SDK/services/microPython/ports/quectel/core/request.py
2.sdk/Helios_SDK/services/microPython/ports/quectel/core/source/modHsensor.c
2.sdk/Helios_SDK/services/microPython/ports/quectel/core/uwebsocket.py
2.sdk/project/7PIN_1_5/sdk/services/microPython/ports/quectel/core/ai_VC.py

index dcb90e7..f6c0617 100644 (file)
@@ -459,7 +459,7 @@ def request(method, url, data=None, json=None, files=None, stream=None, decode=T
     if chunked_encoding:
         resp = Response(uio.BytesIO(parse_chunked_data(s)), sizeof=con_len)
     else:
-        resp = Response(s,sizeof=con_len, flag=con_flag)
+        resp = Response(s,sizeof=con_len, decode=decode ,flag=con_flag)
     resp.status_code = status
     resp.reason = reason
     resp.headers = uheaders
index 763725a..62b0ef4 100644 (file)
@@ -39,7 +39,7 @@
 #if 1 //
 
 
-
+extern signed char SL_SC7A20_PEDO_KCAL_WRIST_SLEEP_SWAY_L_ALGO(void);
 #if CONFIG_GH301x
 extern const mp_obj_type_t Hsensor_GH3018_type;
 extern void GH3018_thread_do(void);
index e68c636..258d5f1 100644 (file)
@@ -10,7 +10,7 @@ import usocket as socket
 from ucollections import namedtuple
 import websocket_mask
 LOGGER = log.getLogger(__name__)
-import usys
+
 # Opcodes
 OP_CONT = 0x0
 OP_TEXT = 0x1
@@ -77,7 +77,6 @@ class Websocket(object):
         self.open = True
         self.debug = debug
 
-
     def __enter__(self):
         return self
 
@@ -211,7 +210,7 @@ class Websocket(object):
                 return data
             elif opcode == OP_CLOSE:
                 self._close()
-                return "websocket close"
+                return
             elif opcode == OP_PONG:
                 # Ignore this frame, keep waiting for a data frame
                 continue
@@ -249,18 +248,17 @@ class Websocket(object):
         """Close the websocket."""
         if not self.open:
             return
-        try:
-            buf = struct.pack('!H', code) + reason.encode('utf-8')
 
-            self.write_frame(OP_CLOSE, buf)
-        except Exception as e:
-            usys.print_exception(e)    
+        buf = struct.pack('!H', code) + reason.encode('utf-8')
+
+        self.write_frame(OP_CLOSE, buf)
         self._close()
 
     def _close(self):
         if self.debug: LOGGER.info("Connection closed")
-        self.sock.close()
         self.open = False
+        self.sock.close()
+
 
 class WebsocketClient(Websocket):
     is_client = True
@@ -289,46 +287,40 @@ class Client(object):
                               uri.hostname, uri.port)
 
         sock = socket.socket()
-        try:
-            #sock.settimeout(6)
-            addr = socket.getaddrinfo(uri.hostname, uri.port, socket.AF_INET)
-            sock.connect(addr[0][4])
-        
-        
-            if uri.protocol == 'wss':
-                import ussl
-                sock = ussl.wrap_socket(sock)
-
-            def send_header(header, *args):
-                if debug: LOGGER.info(str(header), *args)
-                sock.write(header % args + '\r\n')
-
-            # Sec-WebSocket-Key is 16 bytes of random base64 encoded
-            key = binascii.b2a_base64(bytes(random.getrandbits(8) for _ in range(16)))[:-1]
-            send_header(b'GET %s HTTP/1.1', uri.path or '/')
-            send_header(b'Host: %s:%s', uri.hostname, uri.port)
-            send_header(b'Connection: Upgrade')
-            send_header(b'Upgrade: websocket')
-            send_header(b'Sec-WebSocket-Key: %s', key)
-            send_header(b'Sec-WebSocket-Version: 13')
-            send_header(b'Origin: http://{hostname}:{port}'.format(
-                hostname=uri.hostname,
-                port=uri.port)
-            )
-            for k, v in headers.items():
-                send_header('{}:{}'.format(k, v).encode())
-            send_header(b'')
-
+        addr = socket.getaddrinfo(uri.hostname, uri.port)
+        sock.connect(addr[0][4])
+
+        if uri.protocol == 'wss':
+            import ussl
+            sock = ussl.wrap_socket(sock)
+
+        def send_header(header, *args):
+            if debug: LOGGER.info(str(header), *args)
+            sock.write(header % args + '\r\n')
+
+        # Sec-WebSocket-Key is 16 bytes of random base64 encoded
+        key = binascii.b2a_base64(bytes(random.getrandbits(8) for _ in range(16)))[:-1]
+        send_header(b'GET %s HTTP/1.1', uri.path or '/')
+        send_header(b'Host: %s:%s', uri.hostname, uri.port)
+        send_header(b'Connection: Upgrade')
+        send_header(b'Upgrade: websocket')
+        send_header(b'Sec-WebSocket-Key: %s', key)
+        send_header(b'Sec-WebSocket-Version: 13')
+        send_header(b'Origin: http://{hostname}:{port}'.format(
+            hostname=uri.hostname,
+            port=uri.port)
+        )
+        for k, v in headers.items():
+            send_header('{}:{}'.format(k, v).encode())
+        send_header(b'')
+
+        header = sock.readline()[:-2]
+        assert header.startswith(b'HTTP/1.1 101 '), header
+
+        # We don't (currently) need these headers
+        # FIXME: should we check the return key?
+        while header:
+            if debug: LOGGER.info(str(header))
             header = sock.readline()[:-2]
-            assert header.startswith(b'HTTP/1.1 101 '), header
-
-            # We don't (currently) need these headers
-            # FIXME: should we check the return key?
-            while header:
-                if debug: LOGGER.info(str(header))
-                header = sock.readline()[:-2]
-        except Exception as e:
-            usys.print_exception(e) 
-            sock.close()
-            return 
+
         return WebsocketClient(sock, debug)
index 28cb2b6..79c8a2d 100644 (file)
@@ -3620,12 +3620,12 @@ class AI_VC(Abstract):
                             # EventMesh.publish("publish_AI_btnInfo",{"func":self.VC_Play_Start})
                             pass
                         elif jsload_data["event"] == "llm.delta" :#llm返回数据
-                            if self.is_VAD == 0:
+                            if self.is_VAD == 0 and self.record_data_save_flag == 0:
                                 if self.VC_record_state_flag == 1:#llm返回数据还没停止,就先停止
                                     EventMesh.publish("publish_AI_btnInfo",{"func":self.VC_Speech_End})
                         elif jsload_data["event"] == "tts.started" :#tts开始
                             self.VC_state = VC_State_TTSStart
-                            if self.is_VAD == 0:
+                            if self.is_VAD == 0 and self.record_data_save_flag == 0:
                                 EventMesh.publish("publish_AI_btnInfo",{"func":self.VC_Speech_End})
                             EventMesh.publish("publish_AI_btnInfo",{"func":self.VC_Play_Start})