--- /dev/null
+» AT^PMADDVOTE\r
+» AT^PMADDVOTE\r
+« MCU has got pm_id_debug vote\r
+\r
+MCU WAKEUP SUCCESS\r
+\r
+OK~\r
+APP|app_main run start.\r
+APP|sys_slp: 0x1\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+» AT^BTSCANTEST=1\r
+« APP|[BtScan] Starting Bluetooth scan test...\r
+APP|[BtScan] Enabling Bluetooth...\r
+APP|[BtScan] Ensuring Bluetooth stack is enabled...\r
+[osal_msg_queue_create:25]:qName:BT_SERVICE_MSG qID=0x19 \r
+APP|charger not plugged ,disable charge !\r
+APP|[BtScan] Bluetooth stack enabled successfully\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[BtScan] Bluetooth enabled, waiting for stack ready...\r
+APP|[BtScan] Inquiry parameters set successfully\r
+APP|[BtScan] Discovery state changed: 1\r
+APP|[BtScan] Discovery state changed: 2\r
+APP|[BtScan] Discovery started successfully\r
+APP|[BtScan] Bluetooth scan started successfully\r
+APP|[BtScan] Scanning for devices...\r
+BT SCAN TEST START: Success
+APP|[BtScan] Device discovered: 28:11:06:68:66:3C\r
+APP|[BtScan] Device name: WatchDemo\r
+APP|[BtScan] RSSI update: 28:11:06:68:66:3C, RSSI=-71 dBm\r
+APP|[BtScan] Found 1 device(s):\r
+APP|[BtScan] Device[1]: MAC=28:11:06:68:66:3C, RSSI=-71 dBmAPP|, Name=WatchDemoAPP|\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[BtScan] Discovery state changed: 3\r
+APP|[BtScan] Found 1 device(s):\r
+APP|[BtScan] Device[1]: MAC=28:11:06:68:66:3C, RSSI=-71 dBmAPP|, Name=WatchDemoAPP|\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+» AT^BTSCANTEST=2\r
+« APP|[BtScan] Stopping Bluetooth scan test...\r
+APP|[BtScan] Final scan results:\r
+APP|[BtScan] Found 1 device(s):\r
+APP|[BtScan] Device[1]: MAC=28:11:06:68:66:3C, RSSI=-71 dBmAPP|, Name=WatchDemoAPP|\r
+APP|[BtScan] Bluetooth scan stopped\r
+BT SCAN TEST STOP: Success
+» AT^BTSCANTEST=2\r
+« APP|[BtScan] Stopping Bluetooth scan test...\r
+APP|[BtScan] Scan not running\r
+BT SCAN TEST STOP: Success
+» AT^BTSCANTEST=2\r
+« APP|[BtScan] Stopping Bluetooth scan test...\r
+APP|[BtScan] Scan not running\r
+BT SCAN TEST STOP: Success
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+» AT^BTSCANTEST=1\r
+« APP|[BtScan] Starting Bluetooth scan test...\r
+APP|[BtScan] Enabling Bluetooth...\r
+APP|[BtScan] Ensuring Bluetooth stack is enabled...\r
+APP|[BtScan] Bluetooth stack enabled successfully\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[BtScan] Bluetooth enabled, waiting for stack ready...\r
+APP|[BtScan] Inquiry parameters set successfully\r
+APP|[BtScan] Discovery state changed: 1\r
+APP|[BtScan] Discovery state changed: 2\r
+APP|[BtScan] Discovery started successfully\r
+APP|[BtScan] Bluetooth scan started successfully\r
+APP|[BtScan] Scanning for devices...\r
+BT SCAN TEST START: Success
+APP|[BtScan] Device discovered: 28:11:06:68:66:3C\r
+APP|[BtScan] Device name: WatchDemo\r
+APP|[BtScan] RSSI update: 28:11:06:68:66:3C, RSSI=-67 dBm\r
+APP|[BtScan] Found 1 device(s):\r
+APP|[BtScan] Device[1]: MAC=28:11:06:68:66:3C, RSSI=-67 dBmAPP|, Name=WatchDemoAPP|\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+» AT^GPIOTEST=2\r
+« APP|[GpioTest] Starting GPIO test...\r
+APP|[GpioTest] No GPIO pairs configured, initializing with default config...\r
+APP|[GpioTest] Invalid input pin name: HSUART_CTS\r
+APP|[GpioTest] Parsed 34 GPIO pairs from JSON\r
+APP|[GpioTest] Default config initialized successfully\r
+APP|[GpioTest] Starting GPIO test with 34 pairs...\r
+APP|[GpioTest] Testing pair 0: S_AGPIO_L23 (input) <-> S_AGPIO_L12 (output)\r
+APP|[GpioTest] Pair 0: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 1: S_AGPIO_L13 (input) <-> S_AGPIO_L31 (output)\r
+APP|[GpioTest] Pair 1: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 2: S_AGPIO_L3 (input) <-> S_AGPIO_L2 (output)\r
+APP|[GpioTest] Pair 2: FAILED - Output LOW but input read 1 (expected LOW)\r
+APP|[GpioTest] Testing pair 3: S_AGPIO_L1 (input) <-> S_AGPIO_L4 (output)\r
+APP|[GpioTest] Pair 3: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 4: S_AGPIO_L0 (input) <-> S_AGPIO_R4 (output)\r
+APP|[GpioTest] Pair 4: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 5: S_AGPIO_R5 (input) <-> S_MGPIO14 (output)\r
+APP|[GpioTest] Pair 5: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 6: S_MGPIO13 (input) <-> S_AGPIO_R10 (output)\r
+APP|[GpioTest] Pair 6: FAILED - Output LOW but input read 1 (expected LOW)\r
+APP|[GpioTest] Testing pair 7: S_MGPIO11 (input) <-> S_MGPIO12 (output)\r
+APP|[GpioTest] Pair 7: FAILED - Output LOW but input read 1 (expected LOW)\r
+APP|[GpioTest] Testing pair 8: S_AGPIO_R2 (input) <-> S_AGPIO_R1 (output)\r
+APP|[GpioTest] Pair 8: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 9: S_AGPIO_L24 (input) <-> S_AGPIO_L17 (output)\r
+APP|[GpioTest] Pair 9: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 10: S_AGPIO_L21 (input) <-> S_AGPIO_L11 (output)\r
+APP|[GpioTest] Pair 10: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 11: S_AGPIO_L19 (input) <-> S_AGPIO_R0 (output)\r
+APP|[GpioTest] Pair 11: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 12: S_HGPIO13 (input) <-> S_AGPIO_R3 (output)\r
+APP|[GpioTest] Pair 12: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 13: S_AGPIO_R6 (input) <-> S_MGPIO25 (output)\r
+APP|[GpioTest] Pair 13: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 14: S_MGPIO26 (input) <-> S_MGPIO23 (output)\r
+APP|[GpioTest] Pair 14: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 15: S_MGPIO24 (input) <-> S_MGPIO31 (output)\r
+APP|[GpioTest] Pair 15: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 16: S_MGPIO29 (input) <-> S_MGPIO30 (output)\r
+APP|[GpioTest] Pair 16: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 17: S_MGPIO32 (input) <-> S_MGPIO28 (output)\r
+APP|[GpioTest] Pair 17: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 18: S_MGPIO27 (input) <-> S_MGPIO22 (output)\r
+APP|[GpioTest] Pair 18: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 19: S_MGPIO21 (input) <-> S_MGPIO19 (output)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Pair 19: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 20: S_MGPIO20 (input) <-> S_AGPIO_R7 (output)\r
+APP|[GpioTest] Pair 20: FAILED - Output LOW but input read 1 (expected LOW)\r
+APP|[GpioTest] Testing pair 21: S_AGPIO_R8 (input) <-> S_AGPIO_R9 (output)\r
+APP|[GpioTest] Pair 21: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 22: S_AGPIO_L30 (input) <-> S_AGPIO_L29 (output)\r
+APP|[GpioTest] Pair 22: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 23: S_AGPIO_L32 (input) <-> S_AGPIO_L20 (output)\r
+APP|[GpioTest] Pair 23: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 24: S_AGPIO_L15 (input) <-> S_HGPIO5 (output)\r
+APP|[GpioTest] Pair 24: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 25: S_HGPIO4 (input) <-> S_HGPIO0 (output)\r
+APP|[GpioTest] Pair 25: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 26: S_HGPIO1 (input) <-> S_HGPIO2 (output)\r
+APP|[GpioTest] Pair 26: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 27: S_HGPIO3 (input) <-> S_MGPIO3 (output)\r
+APP|[GpioTest] Pair 27: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 28: S_MGPIO1 (input) <-> S_MGPIO2 (output)\r
+APP|[GpioTest] Pair 28: FAILED - Output LOW but input read 1 (expected LOW)\r
+APP|[GpioTest] Testing pair 29: S_MGPIO0 (input) <-> S_MGPIO6 (output)\r
+APP|[GpioTest] Pair 29: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 30: S_MGPIO9 (input) <-> S_MGPIO8 (output)\r
+APP|[GpioTest] Pair 30: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 31: S_MGPIO7 (input) <-> S_MGPIO8 (output)\r
+APP|[GpioTest] Pair 31: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 32: S_AGPIO_L28 (input) <-> S_AGPIO_L18 (output)\r
+APP|[GpioTest] Pair 32: FAILED - Output LOW but input read 1 (expected LOW)\r
+APP|[GpioTest] Testing pair 33: S_HGPIO9 (input) <-> S_AGPIO_L26 (output)\r
+APP|[GpioTest] Pair 33: FAILED - Output LOW but input read 1 (expected LOW)\r
+APP|[GpioTest] Test completed: 0 passed, 34 failed\r
+APP|[GpioTest] Failed pairs:\r
+APP|[GpioTest] Pair 0: S_AGPIO_L23 (input) <-> S_AGPIO_L12 (output)\r
+APP|[GpioTest] Pair 1: S_AGPIO_L13 (input) <-> S_AGPIO_L31 (output)\r
+APP|[GpioTest] Pair 2: S_AGPIO_L3 (input) <-> S_AGPIO_L2 (output)\r
+APP|[GpioTest] Pair 3: S_AGPIO_L1 (input) <-> S_AGPIO_L4 (output)\r
+APP|[GpioTest] Pair 4: S_AGPIO_L0 (input) <-> S_AGPIO_R4 (output)\r
+APP|[GpioTest] Pair 5: S_AGPIO_R5 (input) <-> S_MGPIO14 (output)\r
+APP|[GpioTest] Pair 6: S_MGPIO13 (input) <-> S_AGPIO_R10 (output)\r
+APP|[GpioTest] Pair 7: S_MGPIO11 (input) <-> S_MGPIO12 (output)\r
+APP|[GpioTest] Pair 8: S_AGPIO_R2 (input) <-> S_AGPIO_R1 (output)\r
+APP|[GpioTest] Pair 9: S_AGPIO_L24 (input) <-> S_AGPIO_L17 (output)\r
+APP|[GpioTest] Pair 10: S_AGPIO_L21 (input) <-> S_AGPIO_L11 (output)\r
+APP|[GpioTest] Pair 11: S_AGPIO_L19 (input) <-> S_AGPIO_R0 (output)\r
+APP|[GpioTest] Pair 12: S_HGPIO13 (input) <-> S_AGPIO_R3 (output)\r
+APP|[GpioTest] Pair 13: S_AGPIO_R6 (input) <-> S_MGPIO25 (output)\r
+APP|[GpioTest] Pair 14: S_MGPIO26 (input) <-> S_MGPIO23 (output)\r
+APP|[GpioTest] Pair 15: S_MGPIO24 (input) <-> S_MGPIO31 (output)\r
+APP|[GpioTest] Pair 16: S_MGPIO29 (input) <-> S_MGPIO30 (output)\r
+APP|[GpioTest] Pair 17: S_MGPIO32 (input) <-> S_MGPIO28 (output)\r
+APP|[GpioTest] Pair 18: S_MGPIO27 (input) <-> S_MGPIO22 (output)\r
+APP|[GpioTest] Pair 19: S_MGPIO21 (input) <-> S_MGPIO19 (output)\r
+APP|[GpioTest] Pair 20: S_MGPIO20 (input) <-> S_AGPIO_R7 (output)\r
+APP|[GpioTest] Pair 21: S_AGPIO_R8 (input) <-> S_AGPIO_R9 (output)\r
+APP|[GpioTest] Pair 22: S_AGPIO_L30 (input) <-> S_AGPIO_L29 (output)\r
+APP|[GpioTest] Pair 23: S_AGPIO_L32 (input) <-> S_AGPIO_L20 (output)\r
+APP|[GpioTest] Pair 24: S_AGPIO_L15 (input) <-> S_HGPIO5 (output)\r
+APP|[GpioTest] Pair 25: S_HGPIO4 (input) <-> S_HGPIO0 (output)\r
+APP|[GpioTest] Pair 26: S_HGPIO1 (input) <-> S_HGPIO2 (output)\r
+APP|[GpioTest] Pair 27: S_HGPIO3 (input) <-> S_MGPIO3 (output)\r
+APP|[GpioTest] Pair 28: S_MGPIO1 (input) <-> S_MGPIO2 (output)\r
+APP|[GpioTest] Pair 29: S_MGPIO0 (input) <-> S_MGPIO6 (output)\r
+APP|[GpioTest] Pair 30: S_MGPIO9 (input) <-> S_MGPIO8 (output)\r
+APP|[GpioTest] Pair 31: S_MGPIO7 (input) <-> S_MGPIO8 (output)\r
+APP|[GpioTest] Pair 32: S_AGPIO_L28 (input) <-> S_AGPIO_L18 (output)\r
+APP|[GpioTest] Pair 33: S_HGPIO9 (input) <-> S_AGPIO_L26 (output)\r
+APP|[GpioTest] Test finished\r
+GPIO TEST START: Success
+APP|[BtScan] Discovery state changed: 3\r
+APP|[BtScan] Found 1 device(s):\r
+APP|[BtScan] Device[1]: MAC=28:11:06:68:66:3C, RSSI=-67 dBmAPP|, Name=WatchDemoAPP|\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+» AT^GPIOTEST=3\r
+« APP|[GpioTest] Stopping GPIO test...\r
+APP|[GpioTest] Test not running\r
+GPIO TEST STOP: Success
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+» AT^GPIOTEST=3\r
+« APP|[GpioTest] Stopping GPIO test...\r
+APP|[GpioTest] Test not running\r
+GPIO TEST STOP: Success
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+PM_ID_BUTTON:1884267328\r
+fac:id : 0
+APP|mipi_tx has been enable!\r
+APP|Succ read lcd id! Lcd id: 0x5598\r
+APP|timeout when wait phy ready \r
+kvPath: /kvstore
+dataPath:
+Set value ret: -1
+brightness:0
+Brightness: 0% → Fall Edge: 7 → LED Current: 2.5mA
+[Graphic Error] [ResumeSlice: 225]No valid slice to resume
+fac:id : 0
+fac:id : 0
+fac:id : 0
+fac:id : 0
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+fac:id : 0
+[Graphic Error] [PauseSlice: 236]No valid slice to pause
+APP|uapi_lcd_backlight_off\r
+Output RESET_LCD_GPIO 1 , VCI_LCD_GPIO 0\r
+fac:id : 0
+fac:id : 0
+fac:id : 0
+fac:id : 0
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+�\0��\0�\0\0�\0��\0��\0�\0\0�\0\0\0\0��\0�\0\0�����\0�\0\0�����\0\0�\0��\0\0x��\0�����\0��\0\0�\0�x���\0��\0�x\0\0x�\0��\0�\0\0�\0��\0����\0\0��\0�\0��\0\0�\0��\0��\0�x\0�\0��\0�\0�\0\0\0�\0\0\0\0�\0������\0x\0\0�\0�����\0x\0\0�\0\0\0\0��\0�\0\0�����\0�\0\0�����\0\0�\0��\0����\0�����\0��\0\0�\0�x���\0��\0��\0������\0x\0\0�\0��\0����\0�\0�����x��\0\0\0\0�������\0��\0\0������\0\0�x����\0��x\0\0��\0��\0�\0\0�\0��\0����\0�\0��x\0����\0\0\0\0��\0�\0\0�������\0��\0\0�\0�������\0��\0�\0�\0\0\0\0�\0\0\0\0\0\0��\0\0�\0�\0�����\0����\0��\0�\0���\0�\0\0�������\0��\0��\0����x��\0��\0��\0�\0\0��\0�\0\0�\0�\0��\0��\0�\0�\0�����������\0\0\0\0��\0�\0\0�������\0��\0\0�\0�������\0��\0��\0�\0\0\0x\0\0x�\0��\0�\0\0�\0����\0�\0�����x�\0��\0\0����\0����\0�������\0��\0��\0��������\0��\0�\0\0���\0\0�\0���\0�\0\0�\0\0\0\0�\0\0��\0��\0�\0\0�\0����\0���\0��\0�\0��\0x\0\0\0�\0\0�\0�\0\0���x�\0����\0����\0��x\0��\0�\0\0\0�\0��\0\0�\0�\0��\0\0��\0x�\0�\0\0�\0��\0����\0��x\0����\0\0�\0x�\0����\0��\0��������\0�������\0�\0��\0�����\0\0\0�\0��x\0\0�\0\0\0�\0����\0��x\0����\0\0�\0��\0����\0��\0��������������x�\0�\0��\0\0�������\0�\0�\0\0\0��\0��\0�\0\0�\0�������x��\0\0���x�\0�����\0��\0�\0\0�\0�����\0�\0��\0\0�\0����\0���\0�\0\0�\0\0\0\0\0\0��\0��\0�\0\0�\0������\0������\0����\0�\0��x��\0���\0������\0\0�\0\0x�\0\0\0\0\0��\0\0\0�����\0\0\0��\0\0�\0\0\0���\0���\0\0�\0\0���\0\0�\0��\0����x��\0��\0��\0\0�\0\0\0\0�\0�\0\0x\0\0x�\0x�\0�\0\0�\0�\0��\0�����\0�\0��\0\0���\0��x��������\0������\0\0�\0\0�\0\0\0\0�\0x��\0��\0������\0x\0\0�\0��\0����\0��\0\0\0\0�\0\0����\0x\0\0�\0�\0�\0\0�\0�\0��\0\0\0��\0\0\0���\0��\0\0x�\0x�\0�\0\0�\0��\0��\0�\0��\0\0�xx\0�\0\0�\0�����\0�x\0�����\0��\0�\0��g7\19��7��\ 6\a.����\a\ e�7w�77���1\a\16�\0��\0�\0\0�\0��\0\0�\0��x�\0��\0\0�\0\0�\0�����\0�\0��\0\0���\0��x��\0��\0\0�\0�\0����\0\0�\0��\0�\0\0�\0�\0�����\0���x��\0\0�\0\0\0�\0\0\0\0\0\0�\0\0�\0���\0\0\0\0�\0������\0x\0\0�\0��\0\0�\0����\0��\0\0�\0\0�\0�����\0�\0��\0\0x��\0�����\0�����\0���\0�\0\0\0�\0�\0x�\0\0��\0����\0\0�\0�\0�\0��\0\0\0\0�\0��\0\0\0\0\0\0\0���x��\0�����\0��\0\0�\0������\0x\0\0�\0�\0�������\0\0�\0\0�\0�����\0�\0��\0�����\0���\0\0�\0�����\0�\0���x���\0\0����\0��x\0����\0�\0\0�\0�\0\0��\0�\0��\0\0\0�\0\0�\0\0��\0����\0\0�\0�\0����\0��\0\0�\0\0�\0�����\0�\0��\0\0��\0�\0\0\0\0x�\0��\0�\0�\0\0\0\0�\0\0\0\0�\0\0��\0��\0x\0\0�\0�\0����\0��\0\0�\0\0�\0�����\0�\0��\0\0\0\0�\0\0\0\0\0\0��\0��\0�\0�\0\0�\0��\0�\0\0\0�\0\0��\0��\0�\0\0�\0�\0����\0��\0\0�\0\0�\0�����\0�\0��\0��\0�\0\0\0\0\0\0��\0�������\0\0\0��\0\0\0\0�\0\0��\0����\0\0�\0��\0\0�\0��x�\0��\0��\0\0�\0�����\0�\0��\0\0���\0��x��\0��\0\0�\0�\0��\0\0�\0�\0�\0���\0�\0��\0\0�\0�����\0��\0�����\0��\0��\0\0��\0x�\0�\0\0�\0�x\0�\0��\0��x\0�\0\0�\0\0\0��\0�\0�\0\0������\0��\0��\0�\0����\0�����������\0\0\0\0\0�\0�\0\0\0\0\0\0\0\0�\0\0\0�\0\0����\0�\0\0�\0�����\0��\0��\0\0��\0��\0�\0\0�\0��\0��\0�\0����\0��\0��\0��������\0\0��\0�\0���\0����\0����\0\0�\0�����\0��\0�\0�\0\0���\0\0��\0���\0��\0\0\0\0\0������\0\0\0\0\0�\0\0\0\0�\0���\0�\0\0\0\0�\0\0��\0�\0�\0\0\0��x\0�\0���\0����\0����\0\0x�����\0\0\0\0\0���\0\0��\0\0��\0��\0x�\0�\0��\0�\0��\0���\0�\0\0�\0\0\0��\0�\0\0x��x\0�\0\0\0x�\0�\0�\0\0���x��\0��\0��\0\0\0����\0��x���\0�\0�\0\0\0\0\0\0�\0��x\0���\0\0�\0\0�x\0��\0�\0\0�\0\0����\0�\0\0�\0�����\0��\0��\0\0��\0x�\0�\0\0�\0�\0x\0\0�x\0�\0\0�\0��\0\0x\0�\0\0�\0�����\0�\0��\0\0���\0������\0\0\0\0�\0x��\0\0��\0\0�\0\0�\0��������\0�\0�\0\0\0\0��\0\0\0\0�\0\0\0\0\0�\0\0�\0������\0x\0\0�\0��\0����\0\0��\0�\0\0�\0�\0����\0\0�\0��\0\0�\0����\0\0��\0�\0�������\0\0��\0�\0\0��\0\0�\0��\0�\0�\0�\0�\0\0���\0\0�\0\0������\0��\0�\0\0����\0����\0\0��\0�\0�������\0\0��\0�\0\0�\0�\0��\0�\0�\0�\0\0�\0\0\0�\0\0\0\0\0��\0�x\0��\0��\0�\0\0�\0��\0����\0\0��\0�\0\0�\0����\0������\0�\0��\0\0�\0����\0\0����\0�������\0��x\0�\0���\0\0��\0��\0�\0\0�\0�\0�����\0\0\0���\0����\0\0�\0\0\0�����\0\0���\0��\0�\0\0���\0\0��\0�\0�\0����\0\0��\0x�\0�\0\0�\0�\0�����x��\0���\0��������\0����x�����\0��\0�\0\0\0�\0\0\0\0\0�\0\0��\0��\0\0�\0��\0�\0\0�\0��\0\0�\0\0\0\0\0\0�\0\0�APP|App uart init succ.\r
+APP|ipc reg info:int en:0,int:0,int sts:0.\r
+APP|int clr:0,clr sts:0,int set:0.\r
+APP|pmu_power_on_init begin\r
+APP|pmu_power_�n_init end\r
+chip temperature=28.000000(tmp=1830)\r
+APP|Flash id is 186585, init success\r
+APP|entering NormalMode\r
+APP|partition init success\r
+APP|upg init success\r
+[osal_msg_queue_create:25]:qName:nv_write_task qID=0x0 \r
+APP|calibration nv is not active\r
+\r
+cpu 0 entering scheduler
+app_init start ok
+APP|thread_main start \r
+APP|find nand flash chip id: 0x0B52\r
+APP|nand flash XT26Q02D start init\r
+APP|\r
+nandflash init start.\r
+APP|xt26q02d_init \r
+APP|nandflash A0 Reg:0x0 \r
+APP|nandflash B0 Reg:0x11 \r
+APP|nandflash C0 Reg:0x2 \r
+APP|\r
+nandflash_qspi_init success\r
+APP|\r
+ nandflash init end.\r
+APP|nandflash init success\r
+APP|Succ read lcd id! Lcd id: 0x5598\r
+get nv local_addr : ******4f71f0
+CALLENDAR:year = 1970, month = 1, day = 1, hour = 0, minute = 0, second = 0 \r
+callendar timestamp = 0 \r
+sync time timestamp 0, timezone_in_quarters 0 \r
+[A][aw88082_i2c_init:353]aw88082 i2c init success
+[osal_msg_queue_create:25]:qName:sap_msg qID=0x1 \r
+APP|audio init OK\r
+APP|**********startup info**********\r
+APP|os init class is liteos.\r
+APP|store init class is nandflash.\r
+APP|display init class is MIPI.\r
+APP|board init class is E0B4.\r
+APP|psram density is 32MB.\r
+APP|**********startup info**********\r
+APP|No need to upgrade...\r
+[osal_msg_queue_create:25]:qName:at_queue qID=0x2 \r
+[osal_msg_queue_create:25]:qName:graphic_at_service_queue qID=0x3 \r
+[osal_msg_queue_create:25]:qName:app_at_service_queue qID=0x4 \r
+[osal_msg_queue_create:25]:qName:audio_at_service_queue qID=0x5 \r
+[osal_msg_queue_create:25]:qName:bt_cmd_queue qID=0x6 \r
+[osal_msg_queue_create:25]:qName:media_at_service_queue qID=0x7 \r
+[osal_msg_queue_create:25]:qName:dfx_msg qID=0x8 \r
+[osal_msg_queue_create:25]:qName:transmit qID=0x9 \r
+APP|Turning on LCD backlight...
+kvPath: /kvstore
+dataPath:
+Set value ret: -1
+brightness:0
+Brightness: 0% → Fall Edge: 7 → LED Current: 2.5mA
+APP|LCD backlight turned on (CUSTOM_UTILS + BOARD_LEINIAO)
+[DISPLAY I/] GrallocInitialize: gralloc initialize success
+[DISPLAY I/] LayerInitialize: layer initialize success
+[DISPLAY I/] PrintLayerInfo: layerInfo:
+[DISPLAY I/] PrintLayerInfo: type = 0
+[DISPLAY I/] PrintLayerInfo: width = 360
+[DISPLAY I/] PrintLayerInfo: height = 360
+[DISPLAY I/] PrintLayerInfo: bpp = 24
+[DISPLAY I/] PrintLayerInfo: pixFormat = 17
+[DISPLAY I/] VGUInitialize: VGU initializes successfully
+[DISPLAY I/] InitMemPool: Memory Pool has been inited.
+[DISPLAY I/] GrallocInitialize: gralloc initialize success
+====InitDfxCmd===
+[Graphic Error] [ResumeSlice: 225]No valid slice to resume
+APP|[POWER_MANAGER E/] filter_timer_execute_system_rule: filter timer, current default timeout:5000, keepon time:25000, event:5.\r
+APP|No need to upgrade...\r
+APP|SET DSP freq=3, div=6, codec freq=3, div=36\r
+[VAU_ERROR][vau_api_check_surface 108]input phy_addr is null!
+[VAU_ERROR][vau_api_check_surface_list 144]vau check src surface[0] failed!
+[VAU_ERROR][uapi_vau_compose 861]call vau_check_surface_list fail ret = 0x80004000!
+[DISPLAY E/] BlitMultiImgOnce: uapi_vau_compose failure, ret = 0x80004000!
+[DISPLAY E/] BlitMultiImgOnce: src[0] w:360 h:360 str:1472 fmt:0 cmp:0 rect:[0,0,360,360] outRect:[0,0,360,360]
+[Graphic Error] [BlitImages: 889]RenderBlit failed!
+[A][ALERT][sys_cmd_check_cmd_done:164] wait_time_us = 600
+[A][ALERT][drv_sys_pon:297] DSP0 power on
+APP|lwip_main run start.\r
+APP|audio manager init ok\r
+APP|app_main run start.\r
+[osal_msg_queue_create:25]:qName:app_queue qID=0xb \r
+APP|uapi_battery_init !\r
+[osal_msg_queue_create:25]:qName:battery_queue qID=0xc \r
+APP|charger not plugged ,disable charge !\r
+APP|charger not plugged ,disable charge !\r
+APP|uapi_custom_cmd_service_init !\r
+[osal_msg_queue_create:25]:qName:custom_cmd_service_queue qID=0xd \r
+APP|uapi_custom_fileoperate_service_init !\r
+[osal_msg_queue_create:25]:qName:custom_fileoperate_service_queue qID=0xe \r
+APP|No need to upgrade...\r
+[WEARABLE I/] InitBroadcastService start!
+[WEARABLE I/] start! topicSubscriberInfo=0x0x6c104e68
+[WEARABLE I/] InitBroadcastService end!
+[WEARABLE E/] LoadManagementFromFile open fail
+[WEARABLE E/] SaveManagementToFile open fail
+I ams starts successfully
+I bms starts successfully
+[00:00:01:718][I][Init:37]Locator service starts successfully
+[00:00:01:719][D][Init:56][SERVICE:sensor_service]: Init begin
+[WEARABLE I/] WatchConnectCmdRegister
+I ams feature init success
+I [BMS] bms feature init success
+[00:00:01:722][I][Init:56]Locator feature init success
+[00:00:01:724][D][GetTaskConfig:80][SERVICE:sensor_service]: GetTaskConfig begin
+[WEARABLE I/] BroadcastService featureId=4294967295, queueId=536924516, serviceId=2
+[WEARABLE I/] BroadcastFeature featureId=0, queueId=536924516, serviceId=2
+E Fail to open dir:/user/dialpubkey!
+E Failed to create file
+E Public key write failed!
+[WEARABLE I/] NativeAbility InstallAbility
+D MemUtils::InitPSRam g_psramMemory = 6c200000
+[WEARABLE I/] InitNativeLauncher: Minimal startup - Blue window only
+[WEARABLE I/] Cleared all existing views from RootView
+[WEARABLE I/] Blue window created and displayed: 360x360
+I AbilityMgrSliteFeature::OnFeatureInitialize featureId = 0, queueId = 536924708, serviceId = 6
+[WEARABLE I/] NativeAbility OnActive
+[WEARABLE E/] NativeAbility ResumeAbility 0 failed
+I BundleMgrService::ServiceMessageHandle
+[00:00:02:497][I][OnFeatureInitialize:85]Locator feature init
+[00:00:02:498][I][InitAbility:84]initAbility start
+[00:00:02:499][I][Initialize:71]ability constructed.
+[00:00:02:500][E][InitAbility:90]Initialize gps ability, result 1
+[00:00:02:501][I][Initialize:54]LocatorAbility Initialize.
+[00:00:02:502][I][OnFeatureInitialize:89]LocatorAbility initialize success
+APP|[POWER_MANAGER E/] filter_timer_execute_system_rule: filter timer, current default timeout:5000, keepon time:0, event:5.\r
+[00:00:02:512][D][Initialize:62][SERVICE:sensor_service]: Initialize begin
+[00:00:02:513][D][NewSensorInterfaceInstance:47]Get sensor device instance success
+[A][ALERT][sys_cmd_check_cmd_done:164] wait_time_us = 900
+[A][ALERT][drv_sys_pd:331] DSP0 power down
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|M core run time 1276556, deepsleep time:0, lightsleep time:1183392, m sleep flag:0\r
+APP|M core deepsleep cnt:0, lightsleep cnt:26767\r
+APP|M core last veto id:0, last veto count:0, total_counts=1\r
+[A][ALERT][sys_cmd_check_cmd_done:164] wait_time_us = 900
+[A][ALERT][drv_sys_pd:331] DSP0 power down
+APP|app_main run start.\r
+APP|sys_slp: 0x1\r
+[Graphic Error] [PauseSlice: 236]No valid slice to pause
+APP|uapi_lcd_backlight_off\r
+Output RESET_LCD_GPIO 1 , VCI_LCD_GPIO 0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x1\r
+APP|app_main run start.\r
+APP|sys_slp: 0x1\r
+APP|app_main run start.\r
+APP|sys_slp: 0x1\r
+APP|app_main run start.\r
+APP|sys_slp: 0x1\r
+» AT^GPIOTEST=2\r
+» AT^GPIOTEST=2\r
+« APP|[GpioTest] Starting GPIO test...\r
+APP|[GpioTest] No GPIO pairs configured, initializing with default config...\r
+APP|[GpioTest] Invalid input pin name: HSUART_CTS\r
+APP|[GpioTest] Parsed 34 GPIO pairs from JSON\r
+APP|[GpioTest] Default config initialized successfully\r
+APP|[GpioTest] Starting GPIO test with 34 pairs...\r
+APP|[GpioTest] Testing pair 0: S_AGPIO_L23 (input) <-> S_AGPIO_L12 (output)\r
+APP|[GpioTest] Pair 0: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 1: S_AGPIO_L13 (input) <-> S_AGPIO_L31 (output)\r
+APP|[GpioTest] Pair 1: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 2: S_AGPIO_L3 (input) <-> S_AGPIO_L2 (output)\r
+APP|[GpioTest] Pair 2: PASSED - S_AGPIO_L3 <-> S_AGPIO_L2\r
+APP|[GpioTest] Testing pair 3: S_AGPIO_L1 (input) <-> S_AGPIO_L4 (output)\r
+APP|[GpioTest] Pair 3: PASSED - S_AGPIO_L1 <-> S_AGPIO_L4\r
+APP|[GpioTest] Testing pair 4: S_AGPIO_L0 (input) <-> S_AGPIO_R4 (output)\r
+APP|[GpioTest] Pair 4: PASSED - S_AGPIO_L0 <-> S_AGPIO_R4\r
+APP|[GpioTest] Testing pair 5: S_AGPIO_R5 (input) <-> S_MGPIO14 (output)\r
+APP|[GpioTest] Pair 5: PASSED - S_AGPIO_R5 <-> S_MGPIO14\r
+APP|[GpioTest] Testing pair 6: S_MGPIO13 (input) <-> S_AGPIO_R10 (output)\r
+APP|[GpioTest] Pair 6: PASSED - S_MGPIO13 <-> S_AGPIO_R10\r
+APP|[GpioTest] Testing pair 7: S_MGPIO11 (input) <-> S_MGPIO12 (output)\r
+APP|[GpioTest] Pair 7: PASSED - S_MGPIO11 <-> S_MGPIO12\r
+APP|[GpioTest] Testing pair 8: S_AGPIO_R2 (input) <-> S_AGPIO_R1 (output)\r
+APP|[GpioTest] Pair 8: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 9: S_AGPIO_L24 (input) <-> S_AGPIO_L17 (output)\r
+APP|[GpioTest] Pair 9: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 10: S_AGPIO_L21 (input) <-> S_AGPIO_L11 (output)\r
+APP|[GpioTest] Pair 10: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 11: S_AGPIO_L19 (input) <-> S_AGPIO_R0 (output)\r
+APP|[GpioTest] Pair 11: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 12: S_HGPIO13 (input) <-> S_AGPIO_R3 (output)\r
+APP|[GpioTest] Pair 12: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 13: S_AGPIO_R6 (input) <-> S_MGPIO25 (output)\r
+APP|[GpioTest] Pair 13: PASSED - S_AGPIO_R6 <-> S_MGPIO25\r
+APP|[GpioTest] Testing pair 14: S_MGPIO26 (input) <-> S_MGPIO23 (output)\r
+APP|[GpioTest] Pair 14: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 15: S_MGPIO24 (input) <-> S_MGPIO31 (output)\r
+APP|[GpioTest] Pair 15: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 16: S_MGPIO29 (input) <-> S_MGPIO30 (output)\r
+APP|[GpioTest] Pair 16: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 17: S_MGPIO32 (input) <-> S_MGPIO28 (output)\r
+APP|[GpioTest] Pair 17: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 18: S_MGPIO27 (input) <-> S_MGPIO22 (output)\r
+APP|[GpioTest] Pair 18: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 19: S_MGPIO21 (input) <-> S_MGPIO19 (output)\r
+APP|[GpioTest] Pair 19: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 20: S_MGPIO20 (input) <-> S_AGPIO_R7 (output)\r
+APP|[GpioTest] Pair 20: PASSED - S_MGPIO20 <-> S_AGPIO_R7\r
+APP|[GpioTest] Testing pair 21: S_AGPIO_R8 (input) <-> S_AGPIO_R9 (output)\r
+APP|[GpioTest] Pair 21: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 22: S_AGPIO_L30 (input) <-> S_AGPIO_L29 (output)\r
+APP|[GpioTest] Pair 22: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 23: S_AGPIO_L32 (input) <-> S_AGPIO_L20 (output)\r
+APP|[GpioTest] Pair 23: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 24: S_AGPIO_L15 (input) <-> S_HGPIO5 (output)\r
+APP|[GpioTest] Pair 24: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 25: S_HGPIO4 (input) <-> S_HGPIO0 (output)\r
+APP|[GpioTest] Pair 25: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 26: S_HGPIO1 (input) <-> S_HGPIO2 (output)\r
+APP|[GpioTest] Pair 26: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 27: S_HGPIO3 (input) <-> S_MGPIO3 (output)\r
+APP|[GpioTest] Pair 27: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 28: S_MGPIO1 (input) <-> S_MGPIO2 (output)\r
+APP|[GpioTest] Pair 28: PASSED - S_MGPIO1 <-> S_MGPIO2\r
+APP|[GpioTest] Testing pair 29: S_MGPIO0 (input) <-> S_MGPIO6 (output)\r
+APP|[GpioTest] Pair 29: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 30: S_MGPIO9 (input) <-> S_MGPIO8 (output)\r
+APP|[GpioTest] Pair 30: PASSED - S_MGPIO9 <-> S_MGPIO8\r
+APP|[GpioTest] Testing pair 31: S_MGPIO7 (input) <-> S_MGPIO8 (output)\r
+APP|[GpioTest] Pair 31: PASSED - S_MGPIO7 <-> S_MGPIO8\r
+APP|[GpioTest] Testing pair 32: S_AGPIO_L28 (input) <-> S_AGPIO_L18 (output)\r
+APP|[GpioTest] Pair 32: PASSED - S_AGPIO_L28 <-> S_AGPIO_L18\r
+APP|[GpioTest] Testing pair 33: S_HGPIO9 (input) <-> S_AGPIO_L26 (output)\r
+APP|[GpioTest] Pair 33: PASSED - S_HGPIO9 <-> S_AGPIO_L26\r
+APP|[GpioTest] Test completed: 13 passed, 21 failed\r
+APP|[GpioTest] Failed pairs:\r
+APP|[GpioTest] Pair 0: S_AGPIO_L23 (input) <-> S_AGPIO_L12 (output)\r
+APP|[GpioTest] Pair 1: S_AGPIO_L13 (input) <-> S_AGPIO_L31 (output)\r
+APP|[GpioTest] Pair 8: S_AGPIO_R2 (input) <-> S_AGPIO_R1 (output)\r
+APP|[GpioTest] Pair 9: S_AGPIO_L24 (input) <-> S_AGPIO_L17 (output)\r
+APP|[GpioTest] Pair 10: S_AGPIO_L21 (input) <-> S_AGPIO_L11 (output)\r
+APP|[GpioTest] Pair 11: S_AGPIO_L19 (input) <-> S_AGPIO_R0 (output)\r
+APP|[GpioTest] Pair 12: S_HGPIO13 (input) <-> S_AGPIO_R3 (output)\r
+APP|[GpioTest] Pair 14: S_MGPIO26 (input) <-> S_MGPIO23 (output)\r
+APP|[GpioTest] Pair 15: S_MGPIO24 (input) <-> S_MGPIO31 (output)\r
+APP|[GpioTest] Pair 16: S_MGPIO29 (input) <-> S_MGPIO30 (output)\r
+APP|[GpioTest] Pair 17: S_MGPIO32 (input) <-> S_MGPIO28 (output)\r
+APP|[GpioTest] Pair 18: S_MGPIO27 (input) <-> S_MGPIO22 (output)\r
+APP|[GpioTest] Pair 19: S_MGPIO21 (input) <-> S_MGPIO19 (output)\r
+APP|[GpioTest] Pair 21: S_AGPIO_R8 (input) <-> S_AGPIO_R9 (output)\r
+APP|[GpioTest] Pair 22: S_AGPIO_L30 (input) <-> S_AGPIO_L29 (output)\r
+APP|[GpioTest] Pair 23: S_AGPIO_L32 (input) <-> S_AGPIO_L20 (output)\r
+APP|[GpioTest] Pair 24: S_AGPIO_L15 (input) <-> S_HGPIO5 (output)\r
+APP|[GpioTest] Pair 25: S_HGPIO4 (input) <-> S_HGPIO0 (output)\r
+APP|[GpioTest] Pair 26: S_HGPIO1 (input) <-> S_HGPIO2 (output)\r
+APP|[GpioTest] Pair 27: S_HGPIO3 (input) <-> S_MGPIO3 (output)\r
+APP|[GpioTest] Pair 29: S_MGPIO0 (input) <-> S_MGPIO6 (output)\r
+APP|[GpioTest] Test finished\r
+GPIO TEST START: Success
+APP|app_main run start.\r
+APP|sys_slp: 0x1\r
+» AT^GPIOTEST=2\r
+« APP|[GpioTest] Starting GPIO test...\r
+APP|[GpioTest] Starting GPIO test with 34 pairs...\r
+APP|[GpioTest] Testing pair 0: S_AGPIO_L23 (input) <-> S_AGPIO_L12 (output)\r
+APP|[GpioTest] Pair 0: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 1: S_AGPIO_L13 (input) <-> S_AGPIO_L31 (output)\r
+APP|[GpioTest] Pair 1: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 2: S_AGPIO_L3 (input) <-> S_AGPIO_L2 (output)\r
+APP|[GpioTest] Pair 2: PASSED - S_AGPIO_L3 <-> S_AGPIO_L2\r
+APP|[GpioTest] Testing pair 3: S_AGPIO_L1 (input) <-> S_AGPIO_L4 (output)\r
+APP|[GpioTest] Pair 3: PASSED - S_AGPIO_L1 <-> S_AGPIO_L4\r
+APP|[GpioTest] Testing pair 4: S_AGPIO_L0 (input) <-> S_AGPIO_R4 (output)\r
+APP|[GpioTest] Pair 4: PASSED - S_AGPIO_L0 <-> S_AGPIO_R4\r
+APP|[GpioTest] Testing pair 5: S_AGPIO_R5 (input) <-> S_MGPIO14 (output)\r
+APP|[GpioTest] Pair 5: PASSED - S_AGPIO_R5 <-> S_MGPIO14\r
+APP|[GpioTest] Testing pair 6: S_MGPIO13 (input) <-> S_AGPIO_R10 (output)\r
+APP|[GpioTest] Pair 6: PASSED - S_MGPIO13 <-> S_AGPIO_R10\r
+APP|[GpioTest] Testing pair 7: S_MGPIO11 (input) <-> S_MGPIO12 (output)\r
+APP|[GpioTest] Pair 7: PASSED - S_MGPIO11 <-> S_MGPIO12\r
+APP|[GpioTest] Testing pair 8: S_AGPIO_R2 (input) <-> S_AGPIO_R1 (output)\r
+APP|[GpioTest] Pair 8: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 9: S_AGPIO_L24 (input) <-> S_AGPIO_L17 (output)\r
+APP|[GpioTest] Pair 9: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 10: S_AGPIO_L21 (input) <-> S_AGPIO_L11 (output)\r
+APP|[GpioTest] Pair 10: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 11: S_AGPIO_L19 (input) <-> S_AGPIO_R0 (output)\r
+APP|[GpioTest] Pair 11: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 12: S_HGPIO13 (input) <-> S_AGPIO_R3 (output)\r
+APP|[GpioTest] Pair 12: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 13: S_AGPIO_R6 (input) <-> S_MGPIO25 (output)\r
+APP|[GpioTest] Pair 13: PASSED - S_AGPIO_R6 <-> S_MGPIO25\r
+APP|[GpioTest] Testing pair 14: S_MGPIO26 (input) <-> S_MGPIO23 (output)\r
+APP|[GpioTest] Pair 14: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 15: S_MGPIO24 (input) <-> S_MGPIO31 (output)\r
+APP|[GpioTest] Pair 15: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 16: S_MGPIO29 (input) <-> S_MGPIO30 (output)\r
+APP|[GpioTest] Pair 16: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 17: S_MGPIO32 (input) <-> S_MGPIO28 (output)\r
+APP|[GpioTest] Pair 17: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 18: S_MGPIO27 (input) <-> S_MGPIO22 (output)\r
+APP|[GpioTest] Pair 18: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 19: S_MGPIO21 (input) <-> S_MGPIO19 (output)\r
+APP|[GpioTest] Pair 19: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 20: S_MGPIO20 (input) <-> S_AGPIO_R7 (output)\r
+APP|[GpioTest] Pair 20: PASSED - S_MGPIO20 <-> S_AGPIO_R7\r
+APP|[GpioTest] Testing pair 21: S_AGPIO_R8 (input) <-> S_AGPIO_R9 (output)\r
+APP|[GpioTest] Pair 21: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 22: S_AGPIO_L30 (input) <-> S_AGPIO_L29 (output)\r
+APP|[GpioTest] Pair 22: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 23: S_AGPIO_L32 (input) <-> S_AGPIO_L20 (output)\r
+APP|[GpioTest] Pair 23: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 24: S_AGPIO_L15 (input) <-> S_HGPIO5 (output)\r
+APP|[GpioTest] Pair 24: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 25: S_HGPIO4 (input) <-> S_HGPIO0 (output)\r
+APP|[GpioTest] Pair 25: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 26: S_HGPIO1 (input) <-> S_HGPIO2 (output)\r
+APP|[GpioTest] Pair 26: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 27: S_HGPIO3 (input) <-> S_MGPIO3 (output)\r
+APP|[GpioTest] Pair 27: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 28: S_MGPIO1 (input) <-> S_MGPIO2 (output)\r
+APP|[GpioTest] Pair 28: PASSED - S_MGPIO1 <-> S_MGPIO2\r
+APP|[GpioTest] Testing pair 29: S_MGPIO0 (input) <-> S_MGPIO6 (output)\r
+APP|[GpioTest] Pair 29: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 30: S_MGPIO9 (input) <-> S_MGPIO8 (output)\r
+APP|[GpioTest] Pair 30: PASSED - S_MGPIO9 <-> S_MGPIO8\r
+APP|[GpioTest] Testing pair 31: S_MGPIO7 (input) <-> S_MGPIO8 (output)\r
+APP|[GpioTest] Pair 31: PASSED - S_MGPIO7 <-> S_MGPIO8\r
+APP|[GpioTest] Testing pair 32: S_AGPIO_L28 (input) <-> S_AGPIO_L18 (output)\r
+APP|[GpioTest] Pair 32: PASSED - S_AGPIO_L28 <-> S_AGPIO_L18\r
+APP|[GpioTest] Testing pair 33: S_HGPIO9 (input) <-> S_AGPIO_L26 (output)\r
+APP|[GpioTest] Pair 33: PASSED - S_HGPIO9 <-> S_AGPIO_L26\r
+APP|[GpioTest] Test completed: 13 passed, 21 failed\r
+APP|[GpioTest] Failed pairs:\r
+APP|[GpioTest] Pair 0: S_AGPIO_L23 (input) <-> S_AGPIO_L12 (output)\r
+APP|[GpioTest] Pair 1: S_AGPIO_L13 (input) <-> S_AGPIO_L31 (output)\r
+APP|[GpioTest] Pair 8: S_AGPIO_R2 (input) <-> S_AGPIO_R1 (output)\r
+APP|[GpioTest] Pair 9: S_AGPIO_L24 (input) <-> S_AGPIO_L17 (output)\r
+APP|[GpioTest] Pair 10: S_AGPIO_L21 (input) <-> S_AGPIO_L11 (output)\r
+APP|[GpioTest] Pair 11: S_AGPIO_L19 (input) <-> S_AGPIO_R0 (output)\r
+APP|[GpioTest] Pair 12: S_HGPIO13 (input) <-> S_AGPIO_R3 (output)\r
+APP|[GpioTest] Pair 14: S_MGPIO26 (input) <-> S_MGPIO23 (output)\r
+APP|[GpioTest] Pair 15: S_MGPIO24 (input) <-> S_MGPIO31 (output)\r
+APP|[GpioTest] Pair 16: S_MGPIO29 (input) <-> S_MGPIO30 (output)\r
+APP|[GpioTest] Pair 17: S_MGPIO32 (input) <-> S_MGPIO28 (output)\r
+APP|[GpioTest] Pair 18: S_MGPIO27 (input) <-> S_MGPIO22 (output)\r
+APP|[GpioTest] Pair 19: S_MGPIO21 (input) <-> S_MGPIO19 (output)\r
+APP|[GpioTest] Pair 21: S_AGPIO_R8 (input) <-> S_AGPIO_R9 (output)\r
+APP|[GpioTest] Pair 22: S_AGPIO_L30 (input) <-> S_AGPIO_L29 (output)\r
+APP|[GpioTest] Pair 23: S_AGPIO_L32 (input) <-> S_AGPIO_L20 (output)\r
+APP|[GpioTest] Pair 24: S_AGPIO_L15 (input) <-> S_HGPIO5 (output)\r
+APP|[GpioTest] Pair 25: S_HGPIO4 (input) <-> S_HGPIO0 (output)\r
+APP|[GpioTest] Pair 26: S_HGPIO1 (input) <-> S_HGPIO2 (output)\r
+APP|[GpioTest] Pair 27: S_HGPIO3 (input) <-> S_MGPIO3 (output)\r
+APP|[GpioTest] Pair 29: S_MGPIO0 (input) <-> S_MGPIO6 (output)\r
+APP|[GpioTest] Test finished\r
+GPIO TEST START: Success
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+�\0x�\0��\0�\0��\0��\0��\0�\0\0\0\0�����\0�����\0�\0\0x����\0\0�\0��\0\0���\0�����\0��\0\0�\0�����\0��\0��\0\0��\0��\0�\0\0�\0�\0\0�����\0����\0��\0\0\0\0��\0��\0��\0�\0��\0�\0\0\0�\0�\0\0\0\0x\0\0��\0��\0�\0\0�\0�����\0x\0\0�\0\0\0\0�����\0�����\0�\0\0�����\0\0�\0��\0\0���\0��x��\0��\0\0�\0�x���\0��\0�x\0\0x�\0��\0�\0\0�\0��\0����\0�\0���\0����\0\0\0�������x\0�\0��\0\0�\0�\0���\0\0��\0��\0�\0\0�\0�������\0�\0���\0����\0\0\0\0�����\0�������\0��\0\0�\0���x������\0�\0�\0\0\0\0�\0��\0�\0\0�\0\0\0�\0�\0�����\0����\0��\0\0�\0��\0�\0\0�������\0��\0��\0�������\0��\0��\0�\0\0\0\0�\0\0�\0�\0��\0��\0�\0�\0��������\0��\0\0�\0��\0�\0\0�������\0��\0\0�\0�������\0��\0��\0�\0\0\0�\0\0��\0��\0��\0�\0����\0�\0�������\0��\0\0����\0����\0�������\0��\0\0�\0����\0�����x\0�\0\0\0��\0\0�\0��\0\0�\0\0�\0\0\0\0�\0���\0����\0\0����������\0��\0�\0��\0�\0\0\0�\0\0�\0\0\0\0�����\0����\0�x��\0���\0��\0�\0\0\0�\0��\0\0�\0�\0\0�\0\0��\0����\0\0�\0��\0����\0��x\0����\0��\0��\0�������\0�������x\0�������\0�\0��\0�����\0\0\0�\0���\0\0�\0\0\0�\0����\0��������\0\0�\0��\0����\0��\0����������x�����\0�\0��\0\0�����x�\0\0\0\0\0\0\0��\0��\0�\0\0�\0�x���\0����\0\0�����\0�������x\0�\0\0�\0�����\0�\0��\0\0�\0����\0���\0�\0\0��\0\0\0\0������\0��\0�\0�x����\0��x��\0\0����\0�\0�����\0���\0������\0\0�\0\0�\0\0\0\0\0\0��\0\0\0\0�\0���\0\0��\0\0�\0\0\0\0����x�\0\0�\0\0���\0\0�\0\0�\0�������\0��\0��\0\0�\0\0\0\0�\0�\0\0�\0\0��\0��\0��\0�\0�\0\0�\0�����\0�\0��\0\0�����������x���\0��xx��\0\0�\0\0x\0\0\0\0�\0x��\0��\0���\0��\0x\0\0�\0��\0��\0�\0��\0�\0\0�\0\0������\0\0�\0�\0��\0\0\0�\0��\0\0\0��\0\0\0x��\0��\0���\0��\0��\0�\0��\0��\0�\0��\0\0���\0�\0\0�\0�����\0��\0��\0�����\0�\0��'7\19��7��\ 6\a.��ɇ\a\ e�77��7w���1\a\16�\0��\0�\0\0�\0��\0\0�\0��x�\0��\0\0�\0\0�\0�����\0�\0��\0\0���\0�����\0��\0\0�\0�\0����\0\0�\0��\0�\0\0�\0�\0�����\0������\0\0�\0\0\0�\0\0\0\0\0\0�\0\0\0\0���\0\0\0\0�\0\0��\0��\0�\0\0�\0��\0\0�\0����\0��\0\0�\0\0�\0�����\0�\0��\0\0x��\0�����\0�����\0�����\0\0\0x\0�\0�x\0\0x�\0x�\0�\0\0�\0�\0�\0��\0\0\0�����\0\0\0\0\0\0\0������\0�����\0��\0\0�\0\0��\0��\0�\0\0�\0�\0��x�\0��\0\0�\0\0�\0�����\0�\0��\0\0����\0���\0��\0�����\0�\0�������\0\0����\0����������\0\0�\0�\0���\0�\0��\0\0\0\0\0\0�\0\0��\0��\0�\0\0�\0�\0����\0��\0\0�\0\0�\0�������\0��\0\0x�\0\0\0\0\0\0��\0��\0�\0�\0\0�\0�\0\0\0\0�\0\0��\0x�\0�\0\0�\0�\0����\0��\0\0�\0��\0�����\0�\0��\0\0\0\0�\0\0\0\0\0���\0��\0�\0�\0\0\0\0�x��\0\0\0�\0\0�����\0x\0\0�\0�\0����\0��\0\0��\0�\0�����\0�\0��\0\0�\0�\0\0\0\0\0\0��\0��\0�\0�\0\0\0\0��\0�\0\0�\0\0��\0��\0�\0\0�\0��\0\0������\0��\0\0�\0\0�\0�����\0�\0��\0\0���\0�����\0��\0\0�\0����\0\0�\0�\0\0\0\0��\0�\0��\0��\0�����\0��\0��\0��\0��\0��\0\0��\0����\0\0�\0��\0�\0��\0���\0�\0\0�\0\0\0��\0�\0�\0�������\0��\0��\0\0\0����\0�����������\0\0\0\0\0�\0�\0\0\0\0\0\0\0\0�\0\0��\0\0����\0�\0\0�\0x����\0��\0��\0������\0x\0\0�\0��\0����\0����\0��\0�\0\0��������\0\0��\0�\0���\0����\0����\0\0�\0�����\0��\0�\0�\0\0x\0�\0���\0�\0��\0�\0�\0\0\0����\0�\0\0\0\0\0�\0�\0\0�\0\0�\0��\0�\0\0�\0\0�\0��\0�\0\0\0\0�������������\0��x�\0\0����\0�\0�\0\0\0���\0���\0\0��\0��\0�\0\0�\0��\0����\0���\0��\0�\0\0\0x�\0�\0\0����\0�\0\0\0��\0�\0�\0�������\0��\0��\0\0\0����\0�����������\0\0\0\0\0�\0\0��\0���\0\0�\0\0��\0��\0�\0\0�\0\0����\0�\0\0�\0�����\0��\0��\0\0��\0����\0\0�\0�\0�\0���\0��\0�\0��\0\0�\0��\0�\0�����\0�\0��\0\0���\0\0�\0�\0�\0\0�\0�\0��\0\0\0x��\0�\0\0�\0����\0���\0�\0�\0\0\0\0��\0\0\0\0\0\0�\0\0\0\0\0��\0\0��\0����\0\0�\0��\0����\0\0��\0�\0\0�\0�\0����\0\0�\0��\0\0�\0����\0��x\0�\0�������\0\0��\0�\0\0��\0\0�\0��\0�\0�\0\0\0��\0���\0\0�\0\0������\0��\0�\0\0����\0����\0\0��\0�\0�������\0\0��\0�\0\0�\0�\0��\0x\0�\0�\0\0�\0\0\0�\0\0\0\0\0x�\0�����\0��\0�\0\0�\0��\0����\0\0����\0\0\0\0����\0��x�����\0��\0\0�\0����\0\0��\0�\0�������\0\0��\0�\0\0��\0\0�����\0��\0�\0�\0\0����\0\0\0�����x\0�\0\0�\0\0\0�����\0\0x��\0��\0�\0\0���\0\0��\0�\0x\0�\0�x\0\0x�\0x�\0�\0\0�\0�\0��������\0���\0��������\0�x��������\0��\0�\0\0\0�\0\0\0�\0�\0\0��\0\0�\0\0�\0\0�\0�\0\0\0\0�x�\0\0\0\0\0\0\0\0�\0\0�APP|App uart init succ.\r
+APP|ipc reg info:int en:0,int:0,int sts:0.\r
+APP|int clr:0,clr sts:0,int set:0.\r
+APP|pmu_power_on_init begin\r
+APP|pmu_power�on_init end\r
+chip temperature=26.400000(tmp=1798)\r
+APP|Flash id is 186585, init success\r
+APP|entering NormalMode\r
+APP|partition init success\r
+APP|upg init success\r
+[osal_msg_queue_create:25]:qName:nv_write_task qID=0x0 \r
+APP|calibration nv is not active\r
+\r
+cpu 0 entering scheduler
+app_init start ok
+APP|thread_main start \r
+APP|find nand flash chip id: 0x0B52\r
+APP|nand flash XT26Q02D start init\r
+APP|\r
+nandflash init start.\r
+APP|xt26q02d_init \r
+APP|nandflash A0 Reg:0x0 \r
+APP|nandflash B0 Reg:0x11 \r
+APP|nandflash C0 Reg:0x2 \r
+APP|\r
+nandflash_qspi_init success\r
+APP|\r
+ nandflash init end.\r
+APP|nandflash init success\r
+APP|Succ read lcd id! Lcd id: 0x5598\r
+get nv local_addr : ******68663c
+CALLENDAR:year = 1970, month = 1, day = 1, hour = 0, minute = 0, second = 0 \r
+callendar timestamp = 0 \r
+sync time timestamp 0, timezone_in_quarters 0 \r
+[A][aw88082_i2c_init:353]aw88082 i2c init success
+[osal_msg_queue_create:25]:qName:sap_msg qID=0x1 \r
+APP|audio init OK\r
+APP|**********startup info**********\r
+APP|os init class is liteos.\r
+APP|store init class is nandflash.\r
+APP|display init class is MIPI.\r
+APP|board init class is E0B4.\r
+APP|psram density is 32MB.\r
+APP|**********startup info**********\r
+APP|No need to upgrade...\r
+[osal_msg_queue_create:25]:qName:at_queue qID=0x2 \r
+[osal_msg_queue_create:25]:qName:graphic_at_service_queue qID=0x3 \r
+[osal_msg_queue_create:25]:qName:app_at_service_queue qID=0x4 \r
+[osal_msg_queue_create:25]:qName:audio_at_service_queue qID=0x5 \r
+[osal_msg_queue_create:25]:qName:bt_cmd_queue qID=0x6 \r
+[osal_msg_queue_create:25]:qName:media_at_service_queue qID=0x7 \r
+[osal_msg_queue_create:25]:qName:dfx_msg qID=0x8 \r
+[osal_msg_queue_create:25]:qName:transmit qID=0x9 \r
+APP|Turning on LCD backlight...
+kvPath: /kvstore
+dataPath:
+Set value ret: -1
+brightness:0
+Brightness: 0% → Fall Edge: 7 → LED Current: 2.5mA
+APP|LCD backlight turned on (CUSTOM_UTILS + BOARD_LEINIAO)
+[DISPLAY I/] GrallocInitialize: gralloc initialize success
+[DISPLAY I/] LayerInitialize: layer initialize success
+[DISPLAY I/] PrintLayerInfo: layerInfo:
+[DISPLAY I/] PrintLayerInfo: type = 0
+[DISPLAY I/] PrintLayerInfo: width = 360
+[DISPLAY I/] PrintLayerInfo: height = 360
+[DISPLAY I/] PrintLayerInfo: bpp = 24
+[DISPLAY I/] PrintLayerInfo: pixFormat = 17
+[DISPLAY I/] VGUInitialize: VGU initializes successfully
+[DISPLAY I/] InitMemPool: Memory Pool has been inited.
+[DISPLAY I/] GrallocInitialize: gralloc initialize success
+====InitDfxCmd===
+[Graphic Error] [ResumeSlice: 225]No valid slice to resume
+APP|[POWER_MANAGER E/] filter_timer_execute_system_rule: filter timer, current default timeout:5000, keepon time:25000, event:5.\r
+APP|No need to upgrade...\r
+APP|SET DSP freq=3, div=6, codec freq=3, div=36\r
+[VAU_ERROR][vau_api_check_surface 108]input phy_addr is null!
+[VAU_ERROR][vau_api_check_surface_list 144]vau check src surface[0] failed!
+[VAU_ERROR][uapi_vau_compose 861]call vau_check_surface_list fail ret = 0x80004000!
+[DISPLAY E/] BlitMultiImgOnce: uapi_vau_compose failure, ret = 0x80004000!
+[DISPLAY E/] BlitMultiImgOnce: src[0] w:360 h:360 str:1472 fmt:0 cmp:0 rect:[0,0,360,360] outRect:[0,0,360,360]
+[Graphic Error] [BlitImages: 889]RenderBlit failed!
+[A][ALERT][sys_cmd_check_cmd_done:164] wait_time_us = 500
+[A][ALERT][drv_sys_pon:297] DSP0 power on
+APP|lwip_main run start.\r
+APP|audio manager init ok\r
+APP|app_main run start.\r
+[osal_msg_queue_create:25]:qName:app_queue qID=0xb \r
+APP|uapi_battery_init !\r
+[osal_msg_queue_create:25]:qName:battery_queue qID=0xc \r
+APP|charger not plugged ,disable charge !\r
+APP|charger not plugged ,disable charge !\r
+APP|uapi_custom_cmd_service_init !\r
+[osal_msg_queue_create:25]:qName:custom_cmd_service_queue qID=0xd \r
+APP|uapi_custom_fileoperate_service_init !\r
+[osal_msg_queue_create:25]:qName:custom_fileoperate_service_queue qID=0xe \r
+APP|No need to upgrade...\r
+[WEARABLE I/] InitBroadcastService start!
+[WEARABLE I/] start! topicSubscriberInfo=0x0x6c104e68
+[WEARABLE I/] InitBroadcastService end!
+[WEARABLE E/] LoadManagementFromFile open fail
+[WEARABLE E/] SaveManagementToFile open fail
+I ams starts successfully
+I bms starts successfully
+[00:00:01:687][I][Init:37]Locator service starts successfully
+[00:00:01:689][D][Init:56][SERVICE:sensor_service]: Init begin
+[WEARABLE I/] WatchConnectCmdRegister
+I ams feature init success
+I [BMS] bms feature init success
+[00:00:01:692][I][Init:56]Locator feature init success
+[00:00:01:693][D][GetTaskConfig:80][SERVICE:sensor_service]: GetTaskConfig begin
+[WEARABLE I/] BroadcastService featureId=4294967295, queueId=536924516, serviceId=2
+[WEARABLE I/] BroadcastFeature featureId=0, queueId=536924516, serviceId=2
+E Fail to open dir:/user/dialpubkey!
+E Failed to create file
+E Public key write failed!
+[WEARABLE I/] NativeAbility InstallAbility
+D MemUtils::InitPSRam g_psramMemory = 6c200000
+[WEARABLE I/] InitNativeLauncher: Minimal startup - Blue window only
+[WEARABLE I/] Cleared all existing views from RootView
+[WEARABLE I/] Blue window created and displayed: 360x360
+I AbilityMgrSliteFeature::OnFeatureInitialize featureId = 0, queueId = 536924708, serviceId = 6
+[WEARABLE I/] NativeAbility OnActive
+[WEARABLE E/] NativeAbility ResumeAbility 0 failed
+I BundleMgrService::ServiceMessageHandle
+[00:00:02:452][I][OnFeatureInitialize:85]Locator feature init
+[00:00:02:453][I][InitAbility:84]initAbility start
+[00:00:02:454][I][Initialize:71]ability constructed.
+[00:00:02:455][E][InitAbility:90]Initialize gps ability, result 1
+[00:00:02:457][I][Initialize:54]LocatorAbility Initialize.
+[00:00:02:458][I][OnFeatureInitialize:89]LocatorAbility initialize success
+APP|[POWER_MANAGER E/] filter_timer_execute_system_rule: filter timer, current default timeout:5000, keepon time:0, event:5.\r
+[00:00:02:467][D][Initialize:62][SERVICE:sensor_service]: Initialize begin
+[00:00:02:469][D][NewSensorInterfaceInstance:47]Get sensor device instance success
+[A][ALERT][sys_cmd_check_cmd_done:164] wait_time_us = 900
+[A][ALERT][drv_sys_pd:331] DSP0 power down
+APP|app_main run start.\r
+APP|sys_slp: 0x1\r
+» AT^GPIOTEST=2\r
+« [Graphic Error] [PauseSlice: 236]No valid slice to pause
+APP|uapi_lcd_backlight_off\r
+» AT^GPIOTEST=2\r
+« Output RESET_LCD_GPIO 1 , VCI_LCD_GPIO 0\r
+APP|[GpioTest] Starting GPIO test...\r
+APP|[GpioTest] No GPIO pairs configured, initializing with default config...\r
+APP|[GpioTest] Invalid input pin name: HSUART_CTS\r
+APP|[GpioTest] Parsed 34 GPIO pairs from JSON\r
+APP|[GpioTest] Default config initialized successfully\r
+APP|[GpioTest] Starting GPIO test with 34 pairs...\r
+APP|[GpioTest] Testing pair 0: S_AGPIO_L23 (input) <-> S_AGPIO_L12 (output)\r
+APP|[GpioTest] Pair 0: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 1: S_AGPIO_L13 (input) <-> S_AGPIO_L31 (output)\r
+APP|[GpioTest] Pair 1: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 2: S_AGPIO_L3 (input) <-> S_AGPIO_L2 (output)\r
+APP|[GpioTest] Pair 2: PASSED - S_AGPIO_L3 <-> S_AGPIO_L2\r
+APP|[GpioTest] Testing pair 3: S_AGPIO_L1 (input) <-> S_AGPIO_L4 (output)\r
+APP|[GpioTest] Pair 3: PASSED - S_AGPIO_L1 <-> S_AGPIO_L4\r
+APP|[GpioTest] Testing pair 4: S_AGPIO_L0 (input) <-> S_AGPIO_R4 (output)\r
+APP|[GpioTest] Pair 4: PASSED - S_AGPIO_L0 <-> S_AGPIO_R4\r
+APP|[GpioTest] Testing pair 5: S_AGPIO_R5 (input) <-> S_MGPIO14 (output)\r
+APP|[GpioTest] Pair 5: PASSED - S_AGPIO_R5 <-> S_MGPIO14\r
+APP|[GpioTest] Testing pair 6: S_MGPIO13 (input) <-> S_AGPIO_R10 (output)\r
+APP|[GpioTest] Pair 6: PASSED - S_MGPIO13 <-> S_AGPIO_R10\r
+APP|[GpioTest] Testing pair 7: S_MGPIO11 (input) <-> S_MGPIO12 (output)\r
+APP|[GpioTest] Pair 7: PASSED - S_MGPIO11 <-> S_MGPIO12\r
+APP|[GpioTest] Testing pair 8: S_AGPIO_R2 (input) <-> S_AGPIO_R1 (output)\r
+APP|[GpioTest] Pair 8: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 9: S_AGPIO_L24 (input) <-> S_AGPIO_L17 (output)\r
+APP|[GpioTest] Pair 9: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 10: S_AGPIO_L21 (input) <-> S_AGPIO_L11 (output)\r
+APP|[GpioTest] Pair 10: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 11: S_AGPIO_L19 (input) <-> S_AGPIO_R0 (output)\r
+APP|[GpioTest] Pair 11: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 12: S_HGPIO13 (input) <-> S_AGPIO_R3 (output)\r
+APP|[GpioTest] Pair 12: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 13: S_AGPIO_R6 (input) <-> S_MGPIO25 (output)\r
+APP|[GpioTest] Pair 13: PASSED - S_AGPIO_R6 <-> S_MGPIO25\r
+APP|[GpioTest] Testing pair 14: S_MGPIO26 (input) <-> S_MGPIO23 (output)\r
+APP|[GpioTest] Pair 14: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 15: S_MGPIO24 (input) <-> S_MGPIO31 (output)\r
+APP|[GpioTest] Pair 15: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 16: S_MGPIO29 (input) <-> S_MGPIO30 (output)\r
+APP|[GpioTest] Pair 16: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 17: S_MGPIO32 (input) <-> S_MGPIO28 (output)\r
+APP|[GpioTest] Pair 17: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 18: S_MGPIO27 (input) <-> S_MGPIO22 (output)\r
+APP|[GpioTest] Pair 18: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 19: S_MGPIO21 (input) <-> S_MGPIO19 (output)\r
+APP|[GpioTest] Pair 19: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 20: S_MGPIO20 (input) <-> S_AGPIO_R7 (output)\r
+APP|[GpioTest] Pair 20: PASSED - S_MGPIO20 <-> S_AGPIO_R7\r
+APP|[GpioTest] Testing pair 21: S_AGPIO_R8 (input) <-> S_AGPIO_R9 (output)\r
+APP|[GpioTest] Pair 21: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 22: S_AGPIO_L30 (input) <-> S_AGPIO_L29 (output)\r
+APP|[GpioTest] Pair 22: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 23: S_AGPIO_L32 (input) <-> S_AGPIO_L20 (output)\r
+APP|[GpioTest] Pair 23: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 24: S_AGPIO_L15 (input) <-> S_HGPIO5 (output)\r
+APP|[GpioTest] Pair 24: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 25: S_HGPIO4 (input) <-> S_HGPIO0 (output)\r
+APP|[GpioTest] Pair 25: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 26: S_HGPIO1 (input) <-> S_HGPIO2 (output)\r
+APP|[GpioTest] Pair 26: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 27: S_HGPIO3 (input) <-> S_MGPIO3 (output)\r
+APP|[GpioTest] Pair 27: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 28: S_MGPIO1 (input) <-> S_MGPIO2 (output)\r
+APP|[GpioTest] Pair 28: PASSED - S_MGPIO1 <-> S_MGPIO2\r
+APP|[GpioTest] Testing pair 29: S_MGPIO0 (input) <-> S_MGPIO6 (output)\r
+APP|[GpioTest] Pair 29: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 30: S_MGPIO9 (input) <-> S_MGPIO8 (output)\r
+APP|[GpioTest] Pair 30: PASSED - S_MGPIO9 <-> S_MGPIO8\r
+APP|[GpioTest] Testing pair 31: S_MGPIO7 (input) <-> S_MGPIO8 (output)\r
+APP|[GpioTest] Pair 31: PASSED - S_MGPIO7 <-> S_MGPIO8\r
+APP|[GpioTest] Testing pair 32: S_AGPIO_L28 (input) <-> S_AGPIO_L18 (output)\r
+APP|[GpioTest] Pair 32: PASSED - S_AGPIO_L28 <-> S_AGPIO_L18\r
+APP|[GpioTest] Testing pair 33: S_HGPIO9 (input) <-> S_AGPIO_L26 (output)\r
+APP|[GpioTest] Pair 33: PASSED - S_HGPIO9 <-> S_AGPIO_L26\r
+APP|[GpioTest] Test completed: 13 passed, 21 failed\r
+APP|[GpioTest] Failed pairs:\r
+APP|[GpioTest] Pair 0: S_AGPIO_L23 (input) <-> S_AGPIO_L12 (output)\r
+APP|[GpioTest] Pair 1: S_AGPIO_L13 (input) <-> S_AGPIO_L31 (output)\r
+APP|[GpioTest] Pair 8: S_AGPIO_R2 (input) <-> S_AGPIO_R1 (output)\r
+APP|[GpioTest] Pair 9: S_AGPIO_L24 (input) <-> S_AGPIO_L17 (output)\r
+APP|[GpioTest] Pair 10: S_AGPIO_L21 (input) <-> S_AGPIO_L11 (output)\r
+APP|[GpioTest] Pair 11: S_AGPIO_L19 (input) <-> S_AGPIO_R0 (output)\r
+APP|[GpioTest] Pair 12: S_HGPIO13 (input) <-> S_AGPIO_R3 (output)\r
+APP|[GpioTest] Pair 14: S_MGPIO26 (input) <-> S_MGPIO23 (output)\r
+APP|[GpioTest] Pair 15: S_MGPIO24 (input) <-> S_MGPIO31 (output)\r
+APP|[GpioTest] Pair 16: S_MGPIO29 (input) <-> S_MGPIO30 (output)\r
+APP|[GpioTest] Pair 17: S_MGPIO32 (input) <-> S_MGPIO28 (output)\r
+APP|[GpioTest] Pair 18: S_MGPIO27 (input) <-> S_MGPIO22 (output)\r
+APP|[GpioTest] Pair 19: S_MGPIO21 (input) <-> S_MGPIO19 (output)\r
+APP|[GpioTest] Pair 21: S_AGPIO_R8 (input) <-> S_AGPIO_R9 (output)\r
+APP|[GpioTest] Pair 22: S_AGPIO_L30 (input) <-> S_AGPIO_L29 (output)\r
+APP|[GpioTest] Pair 23: S_AGPIO_L32 (input) <-> S_AGPIO_L20 (output)\r
+APP|[GpioTest] Pair 24: S_AGPIO_L15 (input) <-> S_HGPIO5 (output)\r
+APP|[GpioTest] Pair 25: S_HGPIO4 (input) <-> S_HGPIO0 (output)\r
+APP|[GpioTest] Pair 26: S_HGPIO1 (input) <-> S_HGPIO2 (output)\r
+APP|[GpioTest] Pair 27: S_HGPIO3 (input) <-> S_MGPIO3 (output)\r
+APP|[GpioTest] Pair 29: S_MGPIO0 (input) <-> S_MGPIO6 (output)\r
+APP|[GpioTest] Test finished\r
+GPIO TEST START: Success
+APP|app_main run start.\r
+APP|sys_slp: 0x1\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+» AT^AUDIOTEST=5\r
+« APP|[AudioTest] Starting audio test...\r
+[00:01:38:305][W]{ai_media_service_init():808} AI media service already initialized
+[00:01:38:307][E]{old_Start_AIVoice():1289} StartAIVoice
+[00:01:38:308][I]{GetGlobalMutex():709} Global AI voice context mutex created successfully
+[00:01:38:310][I]{old_Start_AIVoice():1325} Using custom input audio params: format=1, channels=1, sampleRate=16000
+[00:01:38:312][I]{old_Start_AIVoice():1340} Using custom output audio params: format=1, channels=1, sampleRate=16000
+[00:01:38:314][I]{old_Start_AIVoice():1356} OGG encapsulation disabled by parameter
+[00:01:38:316][E]{old_Start_AIVoice():1362} g_aiVoiceContext->taskHandle
+[00:01:38:317][I]{CreateAIVoiceQueue():747} AI voice input queue created successfully
+APP|SET DSP freq=3, div=5, codec freq=3, div=36\r
+APP|set hifi mode=2.\r
+APP|SET DSP freq=3, div=5, codec freq=3, div=36\r
+[A][ALERT][sys_cmd_check_cmd_done:164] wait_time_us = 500
+[A][ALERT][drv_sys_pon:297] DSP0 power on
+[00:01:38:373][I]{old_Start_AIVoice():1392} AI voice thread created successfully with name: AIVoiceThread
+APP|[AudioTest] Play thread started\r
+APP|[AudioTest] Pre-filled 5 periods (160 bytes, 5.0 ms) of PCM data\r
+[00:01:38:377] E/TrackHandle :{StreamWriteTrack():720} track[0] is neither running or pause, write failed
+[00:01:38:379] E/AudioManagerCWrapper :{AudioStreamOutStreamWrite():365} audio stream out play failed 0xffffffff
+APP|[AudioTest] Audio test started successfully\r
+APP|[AudioTest] Playing 1kHz tone, monitoring volume every 0.5s...\r
+AUDIO TEST START: Success
+ Playing 1kHz tone, monitoring volume every 0.5s...
+aw_sysst_check succed
+aw_pa_start
+[00:01:38:653][I]{CreateAIVoiceInputThread():960} AI voice input thread created successfully
+[00:01:38:654][I]{RunAIVoice():1045} RunAIVoice: waiting for queue data...
+[00:01:38:656][I]{AIVoiceInputThreadFunc():978} AI voice input thread started
+APP|[AudioTest] Volume - RMS: 0.00% (-86.83 dB), Peak: 0.02% (-73.41 dB), Level: 静音\r
+APP|[AudioTest] Volume - RMS: 13.39% (-17.46 dB), Peak: 37.63% (-8.49 dB), Level: 中\r
+APP|[AudioTest] Volume - RMS: 14.37% (-16.85 dB), Peak: 33.00% (-9.63 dB), Level: 中\r
+APP|[AudioTest] Volume - RMS: 14.96% (-16.50 dB), Peak: 33.18% (-9.58 dB), Level: 中\r
+APP|[AudioTest] Volume - RMS: 14.51% (-16.77 dB), Peak: 32.95% (-9.64 dB), Level: 中\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[AudioTest] Volume - RMS: 14.19% (-16.96 dB), Peak: 32.89% (-9.66 dB), Level: 中\r
+APP|[AudioTest] Volume - RMS: 14.25% (-16.92 dB), Peak: 33.04% (-9.62 dB), Level: 中\r
+APP|[AudioTest] Volume - RMS: 14.98% (-16.49 dB), Peak: 33.20% (-9.58 dB), Level: 中\r
+APP|[AudioTest] Volume - RMS: 15.15% (-16.39 dB), Peak: 33.61% (-9.47 dB), Level: 中\r
+APP|[AudioTest] Volume - RMS: 14.50% (-16.77 dB), Peak: 33.29% (-9.55 dB), Level: 中\r
+APP|[AudioTest] Volume - RMS: 15.14% (-16.40 dB), Peak: 33.55% (-9.49 dB), Level: 中\r
+APP|[AudioTest] Volume - RMS: 13.86% (-17.16 dB), Peak: 33.33% (-9.54 dB), Level: 中\r
+APP|[AudioTest] Volume - RMS: 15.09% (-16.42 dB), Peak: 33.33% (-9.54 dB), Level: 中\r
+APP|[AudioTest] Volume - RMS: 15.06% (-16.45 dB), Peak: 33.28% (-9.56 dB), Level: 中\r
+APP|[AudioTest] Volume - RMS: 14.35% (-16.86 dB), Peak: 33.48% (-9.50 dB), Level: 中\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[AudioTest] Volume - RMS: 14.96% (-16.50 dB), Peak: 33.32% (-9.55 dB), Level: 中\r
+APP|[AudioTest] Volume - RMS: 15.74% (-16.06 dB), Peak: 33.23% (-9.57 dB), Level: 中\r
+APP|[AudioTest] Volume - RMS: 14.86% (-16.56 dB), Peak: 33.65% (-9.46 dB), Level: 中\r
+APP|[AudioTest] Volume - RMS: 15.67% (-16.10 dB), Peak: 33.20% (-9.58 dB), Level: 中\r
+APP|[AudioTest] Volume - RMS: 14.93% (-16.52 dB), Peak: 33.35% (-9.54 dB), Level: 中\r
+APP|[AudioTest] Volume - RMS: 14.43% (-16.82 dB), Peak: 33.16% (-9.59 dB), Level: 中\r
+» AT^AUDIOTEST=6\r
+« APP|[AudioTest] Volume - RMS: 14.72% (-16.64 dB), Peak: 32.80% (-9.68 dB), Level: 中\r
+APP|[AudioTest] Stopping audio test...\r
+APP|[AudioTest] Play thread stopped\r
+APP|[AudioTest] Calling StopAIVoice()...\r
+Waiting for AI voice thread to stop...\r
+Thread validation passed, waiting for thread: AIVoiceThread\r
+osThreadJoin failed (-3), using state check...\r
+[00:01:50:081][I]{AIVoiceInputThreadFunc():1027} AI voice input thread stopped
+Waiting... 1/50 (state: 3, running: yes)\r
+Waiting... 2/50 (state: 3, running: yes)\r
+[A][ALERT][core_adp_destroy:414] adp = 0x6D000001
+[A][ALERT][core_mod_free:316] mod_node->mid.u32 = 0x6D000001
+APP|SET DSP freq=3, div=6, codec freq=3, div=36\r
+APP|set hifi mode=1.\r
+[A][ALERT][core_adp_destroy:414] adp = 0x6D000101
+[A][ALERT][core_mod_free:316] mod_node->mid.u32 = 0x6D000101
+[A][aw88082_i2c_deinit:373]aw88082 i2c deinit success
+[00:01:50:353][I]{DeinitAIVoiceResources():811} AI voice input queue deleted
+AI voice thread cleanup completed\r
+Waiting... 3/50 (state: 0, running: no)\r
+AI voice thread stopped successfully (state check)\r
+AI voice stopped and resources cleaned up\r
+APP|[AudioTest] Audio test stopped\r
+AUDIO TEST STOP: Success
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+[A][ALERT][sys_cmd_check_cmd_done:164] wait_time_us = 700
+[A][ALERT][drv_sys_pd:331] DSP0 power down
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+» AT^BTSCANTEST=1\r
+« APP|[BtScan] Starting Bluetooth scan test...\r
+APP|[BtScan] Enabling Bluetooth...\r
+APP|[BtScan] Ensuring Bluetooth stack is enabled...\r
+[osal_msg_queue_create:25]:qName:BT_SERVICE_MSG qID=0x1a \r
+APP|[BtScan] Bluetooth stack enabled successfully\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[BtScan] Bluetooth enabled, waiting for stack ready...\r
+APP|[BtScan] Inquiry parameters set successfully\r
+APP|[BtScan] Discovery state changed: 1\r
+APP|[BtScan] Discovery state changed: 2\r
+APP|[BtScan] Discovery started successfully\r
+APP|[BtScan] Bluetooth scan started successfully\r
+APP|[BtScan] Scanning for devices...\r
+BT SCAN TEST START: Success
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+» AT^BTSCANTEST=2\r
+« APP|[BtScan] Stopping Bluetooth scan test...\r
+APP|[BtScan] Discovery state changed: 3\r
+APP|[BtScan] No devices found\r
+APP|[BtScan] Final scaAPP|[BtScan] Discovery state changed: 3\r
+ state changAPP|[BtScan] No devices found\r
+APP|[BtScan] No devices found\r
+APP|[BtScan] Bluetooth scan stopped\r
+BT SCAN TEST STOP: Success
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+» AT^BTSCANTEST=1\r
+« APP|[BtScan] Starting Bluetooth scan test...\r
+APP|[BtScan] Enabling Bluetooth...\r
+APP|[BtScan] Ensuring Bluetooth stack is enabled...\r
+APP|[BtScan] Bluetooth stack enabled successfully\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[BtScan] Bluetooth enabled, waiting for stack ready...\r
+APP|[BtScan] Inquiry parameters set successfully\r
+APP|[BtScan] Discovery state changed: 1\r
+APP|[BtScan] Discovery state changed: 2\r
+APP|[BtScan] Discovery started successfully\r
+APP|[BtScan] Bluetooth scan started successfully\r
+APP|[BtScan] Scanning for devices...\r
+BT SCAN TEST START: Success
+APP|[BtScan] Device discovered: AC:3F:A4:A2:CA:05\r
+APP|[BtScan] Device name: 18J173203837\r
+APP|[BtScan] RSSI update: AC:3F:A4:A2:CA:05, RSSI=-94 dBm\r
+APP|[BtScan] Found 1 device(s):\r
+APP|[BtScan] Device[1]: MAC=AC:3F:A4:A2:CA:05, RSSI=-94 dBmAPP|, Name=18J173203837APP|\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+» AT^GPIOTEST=3\r
+« APP|[GpioTest] Stopping GPIO test...\r
+APP|[GpioTest] Test not running\r
+GPIO TEST STOP: Success
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+» AT^BTSCANTEST=2\r
+« APP|[BtScan] Stopping Bluetooth scan test...\r
+APP|[BtScan] Discovery state changed: 3\r
+APP|[BtScan] Found 1 device(s):\r
+APP|[BtScan] DeviceAPP|[BtScan] Discovery state changed: 3\r
+ery state changed: 3\r
+\0:05, RSSI=-94 dBmAPP|, Name=18J173203837APP|\r
+APP|[BtScan] Final scan results:\r
+APP|[BtScan] Found 1 device(s):\r
+APP|[BtScan] Device[1]: MAC=AC:3F:A4:A2:CA:05, RSSI=-94 dBmAPP|, Name=18J173203837APP|\r
+APP|[BtScan] No devices found\r
+APP|[BtScan] Bluetooth scan stopped\r
+BT SCAN TEST STOP: Success
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+[Graphic Error] [PauseSlice: 236]No valid slice to pause
+APP|uapi_lcd_backlight_off\r
+Output RESET_LCD_GPIO 1 , VCI_LCD_GPIO 0\r
+» AT^PMADDVOTE\r
+» AT^PMADDVOTE\r
+« MCU has got pm_id_debug vote\r
+\r
+MCU WAKEUP SUCCESS\r
+\r
+OK~\r
+APP|app_main run start.\r
+APP|sys_slp: 0x1\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+» AT^BTENABLE\r
+« package_common_cmd_to_bt strCmd 36 5A 00 03 00 09 01 9A 20 inParam (null) para_len 0
+commandID = 0x1 payload_len=0
+bt_manager_at_process cmdId=0x1 atId=0x901
+[bts][info] btsrv_set_log_type_level bts sert log type levle:ff2
+gap reg cbk ret 0
+func:audio_manager_init, line:69, success
+a2dp reg cbk ret 0
+a2dp reg cbk ret 0
+avrcp reg cbk ret 0
+[osal_msg_queue_create:25]:qName:BT_SERVICE_MSG qID=0x19 \r
+[bts][info] btsrv_task_init btsrv_init: task create success
+gap_state_changed_callback transport: 1 status: 0
+[bts][info] btsdk_get_discovery_mode mode = 00
+[bts][info] gap_br_set_bt_scan_mode set scan mode old=0 new=4
+[bts][info] gap_br_set_bt_scan_mode btsdk_set_discovery_mode mode: d ret: 0
+[bts][info] pan_register_cbk pan service register cbk:A TO B sta[bts][info] btsdk_get_discovery_mode mode = 0d
+gap_scan_mode_changed_callback mode: 4
+rt.
+[bts][info] bt_acore_get_config_sync_flash [ACore] bt read nv config succ, real_len:585.\r
+gap_state_changed_callback transport: 2 status: 1
+gap_state_changed_callback transport: 1 status: 1
+bt enable ok\r
+\r
+OK~\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+» AT^BTSCANTEST=1\r
+« APP|[BtScan] Starting Bluetooth scan test...\r
+APP|[BtScan] Enabling Bluetooth stack (same as AT^BTENABLE)...\r
+APP|[BtScan] Waiting for Bluetooth stack ready...\r
+APP|[BtScan] Inquiry parameters set successfully\r
+APP|[BtScan] Discovery state changed: 1\r
+APP|[BtScan] Discovery state changed: 2\r
+[bts][info] btsrv_start_bt_discovery discovery started
+APP|[BtScan] Discovery started successfully\r
+APP|[BtScan] Bluetooth scan started successfully\r
+APP|[BtScan] Scanning for devices...\r
+BT SCAN TEST START: Success
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+» AT^BTSCANTEST=1\r
+« APP|[BtScan] Starting Bluetooth scan test...\r
+APP|[BtScan] Enabling Bluetooth stack (same as AT^BTENABLE)...\r
+APP|[BtScan] Waiting for Bluetooth stack ready...\r
+APP|[BtScan] Scan already running\r
+BT SCAN TEST START: Failed, ret=-1
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+[bts][info] btsrv_handle_remote_device_found addr: ****a4a2ca05 [little endian: 05caa2a4**** ] name: 18J173203837 hdl: 0
+[bts][debug] btsrv_add_remote_dev_node addr: ****a4a2ca05 hdl: 0
+[bts][info] btsrv_notify_gap_discovery_result descovery result
+APP|[BtScan] Device discovered: AC:3F:A4:A2:CA:05\r
+APP|[BtScan] Device name: 18J173203837\r
+[bts][info] btsrv_notify_gap_discovery_result found device addr: ****a4a2ca05 name: 18J173203837APP|[BtScan] RSSI update: AC:3F:A4:A2:CA:05, RSSI=-94 dBm\r
+APP|[BtScan] Found 1 device(s):\r
+APP|[BtScan] Device[1]: MAC=AC:3F:A4:A2:CA:05, RSSI=-94 dBmAPP|, Name=18J173203837APP|\r
+» AT^BTSCANTEST=2\r
+« APP|[BtScan] Stopping Bluetooth scan test...\r
+[bts][info] gap_br_cancel_discovery btsdk_stop_device_discovery ret=0x0
+[bts][info] gap_br_ca[bts][info] btsrv_inquiry_complete_ind_callback inquiry complete
+[bts][info] btsrv_handle_conn_event_msg set discovery status to stop
+APP|[BtScan] Discovery state changed: 3\r
+ncel_discovery discovery stopped
+APP|[BtScan] Discovery state changed: 3\r
+APP|[BtScan] Found 1 device(s):\r
+APP|[BtScan] Device[1]: MAC=AC:3F:A4:A2:CA:05, RSSI=-94 dBmAPP|, Name=18J173203837APP|\r
+APP|[BtScan] Final scan results:\r
+APP|[BtScan] Found 1 device(s):\r
+APP|[BtScan] Device[1]: MAC=AC:3F:A4:A2:CA:05, RSSI=-94 dBmAPP|, Name=18J173203837APP|\r
+APP|[BtScan] No devices found\r
+APP|[BtScan] Bluetooth scan stopped\r
+BT SCAN TEST STOP: Success
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+» AT^BTSCANTEST=1\r
+« APP|[BtScan] Starting Bluetooth scan test...\r
+APP|[BtScan] Enabling Bluetooth stack (same as AT^BTENABLE)...\r
+APP|[BtScan] Waiting for Bluetooth stack ready...\r
+APP|[BtScan] Inquiry parameters set successfully\r
+APP|[BtScan] Discovery state changed: 1\r
+APP|[BtScan] Discovery state changed: 2\r
+[bts][info] btsrv_start_bt_discovery discovery started
+APP|[BtScan] Discovery started successfully\r
+APP|[BtScan] Bluetooth scan started successfully\r
+APP|[BtScan] Scanning for devices...\r
+BT SCAN TEST START: Success
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+» AT^BTSCANTEST=2\r
+« APP|[BtScan] Stopping Bluetooth scan test...\r
+[bts][info] gap_br_cancel_discovery btsdk_stop_device_discovery ret=0x0
+[bts][info] gap_br_can[bts][info] btsrv_inquiry_complete_ind_callback inquiry complete
+[bts][info] btsrv_handle_conn_event_msg set discovery status to stop
+APP|[BtScan] Discovery state changed: 3\r
+cel_discovery discovery stopped
+APP|[BtScan] Discovery state changed: 3\r
+APP|[BtScan] No devices found\r
+APP|[BtScan] Final scan results:\r
+APP|[BtScan] No devices found\r
+APP|[BtScan] No devices found\r
+APP|[BtScan] Bluetooth scan stopped\r
+BT SCAN TEST STOP: Success
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+» AT^BTSCANTEST=1\r
+« APP|[BtScan] Starting Bluetooth scan test...\r
+APP|[BtScan] Enabling Bluetooth stack (same as AT^BTENABLE)...\r
+APP|[BtScan] Waiting for Bluetooth stack ready...\r
+APP|[BtScan] Inquiry parameters set successfully\r
+APP|[BtScan] Discovery state changed: 1\r
+APP|[BtScan] Discovery state changed: 2\r
+[bts][info] btsrv_start_bt_discovery discovery started
+APP|[BtScan] Discovery started successfully\r
+APP|[BtScan] Bluetooth scan started successfully\r
+APP|[BtScan] Scanning for devices...\r
+BT SCAN TEST START: Success
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+» AT^BTSCANTEST=1\r
+« APP|[BtScan] Starting Bluetooth scan test...\r
+APP|[BtScan] Enabling Bluetooth stack (same as AT^BTENABLE)...\r
+APP|[BtScan] Waiting for Bluetooth stack ready...\r
+APP|[BtScan] Scan already running\r
+BT SCAN TEST START: Failed, ret=-1
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+» AT^BTSCANTEST=2\r
+« APP|[BtScan] Stopping Bluetooth scan test...\r
+[bts][info] gap_br_cancel_discovery btsdk_stop_device_discovery ret=0x0
+[bts][info] gap_br_canc[bts][info] btsrv_inquiry_complete_ind_callback inquiry complete
+[bts][info] btsrv_handle_conn_event_msg set discovery status to stop
+APP|[BtScan] Discovery state changed: 3\r
+el_discovery discovery stopped
+APP|[BtScan] Discovery state changed: 3\r
+APP|[BtScan] No devices found\r
+APP|[BtScan] Final scan results:\r
+APP|[BtScan] No devices found\r
+APP|[BtScan] No devices found\r
+APP|[BtScan] Bluetooth scan stopped\r
+BT SCAN TEST STOP: Success
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+» AT^BTSCANTEST=1\r
+« APP|[BtScan] Starting Bluetooth scan test...\r
+APP|[BtScan] Enabling Bluetooth stack (same as AT^BTENABLE)...\r
+APP|[BtScan] Waiting for Bluetooth stack ready...\r
+APP|[BtScan] Inquiry parameters set successfully\r
+APP|[BtScan] Discovery state changed: 1\r
+APP|[BtScan] Discovery state changed: 2\r
+[bts][info] btsrv_start_bt_discovery discovery started
+APP|[BtScan] Discovery started successfully\r
+APP|[BtScan] Bluetooth scan started successfully\r
+APP|[BtScan] Scanning for devices...\r
+BT SCAN TEST START: Success
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+[bts][info] btsrv_handle_remote_device_found addr: ****a4a2ca05 [little endian: 05caa2a4**** ] name: hdl: 0
+[bts][debug] btsrv_add_remote_dev_node addr: ****a4a2ca05 hdl: 0
+[bts][info] btsrv_notify_gap_discovery_result descovery result
+APP|[BtScan] Device discovered: AC:3F:A4:A2:CA:05\r
+[bts][info] btsrv_notify_gap_discovery_result found device addr: ****a4a2ca05 name: APP|[BtScan] RSSI update: AC:3F:A4:A2:CA:05, RSSI=-96 dBm\r
+APP|[BtScan] Found 1 device(s):\r
+APP|[BtScan] Device[1]: MAC=AC:3F:A4:A2:CA:05, RSSI=-96 dBmAPP|\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+[bts][info] btsrv_inquiry_complete_ind_callback inquiry complete
+[bts][info] btsrv_handle_conn_event_msg set discovery status to stop
+APP|[BtScan] Discovery state changed: 3\r
+APP|[BtScan] Found 1 device(s):\r
+APP|[BtScan] Device[1]: MAC=AC:3F:A4:A2:CA:05, RSSI=-96 dBmAPP|\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+» AT^GPIOTEST=2\r
+« APP|[GpioTest] Starting GPIO test...\r
+APP|[GpioTest] No GPIO pairs configured, initializing with default config...\r
+APP|[GpioTest] Invalid input pin name: HSUART_CTS\r
+APP|[GpioTest] Parsed 34 GPIO pairs from JSON\r
+APP|[GpioTest] Default config initialized successfully\r
+APP|[GpioTest] Starting GPIO test with 34 pairs...\r
+APP|[GpioTest] Testing pair 0: S_AGPIO_L23 (input) <-> S_AGPIO_L12 (output)\r
+APP|[GpioTest] Pair 0: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 1: S_AGPIO_L13 (input) <-> S_AGPIO_L31 (output)\r
+APP|[GpioTest] Pair 1: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 2: S_AGPIO_L3 (input) <-> S_AGPIO_L2 (output)\r
+APP|[GpioTest] Pair 2: PASSED - S_AGPIO_L3 <-> S_AGPIO_L2\r
+APP|[GpioTest] Testing pair 3: S_AGPIO_L1 (input) <-> S_AGPIO_L4 (output)\r
+APP|[GpioTest] Pair 3: PASSED - S_AGPIO_L1 <-> S_AGPIO_L4\r
+APP|[GpioTest] Testing pair 4: S_AGPIO_L0 (input) <-> S_AGPIO_R4 (output)\r
+APP|[GpioTest] Pair 4: PASSED - S_AGPIO_L0 <-> S_AGPIO_R4\r
+APP|[GpioTest] Testing pair 5: S_AGPIO_R5 (input) <-> S_MGPIO14 (output)\r
+APP|[GpioTest] Pair 5: PASSED - S_AGPIO_R5 <-> S_MGPIO14\r
+APP|[GpioTest] Testing pair 6: S_MGPIO13 (input) <-> S_AGPIO_R10 (output)\r
+APP|[GpioTest] Pair 6: PASSED - S_MGPIO13 <-> S_AGPIO_R10\r
+APP|[GpioTest] Testing pair 7: S_MGPIO11 (input) <-> S_MGPIO12 (output)\r
+APP|[GpioTest] Pair 7: PASSED - S_MGPIO11 <-> S_MGPIO12\r
+APP|[GpioTest] Testing pair 8: S_AGPIO_R2 (input) <-> S_AGPIO_R1 (output)\r
+APP|[GpioTest] Pair 8: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 9: S_AGPIO_L24 (input) <-> S_AGPIO_L17 (output)\r
+APP|[GpioTest] Pair 9: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 10: S_AGPIO_L21 (input) <-> S_AGPIO_L11 (output)\r
+APP|[GpioTest] Pair 10: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 11: S_AGPIO_L19 (input) <-> S_AGPIO_R0 (output)\r
+APP|[GpioTest] Pair 11: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 12: S_HGPIO13 (input) <-> S_AGPIO_R3 (output)\r
+APP|[GpioTest] Pair 12: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 13: S_AGPIO_R6 (input) <-> S_MGPIO25 (output)\r
+APP|[GpioTest] Pair 13: PASSED - S_AGPIO_R6 <-> S_MGPIO25\r
+APP|[GpioTest] Testing pair 14: S_MGPIO26 (input) <-> S_MGPIO23 (output)\r
+APP|[GpioTest] Pair 14: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 15: S_MGPIO24 (input) <-> S_MGPIO31 (output)\r
+APP|[GpioTest] Pair 15: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 16: S_MGPIO29 (input) <-> S_MGPIO30 (output)\r
+APP|[GpioTest] Pair 16: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 17: S_MGPIO32 (input) <-> S_MGPIO28 (output)\r
+APP|[GpioTest] Pair 17: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 18: S_MGPIO27 (input) <-> S_MGPIO22 (output)\r
+APP|[GpioTest] Pair 18: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 19: S_MGPIO21 (input) <-> S_MGPIO19 (output)\r
+APP|[GpioTest] Pair 19: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 20: S_MGPIO20 (input) <-> S_AGPIO_R7 (output)\r
+APP|[GpioTest] Pair 20: PASSED - S_MGPIO20 <-> S_AGPIO_R7\r
+APP|[GpioTest] Testing pair 21: S_AGPIO_R8 (input) <-> S_AGPIO_R9 (output)\r
+APP|[GpioTest] Pair 21: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 22: S_AGPIO_L30 (input) <-> S_AGPIO_L29 (output)\r
+APP|[GpioTest] Pair 22: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 23: S_AGPIO_L32 (input) <-> S_AGPIO_L20 (output)\r
+APP|[GpioTest] Pair 23: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 24: S_AGPIO_L15 (input) <-> S_HGPIO5 (output)\r
+APP|[GpioTest] Pair 24: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 25: S_HGPIO4 (input) <-> S_HGPIO0 (output)\r
+APP|[GpioTest] Pair 25: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 26: S_HGPIO1 (input) <-> S_HGPIO2 (output)\r
+APP|[GpioTest] Pair 26: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 27: S_HGPIO3 (input) <-> S_MGPIO3 (output)\r
+APP|[GpioTest] Pair 27: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 28: S_MGPIO1 (input) <-> S_MGPIO2 (output)\r
+APP|[GpioTest] Pair 28: PASSED - S_MGPIO1 <-> S_MGPIO2\r
+APP|[GpioTest] Testing pair 29: S_MGPIO0 (input) <-> S_MGPIO6 (output)\r
+APP|[GpioTest] Pair 29: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 30: S_MGPIO9 (input) <-> S_MGPIO8 (output)\r
+APP|[GpioTest] Pair 30: PASSED - S_MGPIO9 <-> S_MGPIO8\r
+APP|[GpioTest] Testing pair 31: S_MGPIO7 (input) <-> S_MGPIO8 (output)\r
+APP|[GpioTest] Pair 31: PASSED - S_MGPIO7 <-> S_MGPIO8\r
+APP|[GpioTest] Testing pair 32: S_AGPIO_L28 (input) <-> S_AGPIO_L18 (output)\r
+APP|[GpioTest] Pair 32: PASSED - S_AGPIO_L28 <-> S_AGPIO_L18\r
+APP|[GpioTest] Testing pair 33: S_HGPIO9 (input) <-> S_AGPIO_L26 (output)\r
+APP|[GpioTest] Pair 33: PASSED - S_HGPIO9 <-> S_AGPIO_L26\r
+APP|[GpioTest] Test completed: 13 passed, 21 failed\r
+APP|[GpioTest] Failed pairs:\r
+APP|[GpioTest] Pair 0: S_AGPIO_L23 (input) <-> S_AGPIO_L12 (output)\r
+APP|[GpioTest] Pair 1: S_AGPIO_L13 (input) <-> S_AGPIO_L31 (output)\r
+APP|[GpioTest] Pair 8: S_AGPIO_R2 (input) <-> S_AGPIO_R1 (output)\r
+APP|[GpioTest] Pair 9: S_AGPIO_L24 (input) <-> S_AGPIO_L17 (output)\r
+APP|[GpioTest] Pair 10: S_AGPIO_L21 (input) <-> S_AGPIO_L11 (output)\r
+APP|[GpioTest] Pair 11: S_AGPIO_L19 (input) <-> S_AGPIO_R0 (output)\r
+APP|[GpioTest] Pair 12: S_HGPIO13 (input) <-> S_AGPIO_R3 (output)\r
+APP|[GpioTest] Pair 14: S_MGPIO26 (input) <-> S_MGPIO23 (output)\r
+APP|[GpioTest] Pair 15: S_MGPIO24 (input) <-> S_MGPIO31 (output)\r
+APP|[GpioTest] Pair 16: S_MGPIO29 (input) <-> S_MGPIO30 (output)\r
+APP|[GpioTest] Pair 17: S_MGPIO32 (input) <-> S_MGPIO28 (output)\r
+APP|[GpioTest] Pair 18: S_MGPIO27 (input) <-> S_MGPIO22 (output)\r
+APP|[GpioTest] Pair 19: S_MGPIO21 (input) <-> S_MGPIO19 (output)\r
+APP|[GpioTest] Pair 21: S_AGPIO_R8 (input) <-> S_AGPIO_R9 (output)\r
+APP|[GpioTest] Pair 22: S_AGPIO_L30 (input) <-> S_AGPIO_L29 (output)\r
+APP|[GpioTest] Pair 23: S_AGPIO_L32 (input) <-> S_AGPIO_L20 (output)\r
+APP|[GpioTest] Pair 24: S_AGPIO_L15 (input) <-> S_HGPIO5 (output)\r
+APP|[GpioTest] Pair 25: S_HGPIO4 (input) <-> S_HGPIO0 (output)\r
+APP|[GpioTest] Pair 26: S_HGPIO1 (input) <-> S_HGPIO2 (output)\r
+APP|[GpioTest] Pair 27: S_HGPIO3 (input) <-> S_MGPIO3 (output)\r
+APP|[GpioTest] Pair 29: S_MGPIO0 (input) <-> S_MGPIO6 (output)\r
+APP|[GpioTest] Test finished\r
+GPIO TEST START: Success
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+» AT^BTENABLE\r
+« package_common_cmd_to_bt strCmd 36 5A 00 03 00 09 01 9A 20 inParam (null) para_len 0
+commandID = 0x1 payload_len=0
+bt_manager_at_process cmdId=0x1 atId=0x901
+[bts][info] btsrv_set_log_type_level bts sert log type levle:ff2
+gap reg cbk ret 0
+[bts][info] a2dp_src_register_callbacks duplicate register callback
+func:audio_manager_init, line:69, success
+a2dp reg cbk ret 0
+[bts][info] a2dp_snk_register_callbacks duplicate register callback
+a2dp reg cbk ret 0
+avrcp reg cbk ret 0
+bt enable ok\r
+\r
+OK~\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+» AT^BTSCANTEST=1\r
+« APP|[BtScan] Starting Bluetooth scan test...\r
+APP|[BtScan] Enabling Bluetooth stack (same as AT^BTENABLE)...\r
+APP|[BtScan] Waiting for Bluetooth stack ready...\r
+APP|[BtScan] Scan already running\r
+BT SCAN TEST START: Failed, ret=-1
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+» AT^BTSCANTEST=2\r
+« APP|[BtScan] Stopping Bluetooth scan test...\r
+[bts][warning] gap_br_cancel_discovery discovery already stopped
+APP|[BtScan] Final scan results:\r
+APP|[BtScan] Found 1 device(s):\r
+APP|[BtScan] Device[1]: MAC=AC:3F:A4:A2:CA:05, RSSI=-96 dBmAPP|\r
+APP|[BtScan] Bluetooth scan stopped\r
+BT SCAN TEST STOP: Success
+» AT^BTSCANTEST=1\r
+« APP|[BtScan] Starting Bluetooth scan test...\r
+APP|[BtScan] Enabling Bluetooth stack (same as AT^BTENABLE)...\r
+APP|[BtScan] Waiting for Bluetooth stack ready...\r
+APP|[BtScan] Inquiry parameters set successfully\r
+APP|[BtScan] Discovery state changed: 1\r
+APP|[BtScan] Discovery state changed: 2\r
+[bts][info] btsrv_start_bt_discovery discovery started
+APP|[BtScan] Discovery started successfully\r
+APP|[BtScan] Bluetooth scan started successfully\r
+APP|[BtScan] Scanning for devices...\r
+BT SCAN TEST START: Success
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+[bts][info] btsrv_inquiry_complete_ind_callback inquiry complete
+[bts][info] btsrv_handle_conn_event_msg set discovery status to stop
+APP|[BtScan] Discovery state changed: 3\r
+APP|[BtScan] No devices found\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+porting_button_remove_veto:1884267424\r
+APP|uapi_battery_init !\r
+[osal_msg_queue_create:25]:qName:battery_queue qID=0xc \r
+APP|charger not plugged ,disable charge !\r
+APP|charger not plugged ,disable charge !\r
+APP|uapi_custom_cmd_service_init !\r
+[osal_msg_queue_create:25]:qName:custom_cmd_service_queue qID=0xd \r
+APP|uapi_custom_fileoperate_service_init !\r
+[osal_msg_queue_create:25]:qName:custom_fileoperate_service_queue qID=0xe \r
+APP|No need to upgrade...\r
+[WEARABLE I/] InitBroadcastService start!
+[WEARABLE I/] start! topicSubscriberInfo=0x0x6c104e68
+[WEARABLE I/] InitBroadcastService end!
+[WEARABLE E/] LoadManagementFromFile open fail
+[WEARABLE E/] SaveManagementToFile open fail
+I ams starts successfully
+I bms starts successfully
+[00:00:01:743][I][Init:37]Locator service starts successfully
+[00:00:01:744][D][Init:56][SERVICE:sensor_service]: Init begin
+[WEARABLE I/] WatchConnectCmdRegister
+I ams feature init success
+I [BMS] bms feature init success
+[00:00:01:747][I][Init:56]Locator feature init success
+[00:00:01:748][D][GetTaskConfig:80][SERVICE:sensor_service]: GetTaskConfig begin
+[WEARABLE I/] BroadcastService featureId=4294967295, queueId=536924516, serviceId=2
+[WEARABLE I/] BroadcastFeature featureId=0, queueId=536924516, serviceId=2
+E Fail to open dir:/user/dialpubkey!
+E Failed to create file
+E Public key write failed!
+[WEARABLE I/] NativeAbility InstallAbility
+D MemUtils::InitPSRam g_psramMemory = 6c200000
+[WEARABLE I/] InitNativeLauncher: Minimal startup - Blue window only
+[WEARABLE I/] Cleared all existing views from RootView
+[WEARABLE I/] Blue window created and displayed: 360x360
+I AbilityMgrSliteFeature::OnFeatureInitialize featureId = 0, queueId = 536924708, serviceId = 6
+[WEARABLE I/] NativeAbility OnActive
+[WEARABLE E/] NativeAbility ResumeAbility 0 failed
+I BundleMgrService::ServiceMessageHandle
+[00:00:02:517][I][OnFeatureInitialize:85]Locator feature init
+[00:00:02:518][I][InitAbility:84]initAbility start
+[00:00:02:519][I][Initialize:71]ability constructed.
+[00:00:02:520][E][InitAbility:90]Initialize gps ability, result 1
+[00:00:02:521][I][Initialize:54]LocatorAbility Initialize.
+[00:00:02:522][I][OnFeatureInitialize:89]LocatorAbility initialize success
+APP|[POWER_MANAGER E/] filter_timer_execute_system_rule: filter timer, current default timeout:5000, keepon time:0, event:5.\r
+[00:00:02:528][D][Initialize:62][SERVICE:sensor_service]: Initialize begin
+[00:00:02:530][D][NewSensorInterfaceInstance:47]Get sensor device instance success
+[A][ALERT][sys_cmd_check_cmd_done:164] wait_time_us = 800
+[A][ALERT][drv_sys_pd:331] DSP0 power down
+APP|app_main run start.\r
+APP|sys_slp: 0x1\r
+[Graphic Error] [PauseSlice: 236]No valid slice to pause
+APP|uapi_lcd_backlight_off\r
+Output RESET_LCD_GPIO 1 , VCI_LCD_GPIO 0\r
+» AT^PMADDVOTE\r
+» AT^PMADDVOTE\r
+« MCU has got pm_id_debug vote\r
+\r
+MCU WAKEUP SUCCESS\r
+\r
+OK~\r
+APP|app_main run start.\r
+APP|sys_slp: 0x1\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+» AT^BTENABLE\r
+« package_common_cmd_to_bt strCmd 36 5A 00 03 00 09 01 9A 20 inParam (null) para_len 0
+commandID = 0x1 payload_len=0
+bt_manager_at_process cmdId=0x1 atId=0x901
+[bts][info] btsrv_set_log_type_level bts sert log type levle:ff2
+gap reg cbk ret 0
+func:audio_manager_init, line:69, success
+a2dp reg cbk ret 0
+a2dp reg cbk ret 0
+avrcp reg cbk ret 0
+[osal_msg_queue_create:25]:qName:BT_SERVICE_MSG qID=0x19 \r
+[bts][info] btsrv_task_init btsrv_init: task create success
+gap_state_changed_callback transport: 1 status: 0
+[bts][info] btsdk_get_discovery_mode mode = 00
+[bts][info] gap_br_set_bt_scan_mode set scan mode old=0 new=4
+[bts][info] gap_br_set_bt_scan_mode btsdk_set_discovery_mode mode: d ret: 0
+[bts][info] btsdk_get_discovery_mode mode = 0d
+gap_scan_mode_changed_callback mode: 4
+[bts][info] pan_register_cbk pan service register cbk:A TO B start.
+[bts][info] bt_acore_get_config_sync_flash [ACore] bt read nv config succ, real_len:585.\r
+gap_state_changed_callback transport: 2 status: 1
+gap_state_changed_callback transport: 1 status: 1
+bt enable ok\r
+\r
+OK~\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+» AT^BTSCANTEST=1\r
+« APP|[BtScan] Starting Bluetooth scan test...\r
+APP|[BtScan] Enabling Bluetooth stack (same as AT^BTENABLE)...\r
+APP|[BtScan] Waiting for Bluetooth stack ready...\r
+APP|[BtScan] Inquiry parameters set successfully\r
+APP|[BtScan] Discovery state changed: 1\r
+APP|[BtScan] Discovery state changed: 2\r
+[bts][info] btsrv_start_bt_discovery discovery started
+APP|[BtScan] Discovery started successfully\r
+APP|[BtScan] Bluetooth scan started successfully\r
+APP|[BtScan] Scanning for devices...\r
+BT SCAN TEST START: Success
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+[bts][info] btsrv_handle_remote_device_found addr: ****de4a4ca8 [little endian: a84c4ade**** ] name: GJ1 hdl: 0
+[bts][debug] btsrv_add_remote_dev_node addr: ****de4a4ca8 hdl: 0
+[bts][info] btsrv_notify_gap_discovery_result descovery result
+APP|[BtScan] New device discovered: C8:68:DE:4A:4C:A8\r
+APP|[BtScan] Device name: GJ1\r
+[bts][info] btsrv_notify_gap_discovery_result found device addr: ****de4a4ca8 name: GJ1APP|[BtScan] Device: C8:68:DE:4A:4C:A8, RSSI=-49 dBm\r
+[bts][info] btsrv_handle_remote_device_found addr: ****de4a4ca8 [little endian: a84c4ade**** ] name: GJ1 hdl: 0
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+[bts][info] btsrv_handle_remote_device_found addr: ****de4a4ca8 [little endian: a84c4ade**** ] name: GJ1 hdl: 0
+[bts][info] btsrv_handle_remote_device_found addr: ****de4a4ca8 [little endian: a84c4ade**** ] name: GJ1 hdl: 0
+[bts][info] btsrv_handle_remote_device_found addr: ****de4a4ca8 [little endian: a84c4ade**** ] name: GJ1 hdl: 0
+[bts][info] btsrv_handle_remote_device_found addr: ****de4a4ca8 [little endian: a84c4ade**** ] name: GJ1 hdl: 0
+[bts][info] btsrv_handle_remote_device_found addr: ****de4a4ca8 [little endian: a84c4ade**** ] name: GJ1 hdl: 0
+[bts][info] btsrv_handle_remote_device_found addr: ****de4a4ca8 [little endian: a84c4ade**** ] name: GJ1 hdl: 0
+[bts][info] btsrv_handle_remote_device_found addr: ****de4a4ca8 [little endian: a84c4ade**** ] name: GJ1 hdl: 0
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+[bts][info] btsrv_handle_remote_device_found addr: ****de4a4ca8 [little endian: a84c4ade**** ] name: GJ1 hdl: 0
+[bts][info] btsrv_handle_remote_device_found addr: ****de4a4ca8 [little endian: a84c4ade**** ] name: GJ1 hdl: 0
+[bts][info] btsrv_handle_remote_device_found addr: ****de4a4ca8 [little endian: a84c4ade**** ] name: GJ1 hdl: 0
+[bts][info] btsrv_handle_remote_device_found addr: ****de4a4ca8 [little endian: a84c4ade**** ] name: GJ1 hdl: 0
+[bts][info] btsrv_handle_remote_device_found addr: ****de4a4ca8 [little endian: a84c4ade**** ] name: GJ1 hdl: 0
+[bts][info] btsrv_handle_remote_device_found addr: ****de4a4ca8 [little endian: a84c4ade**** ] name: GJ1 hdl: 0
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+[bts][info] btsrv_handle_remote_device_found addr: ****de4a4ca8 [little endian: a84c4ade**** ] name: GJ1 hdl: 0
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+[bts][info] btsrv_handle_remote_device_found addr: ****a4a2ca05 [little endian: 05caa2a4**** ] name: 18J173203837 hdl: 0
+[bts][debug] btsrv_add_remote_dev_node addr: ****a4a2ca05 hdl: 0
+[bts][info] btsrv_notify_gap_discovery_result descovery result
+APP|[BtScan] New device discovered: AC:3F:A4:A2:CA:05\r
+APP|[BtScan] Device name: 18J173203837\r
+[bts][info] btsrv_notify_gap_discovery_result found device addr: ****a4a2ca05 name: 18J173203837APP|[BtScan] Device: AC:3F:A4:A2:CA:05, RSSI=-96 dBm\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+[bts][info] btsrv_inquiry_complete_ind_callback inquiry complete
+[bts][info] btsrv_handle_conn_event_msg set discovery status to stop
+APP|[BtScan] Discovery state changed: 3\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+» AT^BTSCANTEST=2\r
+« APP|[BtScan] Stopping Bluetooth scan test...\r
+[bts][warning] gap_br_cancel_discovery discovery already stopped
+APP|[BtScan] Final scan results:\r
+APP|[BtScan] Found 2 device(s):\r
+APP|[BtScan] Device[1]: MAC=C8:68:DE:4A:4C:A8, RSSI=-49 dBmAPP|, Name=GJ1APP|\r
+APP|[BtScan] Device[2]: MAC=AC:3F:A4:A2:CA:05, RSSI=-96 dBmAPP|, Name=18J173203837APP|\r
+APP|[BtScan] Bluetooth scan stopped\r
+BT SCAN TEST STOP: Success
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+» AT^BTSCANTEST=1\r
+« APP|[BtScan] Starting Bluetooth scan test...\r
+APP|[BtScan] Enabling Bluetooth stack (same as AT^BTENABLE)...\r
+APP|[BtScan] Waiting for Bluetooth stack ready...\r
+APP|[BtScan] Inquiry parameters set successfully\r
+APP|[BtScan] Discovery state changed: 1\r
+APP|[BtScan] Discovery state changed: 2\r
+[bts][info] btsrv_start_bt_discovery discovery started
+APP|[BtScan] Discovery started successfully\r
+APP|[BtScan] Bluetooth scan started successfully\r
+APP|[BtScan] Scanning for devices...\r
+BT SCAN TEST START: Success
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+[bts][info] btsrv_handle_remote_device_found addr: ****de4a4ca8 [little endian: a84c4ade**** ] name: snickers hdl: 0
+[bts][debug] btsrv_add_remote_dev_node addr: ****de4a4ca8 hdl: 0
+[bts][info] btsrv_notify_gap_discovery_result descovery result
+APP|[BtScan] New device discovered: C8:68:DE:4A:4C:A8\r
+APP|[BtScan] Device name: snickers\r
+[bts][info] btsrv_notify_gap_discovery_result found device addr: ****de4a4ca8 name: snickersAPP|[BtScan] Device: C8:68:DE:4A:4C:A8, RSSI=-51 dBm\r
+[bts][info] btsrv_handle_remote_device_found addr: ****de4a4ca8 [little endian: a84c4ade**** ] name: snickers hdl: 0
+[bts][info] btsrv_handle_remote_device_found addr: ****de4a4ca8 [little endian: a84c4ade**** ] name: snickers hdl: 0
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+[bts][info] btsrv_handle_remote_device_found addr: ****de4a4ca8 [little endian: a84c4ade**** ] name: snickers hdl: 0
+[bts][info] btsrv_handle_remote_device_found addr: ****de4a4ca8 [little endian: a84c4ade**** ] name: snickers hdl: 0
+[bts][info] btsrv_handle_remote_device_found addr: ****de4a4ca8 [little endian: a84c4ade**** ] name: hdl: 0
+[bts][info] btsrv_handle_remote_device_found addr: ****de4a4ca8 [little endian: a84c4ade**** ] name: snickers hdl: 0
+[bts][info] btsrv_handle_remote_device_found addr: ****de4a4ca8 [little endian: a84c4ade**** ] name: snickers hdl: 0
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+[bts][info] btsrv_handle_remote_device_found addr: ****a4a2ca05 [little endian: 05caa2a4**** ] name: 18J173203837 hdl: 0
+[bts][debug] btsrv_add_remote_dev_node addr: ****a4a2ca05 hdl: 0
+[bts][info] btsrv_notify_gap_discovery_result descovery result
+APP|[BtScan] New device discovered: AC:3F:A4:A2:CA:05\r
+APP|[BtScan] Device name: 18J173203837\r
+[bts][info] btsrv_notify_gap_discovery_result found device addr: ****a4a2ca05 name: 18J173203837APP|[BtScan] Device: AC:3F:A4:A2:CA:05, RSSI=-99 dBm\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+[bts][info] btsrv_inquiry_complete_ind_callback inquiry complete
+[bts][info] btsrv_handle_conn_event_msg set discovery status to stop
+APP|[BtScan] Discovery state changed: 3\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+\0�\0x�\0�\0\0�\0��\0��\0�\0\0�\0\0\0\0��\0�\0\0�����\0�\0\0���x�\0��\0��\0����\0��x��\0��\0\0�\0�����\0��\0��\0\0��\0��\0�\0\0�\0�\0\0����\0\0��\0�\0��\0\0\0\0��\0��\0��\0�\0��\0�\0\0\0\0\0�\0�\0\0�\0\0��\0x�\0�\0\0�\0��\0��\0�\0\0�\0\0\0\0��\0�\0\0�����\0�\0\0�����\0\0�\0��\0����\0��x��\0��\0\0�\0�����\0��\0��\0\0��\0����\0\0�\0��\0����\0�\0���\0����\0�\0��������\0�\0\0�\0\0�\0�\0���\0\0��\0��\0��\0�\0��\0x�����\0���\0����\0\0\0\0�x\0�\0\0�������\0��\0\0�\0�x�����\0��\0�\0�\0\0\0\0�\0\0�\0\0�\0�\0\0\0�\0\0\0�����\0����\0��\0\0�\0��\0�\0\0�������\0��\0\0�\0�������\0��\0��\0�\0\0\0\0�\0\0�\0�\0��\0��\0�\0�\0��������\0��\0\0\0\0��\0�\0\0�������\0��\0\0�\0����x��\0��\0��\0�\0\0\0�\0\0��\0����\0\0�\0����\0�\0��x����\0��\0\0x���\0����\0�������\0��\0\0�\0����\0�����x��\0\0\0x��\0�\0\0�\0\0��\0�\0\0�\0�\0�����x\0�\0\0�\0�x��\0���\0��\0�\0��\0�\0\0\0�\0\0\0\0\0\0\0x����\0����\0����\0���\0��\0�\0\0\0�\0x��\0�\0�\0��\0\0��\0x�\0��\0�\0��\0����\0���\0����\0��\0��\0����\0��\0�������x\0�����x�\0�\0��\0\0����\0�\0x\0���\0\0�\0\0\0�\0�x��\0��������\0\0�\0��\0����\0��\0��������\0���������\0��\0\0�������\0\0\0\0\0\0\0��\0��\0�\0\0�\0�����\0����\0\0�����\0�����\0��\0�\0\0�\0�����\0�\0��\0\0�\0����\0���\0�\0\0�\0�\0\0\0\0��\0����\0\0�\0������\0������\0����\0�\0�����\0\0��\0��x���\0\0�\0\0�\0\0\0\0\0\0��\0\0�\0�\0��\0\0\0x�\0\0x\0\0\0\0��\0���\0\0�\0\0���\0\0�\0\0�\0�������\0��\0��\0\0�\0\0\0\0�\0�\0\0x\0\0x�\0x�\0�\0\0�\0�\0\0�\0�����\0�\0��\0\0���\0�����������\0������\0\0�\0\0�\0\0�\0�\0��\0���\0\0��\0��\0�\0\0�\0��\0�x\0�\0��\0\0\0\0�\0\0������\0\0�\0�\0�\0\0\0\0�\0x��\0\0��\0\0����\0�x\0\0��\0��\0x\0\0�\0��\0��\0�\0��\0\0���\0�\0\0�\0�����\0�x\0��\0��\0��\0x\0\0x'7\19��7ٖ\ 6\an����\a\ e�77��w7���q\a\16�\0��\0�\0\0�\0��\0\0�\0����\0��\0\0�\0\0�\0�����\0�\0��\0\0���\0�����\0��\0\0�\0�\0�����\0�\0��\0�\0\0�\0�\0�����\0������\0\0�\0\0\0�\0\0\0\0�\0�\0\0\0\0�x�\0\0�\0�\0������\0x\0\0�\0��\0\0������\0��\0\0�\0\0�\0�����\0�\0��\0\0x��\0�����\0�����\0���\0�\0\0\0�\0�\0x�\0\0��\0����\0\0�\0�\0�\0��\0\0\0�����\0\0\0\0\0\0\0������������\0��\0��\0\0��\0��\0�\0\0�\0������\0��\0���\0�\0�����\0�\0��\0\0����\0���\0\0�\0�����\0�\0�������\0\0�x��\0���\0����\0�\0\0�\0\0�\0��\0�\0��\0�\0\0\0\0�\0\0��\0��\0��\0�\0�\0����\0��\0\0�\0\0�\0�����\0�\0��\0���\0\0\0\0\0\0��\0��\0�\0�\0\0\0\0�\0\0\0\0x\0\0x�\0x�\0��\0�\0�\0��x�\0��\0\0�\0\0�\0�����\0�\0��\0\0\0\0�\0\0\0\0\0\0��\0��\0�\0�\0\0\0\0��\0�\0\0\0x\0\0x�\0��\0��\0�\0�\0����\0��\0\0�\0\0�\0��x��\0�\0��\0\0�\0�\0�\0\0\0\0x�\0��\0�\0�\0\0\0\0�\0\0\0\0\0�\0������\0x\0\0�\0��\0\0������\0��\0\0�\0\0�\0�������\0��\0\0���\0�����\0��\0\0������\0\0�\0�\0�\0�����\0��\0\0�\0�����\0��\0��\0��\0��\0��\0\0��\0��\0��\0�\0��\0����\0���\0�\0\0�\0\0\0x�\0�\0�\0\0������\0��\0��\0�\0����\0������\0�\0�\0\0\0\0\0\0�\0�\0\0\0\0\0\0\0���\0\0�\0\0����\0�\0\0�\0�����\0��\0��\0\0�����\0x\0\0�\0��\0����\0����\0��\0��\0��������\0\0��\0�\0���\0����\0����\0\0�\0�����\0��\0�\0�\0��\0�\0\0x�\0���\0\0�\0\0\0\0�����\0�\0\0\0\0\0�\0\0\0\0�\0\0�\0��\0�\0\0�\0\0�\0��\0�\0\0\0\0�������������\0����\0\0������\0\0\0�\0���\0���\0\0��\0��\0�\0\0�\0��\0�\0��\0���\0�\0\0�\0\0\0����\0\0���x\0�\0\0\0��\0�\0�\0\0������\0��\0��\0\0\0����\0������\0�\0�\0\0�\0\0\0�\0\0�x\0���\0\0�\0\0��\0��\0�\0��\0�����\0�\0\0�\0�����\0��\0��\0\0��\0����\0\0�\0�\0�\0\0��\0��\0�\0��\0\0�\0�\0\0�\0�����\0�\0��\0\0x��\0\0�\0�\0x�\0\0\0�\0��\0\0\0��\0\0�\0\0�\0����\0���\0�\0�\0\0\0\0�x�\0\0\0\0\0�\0\0\0\0\0��\0\0��\0����\0\0�\0��\0����\0\0��\0�\0\0�\0�\0����\0\0�\0��\0\0�\0����\0��x\0�\0�������\0\0��\0�\0\0��\0\0�\0��\0�\0�\0\0\0�\0\0���\0\0�\0\0�x����\0��\0�\0\0����\0����\0\0����\0�������\0\0��\0�\0\0�\0�\0����\0�\0x\0\0�\0\0\0�\0\0\0\0\0��\0xx\0��\0x�\0�\0\0�\0��\0����\0\0����\0�\0\0����\0������\0�\0��\0\0�\0����\0\0��\0�\0�������\0\0��\0�\0\0��\0\0��\0��\0x\0\0�\0�\0\0����\0\0\0���\0��\0�\0\0�\0\0\0�����\0\0x��\0��\0�\0\0���\0\0��\0�\0x\0�\0��\0\0��\0��\0�\0\0�\0����������\0���\0��������\0����������\0��\0�\0\0\0�\0\0\0\0\0x\0\0��\0\0�\0\0�\0\0�\0�\0\0�\0��\0\0\0\0\0\0\0\0\0x\0\0�APP|App uart init succ.\r
+APP|ipc reg info:int en:0,int:0,int sts:0.\r
+APP|int clr:0,clr sts:0,int set:0.\r
+APP|pmu_power_on_init begin\r
+APP|pmu_power_�n_init end\r
+chip temperature=27.000000(tmp=1810)\r
+APP|Flash id is 186585, init success\r
+APP|entering NormalMode\r
+APP|partition init success\r
+APP|upg init success\r
+[osal_msg_queue_create:25]:qName:nv_write_task qID=0x0 \r
+APP|calibration nv is not active\r
+\r
+cpu 0 entering scheduler
+app_init start ok
+APP|thread_main start \r
+APP|find nand flash chip id: 0x0B52\r
+APP|nand flash XT26Q02D start init\r
+APP|\r
+nandflash init start.\r
+APP|xt26q02d_init \r
+APP|nandflash A0 Reg:0x0 \r
+APP|nandflash B0 Reg:0x11 \r
+APP|nandflash C0 Reg:0x2 \r
+APP|\r
+nandflash_qspi_init success\r
+APP|\r
+ nandflash init end.\r
+APP|nandflash init success\r
+APP|Succ read lcd id! Lcd id: 0x5598\r
+get nv local_addr : ******68663c
+CALLENDAR:year = 1970, month = 1, day = 1, hour = 0, minute = 0, second = 0 \r
+callendar timestamp = 0 \r
+sync time timestamp 0, timezone_in_quarters 0 \r
+[A][aw88082_i2c_init:353]aw88082 i2c init success
+[osal_msg_queue_create:25]:qName:sap_msg qID=0x1 \r
+APP|audio init OK\r
+APP|**********startup info**********\r
+APP|os init class is liteos.\r
+APP|store init class is nandflash.\r
+APP|display init class is MIPI.\r
+APP|board init class is E0B4.\r
+APP|psram density is 32MB.\r
+APP|**********startup info**********\r
+APP|No need to upgrade...\r
+[osal_msg_queue_create:25]:qName:at_queue qID=0x2 \r
+[osal_msg_queue_create:25]:qName:graphic_at_service_queue qID=0x3 \r
+[osal_msg_queue_create:25]:qName:app_at_service_queue qID=0x4 \r
+[osal_msg_queue_create:25]:qName:audio_at_service_queue qID=0x5 \r
+[osal_msg_queue_create:25]:qName:bt_cmd_queue qID=0x6 \r
+[osal_msg_queue_create:25]:qName:media_at_service_queue qID=0x7 \r
+[osal_msg_queue_create:25]:qName:dfx_msg qID=0x8 \r
+[osal_msg_queue_create:25]:qName:transmit qID=0x9 \r
+APP|Turning on LCD backlight...
+kvPath: /kvstore
+dataPath:
+Set value ret: -1
+brightness:0
+Brightness: 0% → Fall Edge: 7 → LED Current: 2.5mA
+APP|LCD backlight turned on (CUSTOM_UTILS + BOARD_LEINIAO)
+[DISPLAY I/] GrallocInitialize: gralloc initialize success
+[DISPLAY I/] LayerInitialize: layer initialize success
+[DISPLAY I/] PrintLayerInfo: layerInfo:
+[DISPLAY I/] PrintLayerInfo: type = 0
+[DISPLAY I/] PrintLayerInfo: width = 360
+[DISPLAY I/] PrintLayerInfo: height = 360
+[DISPLAY I/] PrintLayerInfo: bpp = 24
+[DISPLAY I/] PrintLayerInfo: pixFormat = 17
+[DISPLAY I/] VGUInitialize: VGU initializes successfully
+[DISPLAY I/] InitMemPool: Memory Pool has been inited.
+[DISPLAY I/] GrallocInitialize: gralloc initialize success
+====InitDfxCmd===
+[Graphic Error] [ResumeSlice: 225]No valid slice to resume
+APP|[POWER_MANAGER E/] filter_timer_execute_system_rule: filter timer, current default timeout:5000, keepon time:25000, event:5.\r
+APP|No need to upgrade...\r
+APP|SET DSP freq=3, div=6, codec freq=3, div=36\r
+[VAU_ERROR][vau_api_check_surface 108]input phy_addr is null!
+[VAU_ERROR][vau_api_check_surface_list 144]vau check src surface[0] failed!
+[VAU_ERROR][uapi_vau_compose 861]call vau_check_surface_list fail ret = 0x80004000!
+[DISPLAY E/] BlitMultiImgOnce: uapi_vau_compose failure, ret = 0x80004000!
+[DISPLAY E/] BlitMultiImgOnce: src[0] w:360 h:360 str:1472 fmt:0 cmp:0 rect:[0,0,360,360] outRect:[0,0,360,360]
+[Graphic Error] [BlitImages: 889]RenderBlit failed!
+[A][ALERT][sys_cmd_check_cmd_done:164] wait_time_us = 600
+[A][ALERT][drv_sys_pon:297] DSP0 power on
+APP|lwip_main run start.\r
+APP|audio manager init ok\r
+APP|app_main run start.\r
+[osal_msg_queue_create:25]:qName:app_queue qID=0xb \r
+APP|uapi_battery_init !\r
+[osal_msg_queue_create:25]:qName:battery_queue qID=0xc \r
+APP|charger not plugged ,disable charge !\r
+APP|charger not plugged ,disable charge !\r
+APP|uapi_custom_cmd_service_init !\r
+[osal_msg_queue_create:25]:qName:custom_cmd_service_queue qID=0xd \r
+APP|uapi_custom_fileoperate_service_init !\r
+[osal_msg_queue_create:25]:qName:custom_fileoperate_service_queue qID=0xe \r
+APP|No need to upgrade...\r
+[WEARABLE I/] InitBroadcastService start!
+[WEARABLE I/] start! topicSubscriberInfo=0x0x6c104e68
+[WEARABLE I/] InitBroadcastService end!
+[WEARABLE E/] LoadManagementFromFile open fail
+[WEARABLE E/] SaveManagementToFile open fail
+I ams starts successfully
+I bms starts successfully
+[00:00:01:694][I][Init:37]Locator service starts successfully
+[00:00:01:695][D][Init:56][SERVICE:sensor_service]: Init begin
+[WEARABLE I/] WatchConnectCmdRegister
+I ams feature init success
+I [BMS] bms feature init success
+[00:00:01:698][I][Init:56]Locator feature init success
+[00:00:01:699][D][GetTaskConfig:80][SERVICE:sensor_service]: GetTaskConfig begin
+[WEARABLE I/] BroadcastService featureId=4294967295, queueId=536924516, serviceId=2
+[WEARABLE I/] BroadcastFeature featureId=0, queueId=536924516, serviceId=2
+E Fail to open dir:/user/dialpubkey!
+E Failed to create file
+E Public key write failed!
+[WEARABLE I/] NativeAbility InstallAbility
+D MemUtils::InitPSRam g_psramMemory = 6c200000
+[WEARABLE I/] InitNativeLauncher: Minimal startup - Blue window only
+[WEARABLE I/] Cleared all existing views from RootView
+[WEARABLE I/] Blue window created and displayed: 360x360
+I AbilityMgrSliteFeature::OnFeatureInitialize featureId = 0, queueId = 536924708, serviceId = 6
+[WEARABLE I/] NativeAbility OnActive
+[WEARABLE E/] NativeAbility ResumeAbility 0 failed
+I BundleMgrService::ServiceMessageHandle
+[00:00:02:458][I][OnFeatureInitialize:85]Locator feature init
+[00:00:02:459][I][InitAbility:84]initAbility start
+[00:00:02:460][I][Initialize:71]ability constructed.
+[00:00:02:461][E][InitAbility:90]Initialize gps ability, result 1
+[00:00:02:463][I][Initialize:54]LocatorAbility Initialize.
+[00:00:02:464][I][OnFeatureInitialize:89]LocatorAbility initialize success
+APP|[POWER_MANAGER E/] filter_timer_execute_system_rule: filter timer, current default timeout:5000, keepon time:0, event:5.\r
+[00:00:02:473][D][Initialize:62][SERVICE:sensor_service]: Initialize begin
+[00:00:02:475][D][NewSensorInterfaceInstance:47]Get sensor device instance success
+[A][ALERT][sys_cmd_check_cmd_done:164] wait_time_us = 900
+[A][ALERT][drv_sys_pd:331] DSP0 power down
+» AT^PMADDVOTE\r
+« APP|app_main run start.\r
+APP|sys_slp: 0x1\r
+» AT^PMADDVOTE\r
+« MCU has got pm_id_debug vote\r
+\r
+MCU WAKEUP SUCCESS\r
+\r
+OK~\r
+[Graphic Error] [PauseSlice: 236]No valid slice to pause
+APP|uapi_lcd_backlight_off\r
+Output RESET_LCD_GPIO 1 , VCI_LCD_GPIO 0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+» AT^GETIDS\r
+« [nandflash id:] b52\r
+[norflash id:] 186585\r
+[sdk id:]1.0.9 \r
+[soc id:]\r
+0x5DD4 0x5790 0xD300 0x23C2 \r
+0xC2D7 0xEF08 0x030A 0x0F78 \r
+0x81C1 0x0001 \r
+\r
+OK~\r
+» AT^GETBTMAC\r
+« get nv local_addr : ******68663c
+fac:^^^^ BTMAC=28:11:06:68:66:3C ^^^^ CyweeChipInfo=
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+» AT^AUDIOTEST=5\r
+« APP|[AudioTest] Starting audio test...\r
+[00:00:33:348][W]{ai_media_service_init():808} AI media service already initialized
+[00:00:33:349][E]{old_Start_AIVoice():1289} StartAIVoice
+[00:00:33:350][I]{GetGlobalMutex():709} Global AI voice context mutex created successfully
+[00:00:33:352][I]{old_Start_AIVoice():1325} Using custom input audio params: format=1, channels=1, sampleRate=16000
+[00:00:33:354][I]{old_Start_AIVoice():1340} Using custom output audio params: format=1, channels=1, sampleRate=16000
+[00:00:33:356][I]{old_Start_AIVoice():1356} OGG encapsulation disabled by parameter
+[00:00:33:358][E]{old_Start_AIVoice():1362} g_aiVoiceContext->taskHandle
+[00:00:33:360][I]{CreateAIVoiceQueue():747} AI voice input queue created successfully
+APP|SET DSP freq=3, div=5, codec freq=3, div=36\r
+APP|set hifi mode=2.\r
+APP|SET DSP freq=3, div=5, codec freq=3, div=36\r
+[A][ALERT][sys_cmd_check_cmd_done:164] wait_time_us = 400
+[A][ALERT][drv_sys_pon:297] DSP0 power on
+[00:00:33:415][I]{old_Start_AIVoice():1392} AI voice thread created successfully with name: AIVoiceThread
+APP|[AudioTest] Play thread started\r
+APP|[AudioTest] Pre-filled 5 periods (160 bytes, 5.0 ms) of PCM data\r
+[00:00:33:419] E/TrackHandle :{StreamWriteTrack():720} track[0] is neither running or pause, write failed
+[00:00:33:421] E/AudioManagerCWrapper :{AudioStreamOutStreamWrite():365} audio stream out play failed 0xffffffff
+APP|[AudioTest] Audio test started successfully\r
+APP|[AudioTest] Playing 1kHz tone, monitoring volume every 0.5s...\r
+AUDIO TEST START: Success
+ Playing 1kHz tone, monitoring volume every 0.5s...
+aw_sysst_check succed
+aw_pa_start
+[00:00:33:695][I]{CreateAIVoiceInputThread():960} AI voice input thread created successfully
+[00:00:33:696][I]{RunAIVoice():1045} RunAIVoice: waiting for queue data...
+[00:00:33:698][I]{AIVoiceInputThreadFunc():978} AI voice input thread started
+APP|[AudioTest] Volume - RMS: 0.00% (-86.98 dB), Peak: 0.02% (-73.41 dB), Level: 静音\r
+APP|[AudioTest] Volume - RMS: 13.38% (-17.47 dB), Peak: 36.50% (-8.75 dB), Level: 中\r
+APP|[AudioTest] Volume - RMS: 16.74% (-15.53 dB), Peak: 32.87% (-9.66 dB), Level: 中\r
+APP|[AudioTest] Volume - RMS: 14.64% (-16.69 dB), Peak: 33.40% (-9.53 dB), Level: 中\r
+APP|[AudioTest] Volume - RMS: 14.55% (-16.74 dB), Peak: 33.34% (-9.54 dB), Level: 中\r
+APP|[AudioTest] Volume - RMS: 14.26% (-16.92 dB), Peak: 33.75% (-9.43 dB), Level: 中\r
+APP|[AudioTest] Volume - RMS: 15.10% (-16.42 dB), Peak: 33.60% (-9.47 dB), Level: 中\r
+APP|[AudioTest] Volume - RMS: 15.72% (-16.07 dB), Peak: 33.90% (-9.40 dB), Level: 中\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[AudioTest] Volume - RMS: 15.33% (-16.29 dB), Peak: 34.41% (-9.27 dB), Level: 中\r
+APP|[AudioTest] Volume - RMS: 16.21% (-15.80 dB), Peak: 33.75% (-9.43 dB), Level: 中\r
+APP|[AudioTest] Volume - RMS: 15.54% (-16.17 dB), Peak: 33.74% (-9.44 dB), Level: 中\r
+APP|[AudioTest] Volume - RMS: 13.47% (-17.41 dB), Peak: 33.41% (-9.52 dB), Level: 中\r
+» AT^AUDIOTEST=7 0.5\r
+« APP|[AudioTest] Volume - RMS: 14.76% (-16.62 dB), Peak: 33.55% (-9.49 dB), Level: 中\r
+APP|[AudioTest] Play volume set to 0.50 (50%)\r
+AUDIO TEST SET VOLUME: Success (0.00, 0%)
+APP|[AudioTest] Volume - RMS: 13.31% (-17.52 dB), Peak: 33.82% (-9.42 dB), Level: 中\r
+APP|[AudioTest] Volume - RMS: 6.18% (-24.18 dB), Peak: 14.10% (-17.02 dB), Level: 低\r
+APP|[AudioTest] Volume - RMS: 6.78% (-23.37 dB), Peak: 14.19% (-16.96 dB), Level: 低\r
+APP|[AudioTest] Volume - RMS: 6.63% (-23.57 dB), Peak: 14.26% (-16.92 dB), Level: 低\r
+APP|[AudioTest] Volume - RMS: 6.76% (-23.40 dB), Peak: 14.70% (-16.65 dB), Level: 低\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[AudioTest] Volume - RMS: 6.83% (-23.31 dB), Peak: 14.63% (-16.69 dB), Level: 低\r
+» AT^AUDIOTEST=6\r
+« APP|[AudioTest] Stopping audio test...\r
+APP|[AudioTest] Play thread stopped\r
+APP|[AudioTest] Calling StopAIVoice()...\r
+Waiting for AI voice thread to stop...\r
+Thread validation passed, waiting for thread: AIVoiceThread\r
+osThreadJoin failed (-3), using state check...\r
+[00:00:43:891][I]{AIVoiceInputThreadFunc():1027} AI voice input thread stopped
+Waiting... 1/50 (state: 3, running: yes)\r
+[A][ALERT][core_adp_destroy:414] adp = 0x6D000001
+[A][ALERT][core_mod_free:316] mod_node->mid.u32 = 0x6D000001
+APP|SET DSP freq=3, div=6, codec freq=3, div=36\r
+APP|set hifi mode=1.\r
+[A][ALERT][core_adp_destroy:414] adp = 0x6D000101
+[A][ALERT][core_mod_free:316] mod_node->mid.u32 = 0x6D000101
+[A][aw88082_i2c_deinit:373]aw88082 i2c deinit success
+[00:00:44:090][I]{DeinitAIVoiceResources():811} AI voice input queue deleted
+AI voice thread cleanup completed\r
+Waiting... 2/50 (state: 0, running: no)\r
+AI voice thread stopped successfully (state check)\r
+AI voice stopped and resources cleaned up\r
+APP|[AudioTest] Audio test stopped\r
+AUDIO TEST STOP: Success
+[A][ALERT][sys_cmd_check_cmd_done:164] wait_time_us = 700
+[A][ALERT][drv_sys_pd:331] DSP0 power down
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+» AT^BTENABLE\r
+« package_common_cmd_to_bt strCmd 36 5A 00 03 00 09 01 9A 20 inParam (null) para_len 0
+commandID = 0x1 payload_len=0
+bt_manager_at_process cmdId=0x1 atId=0x901
+[bts][info] btsrv_set_log_type_level bts sert log type levle:ff2
+gap reg cbk ret 0
+func:audio_manager_init, line:69, success
+a2dp reg cbk ret 0
+a2dp reg cbk ret 0
+avrcp reg cbk ret 0
+[osal_msg_queue_create:25]:qName:BT_SERVICE_MSG qID=0x1a \r
+[bts][info] btsrv_task_init btsrv_init: task create success
+gap_state_changed_callback transport: 1 status: 0
+[bts][info] btsdk_get_discovery_mode mode = 00
+[bts][info] gap_br_set_bt_scan_mode set scan mode old=0 new=4
+[bts][info] gap_br_set_bt_scan_mode btsdk_set_discovery_mode mode: d ret: 0
+[bts][info] btsdk_get_discovery_mode mode = 0d
+gap_scan_mode_changed_callback mode: 4
+[bts][info] pan_register_cbk pan service register cbk:A TO B start.
+[bts][info] bt_acore_get_config_sync_flash [ACore] bt read nv config succ, real_len:585.\r
+gap_state_changed_callback transport: 2 status: 1
+gap_state_changed_callback transport: 1 status: 1
+bt enable ok\r
+\r
+OK~\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+» AT^BTSCANTEST=1\r
+« APP|[BtScan] Starting Bluetooth scan test...\r
+APP|[BtScan] Enabling Bluetooth stack (same as AT^BTENABLE)...\r
+APP|[BtScan] Waiting for Bluetooth stack ready...\r
+APP|[BtScan] Inquiry parameters set successfully\r
+APP|[BtScan] Discovery state changed: 1\r
+APP|[BtScan] Discovery state changed: 2\r
+[bts][info] btsrv_start_bt_discovery discovery started
+APP|[BtScan] Discovery started successfully\r
+APP|[BtScan] Bluetooth scan started successfully\r
+APP|[BtScan] Scanning for devices...\r
+BT SCAN TEST START: Success
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+» AT^GPIOTEST=2\r
+« APP|[GpioTest] Starting GPIO test...\r
+APP|[GpioTest] No GPIO pairs configured, initializing with default config...\r
+APP|[GpioTest] Invalid input pin name: HSUART_CTS\r
+APP|[GpioTest] Parsed 34 GPIO pairs from JSON\r
+APP|[GpioTest] Default config initialized successfully\r
+APP|[GpioTest] Starting GPIO test with 34 pairs...\r
+APP|[GpioTest] Testing pair 0: S_AGPIO_L23 (input) <-> S_AGPIO_L12 (output)\r
+APP|[GpioTest] Pair 0: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 1: S_AGPIO_L13 (input) <-> S_AGPIO_L31 (output)\r
+APP|[GpioTest] Pair 1: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 2: S_AGPIO_L3 (input) <-> S_AGPIO_L2 (output)\r
+APP|[GpioTest] Pair 2: PASSED - S_AGPIO_L3 <-> S_AGPIO_L2\r
+APP|[GpioTest] Testing pair 3: S_AGPIO_L1 (input) <-> S_AGPIO_L4 (output)\r
+APP|[GpioTest] Pair 3: PASSED - S_AGPIO_L1 <-> S_AGPIO_L4\r
+APP|[GpioTest] Testing pair 4: S_AGPIO_L0 (input) <-> S_AGPIO_R4 (output)\r
+APP|[GpioTest] Pair 4: PASSED - S_AGPIO_L0 <-> S_AGPIO_R4\r
+APP|[GpioTest] Testing pair 5: S_AGPIO_R5 (input) <-> S_MGPIO14 (output)\r
+APP|[GpioTest] Pair 5: PASSED - S_AGPIO_R5 <-> S_MGPIO14\r
+APP|[GpioTest] Testing pair 6: S_MGPIO13 (input) <-> S_AGPIO_R10 (output)\r
+APP|[GpioTest] Pair 6: PASSED - S_MGPIO13 <-> S_AGPIO_R10\r
+APP|[GpioTest] Testing pair 7: S_MGPIO11 (input) <-> S_MGPIO12 (output)\r
+APP|[GpioTest] Pair 7: PASSED - S_MGPIO11 <-> S_MGPIO12\r
+APP|[GpioTest] Testing pair 8: S_AGPIO_R2 (input) <-> S_AGPIO_R1 (output)\r
+APP|[GpioTest] Pair 8: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 9: S_AGPIO_L24 (input) <-> S_AGPIO_L17 (output)\r
+APP|[GpioTest] Pair 9: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 10: S_AGPIO_L21 (input) <-> S_AGPIO_L11 (output)\r
+APP|[GpioTest] Pair 10: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 11: S_AGPIO_L19 (input) <-> S_AGPIO_R0 (output)\r
+APP|[GpioTest] Pair 11: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 12: S_HGPIO13 (input) <-> S_AGPIO_R3 (output)\r
+APP|[GpioTest] Pair 12: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 13: S_AGPIO_R6 (input) <-> S_MGPIO25 (output)\r
+APP|[GpioTest] Pair 13: PASSED - S_AGPIO_R6 <-> S_MGPIO25\r
+APP|[GpioTest] Testing pair 14: S_MGPIO26 (input) <-> S_MGPIO23 (output)\r
+APP|[GpioTest] Pair 14: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 15: S_MGPIO24 (input) <-> S_MGPIO31 (output)\r
+APP|[GpioTest] Pair 15: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 16: S_MGPIO29 (input) <-> S_MGPIO30 (output)\r
+APP|[GpioTest] Pair 16: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 17: S_MGPIO32 (input) <-> S_MGPIO28 (output)\r
+APP|[GpioTest] Pair 17: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 18: S_MGPIO27 (input) <-> S_MGPIO22 (output)\r
+APP|[GpioTest] Pair 18: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 19: S_MGPIO21 (input) <-> S_MGPIO19 (output)\r
+APP|[GpioTest] Pair 19: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 20: S_MGPIO20 (input) <-> S_AGPIO_R7 (output)\r
+APP|[GpioTest] Pair 20: PASSED - S_MGPIO20 <-> S_AGPIO_R7\r
+APP|[GpioTest] Testing pair 21: S_AGPIO_R8 (input) <-> S_AGPIO_R9 (output)\r
+APP|[GpioTest] Pair 21: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 22: S_AGPIO_L30 (input) <-> S_AGPIO_L29 (output)\r
+APP|[GpioTest] Pair 22: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 23: S_AGPIO_L32 (input) <-> S_AGPIO_L20 (output)\r
+APP|[GpioTest] Pair 23: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 24: S_AGPIO_L15 (input) <-> S_HGPIO5 (output)\r
+APP|[GpioTest] Pair 24: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 25: S_HGPIO4 (input) <-> S_HGPIO0 (output)\r
+APP|[GpioTest] Pair 25: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 26: S_HGPIO1 (input) <-> S_HGPIO2 (output)\r
+APP|[GpioTest] Pair 26: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 27: S_HGPIO3 (input) <-> S_MGPIO3 (output)\r
+APP|[GpioTest] Pair 27: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 28: S_MGPIO1 (input) <-> S_MGPIO2 (output)\r
+APP|[GpioTest] Pair 28: PASSED - S_MGPIO1 <-> S_MGPIO2\r
+APP|[GpioTest] Testing pair 29: S_MGPIO0 (input) <-> S_MGPIO6 (output)\r
+APP|[GpioTest] Pair 29: FAILED - Output HIGH but input read 0 (expected HIGH)\r
+APP|[GpioTest] Testing pair 30: S_MGPIO9 (input) <-> S_MGPIO8 (output)\r
+APP|[GpioTest] Pair 30: PASSED - S_MGPIO9 <-> S_MGPIO8\r
+APP|[GpioTest] Testing pair 31: S_MGPIO7 (input) <-> S_MGPIO8 (output)\r
+APP|[GpioTest] Pair 31: PASSED - S_MGPIO7 <-> S_MGPIO8\r
+APP|[GpioTest] Testing pair 32: S_AGPIO_L28 (input) <-> S_AGPIO_L18 (output)\r
+APP|[GpioTest] Pair 32: PASSED - S_AGPIO_L28 <-> S_AGPIO_L18\r
+APP|[GpioTest] Testing pair 33: S_HGPIO9 (input) <-> S_AGPIO_L26 (output)\r
+APP|[GpioTest] Pair 33: PASSED - S_HGPIO9 <-> S_AGPIO_L26\r
+APP|[GpioTest] Test completed: 13 passed, 21 failed\r
+APP|[GpioTest] Failed pairs:\r
+APP|[GpioTest] Pair 0: S_AGPIO_L23 (input) <-> S_AGPIO_L12 (output)\r
+APP|[GpioTest] Pair 1: S_AGPIO_L13 (input) <-> S_AGPIO_L31 (output)\r
+APP|[GpioTest] Pair 8: S_AGPIO_R2 (input) <-> S_AGPIO_R1 (output)\r
+APP|[GpioTest] Pair 9: S_AGPIO_L24 (input) <-> S_AGPIO_L17 (output)\r
+APP|[GpioTest] Pair 10: S_AGPIO_L21 (input) <-> S_AGPIO_L11 (output)\r
+APP|[GpioTest] Pair 11: S_AGPIO_L19 (input) <-> S_AGPIO_R0 (output)\r
+APP|[GpioTest] Pair 12: S_HGPIO13 (input) <-> S_AGPIO_R3 (output)\r
+APP|[GpioTest] Pair 14: S_MGPIO26 (input) <-> S_MGPIO23 (output)\r
+APP|[GpioTest] Pair 15: S_MGPIO24 (input) <-> S_MGPIO31 (output)\r
+APP|[GpioTest] Pair 16: S_MGPIO29 (input) <-> S_MGPIO30 (output)\r
+APP|[GpioTest] Pair 17: S_MGPIO32 (input) <-> S_MGPIO28 (output)\r
+APP|[GpioTest] Pair 18: S_MGPIO27 (input) <-> S_MGPIO22 (output)\r
+APP|[GpioTest] Pair 19: S_MGPIO21 (input) <-> S_MGPIO19 (output)\r
+APP|[GpioTest] Pair 21: S_AGPIO_R8 (input) <-> S_AGPIO_R9 (output)\r
+APP|[GpioTest] Pair 22: S_AGPIO_L30 (input) <-> S_AGPIO_L29 (output)\r
+APP|[GpioTest] Pair 23: S_AGPIO_L32 (input) <-> S_AGPIO_L20 (output)\r
+APP|[GpioTest] Pair 24: S_AGPIO_L15 (input) <-> S_HGPIO5 (output)\r
+APP|[GpioTest] Pair 25: S_HGPIO4 (input) <-> S_HGPIO0 (output)\r
+APP|[GpioTest] Pair 26: S_HGPIO1 (input) <-> S_HGPIO2 (output)\r
+APP|[GpioTest] Pair 27: S_HGPIO3 (input) <-> S_MGPIO3 (output)\r
+APP|[GpioTest] Pair 29: S_MGPIO0 (input) <-> S_MGPIO6 (output)\r
+APP|[GpioTest] Test finished\r
+GPIO TEST START: Success
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+[bts][info] btsrv_handle_remote_device_found addr: ****de4a4ca8 [little endian: a84c4ade**** ] name: snickers hdl: 0
+[bts][debug] btsrv_add_remote_dev_node addr: ****de4a4ca8 hdl: 0
+[bts][info] btsrv_notify_gap_discovery_result descovery result
+APP|[BtScan] New device discovered: C8:68:DE:4A:4C:A8\r
+APP|[BtScan] Device name: snickers\r
+[bts][info] btsrv_notify_gap_discovery_result found device addr: ****de4a4ca8 name: snickersAPP|[BtScan] Device: C8:68:DE:4A:4C:A8, RSSI=-60 dBm\r
+[bts][info] btsrv_handle_remote_device_found addr: ****de4a4ca8 [little endian: a84c4ade**** ] name: snickers hdl: 0
+[bts][info] btsrv_handle_remote_device_found addr: ****de4a4ca8 [little endian: a84c4ade**** ] name: snickers hdl: 0
+[bts][info] btsrv_handle_remote_device_found addr: ****de4a4ca8 [little endian: a84c4ade**** ] name: snickers hdl: 0
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+[bts][info] btsrv_handle_remote_device_found addr: ****de4a4ca8 [little endian: a84c4ade**** ] name: snickers hdl: 0
+[bts][info] btsrv_handle_remote_device_found addr: ****de4a4ca8 [little endian: a84c4ade**** ] name: snickers hdl: 0
+[bts][info] btsrv_handle_remote_device_found addr: ****de4a4ca8 [little endian: a84c4ade**** ] name: snickers hdl: 0
+[bts][info] btsrv_handle_remote_device_found addr: ****de4a4ca8 [little endian: a84c4ade**** ] name: hdl: 0
+[bts][info] btsrv_handle_remote_device_found addr: ****de4a4ca8 [little endian: a84c4ade**** ] name: snickers hdl: 0
+[bts][info] btsrv_handle_remote_device_found addr: ****de4a4ca8 [little endian: a84c4ade**** ] name: snickers hdl: 0
+[bts][info] btsrv_handle_remote_device_found addr: ****de4a4ca8 [little endian: a84c4ade**** ] name: snickers hdl: 0
+[bts][info] btsrv_handle_remote_device_found addr: ****de4a4ca8 [little endian: a84c4ade**** ] name: hdl: 0
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+[bts][info] btsrv_handle_remote_device_found addr: ****de4a4ca8 [little endian: a84c4ade**** ] name: snickers hdl: 0
+[bts][info] btsrv_handle_remote_device_found addr: ****de4a4ca8 [little endian: a84c4ade**** ] name: snickers hdl: 0
+[bts][info] btsrv_handle_remote_device_found addr: ****de4a4ca8 [little endian: a84c4ade**** ] name: snickers hdl: 0
+» AT^BTSCANTEST=2\r
+« APP|[BtScan] Stopping Bluetooth scan test...\r
+[bts][info] gap_br_cancel_discovery btsdk_stop_device_discovery ret=0x0
+[bts][info] gap_br_can[bts][info] btsrv_inquiry_complete_ind_callback inquiry complete
+[bts][info] btsrv_handle_conn_event_msg set discovery status to stop
+APP|[BtScan] Discovery state changed: 3\r
+cel_discovery discovery stopped
+APP|[BtScan] Discovery state changed: 3\r
+APP|[BtScan] Final scan results:\r
+APP|[BtScan] Found 1 device(s):\r
+APP|[BtScan] Device[1]: MAC=C8:68:DE:4A:4C:A8, RSSI=-60 dBmAPP|, Name=snickersAPP|\r
+APP|[BtScan] Bluetooth scan stopped\r
+BT SCAN TEST STOP: Success
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+» AT^LOWPOWER\r
+« LOWPOWER ATCMD Set Parameter Failed argc 0
+Usage: AT^LOWPOWER=0 (提醒低电充电)
+ AT^LOWPOWER=1 (电量过低,直接提醒关机)
+ AT^LOWPOWER=3 (倒计时结束后,直接执行关机动画)
+APP|[at cmd]cannot find cmd handle, data=AT^LOWPOWER len=12\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
--- /dev/null
+« [A][ALERT][sys_cmd_check_cmd_done:164] wait_time_us = 900
+[A][ALERT][drv_sys_pd:331] DSP0 power down
+APP|app_main run start.\r
+APP|sys_slp: 0x1\r
+[Graphic Error] [PauseSlice: 236]No valid slice to pause
+APP|uapi_lcd_backlight_off\r
+Output RESET_LCD_GPIO 1 , VCI_LCD_GPIO 0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x1\r
+» AT^GPIOTEST=4\r
+» AT^GPIOTEST=4\r
+« APP|[GpioTest] Starting GPIO pair scanning (iterative mode)...\r
+APP|[GpioTest] Found 67 GPIO pins from default config\r
+APP|[GpioTest] ===== All GPIO Names =====\r
+APP|[GpioTest] [ 1] S_AGPIO_L23 (pin_t=104)\r
+APP|[GpioTest] [ 2] S_AGPIO_L12 (pin_t=93)\r
+APP|[GpioTest] [ 3] S_AGPIO_L13 (pin_t=94)\r
+APP|[GpioTest] [ 4] S_AGPIO_L31 (pin_t=112)\r
+APP|[GpioTest] [ 5] S_AGPIO_L3 (pin_t=84)\r
+APP|[GpioTest] [ 6] S_AGPIO_L2 (pin_t=83)\r
+APP|[GpioTest] [ 7] S_AGPIO_L1 (pin_t=82)\r
+APP|[GpioTest] [ 8] S_AGPIO_L4 (pin_t=85)\r
+APP|[GpioTest] [ 9] S_AGPIO_L0 (pin_t=81)\r
+APP|[GpioTest] [ 10] S_AGPIO_R4 (pin_t=118)\r
+APP|[GpioTest] [ 11] S_AGPIO_R5 (pin_t=119)\r
+APP|[GpioTest] [ 12] S_MGPIO14 (pin_t=56)\r
+APP|[GpioTest] [ 13] S_MGPIO13 (pin_t=55)\r
+APP|[GpioTest] [ 14] S_AGPIO_R10 (pin_t=124)\r
+APP|[GpioTest] [ 15] S_MGPIO11 (pin_t=53)\r
+APP|[GpioTest] [ 16] S_MGPIO12 (pin_t=54)\r
+APP|[GpioTest] [ 17] S_AGPIO_R2 (pin_t=116)\r
+APP|[GpioTest] [ 18] S_AGPIO_R1 (pin_t=115)\r
+APP|[GpioTest] [ 19] S_AGPIO_L24 (pin_t=105)\r
+APP|[GpioTest] [ 20] S_AGPIO_L17 (pin_t=98)\r
+APP|[GpioTest] [ 21] S_AGPIO_L21 (pin_t=102)\r
+APP|[GpioTest] [ 22] S_AGPIO_L11 (pin_t=92)\r
+APP|[GpioTest] [ 23] S_AGPIO_L19 (pin_t=100)\r
+APP|[GpioTest] [ 24] S_AGPIO_R0 (pin_t=114)\r
+APP|[GpioTest] [ 25] S_HGPIO13 (pin_t=39)\r
+APP|[GpioTest] [ 26] S_AGPIO_R3 (pin_t=117)\r
+APP|[GpioTest] [ 27] S_AGPIO_R6 (pin_t=120)\r
+APP|[GpioTest] [ 28] S_MGPIO25 (pin_t=67)\r
+APP|[GpioTest] [ 29] S_MGPIO26 (pin_t=68)\r
+APP|[GpioTest] [ 30] S_MGPIO23 (pin_t=65)\r
+APP|[GpioTest] [ 31] S_MGPIO24 (pin_t=66)\r
+APP|[GpioTest] [ 32] S_MGPIO31 (pin_t=73)\r
+APP|[GpioTest] [ 33] S_MGPIO29 (pin_t=71)\r
+APP|[GpioTest] [ 34] S_MGPIO30 (pin_t=72)\r
+APP|[GpioTest] [ 35] S_MGPIO32 (pin_t=74)\r
+APP|[GpioTest] [ 36] S_MGPIO28 (pin_t=70)\r
+APP|[GpioTest] [ 37] S_MGPIO27 (pin_t=69)\r
+APP|[GpioTest] [ 38] S_MGPIO22 (pin_t=64)\r
+APP|[GpioTest] [ 39] S_MGPIO21 (pin_t=63)\r
+APP|[GpioTest] [ 40] S_MGPIO19 (pin_t=61)\r
+APP|[GpioTest] [ 41] S_MGPIO20 (pin_t=62)\r
+APP|[GpioTest] [ 42] S_AGPIO_R7 (pin_t=121)\r
+APP|[GpioTest] [ 43] S_AGPIO_R8 (pin_t=122)\r
+APP|[GpioTest] [ 44] S_AGPIO_R9 (pin_t=123)\r
+APP|[GpioTest] [ 45] S_AGPIO_L30 (pin_t=111)\r
+APP|[GpioTest] [ 46] S_AGPIO_L29 (pin_t=110)\r
+APP|[GpioTest] [ 47] S_AGPIO_L32 (pin_t=113)\r
+APP|[GpioTest] [ 48] S_AGPIO_L20 (pin_t=101)\r
+APP|[GpioTest] [ 49] S_AGPIO_L15 (pin_t=96)\r
+APP|[GpioTest] [ 50] S_HGPIO5 (pin_t=31)\r
+APP|[GpioTest] [ 51] S_HGPIO4 (pin_t=30)\r
+APP|[GpioTest] [ 52] S_HGPIO0 (pin_t=26)\r
+APP|[GpioTest] [ 53] S_HGPIO1 (pin_t=27)\r
+APP|[GpioTest] [ 54] S_HGPIO2 (pin_t=28)\r
+APP|[GpioTest] [ 55] S_HGPIO3 (pin_t=29)\r
+APP|[GpioTest] [ 56] S_MGPIO3 (pin_t=45)\r
+APP|[GpioTest] [ 57] S_MGPIO1 (pin_t=43)\r
+APP|[GpioTest] [ 58] S_MGPIO2 (pin_t=44)\r
+APP|[GpioTest] [ 59] S_MGPIO0 (pin_t=42)\r
+APP|[GpioTest] [ 60] S_MGPIO6 (pin_t=48)\r
+APP|[GpioTest] [ 61] S_MGPIO9 (pin_t=51)\r
+APP|[GpioTest] [ 62] S_MGPIO8 (pin_t=50)\r
+APP|[GpioTest] [ 63] S_MGPIO7 (pin_t=49)\r
+APP|[GpioTest] [ 64] S_AGPIO_L28 (pin_t=109)\r
+APP|[GpioTest] [ 65] S_AGPIO_L18 (pin_t=99)\r
+APP|[GpioTest] [ 66] S_HGPIO9 (pin_t=35)\r
+APP|[GpioTest] [ 67] S_AGPIO_L26 (pin_t=107)\r
+APP|[GpioTest] ===== End of GPIO List =====\r
+APP|\r
+APP|[GpioTest] ===== Round 1 =====\r
+APP|[GpioTest] Remaining GPIOs: 67\r
+APP|[GpioTest] Testing output: S_AGPIO_L23 (pin_t=104)\r
+APP|[GpioTest] Output: S_AGPIO_L23\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_AGPIO_L12 (pin_t=93)\r
+APP|[GpioTest] Round 1 complete. Remaining: 65 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 2 =====\r
+APP|[GpioTest] Remaining GPIOs: 65\r
+APP|[GpioTest] Testing output: S_AGPIO_L13 (pin_t=94)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x1\r
+APP|[GpioTest] Output: S_AGPIO_L13\r
+APP|[GpioTest] Synced inputs (3):\r
+APP|[GpioTest] - S_AGPIO_L31 (pin_t=112)\r
+APP|[GpioTest] - S_AGPIO_L2 (pin_t=83)\r
+APP|[GpioTest] - S_AGPIO_L4 (pin_t=85)\r
+APP|[GpioTest] Round 2 complete. Remaining: 61 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 3 =====\r
+APP|[GpioTest] Remaining GPIOs: 61\r
+APP|[GpioTest] Testing output: S_AGPIO_L3 (pin_t=84)\r
+APP|[GpioTest] Output: S_AGPIO_L3\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 3 complete. Remaining: 60 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 4 =====\r
+APP|[GpioTest] Remaining GPIOs: 60\r
+APP|[GpioTest] Testing output: S_AGPIO_L1 (pin_t=82)\r
+APP|[GpioTest] Output: S_AGPIO_L1\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 4 complete. Remaining: 59 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 5 =====\r
+APP|[GpioTest] Remaining GPIOs: 59\r
+APP|[GpioTest] Testing output: S_AGPIO_L0 (pin_t=81)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_AGPIO_L0\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 5 complete. Remaining: 58 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 6 =====\r
+APP|[GpioTest] Remaining GPIOs: 58\r
+APP|[GpioTest] Testing output: S_AGPIO_R4 (pin_t=118)\r
+APP|[GpioTest] Output: S_AGPIO_R4\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 6 complete. Remaining: 57 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 7 =====\r
+APP|[GpioTest] Remaining GPIOs: 57\r
+APP|[GpioTest] Testing output: S_AGPIO_R5 (pin_t=119)\r
+APP|[GpioTest] Output: S_AGPIO_R5\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_MGPIO14 (pin_t=56)\r
+APP|[GpioTest] Round 7 complete. Remaining: 55 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 8 =====\r
+APP|[GpioTest] Remaining GPIOs: 55\r
+APP|[GpioTest] Testing output: S_MGPIO13 (pin_t=55)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_MGPIO13\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_AGPIO_R10 (pin_t=124)\r
+APP|[GpioTest] Round 8 complete. Remaining: 53 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 9 =====\r
+APP|[GpioTest] Remaining GPIOs: 53\r
+APP|[GpioTest] Testing output: S_MGPIO11 (pin_t=53)\r
+APP|[GpioTest] Output: S_MGPIO11\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_MGPIO12 (pin_t=54)\r
+APP|[GpioTest] Round 9 complete. Remaining: 51 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 10 =====\r
+APP|[GpioTest] Remaining GPIOs: 51\r
+APP|[GpioTest] Testing output: S_AGPIO_R2 (pin_t=116)\r
+APP|[GpioTest] Output: S_AGPIO_R2\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 10 complete. Remaining: 50 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 11 =====\r
+APP|[GpioTest] Remaining GPIOs: 50\r
+APP|[GpioTest] Testing output: S_AGPIO_R1 (pin_t=115)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_AGPIO_R1\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 11 complete. Remaining: 49 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 12 =====\r
+APP|[GpioTest] Remaining GPIOs: 49\r
+APP|[GpioTest] Testing output: S_AGPIO_L24 (pin_t=105)\r
+APP|[GpioTest] Output: S_AGPIO_L24\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 12 complete. Remaining: 48 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 13 =====\r
+APP|[GpioTest] Remaining GPIOs: 48\r
+APP|[GpioTest] Testing output: S_AGPIO_L17 (pin_t=98)\r
+APP|[GpioTest] Output: S_AGPIO_L17\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 13 complete. Remaining: 47 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 14 =====\r
+APP|[GpioTest] Remaining GPIOs: 47\r
+APP|[GpioTest] Testing output: S_AGPIO_L21 (pin_t=102)\r
+APP|[GpioTest] Output: S_AGPIO_L21\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_AGPIO_L11 (pin_t=92)\r
+APP|[GpioTest] Round 14 complete. Remaining: 45 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 15 =====\r
+APP|[GpioTest] Remaining GPIOs: 45\r
+APP|[GpioTest] Testing output: S_AGPIO_L19 (pin_t=100)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_AGPIO_L19\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 15 complete. Remaining: 44 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 16 =====\r
+APP|[GpioTest] Remaining GPIOs: 44\r
+APP|[GpioTest] Testing output: S_AGPIO_R0 (pin_t=114)\r
+APP|[GpioTest] Output: S_AGPIO_R0\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 16 complete. Remaining: 43 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 17 =====\r
+APP|[GpioTest] Remaining GPIOs: 43\r
+APP|[GpioTest] Testing output: S_HGPIO13 (pin_t=39)\r
+APP|[GpioTest] Output: S_HGPIO13\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 17 complete. Remaining: 42 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 18 =====\r
+APP|[GpioTest] Remaining GPIOs: 42\r
+APP|[GpioTest] Testing output: S_AGPIO_R3 (pin_t=117)\r
+APP|[GpioTest] Output: S_AGPIO_R3\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 18 complete. Remaining: 41 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 19 =====\r
+APP|[GpioTest] Remaining GPIOs: 41\r
+APP|[GpioTest] Testing output: S_AGPIO_R6 (pin_t=120)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_AGPIO_R6\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 19 complete. Remaining: 40 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 20 =====\r
+APP|[GpioTest] Remaining GPIOs: 40\r
+APP|[GpioTest] Testing output: S_MGPIO25 (pin_t=67)\r
+APP|charger not plugged ,disable charge !\r
+APP|[GpioTest] Output: S_MGPIO25\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 20 complete. Remaining: 39 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 21 =====\r
+APP|[GpioTest] Remaining GPIOs: 39\r
+APP|[GpioTest] Testing output: S_MGPIO26 (pin_t=68)\r
+APP|[GpioTest] Output: S_MGPIO26\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 21 complete. Remaining: 38 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 22 =====\r
+APP|[GpioTest] Remaining GPIOs: 38\r
+APP|[GpioTest] Testing output: S_MGPIO23 (pin_t=65)\r
+APP|[GpioTest] Output: S_MGPIO23\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 22 complete. Remaining: 37 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 23 =====\r
+APP|[GpioTest] Remaining GPIOs: 37\r
+APP|[GpioTest] Testing output: S_MGPIO24 (pin_t=66)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_MGPIO24\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 23 complete. Remaining: 36 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 24 =====\r
+APP|[GpioTest] Remaining GPIOs: 36\r
+APP|[GpioTest] Testing output: S_MGPIO31 (pin_t=73)\r
+APP|[GpioTest] Output: S_MGPIO31\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 24 complete. Remaining: 35 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 25 =====\r
+APP|[GpioTest] Remaining GPIOs: 35\r
+APP|[GpioTest] Testing output: S_MGPIO29 (pin_t=71)\r
+APP|[GpioTest] Output: S_MGPIO29\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 25 complete. Remaining: 34 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 26 =====\r
+APP|[GpioTest] Remaining GPIOs: 34\r
+APP|[GpioTest] Testing output: S_MGPIO30 (pin_t=72)\r
+APP|[GpioTest] Output: S_MGPIO30\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 26 complete. Remaining: 33 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 27 =====\r
+APP|[GpioTest] Remaining GPIOs: 33\r
+APP|[GpioTest] Testing output: S_MGPIO32 (pin_t=74)\r
+APP|[GpioTest] Output: S_MGPIO32\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 27 complete. Remaining: 32 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 28 =====\r
+APP|[GpioTest] Remaining GPIOs: 32\r
+APP|[GpioTest] Testing output: S_MGPIO28 (pin_t=70)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_MGPIO28\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 28 complete. Remaining: 31 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 29 =====\r
+APP|[GpioTest] Remaining GPIOs: 31\r
+APP|[GpioTest] Testing output: S_MGPIO27 (pin_t=69)\r
+APP|[GpioTest] Output: S_MGPIO27\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_MGPIO22 (pin_t=64)\r
+APP|[GpioTest] Round 29 complete. Remaining: 29 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 30 =====\r
+APP|[GpioTest] Remaining GPIOs: 29\r
+APP|[GpioTest] Testing output: S_MGPIO21 (pin_t=63)\r
+APP|[GpioTest] Output: S_MGPIO21\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 30 complete. Remaining: 28 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 31 =====\r
+APP|[GpioTest] Remaining GPIOs: 28\r
+APP|[GpioTest] Testing output: S_MGPIO19 (pin_t=61)\r
+APP|[GpioTest] Output: S_MGPIO19\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 31 complete. Remaining: 27 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 32 =====\r
+APP|[GpioTest] Remaining GPIOs: 27\r
+APP|[GpioTest] Testing output: S_MGPIO20 (pin_t=62)\r
+APP|[GpioTest] Output: S_MGPIO20\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 32 complete. Remaining: 26 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 33 =====\r
+APP|[GpioTest] Remaining GPIOs: 26\r
+APP|[GpioTest] Testing output: S_AGPIO_R7 (pin_t=121)\r
+APP|[GpioTest] Output: S_AGPIO_R7\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 33 complete. Remaining: 25 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 34 =====\r
+APP|[GpioTest] Remaining GPIOs: 25\r
+APP|[GpioTest] Testing output: S_AGPIO_R8 (pin_t=122)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_AGPIO_R8\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 34 complete. Remaining: 24 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 35 =====\r
+APP|[GpioTest] Remaining GPIOs: 24\r
+APP|[GpioTest] Testing output: S_AGPIO_R9 (pin_t=123)\r
+APP|[GpioTest] Output: S_AGPIO_R9\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 35 complete. Remaining: 23 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 36 =====\r
+APP|[GpioTest] Remaining GPIOs: 23\r
+APP|[GpioTest] Testing output: S_AGPIO_L30 (pin_t=111)\r
+APP|[GpioTest] Output: S_AGPIO_L30\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_AGPIO_L29 (pin_t=110)\r
+APP|[GpioTest] Round 36 complete. Remaining: 21 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 37 =====\r
+APP|[GpioTest] Remaining GPIOs: 21\r
+APP|[GpioTest] Testing output: S_AGPIO_L32 (pin_t=113)\r
+APP|[GpioTest] Output: S_AGPIO_L32\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 37 complete. Remaining: 20 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 38 =====\r
+APP|[GpioTest] Remaining GPIOs: 20\r
+APP|[GpioTest] Testing output: S_AGPIO_L20 (pin_t=101)\r
+APP|[GpioTest] Output: S_AGPIO_L20\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 38 complete. Remaining: 19 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 39 =====\r
+APP|[GpioTest] Remaining GPIOs: 19\r
+APP|[GpioTest] Testing output: S_AGPIO_L15 (pin_t=96)\r
+APP|[GpioTest] Output: S_AGPIO_L15\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 39 complete. Remaining: 18 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 40 =====\r
+APP|[GpioTest] Remaining GPIOs: 18\r
+APP|[GpioTest] Testing output: S_HGPIO5 (pin_t=31)\r
+APP|[GpioTest] Output: S_HGPIO5\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 40 complete. Remaining: 17 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 41 =====\r
+APP|[GpioTest] Remaining GPIOs: 17\r
+APP|[GpioTest] Testing output: S_HGPIO4 (pin_t=30)\r
+APP|[GpioTest] Output: S_HGPIO4\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 41 complete. Remaining: 16 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 42 =====\r
+APP|[GpioTest] Remaining GPIOs: 16\r
+APP|[GpioTest] Testing output: S_HGPIO0 (pin_t=26)\r
+APP|[GpioTest] Output: S_HGPIO0\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 42 complete. Remaining: 15 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 43 =====\r
+APP|[GpioTest] Remaining GPIOs: 15\r
+APP|[GpioTest] Testing output: S_HGPIO1 (pin_t=27)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_HGPIO1\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 43 complete. Remaining: 14 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 44 =====\r
+APP|[GpioTest] Remaining GPIOs: 14\r
+APP|[GpioTest] Testing output: S_HGPIO2 (pin_t=28)\r
+APP|[GpioTest] Output: S_HGPIO2\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 44 complete. Remaining: 13 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 45 =====\r
+APP|[GpioTest] Remaining GPIOs: 13\r
+APP|[GpioTest] Testing output: S_HGPIO3 (pin_t=29)\r
+APP|[GpioTest] Output: S_HGPIO3\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 45 complete. Remaining: 12 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 46 =====\r
+APP|[GpioTest] Remaining GPIOs: 12\r
+APP|[GpioTest] Testing output: S_MGPIO3 (pin_t=45)\r
+APP|[GpioTest] Output: S_MGPIO3\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 46 complete. Remaining: 11 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 47 =====\r
+APP|[GpioTest] Remaining GPIOs: 11\r
+APP|[GpioTest] Testing output: S_MGPIO1 (pin_t=43)\r
+APP|[GpioTest] Output: S_MGPIO1\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_MGPIO2 (pin_t=44)\r
+APP|[GpioTest] Round 47 complete. Remaining: 9 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 48 =====\r
+APP|[GpioTest] Remaining GPIOs: 9\r
+APP|[GpioTest] Testing output: S_MGPIO0 (pin_t=42)\r
+APP|[GpioTest] Output: S_MGPIO0\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_MGPIO6 (pin_t=48)\r
+APP|[GpioTest] Round 48 complete. Remaining: 7 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 49 =====\r
+APP|[GpioTest] Remaining GPIOs: 7\r
+APP|[GpioTest] Testing output: S_MGPIO9 (pin_t=51)\r
+APP|[GpioTest] Output: S_MGPIO9\r
+APP|[GpioTest] Synced inputs (2):\r
+APP|[GpioTest] - S_MGPIO8 (pin_t=50)\r
+APP|[GpioTest] - S_MGPIO7 (pin_t=49)\r
+APP|[GpioTest] Round 49 complete. Remaining: 4 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 50 =====\r
+APP|[GpioTest] Remaining GPIOs: 4\r
+APP|[GpioTest] Testing output: S_AGPIO_L28 (pin_t=109)\r
+APP|[GpioTest] Output: S_AGPIO_L28\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 50 complete. Remaining: 3 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 51 =====\r
+APP|[GpioTest] Remaining GPIOs: 3\r
+APP|[GpioTest] Testing output: S_AGPIO_L18 (pin_t=99)\r
+APP|[GpioTest] Output: S_AGPIO_L18\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 51 complete. Remaining: 2 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 52 =====\r
+APP|[GpioTest] Remaining GPIOs: 2\r
+APP|[GpioTest] Testing output: S_HGPIO9 (pin_t=35)\r
+APP|[GpioTest] Output: S_HGPIO9\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 52 complete. Remaining: 1 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 53 =====\r
+APP|[GpioTest] Remaining GPIOs: 1\r
+APP|[GpioTest] Testing output: S_AGPIO_L26 (pin_t=107)\r
+APP|[GpioTest] Output: S_AGPIO_L26\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 53 complete. Remaining: 0 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Scanning Complete =====\r
+APP|[GpioTest] Total rounds: 53\r
+GPIO SCAN PAIRS: Success
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
--- /dev/null
+« APP|app_main run start.\r
+APP|sys_slp: 0x1\r
+» AT^GPIOTEST=4\r
+» AT^GPIOTEST=4\r
+« APP|[GpioTest] Starting GPIO pair scanning (iterative mode)...\r
+APP|[GpioTest] Found 67 GPIO pins from default config\r
+APP|[GpioTest] ===== All GPIO Names =====\r
+APP|[GpioTest] [ 1] S_AGPIO_L23 (pin_t=104)\r
+APP|[GpioTest] [ 2] S_AGPIO_L12 (pin_t=93)\r
+APP|[GpioTest] [ 3] S_AGPIO_L13 (pin_t=94)\r
+APP|[GpioTest] [ 4] S_AGPIO_L31 (pin_t=112)\r
+APP|[GpioTest] [ 5] S_AGPIO_L3 (pin_t=84)\r
+APP|[GpioTest] [ 6] S_AGPIO_L2 (pin_t=83)\r
+APP|[GpioTest] [ 7] S_AGPIO_L1 (pin_t=82)\r
+APP|[GpioTest] [ 8] S_AGPIO_L4 (pin_t=85)\r
+APP|[GpioTest] [ 9] S_AGPIO_L0 (pin_t=81)\r
+APP|[GpioTest] [ 10] S_AGPIO_R4 (pin_t=118)\r
+APP|[GpioTest] [ 11] S_AGPIO_R5 (pin_t=119)\r
+APP|[GpioTest] [ 12] S_MGPIO14 (pin_t=56)\r
+APP|[GpioTest] [ 13] S_MGPIO13 (pin_t=55)\r
+APP|[GpioTest] [ 14] S_AGPIO_R10 (pin_t=124)\r
+APP|[GpioTest] [ 15] S_MGPIO11 (pin_t=53)\r
+APP|[GpioTest] [ 16] S_MGPIO12 (pin_t=54)\r
+APP|[GpioTest] [ 17] S_AGPIO_R2 (pin_t=116)\r
+APP|[GpioTest] [ 18] S_AGPIO_R1 (pin_t=115)\r
+APP|[GpioTest] [ 19] S_AGPIO_L24 (pin_t=105)\r
+APP|[GpioTest] [ 20] S_AGPIO_L17 (pin_t=98)\r
+APP|[GpioTest] [ 21] S_AGPIO_L21 (pin_t=102)\r
+APP|[GpioTest] [ 22] S_AGPIO_L11 (pin_t=92)\r
+APP|[GpioTest] [ 23] S_AGPIO_L19 (pin_t=100)\r
+APP|[GpioTest] [ 24] S_AGPIO_R0 (pin_t=114)\r
+APP|[GpioTest] [ 25] S_HGPIO13 (pin_t=39)\r
+APP|[GpioTest] [ 26] S_AGPIO_R3 (pin_t=117)\r
+APP|[GpioTest] [ 27] S_AGPIO_R6 (pin_t=120)\r
+APP|[GpioTest] [ 28] S_MGPIO25 (pin_t=67)\r
+APP|[GpioTest] [ 29] S_MGPIO26 (pin_t=68)\r
+APP|[GpioTest] [ 30] S_MGPIO23 (pin_t=65)\r
+APP|[GpioTest] [ 31] S_MGPIO24 (pin_t=66)\r
+APP|[GpioTest] [ 32] S_MGPIO31 (pin_t=73)\r
+APP|[GpioTest] [ 33] S_MGPIO29 (pin_t=71)\r
+APP|[GpioTest] [ 34] S_MGPIO30 (pin_t=72)\r
+APP|[GpioTest] [ 35] S_MGPIO32 (pin_t=74)\r
+APP|[GpioTest] [ 36] S_MGPIO28 (pin_t=70)\r
+APP|[GpioTest] [ 37] S_MGPIO27 (pin_t=69)\r
+APP|[GpioTest] [ 38] S_MGPIO22 (pin_t=64)\r
+APP|[GpioTest] [ 39] S_MGPIO21 (pin_t=63)\r
+APP|[GpioTest] [ 40] S_MGPIO19 (pin_t=61)\r
+APP|[GpioTest] [ 41] S_MGPIO20 (pin_t=62)\r
+APP|[GpioTest] [ 42] S_AGPIO_R7 (pin_t=121)\r
+APP|[GpioTest] [ 43] S_AGPIO_R8 (pin_t=122)\r
+APP|[GpioTest] [ 44] S_AGPIO_R9 (pin_t=123)\r
+APP|[GpioTest] [ 45] S_AGPIO_L30 (pin_t=111)\r
+APP|[GpioTest] [ 46] S_AGPIO_L29 (pin_t=110)\r
+APP|[GpioTest] [ 47] S_AGPIO_L32 (pin_t=113)\r
+APP|[GpioTest] [ 48] S_AGPIO_L20 (pin_t=101)\r
+APP|[GpioTest] [ 49] S_AGPIO_L15 (pin_t=96)\r
+APP|[GpioTest] [ 50] S_HGPIO5 (pin_t=31)\r
+APP|[GpioTest] [ 51] S_HGPIO4 (pin_t=30)\r
+APP|[GpioTest] [ 52] S_HGPIO0 (pin_t=26)\r
+APP|[GpioTest] [ 53] S_HGPIO1 (pin_t=27)\r
+APP|[GpioTest] [ 54] S_HGPIO2 (pin_t=28)\r
+APP|[GpioTest] [ 55] S_HGPIO3 (pin_t=29)\r
+APP|[GpioTest] [ 56] S_MGPIO3 (pin_t=45)\r
+APP|[GpioTest] [ 57] S_MGPIO1 (pin_t=43)\r
+APP|[GpioTest] [ 58] S_MGPIO2 (pin_t=44)\r
+APP|[GpioTest] [ 59] S_MGPIO0 (pin_t=42)\r
+APP|[GpioTest] [ 60] S_MGPIO6 (pin_t=48)\r
+APP|[GpioTest] [ 61] S_MGPIO9 (pin_t=51)\r
+APP|[GpioTest] [ 62] S_MGPIO8 (pin_t=50)\r
+APP|[GpioTest] [ 63] S_MGPIO7 (pin_t=49)\r
+APP|[GpioTest] [ 64] S_AGPIO_L28 (pin_t=109)\r
+APP|[GpioTest] [ 65] S_AGPIO_L18 (pin_t=99)\r
+APP|[GpioTest] [ 66] S_HGPIO9 (pin_t=35)\r
+APP|[GpioTest] [ 67] S_AGPIO_L26 (pin_t=107)\r
+APP|[GpioTest] ===== End of GPIO List =====\r
+APP|\r
+APP|[GpioTest] ===== Round 1 =====\r
+APP|[GpioTest] Remaining GPIOs: 67\r
+APP|[GpioTest] Testing output: S_AGPIO_L23 (pin_t=104)\r
+APP|[GpioTest] Output: S_AGPIO_L23\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 1 complete. Remaining: 66 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 2 =====\r
+APP|[GpioTest] Remaining GPIOs: 66\r
+APP|[GpioTest] Testing output: S_AGPIO_L12 (pin_t=93)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x1\r
+APP|[GpioTest] Output: S_AGPIO_L12\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 2 complete. Remaining: 65 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 3 =====\r
+APP|[GpioTest] Remaining GPIOs: 65\r
+APP|[GpioTest] Testing output: S_AGPIO_L13 (pin_t=94)\r
+APP|[GpioTest] Output: S_AGPIO_L13\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 3 complete. Remaining: 64 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 4 =====\r
+APP|[GpioTest] Remaining GPIOs: 64\r
+APP|[GpioTest] Testing output: S_AGPIO_L31 (pin_t=112)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_AGPIO_L31\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 4 complete. Remaining: 63 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 5 =====\r
+APP|[GpioTest] Remaining GPIOs: 63\r
+APP|[GpioTest] Testing output: S_AGPIO_L3 (pin_t=84)\r
+APP|[GpioTest] Output: S_AGPIO_L3\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 5 complete. Remaining: 62 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 6 =====\r
+APP|[GpioTest] Remaining GPIOs: 62\r
+APP|[GpioTest] Testing output: S_AGPIO_L2 (pin_t=83)\r
+APP|[GpioTest] Output: S_AGPIO_L2\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 6 complete. Remaining: 61 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 7 =====\r
+APP|[GpioTest] Remaining GPIOs: 61\r
+APP|[GpioTest] Testing output: S_AGPIO_L1 (pin_t=82)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_AGPIO_L1\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 7 complete. Remaining: 60 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 8 =====\r
+APP|[GpioTest] Remaining GPIOs: 60\r
+APP|[GpioTest] Testing output: S_AGPIO_L4 (pin_t=85)\r
+APP|charger not plugged ,disable charge !\r
+APP|[GpioTest] Output: S_AGPIO_L4\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 8 complete. Remaining: 59 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 9 =====\r
+APP|[GpioTest] Remaining GPIOs: 59\r
+APP|[GpioTest] Testing output: S_AGPIO_L0 (pin_t=81)\r
+APP|[GpioTest] Output: S_AGPIO_L0\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 9 complete. Remaining: 58 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 10 =====\r
+APP|[GpioTest] Remaining GPIOs: 58\r
+APP|[GpioTest] Testing output: S_AGPIO_R4 (pin_t=118)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_AGPIO_R4\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 10 complete. Remaining: 57 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 11 =====\r
+APP|[GpioTest] Remaining GPIOs: 57\r
+APP|[GpioTest] Testing output: S_AGPIO_R5 (pin_t=119)\r
+APP|[GpioTest] Output: S_AGPIO_R5\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 11 complete. Remaining: 56 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 12 =====\r
+APP|[GpioTest] Remaining GPIOs: 56\r
+APP|[GpioTest] Testing output: S_MGPIO14 (pin_t=56)\r
+APP|[GpioTest] Output: S_MGPIO14\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 12 complete. Remaining: 55 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 13 =====\r
+APP|[GpioTest] Remaining GPIOs: 55\r
+APP|[GpioTest] Testing output: S_MGPIO13 (pin_t=55)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_MGPIO13\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 13 complete. Remaining: 54 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 14 =====\r
+APP|[GpioTest] Remaining GPIOs: 54\r
+APP|[GpioTest] Testing output: S_AGPIO_R10 (pin_t=124)\r
+APP|[GpioTest] Output: S_AGPIO_R10\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 14 complete. Remaining: 53 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 15 =====\r
+APP|[GpioTest] Remaining GPIOs: 53\r
+APP|[GpioTest] Testing output: S_MGPIO11 (pin_t=53)\r
+APP|[GpioTest] Output: S_MGPIO11\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 15 complete. Remaining: 52 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 16 =====\r
+APP|[GpioTest] Remaining GPIOs: 52\r
+APP|[GpioTest] Testing output: S_MGPIO12 (pin_t=54)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_MGPIO12\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 16 complete. Remaining: 51 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 17 =====\r
+APP|[GpioTest] Remaining GPIOs: 51\r
+APP|[GpioTest] Testing output: S_AGPIO_R2 (pin_t=116)\r
+APP|[GpioTest] Output: S_AGPIO_R2\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 17 complete. Remaining: 50 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 18 =====\r
+APP|[GpioTest] Remaining GPIOs: 50\r
+APP|[GpioTest] Testing output: S_AGPIO_R1 (pin_t=115)\r
+APP|[GpioTest] Output: S_AGPIO_R1\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 18 complete. Remaining: 49 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 19 =====\r
+APP|[GpioTest] Remaining GPIOs: 49\r
+APP|[GpioTest] Testing output: S_AGPIO_L24 (pin_t=105)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_AGPIO_L24\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 19 complete. Remaining: 48 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 20 =====\r
+APP|[GpioTest] Remaining GPIOs: 48\r
+APP|[GpioTest] Testing output: S_AGPIO_L17 (pin_t=98)\r
+APP|[GpioTest] Output: S_AGPIO_L17\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 20 complete. Remaining: 47 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 21 =====\r
+APP|[GpioTest] Remaining GPIOs: 47\r
+APP|[GpioTest] Testing output: S_AGPIO_L21 (pin_t=102)\r
+APP|[GpioTest] Output: S_AGPIO_L21\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 21 complete. Remaining: 46 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 22 =====\r
+APP|[GpioTest] Remaining GPIOs: 46\r
+APP|[GpioTest] Testing output: S_AGPIO_L11 (pin_t=92)\r
+APP|[GpioTest] Output: S_AGPIO_L11\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 22 complete. Remaining: 45 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 23 =====\r
+APP|[GpioTest] Remaining GPIOs: 45\r
+APP|[GpioTest] Testing output: S_AGPIO_L19 (pin_t=100)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_AGPIO_L19\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 23 complete. Remaining: 44 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 24 =====\r
+APP|[GpioTest] Remaining GPIOs: 44\r
+APP|[GpioTest] Testing output: S_AGPIO_R0 (pin_t=114)\r
+APP|[GpioTest] Output: S_AGPIO_R0\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 24 complete. Remaining: 43 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 25 =====\r
+APP|[GpioTest] Remaining GPIOs: 43\r
+APP|[GpioTest] Testing output: S_HGPIO13 (pin_t=39)\r
+APP|[GpioTest] Output: S_HGPIO13\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 25 complete. Remaining: 42 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 26 =====\r
+APP|[GpioTest] Remaining GPIOs: 42\r
+APP|[GpioTest] Testing output: S_AGPIO_R3 (pin_t=117)\r
+APP|[GpioTest] Output: S_AGPIO_R3\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 26 complete. Remaining: 41 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 27 =====\r
+APP|[GpioTest] Remaining GPIOs: 41\r
+APP|[GpioTest] Testing output: S_AGPIO_R6 (pin_t=120)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_AGPIO_R6\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 27 complete. Remaining: 40 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 28 =====\r
+APP|[GpioTest] Remaining GPIOs: 40\r
+APP|[GpioTest] Testing output: S_MGPIO25 (pin_t=67)\r
+APP|[GpioTest] Output: S_MGPIO25\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 28 complete. Remaining: 39 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 29 =====\r
+APP|[GpioTest] Remaining GPIOs: 39\r
+APP|[GpioTest] Testing output: S_MGPIO26 (pin_t=68)\r
+APP|[GpioTest] Output: S_MGPIO26\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 29 complete. Remaining: 38 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 30 =====\r
+APP|[GpioTest] Remaining GPIOs: 38\r
+APP|[GpioTest] Testing output: S_MGPIO23 (pin_t=65)\r
+APP|[GpioTest] Output: S_MGPIO23\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 30 complete. Remaining: 37 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 31 =====\r
+APP|[GpioTest] Remaining GPIOs: 37\r
+APP|[GpioTest] Testing output: S_MGPIO24 (pin_t=66)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_MGPIO24\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 31 complete. Remaining: 36 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 32 =====\r
+APP|[GpioTest] Remaining GPIOs: 36\r
+APP|[GpioTest] Testing output: S_MGPIO31 (pin_t=73)\r
+APP|[GpioTest] Output: S_MGPIO31\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 32 complete. Remaining: 35 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 33 =====\r
+APP|[GpioTest] Remaining GPIOs: 35\r
+APP|[GpioTest] Testing output: S_MGPIO29 (pin_t=71)\r
+APP|[GpioTest] Output: S_MGPIO29\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 33 complete. Remaining: 34 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 34 =====\r
+APP|[GpioTest] Remaining GPIOs: 34\r
+APP|[GpioTest] Testing output: S_MGPIO30 (pin_t=72)\r
+APP|[GpioTest] Output: S_MGPIO30\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 34 complete. Remaining: 33 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 35 =====\r
+APP|[GpioTest] Remaining GPIOs: 33\r
+APP|[GpioTest] Testing output: S_MGPIO32 (pin_t=74)\r
+APP|[GpioTest] Output: S_MGPIO32\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 35 complete. Remaining: 32 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 36 =====\r
+APP|[GpioTest] Remaining GPIOs: 32\r
+APP|[GpioTest] Testing output: S_MGPIO28 (pin_t=70)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_MGPIO28\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 36 complete. Remaining: 31 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 37 =====\r
+APP|[GpioTest] Remaining GPIOs: 31\r
+APP|[GpioTest] Testing output: S_MGPIO27 (pin_t=69)\r
+APP|[GpioTest] Output: S_MGPIO27\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 37 complete. Remaining: 30 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 38 =====\r
+APP|[GpioTest] Remaining GPIOs: 30\r
+APP|[GpioTest] Testing output: S_MGPIO22 (pin_t=64)\r
+APP|[GpioTest] Output: S_MGPIO22\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 38 complete. Remaining: 29 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 39 =====\r
+APP|[GpioTest] Remaining GPIOs: 29\r
+APP|[GpioTest] Testing output: S_MGPIO21 (pin_t=63)\r
+APP|charger not plugged ,disable charge !\r
+APP|[GpioTest] Output: S_MGPIO21\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 39 complete. Remaining: 28 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 40 =====\r
+APP|[GpioTest] Remaining GPIOs: 28\r
+APP|[GpioTest] Testing output: S_MGPIO19 (pin_t=61)\r
+APP|[GpioTest] Output: S_MGPIO19\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 40 complete. Remaining: 27 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 41 =====\r
+APP|[GpioTest] Remaining GPIOs: 27\r
+APP|[GpioTest] Testing output: S_MGPIO20 (pin_t=62)\r
+APP|[GpioTest] Output: S_MGPIO20\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 41 complete. Remaining: 26 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 42 =====\r
+APP|[GpioTest] Remaining GPIOs: 26\r
+APP|[GpioTest] Testing output: S_AGPIO_R7 (pin_t=121)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_AGPIO_R7\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 42 complete. Remaining: 25 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 43 =====\r
+APP|[GpioTest] Remaining GPIOs: 25\r
+APP|[GpioTest] Testing output: S_AGPIO_R8 (pin_t=122)\r
+APP|[GpioTest] Output: S_AGPIO_R8\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 43 complete. Remaining: 24 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 44 =====\r
+APP|[GpioTest] Remaining GPIOs: 24\r
+APP|[GpioTest] Testing output: S_AGPIO_R9 (pin_t=123)\r
+APP|[GpioTest] Output: S_AGPIO_R9\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 44 complete. Remaining: 23 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 45 =====\r
+APP|[GpioTest] Remaining GPIOs: 23\r
+APP|[GpioTest] Testing output: S_AGPIO_L30 (pin_t=111)\r
+APP|[GpioTest] Output: S_AGPIO_L30\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 45 complete. Remaining: 22 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 46 =====\r
+APP|[GpioTest] Remaining GPIOs: 22\r
+APP|[GpioTest] Testing output: S_AGPIO_L29 (pin_t=110)\r
+APP|[GpioTest] Output: S_AGPIO_L29\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 46 complete. Remaining: 21 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 47 =====\r
+APP|[GpioTest] Remaining GPIOs: 21\r
+APP|[GpioTest] Testing output: S_AGPIO_L32 (pin_t=113)\r
+APP|[GpioTest] Output: S_AGPIO_L32\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 47 complete. Remaining: 20 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 48 =====\r
+APP|[GpioTest] Remaining GPIOs: 20\r
+APP|[GpioTest] Testing output: S_AGPIO_L20 (pin_t=101)\r
+APP|[GpioTest] Output: S_AGPIO_L20\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 48 complete. Remaining: 19 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 49 =====\r
+APP|[GpioTest] Remaining GPIOs: 19\r
+APP|[GpioTest] Testing output: S_AGPIO_L15 (pin_t=96)\r
+APP|[GpioTest] Output: S_AGPIO_L15\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 49 complete. Remaining: 18 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 50 =====\r
+APP|[GpioTest] Remaining GPIOs: 18\r
+APP|[GpioTest] Testing output: S_HGPIO5 (pin_t=31)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_HGPIO5\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 50 complete. Remaining: 17 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 51 =====\r
+APP|[GpioTest] Remaining GPIOs: 17\r
+APP|[GpioTest] Testing output: S_HGPIO4 (pin_t=30)\r
+APP|[GpioTest] Output: S_HGPIO4\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 51 complete. Remaining: 16 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 52 =====\r
+APP|[GpioTest] Remaining GPIOs: 16\r
+APP|[GpioTest] Testing output: S_HGPIO0 (pin_t=26)\r
+APP|[GpioTest] Output: S_HGPIO0\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 52 complete. Remaining: 15 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 53 =====\r
+APP|[GpioTest] Remaining GPIOs: 15\r
+APP|[GpioTest] Testing output: S_HGPIO1 (pin_t=27)\r
+APP|[GpioTest] Output: S_HGPIO1\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 53 complete. Remaining: 14 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 54 =====\r
+APP|[GpioTest] Remaining GPIOs: 14\r
+APP|[GpioTest] Testing output: S_HGPIO2 (pin_t=28)\r
+APP|[GpioTest] Output: S_HGPIO2\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 54 complete. Remaining: 13 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 55 =====\r
+APP|[GpioTest] Remaining GPIOs: 13\r
+APP|[GpioTest] Testing output: S_HGPIO3 (pin_t=29)\r
+APP|[GpioTest] Output: S_HGPIO3\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 55 complete. Remaining: 12 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 56 =====\r
+APP|[GpioTest] Remaining GPIOs: 12\r
+APP|[GpioTest] Testing output: S_MGPIO3 (pin_t=45)\r
+APP|[GpioTest] Output: S_MGPIO3\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 56 complete. Remaining: 11 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 57 =====\r
+APP|[GpioTest] Remaining GPIOs: 11\r
+APP|[GpioTest] Testing output: S_MGPIO1 (pin_t=43)\r
+APP|[GpioTest] Output: S_MGPIO1\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 57 complete. Remaining: 10 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 58 =====\r
+APP|[GpioTest] Remaining GPIOs: 10\r
+APP|[GpioTest] Testing output: S_MGPIO2 (pin_t=44)\r
+APP|[GpioTest] Output: S_MGPIO2\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 58 complete. Remaining: 9 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 59 =====\r
+APP|[GpioTest] Remaining GPIOs: 9\r
+APP|[GpioTest] Testing output: S_MGPIO0 (pin_t=42)\r
+APP|[GpioTest] Output: S_MGPIO0\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 59 complete. Remaining: 8 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 60 =====\r
+APP|[GpioTest] Remaining GPIOs: 8\r
+APP|[GpioTest] Testing output: S_MGPIO6 (pin_t=48)\r
+APP|[GpioTest] Output: S_MGPIO6\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 60 complete. Remaining: 7 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 61 =====\r
+APP|[GpioTest] Remaining GPIOs: 7\r
+APP|[GpioTest] Testing output: S_MGPIO9 (pin_t=51)\r
+APP|[GpioTest] Output: S_MGPIO9\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 61 complete. Remaining: 6 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 62 =====\r
+APP|[GpioTest] Remaining GPIOs: 6\r
+APP|[GpioTest] Testing output: S_MGPIO8 (pin_t=50)\r
+APP|[GpioTest] Output: S_MGPIO8\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 62 complete. Remaining: 5 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 63 =====\r
+APP|[GpioTest] Remaining GPIOs: 5\r
+APP|[GpioTest] Testing output: S_MGPIO7 (pin_t=49)\r
+APP|[GpioTest] Output: S_MGPIO7\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 63 complete. Remaining: 4 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 64 =====\r
+APP|[GpioTest] Remaining GPIOs: 4\r
+APP|[GpioTest] Testing output: S_AGPIO_L28 (pin_t=109)\r
+APP|[GpioTest] Output: S_AGPIO_L28\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 64 complete. Remaining: 3 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 65 =====\r
+APP|[GpioTest] Remaining GPIOs: 3\r
+APP|[GpioTest] Testing output: S_AGPIO_L18 (pin_t=99)\r
+APP|[GpioTest] Output: S_AGPIO_L18\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 65 complete. Remaining: 2 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 66 =====\r
+APP|[GpioTest] Remaining GPIOs: 2\r
+APP|[GpioTest] Testing output: S_HGPIO9 (pin_t=35)\r
+APP|[GpioTest] Output: S_HGPIO9\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 66 complete. Remaining: 1 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 67 =====\r
+APP|[GpioTest] Remaining GPIOs: 1\r
+APP|[GpioTest] Testing output: S_AGPIO_L26 (pin_t=107)\r
+APP|[GpioTest] Output: S_AGPIO_L26\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 67 complete. Remaining: 0 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Scanning Complete =====\r
+APP|[GpioTest] Total rounds: 67\r
+GPIO SCAN PAIRS: Success
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
--- /dev/null
+« [osal_msg_queue_create:25]:qName:app_queue qID=0xb \r
+APP|uapi_battery_init !\r
+[osal_msg_queue_create:25]:qName:battery_queue qID=0xc \r
+APP|charger not plugged ,disable charge !\r
+APP|charger not plugged ,disable charge !\r
+APP|uapi_custom_cmd_service_init !\r
+[osal_msg_queue_create:25]:qName:custom_cmd_service_queue qID=0xd \r
+APP|uapi_custom_fileoperate_service_init !\r
+[osal_msg_queue_create:25]:qName:custom_fileoperate_service_queue qID=0xe \r
+APP|No need to upgrade...\r
+[WEARABLE I/] InitBroadcastService start!
+[WEARABLE I/] start! topicSubscriberInfo=0x0x6c104e68
+[WEARABLE I/] InitBroadcastService end!
+[WEARABLE E/] LoadManagementFromFile open fail
+[WEARABLE E/] SaveManagementToFile open fail
+I ams starts successfully
+I bms starts successfully
+[00:00:01:704][I][Init:37]Locator service starts successfully
+[00:00:01:705][D][Init:56][SERVICE:sensor_service]: Init begin
+[WEARABLE I/] WatchConnectCmdRegister
+I ams feature init success
+I [BMS] bms feature init success
+[00:00:01:708][I][Init:56]Locator feature init success
+[00:00:01:709][D][GetTaskConfig:80][SERVICE:sensor_service]: GetTaskConfig begin
+[WEARABLE I/] BroadcastService featureId=4294967295, queueId=536924516, serviceId=2
+[WEARABLE I/] BroadcastFeature featureId=0, queueId=536924516, serviceId=2
+E Fail to open dir:/user/dialpubkey!
+E Failed to create file
+E Public key write failed!
+[WEARABLE I/] NativeAbility InstallAbility
+D MemUtils::InitPSRam g_psramMemory = 6c200000
+[WEARABLE I/] InitNativeLauncher: Minimal startup - Blue window only
+[WEARABLE I/] Cleared all existing views from RootView
+[WEARABLE I/] Blue window created and displayed: 360x360
+I AbilityMgrSliteFeature::OnFeatureInitialize featureId = 0, queueId = 536924708, serviceId = 6
+[WEARABLE I/] NativeAbility OnActive
+[WEARABLE E/] NativeAbility ResumeAbility 0 failed
+I BundleMgrService::ServiceMessageHandle
+[00:00:02:485][I][OnFeatureInitialize:85]Locator feature init
+[00:00:02:486][I][InitAbility:84]initAbility start
+[00:00:02:486][I][Initialize:71]ability constructed.
+[00:00:02:487][E][InitAbility:90]Initialize gps ability, result 1
+[00:00:02:489][I][Initialize:54]LocatorAbility Initialize.
+[00:00:02:490][I][OnFeatureInitialize:89]LocatorAbility initialize success
+APP|[POWER_MANAGER E/] filter_timer_execute_system_rule: filter timer, current default timeout:5000, keepon time:0, event:5.\r
+[00:00:02:500][D][Initialize:62][SERVICE:sensor_service]: Initialize begin
+[00:00:02:501][D][NewSensorInterfaceInstance:47]Get sensor device instance success
+[A][ALERT][sys_cmd_check_cmd_done:164] wait_time_us = 900
+[A][ALERT][drv_sys_pd:331] DSP0 power down
+» AT^GPIOTEST=4\r
+« APP|app_main run start.\r
+APP|sys_slp: 0x1\r
+[Graphic Error] [PauseSlice: 236]No valid slice to pause
+APP|uapi_lcd_backlight_off\r
+Output RESET_LCD_GPIO 1 , VCI_LCD_GPIO 0\r
+» AT^GPIOTEST=4\r
+« APP|[GpioTest] Starting GPIO pair scanning (iterative mode)...\r
+APP|[GpioTest] Found 67 GPIO pins from default config\r
+APP|[GpioTest] ===== All GPIO Names =====\r
+APP|[GpioTest] [ 1] S_AGPIO_L23 (pin_t=104)\r
+APP|[GpioTest] [ 2] S_AGPIO_L12 (pin_t=93)\r
+APP|[GpioTest] [ 3] S_AGPIO_L13 (pin_t=94)\r
+APP|[GpioTest] [ 4] S_AGPIO_L31 (pin_t=112)\r
+APP|[GpioTest] [ 5] S_AGPIO_L3 (pin_t=84)\r
+APP|[GpioTest] [ 6] S_AGPIO_L2 (pin_t=83)\r
+APP|[GpioTest] [ 7] S_AGPIO_L1 (pin_t=82)\r
+APP|[GpioTest] [ 8] S_AGPIO_L4 (pin_t=85)\r
+APP|[GpioTest] [ 9] S_AGPIO_L0 (pin_t=81)\r
+APP|[GpioTest] [ 10] S_AGPIO_R4 (pin_t=118)\r
+APP|[GpioTest] [ 11] S_AGPIO_R5 (pin_t=119)\r
+APP|[GpioTest] [ 12] S_MGPIO14 (pin_t=56)\r
+APP|[GpioTest] [ 13] S_MGPIO13 (pin_t=55)\r
+APP|[GpioTest] [ 14] S_AGPIO_R10 (pin_t=124)\r
+APP|[GpioTest] [ 15] S_MGPIO11 (pin_t=53)\r
+APP|[GpioTest] [ 16] S_MGPIO12 (pin_t=54)\r
+APP|[GpioTest] [ 17] S_AGPIO_R2 (pin_t=116)\r
+APP|[GpioTest] [ 18] S_AGPIO_R1 (pin_t=115)\r
+APP|[GpioTest] [ 19] S_AGPIO_L24 (pin_t=105)\r
+APP|[GpioTest] [ 20] S_AGPIO_L17 (pin_t=98)\r
+APP|[GpioTest] [ 21] S_AGPIO_L21 (pin_t=102)\r
+APP|[GpioTest] [ 22] S_AGPIO_L11 (pin_t=92)\r
+APP|[GpioTest] [ 23] S_AGPIO_L19 (pin_t=100)\r
+APP|[GpioTest] [ 24] S_AGPIO_R0 (pin_t=114)\r
+APP|[GpioTest] [ 25] S_HGPIO13 (pin_t=39)\r
+APP|[GpioTest] [ 26] S_AGPIO_R3 (pin_t=117)\r
+APP|[GpioTest] [ 27] S_AGPIO_R6 (pin_t=120)\r
+APP|[GpioTest] [ 28] S_MGPIO25 (pin_t=67)\r
+APP|[GpioTest] [ 29] S_MGPIO26 (pin_t=68)\r
+APP|[GpioTest] [ 30] S_MGPIO23 (pin_t=65)\r
+APP|[GpioTest] [ 31] S_MGPIO24 (pin_t=66)\r
+APP|[GpioTest] [ 32] S_MGPIO31 (pin_t=73)\r
+APP|[GpioTest] [ 33] S_MGPIO29 (pin_t=71)\r
+APP|[GpioTest] [ 34] S_MGPIO30 (pin_t=72)\r
+APP|[GpioTest] [ 35] S_MGPIO32 (pin_t=74)\r
+APP|[GpioTest] [ 36] S_MGPIO28 (pin_t=70)\r
+APP|[GpioTest] [ 37] S_MGPIO27 (pin_t=69)\r
+APP|[GpioTest] [ 38] S_MGPIO22 (pin_t=64)\r
+APP|[GpioTest] [ 39] S_MGPIO21 (pin_t=63)\r
+APP|[GpioTest] [ 40] S_MGPIO19 (pin_t=61)\r
+APP|[GpioTest] [ 41] S_MGPIO20 (pin_t=62)\r
+APP|[GpioTest] [ 42] S_AGPIO_R7 (pin_t=121)\r
+APP|[GpioTest] [ 43] S_AGPIO_R8 (pin_t=122)\r
+APP|[GpioTest] [ 44] S_AGPIO_R9 (pin_t=123)\r
+APP|[GpioTest] [ 45] S_AGPIO_L30 (pin_t=111)\r
+APP|[GpioTest] [ 46] S_AGPIO_L29 (pin_t=110)\r
+APP|[GpioTest] [ 47] S_AGPIO_L32 (pin_t=113)\r
+APP|[GpioTest] [ 48] S_AGPIO_L20 (pin_t=101)\r
+APP|[GpioTest] [ 49] S_AGPIO_L15 (pin_t=96)\r
+APP|[GpioTest] [ 50] S_HGPIO5 (pin_t=31)\r
+APP|[GpioTest] [ 51] S_HGPIO4 (pin_t=30)\r
+APP|[GpioTest] [ 52] S_HGPIO0 (pin_t=26)\r
+APP|[GpioTest] [ 53] S_HGPIO1 (pin_t=27)\r
+APP|[GpioTest] [ 54] S_HGPIO2 (pin_t=28)\r
+APP|[GpioTest] [ 55] S_HGPIO3 (pin_t=29)\r
+APP|[GpioTest] [ 56] S_MGPIO3 (pin_t=45)\r
+APP|[GpioTest] [ 57] S_MGPIO1 (pin_t=43)\r
+APP|[GpioTest] [ 58] S_MGPIO2 (pin_t=44)\r
+APP|[GpioTest] [ 59] S_MGPIO0 (pin_t=42)\r
+APP|[GpioTest] [ 60] S_MGPIO6 (pin_t=48)\r
+APP|[GpioTest] [ 61] S_MGPIO9 (pin_t=51)\r
+APP|[GpioTest] [ 62] S_MGPIO8 (pin_t=50)\r
+APP|[GpioTest] [ 63] S_MGPIO7 (pin_t=49)\r
+APP|[GpioTest] [ 64] S_AGPIO_L28 (pin_t=109)\r
+APP|[GpioTest] [ 65] S_AGPIO_L18 (pin_t=99)\r
+APP|[GpioTest] [ 66] S_HGPIO9 (pin_t=35)\r
+APP|[GpioTest] [ 67] S_AGPIO_L26 (pin_t=107)\r
+APP|[GpioTest] ===== End of GPIO List =====\r
+APP|\r
+APP|[GpioTest] ===== Round 1 =====\r
+APP|[GpioTest] Remaining GPIOs: 67\r
+APP|[GpioTest] Testing output: S_AGPIO_L23 (pin_t=104)\r
+APP|[GpioTest] Output: S_AGPIO_L23\r
+APP|[GpioTest] Synced inputs (3):\r
+APP|[GpioTest] - S_AGPIO_L12 (pin_t=93)\r
+APP|[GpioTest] - S_AGPIO_L2 (pin_t=83)\r
+APP|[GpioTest] - S_AGPIO_L4 (pin_t=85)\r
+APP|[GpioTest] Round 1 complete. Remaining: 63 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 2 =====\r
+APP|[GpioTest] Remaining GPIOs: 63\r
+APP|[GpioTest] Testing output: S_AGPIO_L13 (pin_t=94)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_AGPIO_L13\r
+APP|[GpioTest] Synced inputs (7):\r
+APP|[GpioTest] - S_AGPIO_L31 (pin_t=112)\r
+APP|[GpioTest] - S_AGPIO_L29 (pin_t=110)\r
+APP|[GpioTest] - S_MGPIO2 (pin_t=44)\r
+APP|[GpioTest] - S_MGPIO6 (pin_t=48)\r
+APP|[GpioTest] - S_MGPIO8 (pin_t=50)\r
+APP|[GpioTest] - S_AGPIO_L28 (pin_t=109)\r
+APP|[GpioTest] - S_HGPIO9 (pin_t=35)\r
+APP|[GpioTest] Round 2 complete. Remaining: 55 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 3 =====\r
+APP|[GpioTest] Remaining GPIOs: 55\r
+APP|[GpioTest] Testing output: S_AGPIO_L3 (pin_t=84)\r
+APP|[GpioTest] Output: S_AGPIO_L3\r
+APP|[GpioTest] Synced inputs (4):\r
+APP|[GpioTest] - S_AGPIO_L0 (pin_t=81)\r
+APP|[GpioTest] - S_AGPIO_R6 (pin_t=120)\r
+APP|[GpioTest] - S_MGPIO20 (pin_t=62)\r
+APP|[GpioTest] - S_MGPIO7 (pin_t=49)\r
+APP|[GpioTest] Round 3 complete. Remaining: 50 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 4 =====\r
+APP|[GpioTest] Remaining GPIOs: 50\r
+APP|[GpioTest] Testing output: S_AGPIO_L1 (pin_t=82)\r
+APP|[GpioTest] Output: S_AGPIO_L1\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_AGPIO_L11 (pin_t=92)\r
+APP|[GpioTest] Round 4 complete. Remaining: 48 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 5 =====\r
+APP|[GpioTest] Remaining GPIOs: 48\r
+APP|[GpioTest] Testing output: S_AGPIO_R4 (pin_t=118)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_AGPIO_R4\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_MGPIO22 (pin_t=64)\r
+APP|[GpioTest] Round 5 complete. Remaining: 46 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 6 =====\r
+APP|[GpioTest] Remaining GPIOs: 46\r
+APP|[GpioTest] Testing output: S_AGPIO_R5 (pin_t=119)\r
+APP|[GpioTest] Output: S_AGPIO_R5\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_MGPIO14 (pin_t=56)\r
+APP|[GpioTest] Round 6 complete. Remaining: 44 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 7 =====\r
+APP|[GpioTest] Remaining GPIOs: 44\r
+APP|[GpioTest] Testing output: S_MGPIO13 (pin_t=55)\r
+APP|[GpioTest] Output: S_MGPIO13\r
+APP|[GpioTest] Synced inputs (3):\r
+APP|[GpioTest] - S_AGPIO_R10 (pin_t=124)\r
+APP|[GpioTest] - S_MGPIO1 (pin_t=43)\r
+APP|[GpioTest] - S_MGPIO9 (pin_t=51)\r
+APP|[GpioTest] Round 7 complete. Remaining: 40 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 8 =====\r
+APP|[GpioTest] Remaining GPIOs: 40\r
+APP|[GpioTest] Testing output: S_MGPIO11 (pin_t=53)\r
+APP|[GpioTest] Output: S_MGPIO11\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_MGPIO12 (pin_t=54)\r
+APP|[GpioTest] Round 8 complete. Remaining: 38 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 9 =====\r
+APP|[GpioTest] Remaining GPIOs: 38\r
+APP|[GpioTest] Testing output: S_AGPIO_R2 (pin_t=116)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_AGPIO_R2\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 9 complete. Remaining: 37 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 10 =====\r
+APP|[GpioTest] Remaining GPIOs: 37\r
+APP|[GpioTest] Testing output: S_AGPIO_R1 (pin_t=115)\r
+APP|[GpioTest] Output: S_AGPIO_R1\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 10 complete. Remaining: 36 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 11 =====\r
+APP|[GpioTest] Remaining GPIOs: 36\r
+APP|[GpioTest] Testing output: S_AGPIO_L24 (pin_t=105)\r
+APP|[GpioTest] Output: S_AGPIO_L24\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 11 complete. Remaining: 35 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 12 =====\r
+APP|[GpioTest] Remaining GPIOs: 35\r
+APP|[GpioTest] Testing output: S_AGPIO_L17 (pin_t=98)\r
+APP|[GpioTest] Output: S_AGPIO_L17\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 12 complete. Remaining: 34 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 13 =====\r
+APP|[GpioTest] Remaining GPIOs: 34\r
+APP|[GpioTest] Testing output: S_AGPIO_L21 (pin_t=102)\r
+APP|[GpioTest] Output: S_AGPIO_L21\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 13 complete. Remaining: 33 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 14 =====\r
+APP|[GpioTest] Remaining GPIOs: 33\r
+APP|[GpioTest] Testing output: S_AGPIO_L19 (pin_t=100)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_AGPIO_L19\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 14 complete. Remaining: 32 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 15 =====\r
+APP|[GpioTest] Remaining GPIOs: 32\r
+APP|[GpioTest] Testing output: S_AGPIO_R0 (pin_t=114)\r
+APP|[GpioTest] Output: S_AGPIO_R0\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 15 complete. Remaining: 31 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 16 =====\r
+APP|[GpioTest] Remaining GPIOs: 31\r
+APP|[GpioTest] Testing output: S_HGPIO13 (pin_t=39)\r
+APP|[GpioTest] Output: S_HGPIO13\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 16 complete. Remaining: 30 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 17 =====\r
+APP|[GpioTest] Remaining GPIOs: 30\r
+APP|[GpioTest] Testing output: S_AGPIO_R3 (pin_t=117)\r
+APP|[GpioTest] Output: S_AGPIO_R3\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 17 complete. Remaining: 29 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 18 =====\r
+APP|[GpioTest] Remaining GPIOs: 29\r
+APP|[GpioTest] Testing output: S_MGPIO25 (pin_t=67)\r
+APP|[GpioTest] Output: S_MGPIO25\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 18 complete. Remaining: 28 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 19 =====\r
+APP|[GpioTest] Remaining GPIOs: 28\r
+APP|[GpioTest] Testing output: S_MGPIO26 (pin_t=68)\r
+APP|[GpioTest] Output: S_MGPIO26\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 19 complete. Remaining: 27 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 20 =====\r
+APP|[GpioTest] Remaining GPIOs: 27\r
+APP|[GpioTest] Testing output: S_MGPIO23 (pin_t=65)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_MGPIO23\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 20 complete. Remaining: 26 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 21 =====\r
+APP|[GpioTest] Remaining GPIOs: 26\r
+APP|[GpioTest] Testing output: S_MGPIO24 (pin_t=66)\r
+APP|[GpioTest] Output: S_MGPIO24\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 21 complete. Remaining: 25 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 22 =====\r
+APP|[GpioTest] Remaining GPIOs: 25\r
+APP|[GpioTest] Testing output: S_MGPIO31 (pin_t=73)\r
+APP|[GpioTest] Output: S_MGPIO31\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 22 complete. Remaining: 24 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 23 =====\r
+APP|[GpioTest] Remaining GPIOs: 24\r
+APP|[GpioTest] Testing output: S_MGPIO29 (pin_t=71)\r
+APP|[GpioTest] Output: S_MGPIO29\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 23 complete. Remaining: 23 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 24 =====\r
+APP|[GpioTest] Remaining GPIOs: 23\r
+APP|[GpioTest] Testing output: S_MGPIO30 (pin_t=72)\r
+APP|[GpioTest] Output: S_MGPIO30\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 24 complete. Remaining: 22 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 25 =====\r
+APP|[GpioTest] Remaining GPIOs: 22\r
+APP|[GpioTest] Testing output: S_MGPIO32 (pin_t=74)\r
+APP|[GpioTest] Output: S_MGPIO32\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 25 complete. Remaining: 21 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 26 =====\r
+APP|[GpioTest] Remaining GPIOs: 21\r
+APP|[GpioTest] Testing output: S_MGPIO28 (pin_t=70)\r
+APP|[GpioTest] Output: S_MGPIO28\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 26 complete. Remaining: 20 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 27 =====\r
+APP|[GpioTest] Remaining GPIOs: 20\r
+APP|[GpioTest] Testing output: S_MGPIO27 (pin_t=69)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_MGPIO27\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 27 complete. Remaining: 19 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 28 =====\r
+APP|[GpioTest] Remaining GPIOs: 19\r
+APP|[GpioTest] Testing output: S_MGPIO21 (pin_t=63)\r
+APP|[GpioTest] Output: S_MGPIO21\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 28 complete. Remaining: 18 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 29 =====\r
+APP|[GpioTest] Remaining GPIOs: 18\r
+APP|[GpioTest] Testing output: S_MGPIO19 (pin_t=61)\r
+APP|[GpioTest] Output: S_MGPIO19\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 29 complete. Remaining: 17 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 30 =====\r
+APP|[GpioTest] Remaining GPIOs: 17\r
+APP|[GpioTest] Testing output: S_AGPIO_R7 (pin_t=121)\r
+APP|[GpioTest] Output: S_AGPIO_R7\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 30 complete. Remaining: 16 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 31 =====\r
+APP|[GpioTest] Remaining GPIOs: 16\r
+APP|[GpioTest] Testing output: S_AGPIO_R8 (pin_t=122)\r
+APP|[GpioTest] Output: S_AGPIO_R8\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 31 complete. Remaining: 15 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 32 =====\r
+APP|[GpioTest] Remaining GPIOs: 15\r
+APP|[GpioTest] Testing output: S_AGPIO_R9 (pin_t=123)\r
+APP|[GpioTest] Output: S_AGPIO_R9\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 32 complete. Remaining: 14 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 33 =====\r
+APP|[GpioTest] Remaining GPIOs: 14\r
+APP|[GpioTest] Testing output: S_AGPIO_L30 (pin_t=111)\r
+APP|[GpioTest] Output: S_AGPIO_L30\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 33 complete. Remaining: 13 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 34 =====\r
+APP|[GpioTest] Remaining GPIOs: 13\r
+APP|[GpioTest] Testing output: S_AGPIO_L32 (pin_t=113)\r
+APP|[GpioTest] Output: S_AGPIO_L32\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 34 complete. Remaining: 12 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 35 =====\r
+APP|[GpioTest] Remaining GPIOs: 12\r
+APP|[GpioTest] Testing output: S_AGPIO_L20 (pin_t=101)\r
+APP|[GpioTest] Output: S_AGPIO_L20\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 35 complete. Remaining: 11 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 36 =====\r
+APP|[GpioTest] Remaining GPIOs: 11\r
+APP|[GpioTest] Testing output: S_AGPIO_L15 (pin_t=96)\r
+APP|[GpioTest] Output: S_AGPIO_L15\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 36 complete. Remaining: 10 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 37 =====\r
+APP|[GpioTest] Remaining GPIOs: 10\r
+APP|[GpioTest] Testing output: S_HGPIO5 (pin_t=31)\r
+APP|[GpioTest] Output: S_HGPIO5\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 37 complete. Remaining: 9 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 38 =====\r
+APP|[GpioTest] Remaining GPIOs: 9\r
+APP|[GpioTest] Testing output: S_HGPIO4 (pin_t=30)\r
+APP|[GpioTest] Output: S_HGPIO4\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 38 complete. Remaining: 8 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 39 =====\r
+APP|[GpioTest] Remaining GPIOs: 8\r
+APP|[GpioTest] Testing output: S_HGPIO0 (pin_t=26)\r
+APP|[GpioTest] Output: S_HGPIO0\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 39 complete. Remaining: 7 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 40 =====\r
+APP|[GpioTest] Remaining GPIOs: 7\r
+APP|[GpioTest] Testing output: S_HGPIO1 (pin_t=27)\r
+APP|[GpioTest] Output: S_HGPIO1\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 40 complete. Remaining: 6 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 41 =====\r
+APP|[GpioTest] Remaining GPIOs: 6\r
+APP|[GpioTest] Testing output: S_HGPIO2 (pin_t=28)\r
+APP|[GpioTest] Output: S_HGPIO2\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 41 complete. Remaining: 5 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 42 =====\r
+APP|[GpioTest] Remaining GPIOs: 5\r
+APP|[GpioTest] Testing output: S_HGPIO3 (pin_t=29)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_HGPIO3\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 42 complete. Remaining: 4 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 43 =====\r
+APP|[GpioTest] Remaining GPIOs: 4\r
+APP|[GpioTest] Testing output: S_MGPIO3 (pin_t=45)\r
+APP|[GpioTest] Output: S_MGPIO3\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 43 complete. Remaining: 3 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 44 =====\r
+APP|[GpioTest] Remaining GPIOs: 3\r
+APP|[GpioTest] Testing output: S_MGPIO0 (pin_t=42)\r
+APP|[GpioTest] Output: S_MGPIO0\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 44 complete. Remaining: 2 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 45 =====\r
+APP|[GpioTest] Remaining GPIOs: 2\r
+APP|[GpioTest] Testing output: S_AGPIO_L18 (pin_t=99)\r
+APP|[GpioTest] Output: S_AGPIO_L18\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 45 complete. Remaining: 1 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 46 =====\r
+APP|[GpioTest] Remaining GPIOs: 1\r
+APP|[GpioTest] Testing output: S_AGPIO_L26 (pin_t=107)\r
+APP|[GpioTest] Output: S_AGPIO_L26\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 46 complete. Remaining: 0 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Scanning Complete =====\r
+APP|[GpioTest] Total rounds: 46\r
+GPIO SCAN PAIRS: Success
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
--- /dev/null
+« APP|app_main run start.\r
+APP|sys_slp: 0x1\r
+[Graphic Error] [PauseSlice: 236]No valid slice to pause
+APP|uapi_lcd_backlight_off\r
+Output RESET_LCD_GPIO 1 , VCI_LCD_GPIO 0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x1\r
+» AT^GPIOTEST=4\r
+» AT^GPIOTEST=4\r
+« APP|[GpioTest] Starting GPIO pair scanning (iterative mode)...\r
+APP|[GpioTest] Found 67 GPIO pins from default config\r
+APP|[GpioTest] ===== All GPIO Names =====\r
+APP|[GpioTest] [ 1] S_AGPIO_L23 (pin_t=104)\r
+APP|[GpioTest] [ 2] S_AGPIO_L12 (pin_t=93)\r
+APP|[GpioTest] [ 3] S_AGPIO_L13 (pin_t=94)\r
+APP|[GpioTest] [ 4] S_AGPIO_L31 (pin_t=112)\r
+APP|[GpioTest] [ 5] S_AGPIO_L3 (pin_t=84)\r
+APP|[GpioTest] [ 6] S_AGPIO_L2 (pin_t=83)\r
+APP|[GpioTest] [ 7] S_AGPIO_L1 (pin_t=82)\r
+APP|[GpioTest] [ 8] S_AGPIO_L4 (pin_t=85)\r
+APP|[GpioTest] [ 9] S_AGPIO_L0 (pin_t=81)\r
+APP|[GpioTest] [ 10] S_AGPIO_R4 (pin_t=118)\r
+APP|[GpioTest] [ 11] S_AGPIO_R5 (pin_t=119)\r
+APP|[GpioTest] [ 12] S_MGPIO14 (pin_t=56)\r
+APP|[GpioTest] [ 13] S_MGPIO13 (pin_t=55)\r
+APP|[GpioTest] [ 14] S_AGPIO_R10 (pin_t=124)\r
+APP|[GpioTest] [ 15] S_MGPIO11 (pin_t=53)\r
+APP|[GpioTest] [ 16] S_MGPIO12 (pin_t=54)\r
+APP|[GpioTest] [ 17] S_AGPIO_R2 (pin_t=116)\r
+APP|[GpioTest] [ 18] S_AGPIO_R1 (pin_t=115)\r
+APP|[GpioTest] [ 19] S_AGPIO_L24 (pin_t=105)\r
+APP|[GpioTest] [ 20] S_AGPIO_L17 (pin_t=98)\r
+APP|[GpioTest] [ 21] S_AGPIO_L21 (pin_t=102)\r
+APP|[GpioTest] [ 22] S_AGPIO_L11 (pin_t=92)\r
+APP|[GpioTest] [ 23] S_AGPIO_L19 (pin_t=100)\r
+APP|[GpioTest] [ 24] S_AGPIO_R0 (pin_t=114)\r
+APP|[GpioTest] [ 25] S_HGPIO13 (pin_t=39)\r
+APP|[GpioTest] [ 26] S_AGPIO_R3 (pin_t=117)\r
+APP|[GpioTest] [ 27] S_AGPIO_R6 (pin_t=120)\r
+APP|[GpioTest] [ 28] S_MGPIO25 (pin_t=67)\r
+APP|[GpioTest] [ 29] S_MGPIO26 (pin_t=68)\r
+APP|[GpioTest] [ 30] S_MGPIO23 (pin_t=65)\r
+APP|[GpioTest] [ 31] S_MGPIO24 (pin_t=66)\r
+APP|[GpioTest] [ 32] S_MGPIO31 (pin_t=73)\r
+APP|[GpioTest] [ 33] S_MGPIO29 (pin_t=71)\r
+APP|[GpioTest] [ 34] S_MGPIO30 (pin_t=72)\r
+APP|[GpioTest] [ 35] S_MGPIO32 (pin_t=74)\r
+APP|[GpioTest] [ 36] S_MGPIO28 (pin_t=70)\r
+APP|[GpioTest] [ 37] S_MGPIO27 (pin_t=69)\r
+APP|[GpioTest] [ 38] S_MGPIO22 (pin_t=64)\r
+APP|[GpioTest] [ 39] S_MGPIO21 (pin_t=63)\r
+APP|[GpioTest] [ 40] S_MGPIO19 (pin_t=61)\r
+APP|[GpioTest] [ 41] S_MGPIO20 (pin_t=62)\r
+APP|[GpioTest] [ 42] S_AGPIO_R7 (pin_t=121)\r
+APP|[GpioTest] [ 43] S_AGPIO_R8 (pin_t=122)\r
+APP|[GpioTest] [ 44] S_AGPIO_R9 (pin_t=123)\r
+APP|[GpioTest] [ 45] S_AGPIO_L30 (pin_t=111)\r
+APP|[GpioTest] [ 46] S_AGPIO_L29 (pin_t=110)\r
+APP|[GpioTest] [ 47] S_AGPIO_L32 (pin_t=113)\r
+APP|[GpioTest] [ 48] S_AGPIO_L20 (pin_t=101)\r
+APP|[GpioTest] [ 49] S_AGPIO_L15 (pin_t=96)\r
+APP|[GpioTest] [ 50] S_HGPIO5 (pin_t=31)\r
+APP|[GpioTest] [ 51] S_HGPIO4 (pin_t=30)\r
+APP|[GpioTest] [ 52] S_HGPIO0 (pin_t=26)\r
+APP|[GpioTest] [ 53] S_HGPIO1 (pin_t=27)\r
+APP|[GpioTest] [ 54] S_HGPIO2 (pin_t=28)\r
+APP|[GpioTest] [ 55] S_HGPIO3 (pin_t=29)\r
+APP|[GpioTest] [ 56] S_MGPIO3 (pin_t=45)\r
+APP|[GpioTest] [ 57] S_MGPIO1 (pin_t=43)\r
+APP|[GpioTest] [ 58] S_MGPIO2 (pin_t=44)\r
+APP|[GpioTest] [ 59] S_MGPIO0 (pin_t=42)\r
+APP|[GpioTest] [ 60] S_MGPIO6 (pin_t=48)\r
+APP|[GpioTest] [ 61] S_MGPIO9 (pin_t=51)\r
+APP|[GpioTest] [ 62] S_MGPIO8 (pin_t=50)\r
+APP|[GpioTest] [ 63] S_MGPIO7 (pin_t=49)\r
+APP|[GpioTest] [ 64] S_AGPIO_L28 (pin_t=109)\r
+APP|[GpioTest] [ 65] S_AGPIO_L18 (pin_t=99)\r
+APP|[GpioTest] [ 66] S_HGPIO9 (pin_t=35)\r
+APP|[GpioTest] [ 67] S_AGPIO_L26 (pin_t=107)\r
+APP|[GpioTest] ===== End of GPIO List =====\r
+APP|\r
+APP|[GpioTest] ===== Round 1 =====\r
+APP|[GpioTest] Remaining GPIOs: 67\r
+APP|[GpioTest] Testing output: S_AGPIO_L23 (pin_t=104)\r
+APP|[GpioTest] Output: S_AGPIO_L23\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_AGPIO_L12 (pin_t=93)\r
+APP|[GpioTest] Round 1 complete. Remaining: 65 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 2 =====\r
+APP|[GpioTest] Remaining GPIOs: 65\r
+APP|[GpioTest] Testing output: S_AGPIO_L13 (pin_t=94)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x1\r
+APP|[GpioTest] Output: S_AGPIO_L13\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_AGPIO_L31 (pin_t=112)\r
+APP|[GpioTest] Round 2 complete. Remaining: 63 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 3 =====\r
+APP|[GpioTest] Remaining GPIOs: 63\r
+APP|[GpioTest] Testing output: S_AGPIO_L3 (pin_t=84)\r
+APP|[GpioTest] Output: S_AGPIO_L3\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_AGPIO_L2 (pin_t=83)\r
+APP|[GpioTest] Round 3 complete. Remaining: 61 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 4 =====\r
+APP|[GpioTest] Remaining GPIOs: 61\r
+APP|[GpioTest] Testing output: S_AGPIO_L1 (pin_t=82)\r
+APP|[GpioTest] Output: S_AGPIO_L1\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_AGPIO_L4 (pin_t=85)\r
+APP|[GpioTest] Round 4 complete. Remaining: 59 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 5 =====\r
+APP|[GpioTest] Remaining GPIOs: 59\r
+APP|[GpioTest] Testing output: S_AGPIO_L0 (pin_t=81)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_AGPIO_L0\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 5 complete. Remaining: 58 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 6 =====\r
+APP|[GpioTest] Remaining GPIOs: 58\r
+APP|[GpioTest] Testing output: S_AGPIO_R4 (pin_t=118)\r
+APP|[GpioTest] Output: S_AGPIO_R4\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 6 complete. Remaining: 57 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 7 =====\r
+APP|[GpioTest] Remaining GPIOs: 57\r
+APP|[GpioTest] Testing output: S_AGPIO_R5 (pin_t=119)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_AGPIO_R5\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_MGPIO14 (pin_t=56)\r
+APP|[GpioTest] Round 7 complete. Remaining: 55 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 8 =====\r
+APP|[GpioTest] Remaining GPIOs: 55\r
+APP|[GpioTest] Testing output: S_MGPIO13 (pin_t=55)\r
+APP|[GpioTest] Output: S_MGPIO13\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_AGPIO_R10 (pin_t=124)\r
+APP|[GpioTest] Round 8 complete. Remaining: 53 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 9 =====\r
+APP|[GpioTest] Remaining GPIOs: 53\r
+APP|[GpioTest] Testing output: S_MGPIO11 (pin_t=53)\r
+APP|[GpioTest] Output: S_MGPIO11\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_MGPIO12 (pin_t=54)\r
+APP|[GpioTest] Round 9 complete. Remaining: 51 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 10 =====\r
+APP|[GpioTest] Remaining GPIOs: 51\r
+APP|[GpioTest] Testing output: S_AGPIO_R2 (pin_t=116)\r
+APP|[GpioTest] Output: S_AGPIO_R2\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 10 complete. Remaining: 50 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 11 =====\r
+APP|[GpioTest] Remaining GPIOs: 50\r
+APP|[GpioTest] Testing output: S_AGPIO_R1 (pin_t=115)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_AGPIO_R1\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 11 complete. Remaining: 49 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 12 =====\r
+APP|[GpioTest] Remaining GPIOs: 49\r
+APP|[GpioTest] Testing output: S_AGPIO_L24 (pin_t=105)\r
+APP|[GpioTest] Output: S_AGPIO_L24\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 12 complete. Remaining: 48 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 13 =====\r
+APP|[GpioTest] Remaining GPIOs: 48\r
+APP|[GpioTest] Testing output: S_AGPIO_L17 (pin_t=98)\r
+APP|[GpioTest] Output: S_AGPIO_L17\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 13 complete. Remaining: 47 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 14 =====\r
+APP|[GpioTest] Remaining GPIOs: 47\r
+APP|[GpioTest] Testing output: S_AGPIO_L21 (pin_t=102)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_AGPIO_L21\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_AGPIO_L11 (pin_t=92)\r
+APP|[GpioTest] Round 14 complete. Remaining: 45 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 15 =====\r
+APP|[GpioTest] Remaining GPIOs: 45\r
+APP|[GpioTest] Testing output: S_AGPIO_L19 (pin_t=100)\r
+APP|[GpioTest] Output: S_AGPIO_L19\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 15 complete. Remaining: 44 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 16 =====\r
+APP|[GpioTest] Remaining GPIOs: 44\r
+APP|[GpioTest] Testing output: S_AGPIO_R0 (pin_t=114)\r
+APP|[GpioTest] Output: S_AGPIO_R0\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 16 complete. Remaining: 43 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 17 =====\r
+APP|[GpioTest] Remaining GPIOs: 43\r
+APP|[GpioTest] Testing output: S_HGPIO13 (pin_t=39)\r
+APP|[GpioTest] Output: S_HGPIO13\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 17 complete. Remaining: 42 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 18 =====\r
+APP|[GpioTest] Remaining GPIOs: 42\r
+APP|[GpioTest] Testing output: S_AGPIO_R3 (pin_t=117)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_AGPIO_R3\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 18 complete. Remaining: 41 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 19 =====\r
+APP|[GpioTest] Remaining GPIOs: 41\r
+APP|[GpioTest] Testing output: S_AGPIO_R6 (pin_t=120)\r
+APP|charger not plugged ,disable charge !\r
+APP|[GpioTest] Output: S_AGPIO_R6\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 19 complete. Remaining: 40 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 20 =====\r
+APP|[GpioTest] Remaining GPIOs: 40\r
+APP|[GpioTest] Testing output: S_MGPIO25 (pin_t=67)\r
+APP|[GpioTest] Output: S_MGPIO25\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 20 complete. Remaining: 39 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 21 =====\r
+APP|[GpioTest] Remaining GPIOs: 39\r
+APP|[GpioTest] Testing output: S_MGPIO26 (pin_t=68)\r
+APP|[GpioTest] Output: S_MGPIO26\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 21 complete. Remaining: 38 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 22 =====\r
+APP|[GpioTest] Remaining GPIOs: 38\r
+APP|[GpioTest] Testing output: S_MGPIO23 (pin_t=65)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_MGPIO23\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 22 complete. Remaining: 37 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 23 =====\r
+APP|[GpioTest] Remaining GPIOs: 37\r
+APP|[GpioTest] Testing output: S_MGPIO24 (pin_t=66)\r
+APP|[GpioTest] Output: S_MGPIO24\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 23 complete. Remaining: 36 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 24 =====\r
+APP|[GpioTest] Remaining GPIOs: 36\r
+APP|[GpioTest] Testing output: S_MGPIO31 (pin_t=73)\r
+APP|[GpioTest] Output: S_MGPIO31\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 24 complete. Remaining: 35 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 25 =====\r
+APP|[GpioTest] Remaining GPIOs: 35\r
+APP|[GpioTest] Testing output: S_MGPIO29 (pin_t=71)\r
+APP|[GpioTest] Output: S_MGPIO29\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 25 complete. Remaining: 34 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 26 =====\r
+APP|[GpioTest] Remaining GPIOs: 34\r
+APP|[GpioTest] Testing output: S_MGPIO30 (pin_t=72)\r
+APP|[GpioTest] Output: S_MGPIO30\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 26 complete. Remaining: 33 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 27 =====\r
+APP|[GpioTest] Remaining GPIOs: 33\r
+APP|[GpioTest] Testing output: S_MGPIO32 (pin_t=74)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_MGPIO32\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 27 complete. Remaining: 32 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 28 =====\r
+APP|[GpioTest] Remaining GPIOs: 32\r
+APP|[GpioTest] Testing output: S_MGPIO28 (pin_t=70)\r
+APP|[GpioTest] Output: S_MGPIO28\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 28 complete. Remaining: 31 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 29 =====\r
+APP|[GpioTest] Remaining GPIOs: 31\r
+APP|[GpioTest] Testing output: S_MGPIO27 (pin_t=69)\r
+APP|[GpioTest] Output: S_MGPIO27\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_MGPIO22 (pin_t=64)\r
+APP|[GpioTest] Round 29 complete. Remaining: 29 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 30 =====\r
+APP|[GpioTest] Remaining GPIOs: 29\r
+APP|[GpioTest] Testing output: S_MGPIO21 (pin_t=63)\r
+APP|[GpioTest] Output: S_MGPIO21\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 30 complete. Remaining: 28 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 31 =====\r
+APP|[GpioTest] Remaining GPIOs: 28\r
+APP|[GpioTest] Testing output: S_MGPIO19 (pin_t=61)\r
+APP|[GpioTest] Output: S_MGPIO19\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 31 complete. Remaining: 27 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 32 =====\r
+APP|[GpioTest] Remaining GPIOs: 27\r
+APP|[GpioTest] Testing output: S_MGPIO20 (pin_t=62)\r
+APP|[GpioTest] Output: S_MGPIO20\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 32 complete. Remaining: 26 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 33 =====\r
+APP|[GpioTest] Remaining GPIOs: 26\r
+APP|[GpioTest] Testing output: S_AGPIO_R7 (pin_t=121)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_AGPIO_R7\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 33 complete. Remaining: 25 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 34 =====\r
+APP|[GpioTest] Remaining GPIOs: 25\r
+APP|[GpioTest] Testing output: S_AGPIO_R8 (pin_t=122)\r
+APP|[GpioTest] Output: S_AGPIO_R8\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 34 complete. Remaining: 24 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 35 =====\r
+APP|[GpioTest] Remaining GPIOs: 24\r
+APP|[GpioTest] Testing output: S_AGPIO_R9 (pin_t=123)\r
+APP|[GpioTest] Output: S_AGPIO_R9\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 35 complete. Remaining: 23 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 36 =====\r
+APP|[GpioTest] Remaining GPIOs: 23\r
+APP|[GpioTest] Testing output: S_AGPIO_L30 (pin_t=111)\r
+APP|[GpioTest] Output: S_AGPIO_L30\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_AGPIO_L29 (pin_t=110)\r
+APP|[GpioTest] Round 36 complete. Remaining: 21 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 37 =====\r
+APP|[GpioTest] Remaining GPIOs: 21\r
+APP|[GpioTest] Testing output: S_AGPIO_L32 (pin_t=113)\r
+APP|[GpioTest] Output: S_AGPIO_L32\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 37 complete. Remaining: 20 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 38 =====\r
+APP|[GpioTest] Remaining GPIOs: 20\r
+APP|[GpioTest] Testing output: S_AGPIO_L20 (pin_t=101)\r
+APP|[GpioTest] Output: S_AGPIO_L20\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 38 complete. Remaining: 19 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 39 =====\r
+APP|[GpioTest] Remaining GPIOs: 19\r
+APP|[GpioTest] Testing output: S_AGPIO_L15 (pin_t=96)\r
+APP|[GpioTest] Output: S_AGPIO_L15\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 39 complete. Remaining: 18 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 40 =====\r
+APP|[GpioTest] Remaining GPIOs: 18\r
+APP|[GpioTest] Testing output: S_HGPIO5 (pin_t=31)\r
+APP|[GpioTest] Output: S_HGPIO5\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 40 complete. Remaining: 17 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 41 =====\r
+APP|[GpioTest] Remaining GPIOs: 17\r
+APP|[GpioTest] Testing output: S_HGPIO4 (pin_t=30)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_HGPIO4\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 41 complete. Remaining: 16 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 42 =====\r
+APP|[GpioTest] Remaining GPIOs: 16\r
+APP|[GpioTest] Testing output: S_HGPIO0 (pin_t=26)\r
+APP|[GpioTest] Output: S_HGPIO0\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 42 complete. Remaining: 15 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 43 =====\r
+APP|[GpioTest] Remaining GPIOs: 15\r
+APP|[GpioTest] Testing output: S_HGPIO1 (pin_t=27)\r
+APP|[GpioTest] Output: S_HGPIO1\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 43 complete. Remaining: 14 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 44 =====\r
+APP|[GpioTest] Remaining GPIOs: 14\r
+APP|[GpioTest] Testing output: S_HGPIO2 (pin_t=28)\r
+APP|[GpioTest] Output: S_HGPIO2\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 44 complete. Remaining: 13 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 45 =====\r
+APP|[GpioTest] Remaining GPIOs: 13\r
+APP|[GpioTest] Testing output: S_HGPIO3 (pin_t=29)\r
+APP|[GpioTest] Output: S_HGPIO3\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 45 complete. Remaining: 12 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 46 =====\r
+APP|[GpioTest] Remaining GPIOs: 12\r
+APP|[GpioTest] Testing output: S_MGPIO3 (pin_t=45)\r
+APP|[GpioTest] Output: S_MGPIO3\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 46 complete. Remaining: 11 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 47 =====\r
+APP|[GpioTest] Remaining GPIOs: 11\r
+APP|[GpioTest] Testing output: S_MGPIO1 (pin_t=43)\r
+APP|[GpioTest] Output: S_MGPIO1\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_MGPIO2 (pin_t=44)\r
+APP|[GpioTest] Round 47 complete. Remaining: 9 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 48 =====\r
+APP|[GpioTest] Remaining GPIOs: 9\r
+APP|[GpioTest] Testing output: S_MGPIO0 (pin_t=42)\r
+APP|[GpioTest] Output: S_MGPIO0\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_MGPIO6 (pin_t=48)\r
+APP|[GpioTest] Round 48 complete. Remaining: 7 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 49 =====\r
+APP|[GpioTest] Remaining GPIOs: 7\r
+APP|[GpioTest] Testing output: S_MGPIO9 (pin_t=51)\r
+APP|[GpioTest] Output: S_MGPIO9\r
+APP|[GpioTest] Synced inputs (2):\r
+APP|[GpioTest] - S_MGPIO8 (pin_t=50)\r
+APP|[GpioTest] - S_MGPIO7 (pin_t=49)\r
+APP|[GpioTest] Round 49 complete. Remaining: 4 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 50 =====\r
+APP|[GpioTest] Remaining GPIOs: 4\r
+APP|[GpioTest] Testing output: S_AGPIO_L28 (pin_t=109)\r
+APP|[GpioTest] Output: S_AGPIO_L28\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 50 complete. Remaining: 3 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 51 =====\r
+APP|[GpioTest] Remaining GPIOs: 3\r
+APP|[GpioTest] Testing output: S_AGPIO_L18 (pin_t=99)\r
+APP|[GpioTest] Output: S_AGPIO_L18\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 51 complete. Remaining: 2 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 52 =====\r
+APP|[GpioTest] Remaining GPIOs: 2\r
+APP|[GpioTest] Testing output: S_HGPIO9 (pin_t=35)\r
+APP|[GpioTest] Output: S_HGPIO9\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 52 complete. Remaining: 1 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 53 =====\r
+APP|[GpioTest] Remaining GPIOs: 1\r
+APP|[GpioTest] Testing output: S_AGPIO_L26 (pin_t=107)\r
+APP|[GpioTest] Output: S_AGPIO_L26\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 53 complete. Remaining: 0 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Scanning Complete =====\r
+APP|[GpioTest] Total rounds: 53\r
+GPIO SCAN PAIRS: Success
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|charger not plugged ,disable charge !\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+» AT^GPIOTEST=4\r
+« APP|[GpioTest] Starting GPIO pair scanning (iterative mode)...\r
+APP|[GpioTest] Found 67 GPIO pins from default config\r
+APP|[GpioTest] ===== All GPIO Names =====\r
+APP|[GpioTest] [ 1] S_AGPIO_L23 (pin_t=104)\r
+APP|[GpioTest] [ 2] S_AGPIO_L12 (pin_t=93)\r
+APP|[GpioTest] [ 3] S_AGPIO_L13 (pin_t=94)\r
+APP|[GpioTest] [ 4] S_AGPIO_L31 (pin_t=112)\r
+APP|[GpioTest] [ 5] S_AGPIO_L3 (pin_t=84)\r
+APP|[GpioTest] [ 6] S_AGPIO_L2 (pin_t=83)\r
+APP|[GpioTest] [ 7] S_AGPIO_L1 (pin_t=82)\r
+APP|[GpioTest] [ 8] S_AGPIO_L4 (pin_t=85)\r
+APP|[GpioTest] [ 9] S_AGPIO_L0 (pin_t=81)\r
+APP|[GpioTest] [ 10] S_AGPIO_R4 (pin_t=118)\r
+APP|[GpioTest] [ 11] S_AGPIO_R5 (pin_t=119)\r
+APP|[GpioTest] [ 12] S_MGPIO14 (pin_t=56)\r
+APP|[GpioTest] [ 13] S_MGPIO13 (pin_t=55)\r
+APP|[GpioTest] [ 14] S_AGPIO_R10 (pin_t=124)\r
+APP|[GpioTest] [ 15] S_MGPIO11 (pin_t=53)\r
+APP|[GpioTest] [ 16] S_MGPIO12 (pin_t=54)\r
+APP|[GpioTest] [ 17] S_AGPIO_R2 (pin_t=116)\r
+APP|[GpioTest] [ 18] S_AGPIO_R1 (pin_t=115)\r
+APP|[GpioTest] [ 19] S_AGPIO_L24 (pin_t=105)\r
+APP|[GpioTest] [ 20] S_AGPIO_L17 (pin_t=98)\r
+APP|[GpioTest] [ 21] S_AGPIO_L21 (pin_t=102)\r
+APP|[GpioTest] [ 22] S_AGPIO_L11 (pin_t=92)\r
+APP|[GpioTest] [ 23] S_AGPIO_L19 (pin_t=100)\r
+APP|[GpioTest] [ 24] S_AGPIO_R0 (pin_t=114)\r
+APP|[GpioTest] [ 25] S_HGPIO13 (pin_t=39)\r
+APP|[GpioTest] [ 26] S_AGPIO_R3 (pin_t=117)\r
+APP|[GpioTest] [ 27] S_AGPIO_R6 (pin_t=120)\r
+APP|[GpioTest] [ 28] S_MGPIO25 (pin_t=67)\r
+APP|[GpioTest] [ 29] S_MGPIO26 (pin_t=68)\r
+APP|[GpioTest] [ 30] S_MGPIO23 (pin_t=65)\r
+APP|[GpioTest] [ 31] S_MGPIO24 (pin_t=66)\r
+APP|[GpioTest] [ 32] S_MGPIO31 (pin_t=73)\r
+APP|[GpioTest] [ 33] S_MGPIO29 (pin_t=71)\r
+APP|[GpioTest] [ 34] S_MGPIO30 (pin_t=72)\r
+APP|[GpioTest] [ 35] S_MGPIO32 (pin_t=74)\r
+APP|[GpioTest] [ 36] S_MGPIO28 (pin_t=70)\r
+APP|[GpioTest] [ 37] S_MGPIO27 (pin_t=69)\r
+APP|[GpioTest] [ 38] S_MGPIO22 (pin_t=64)\r
+APP|[GpioTest] [ 39] S_MGPIO21 (pin_t=63)\r
+APP|[GpioTest] [ 40] S_MGPIO19 (pin_t=61)\r
+APP|[GpioTest] [ 41] S_MGPIO20 (pin_t=62)\r
+APP|[GpioTest] [ 42] S_AGPIO_R7 (pin_t=121)\r
+APP|[GpioTest] [ 43] S_AGPIO_R8 (pin_t=122)\r
+APP|[GpioTest] [ 44] S_AGPIO_R9 (pin_t=123)\r
+APP|[GpioTest] [ 45] S_AGPIO_L30 (pin_t=111)\r
+APP|[GpioTest] [ 46] S_AGPIO_L29 (pin_t=110)\r
+APP|[GpioTest] [ 47] S_AGPIO_L32 (pin_t=113)\r
+APP|[GpioTest] [ 48] S_AGPIO_L20 (pin_t=101)\r
+APP|[GpioTest] [ 49] S_AGPIO_L15 (pin_t=96)\r
+APP|[GpioTest] [ 50] S_HGPIO5 (pin_t=31)\r
+APP|[GpioTest] [ 51] S_HGPIO4 (pin_t=30)\r
+APP|[GpioTest] [ 52] S_HGPIO0 (pin_t=26)\r
+APP|[GpioTest] [ 53] S_HGPIO1 (pin_t=27)\r
+APP|[GpioTest] [ 54] S_HGPIO2 (pin_t=28)\r
+APP|[GpioTest] [ 55] S_HGPIO3 (pin_t=29)\r
+APP|[GpioTest] [ 56] S_MGPIO3 (pin_t=45)\r
+APP|[GpioTest] [ 57] S_MGPIO1 (pin_t=43)\r
+APP|[GpioTest] [ 58] S_MGPIO2 (pin_t=44)\r
+APP|[GpioTest] [ 59] S_MGPIO0 (pin_t=42)\r
+APP|[GpioTest] [ 60] S_MGPIO6 (pin_t=48)\r
+APP|[GpioTest] [ 61] S_MGPIO9 (pin_t=51)\r
+APP|[GpioTest] [ 62] S_MGPIO8 (pin_t=50)\r
+APP|[GpioTest] [ 63] S_MGPIO7 (pin_t=49)\r
+APP|[GpioTest] [ 64] S_AGPIO_L28 (pin_t=109)\r
+APP|[GpioTest] [ 65] S_AGPIO_L18 (pin_t=99)\r
+APP|[GpioTest] [ 66] S_HGPIO9 (pin_t=35)\r
+APP|[GpioTest] [ 67] S_AGPIO_L26 (pin_t=107)\r
+APP|[GpioTest] ===== End of GPIO List =====\r
+APP|\r
+APP|[GpioTest] ===== Round 1 =====\r
+APP|[GpioTest] Remaining GPIOs: 67\r
+APP|[GpioTest] Testing output: S_AGPIO_L23 (pin_t=104)\r
+APP|[GpioTest] Output: S_AGPIO_L23\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_AGPIO_L12 (pin_t=93)\r
+APP|[GpioTest] Round 1 complete. Remaining: 65 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 2 =====\r
+APP|[GpioTest] Remaining GPIOs: 65\r
+APP|[GpioTest] Testing output: S_AGPIO_L13 (pin_t=94)\r
+APP|[GpioTest] Output: S_AGPIO_L13\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_AGPIO_L31 (pin_t=112)\r
+APP|[GpioTest] Round 2 complete. Remaining: 63 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 3 =====\r
+APP|[GpioTest] Remaining GPIOs: 63\r
+APP|[GpioTest] Testing output: S_AGPIO_L3 (pin_t=84)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_AGPIO_L3\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_AGPIO_L2 (pin_t=83)\r
+APP|[GpioTest] Round 3 complete. Remaining: 61 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 4 =====\r
+APP|[GpioTest] Remaining GPIOs: 61\r
+APP|[GpioTest] Testing output: S_AGPIO_L1 (pin_t=82)\r
+APP|[GpioTest] Output: S_AGPIO_L1\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_AGPIO_L4 (pin_t=85)\r
+APP|[GpioTest] Round 4 complete. Remaining: 59 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 5 =====\r
+APP|[GpioTest] Remaining GPIOs: 59\r
+APP|[GpioTest] Testing output: S_AGPIO_L0 (pin_t=81)\r
+APP|[GpioTest] Output: S_AGPIO_L0\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 5 complete. Remaining: 58 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 6 =====\r
+APP|[GpioTest] Remaining GPIOs: 58\r
+APP|[GpioTest] Testing output: S_AGPIO_R4 (pin_t=118)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_AGPIO_R4\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 6 complete. Remaining: 57 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 7 =====\r
+APP|[GpioTest] Remaining GPIOs: 57\r
+APP|[GpioTest] Testing output: S_AGPIO_R5 (pin_t=119)\r
+APP|[GpioTest] Output: S_AGPIO_R5\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_MGPIO14 (pin_t=56)\r
+APP|[GpioTest] Round 7 complete. Remaining: 55 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 8 =====\r
+APP|[GpioTest] Remaining GPIOs: 55\r
+APP|[GpioTest] Testing output: S_MGPIO13 (pin_t=55)\r
+APP|[GpioTest] Output: S_MGPIO13\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_AGPIO_R10 (pin_t=124)\r
+APP|[GpioTest] Round 8 complete. Remaining: 53 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 9 =====\r
+APP|[GpioTest] Remaining GPIOs: 53\r
+APP|[GpioTest] Testing output: S_MGPIO11 (pin_t=53)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_MGPIO11\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_MGPIO12 (pin_t=54)\r
+APP|[GpioTest] Round 9 complete. Remaining: 51 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 10 =====\r
+APP|[GpioTest] Remaining GPIOs: 51\r
+APP|[GpioTest] Testing output: S_AGPIO_R2 (pin_t=116)\r
+APP|[GpioTest] Output: S_AGPIO_R2\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 10 complete. Remaining: 50 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 11 =====\r
+APP|[GpioTest] Remaining GPIOs: 50\r
+APP|[GpioTest] Testing output: S_AGPIO_R1 (pin_t=115)\r
+APP|[GpioTest] Output: S_AGPIO_R1\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 11 complete. Remaining: 49 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 12 =====\r
+APP|[GpioTest] Remaining GPIOs: 49\r
+APP|[GpioTest] Testing output: S_AGPIO_L24 (pin_t=105)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_AGPIO_L24\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 12 complete. Remaining: 48 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 13 =====\r
+APP|[GpioTest] Remaining GPIOs: 48\r
+APP|[GpioTest] Testing output: S_AGPIO_L17 (pin_t=98)\r
+APP|[GpioTest] Output: S_AGPIO_L17\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 13 complete. Remaining: 47 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 14 =====\r
+APP|[GpioTest] Remaining GPIOs: 47\r
+APP|[GpioTest] Testing output: S_AGPIO_L21 (pin_t=102)\r
+APP|[GpioTest] Output: S_AGPIO_L21\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_AGPIO_L11 (pin_t=92)\r
+APP|[GpioTest] Round 14 complete. Remaining: 45 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 15 =====\r
+APP|[GpioTest] Remaining GPIOs: 45\r
+APP|[GpioTest] Testing output: S_AGPIO_L19 (pin_t=100)\r
+APP|[GpioTest] Output: S_AGPIO_L19\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 15 complete. Remaining: 44 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 16 =====\r
+APP|[GpioTest] Remaining GPIOs: 44\r
+APP|[GpioTest] Testing output: S_AGPIO_R0 (pin_t=114)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_AGPIO_R0\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 16 complete. Remaining: 43 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 17 =====\r
+APP|[GpioTest] Remaining GPIOs: 43\r
+APP|[GpioTest] Testing output: S_HGPIO13 (pin_t=39)\r
+APP|[GpioTest] Output: S_HGPIO13\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 17 complete. Remaining: 42 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 18 =====\r
+APP|[GpioTest] Remaining GPIOs: 42\r
+APP|[GpioTest] Testing output: S_AGPIO_R3 (pin_t=117)\r
+APP|[GpioTest] Output: S_AGPIO_R3\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 18 complete. Remaining: 41 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 19 =====\r
+APP|[GpioTest] Remaining GPIOs: 41\r
+APP|[GpioTest] Testing output: S_AGPIO_R6 (pin_t=120)\r
+APP|[GpioTest] Output: S_AGPIO_R6\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 19 complete. Remaining: 40 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 20 =====\r
+APP|[GpioTest] Remaining GPIOs: 40\r
+APP|[GpioTest] Testing output: S_MGPIO25 (pin_t=67)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_MGPIO25\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 20 complete. Remaining: 39 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 21 =====\r
+APP|[GpioTest] Remaining GPIOs: 39\r
+APP|[GpioTest] Testing output: S_MGPIO26 (pin_t=68)\r
+APP|[GpioTest] Output: S_MGPIO26\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 21 complete. Remaining: 38 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 22 =====\r
+APP|[GpioTest] Remaining GPIOs: 38\r
+APP|[GpioTest] Testing output: S_MGPIO23 (pin_t=65)\r
+APP|[GpioTest] Output: S_MGPIO23\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 22 complete. Remaining: 37 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 23 =====\r
+APP|[GpioTest] Remaining GPIOs: 37\r
+APP|[GpioTest] Testing output: S_MGPIO24 (pin_t=66)\r
+APP|[GpioTest] Output: S_MGPIO24\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 23 complete. Remaining: 36 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 24 =====\r
+APP|[GpioTest] Remaining GPIOs: 36\r
+APP|[GpioTest] Testing output: S_MGPIO31 (pin_t=73)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_MGPIO31\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 24 complete. Remaining: 35 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 25 =====\r
+APP|[GpioTest] Remaining GPIOs: 35\r
+APP|[GpioTest] Testing output: S_MGPIO29 (pin_t=71)\r
+APP|[GpioTest] Output: S_MGPIO29\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 25 complete. Remaining: 34 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 26 =====\r
+APP|[GpioTest] Remaining GPIOs: 34\r
+APP|[GpioTest] Testing output: S_MGPIO30 (pin_t=72)\r
+APP|[GpioTest] Output: S_MGPIO30\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 26 complete. Remaining: 33 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 27 =====\r
+APP|[GpioTest] Remaining GPIOs: 33\r
+APP|[GpioTest] Testing output: S_MGPIO32 (pin_t=74)\r
+APP|[GpioTest] Output: S_MGPIO32\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 27 complete. Remaining: 32 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 28 =====\r
+APP|[GpioTest] Remaining GPIOs: 32\r
+APP|[GpioTest] Testing output: S_MGPIO28 (pin_t=70)\r
+APP|charger not plugged ,disable charge !\r
+APP|[GpioTest] Output: S_MGPIO28\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 28 complete. Remaining: 31 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 29 =====\r
+APP|[GpioTest] Remaining GPIOs: 31\r
+APP|[GpioTest] Testing output: S_MGPIO27 (pin_t=69)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_MGPIO27\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_MGPIO22 (pin_t=64)\r
+APP|[GpioTest] Round 29 complete. Remaining: 29 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 30 =====\r
+APP|[GpioTest] Remaining GPIOs: 29\r
+APP|[GpioTest] Testing output: S_MGPIO21 (pin_t=63)\r
+APP|[GpioTest] Output: S_MGPIO21\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 30 complete. Remaining: 28 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 31 =====\r
+APP|[GpioTest] Remaining GPIOs: 28\r
+APP|[GpioTest] Testing output: S_MGPIO19 (pin_t=61)\r
+APP|[GpioTest] Output: S_MGPIO19\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 31 complete. Remaining: 27 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 32 =====\r
+APP|[GpioTest] Remaining GPIOs: 27\r
+APP|[GpioTest] Testing output: S_MGPIO20 (pin_t=62)\r
+APP|[GpioTest] Output: S_MGPIO20\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 32 complete. Remaining: 26 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 33 =====\r
+APP|[GpioTest] Remaining GPIOs: 26\r
+APP|[GpioTest] Testing output: S_AGPIO_R7 (pin_t=121)\r
+APP|[GpioTest] Output: S_AGPIO_R7\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 33 complete. Remaining: 25 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 34 =====\r
+APP|[GpioTest] Remaining GPIOs: 25\r
+APP|[GpioTest] Testing output: S_AGPIO_R8 (pin_t=122)\r
+APP|[GpioTest] Output: S_AGPIO_R8\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 34 complete. Remaining: 24 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 35 =====\r
+APP|[GpioTest] Remaining GPIOs: 24\r
+APP|[GpioTest] Testing output: S_AGPIO_R9 (pin_t=123)\r
+APP|[GpioTest] Output: S_AGPIO_R9\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 35 complete. Remaining: 23 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 36 =====\r
+APP|[GpioTest] Remaining GPIOs: 23\r
+APP|[GpioTest] Testing output: S_AGPIO_L30 (pin_t=111)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_AGPIO_L30\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_AGPIO_L29 (pin_t=110)\r
+APP|[GpioTest] Round 36 complete. Remaining: 21 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 37 =====\r
+APP|[GpioTest] Remaining GPIOs: 21\r
+APP|[GpioTest] Testing output: S_AGPIO_L32 (pin_t=113)\r
+APP|[GpioTest] Output: S_AGPIO_L32\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 37 complete. Remaining: 20 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 38 =====\r
+APP|[GpioTest] Remaining GPIOs: 20\r
+APP|[GpioTest] Testing output: S_AGPIO_L20 (pin_t=101)\r
+APP|[GpioTest] Output: S_AGPIO_L20\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 38 complete. Remaining: 19 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 39 =====\r
+APP|[GpioTest] Remaining GPIOs: 19\r
+APP|[GpioTest] Testing output: S_AGPIO_L15 (pin_t=96)\r
+APP|[GpioTest] Output: S_AGPIO_L15\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 39 complete. Remaining: 18 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 40 =====\r
+APP|[GpioTest] Remaining GPIOs: 18\r
+APP|[GpioTest] Testing output: S_HGPIO5 (pin_t=31)\r
+APP|[GpioTest] Output: S_HGPIO5\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 40 complete. Remaining: 17 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 41 =====\r
+APP|[GpioTest] Remaining GPIOs: 17\r
+APP|[GpioTest] Testing output: S_HGPIO4 (pin_t=30)\r
+APP|[GpioTest] Output: S_HGPIO4\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 41 complete. Remaining: 16 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 42 =====\r
+APP|[GpioTest] Remaining GPIOs: 16\r
+APP|[GpioTest] Testing output: S_HGPIO0 (pin_t=26)\r
+APP|[GpioTest] Output: S_HGPIO0\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 42 complete. Remaining: 15 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 43 =====\r
+APP|[GpioTest] Remaining GPIOs: 15\r
+APP|[GpioTest] Testing output: S_HGPIO1 (pin_t=27)\r
+APP|[GpioTest] Output: S_HGPIO1\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 43 complete. Remaining: 14 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 44 =====\r
+APP|[GpioTest] Remaining GPIOs: 14\r
+APP|[GpioTest] Testing output: S_HGPIO2 (pin_t=28)\r
+APP|[GpioTest] Output: S_HGPIO2\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 44 complete. Remaining: 13 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 45 =====\r
+APP|[GpioTest] Remaining GPIOs: 13\r
+APP|[GpioTest] Testing output: S_HGPIO3 (pin_t=29)\r
+APP|[GpioTest] Output: S_HGPIO3\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 45 complete. Remaining: 12 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 46 =====\r
+APP|[GpioTest] Remaining GPIOs: 12\r
+APP|[GpioTest] Testing output: S_MGPIO3 (pin_t=45)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_MGPIO3\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 46 complete. Remaining: 11 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 47 =====\r
+APP|[GpioTest] Remaining GPIOs: 11\r
+APP|[GpioTest] Testing output: S_MGPIO1 (pin_t=43)\r
+APP|[GpioTest] Output: S_MGPIO1\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_MGPIO2 (pin_t=44)\r
+APP|[GpioTest] Round 47 complete. Remaining: 9 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 48 =====\r
+APP|[GpioTest] Remaining GPIOs: 9\r
+APP|[GpioTest] Testing output: S_MGPIO0 (pin_t=42)\r
+APP|[GpioTest] Output: S_MGPIO0\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_MGPIO6 (pin_t=48)\r
+APP|[GpioTest] Round 48 complete. Remaining: 7 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 49 =====\r
+APP|[GpioTest] Remaining GPIOs: 7\r
+APP|[GpioTest] Testing output: S_MGPIO9 (pin_t=51)\r
+APP|[GpioTest] Output: S_MGPIO9\r
+APP|[GpioTest] Synced inputs (2):\r
+APP|[GpioTest] - S_MGPIO8 (pin_t=50)\r
+APP|[GpioTest] - S_MGPIO7 (pin_t=49)\r
+APP|[GpioTest] Round 49 complete. Remaining: 4 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 50 =====\r
+APP|[GpioTest] Remaining GPIOs: 4\r
+APP|[GpioTest] Testing output: S_AGPIO_L28 (pin_t=109)\r
+APP|[GpioTest] Output: S_AGPIO_L28\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 50 complete. Remaining: 3 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 51 =====\r
+APP|[GpioTest] Remaining GPIOs: 3\r
+APP|[GpioTest] Testing output: S_AGPIO_L18 (pin_t=99)\r
+APP|[GpioTest] Output: S_AGPIO_L18\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 51 complete. Remaining: 2 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 52 =====\r
+APP|[GpioTest] Remaining GPIOs: 2\r
+APP|[GpioTest] Testing output: S_HGPIO9 (pin_t=35)\r
+APP|[GpioTest] Output: S_HGPIO9\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 52 complete. Remaining: 1 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 53 =====\r
+APP|[GpioTest] Remaining GPIOs: 1\r
+APP|[GpioTest] Testing output: S_AGPIO_L26 (pin_t=107)\r
+APP|[GpioTest] Output: S_AGPIO_L26\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 53 complete. Remaining: 0 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Scanning Complete =====\r
+APP|[GpioTest] Total rounds: 53\r
+GPIO SCAN PAIRS: Success
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
--- /dev/null
+» AT^GPIOTEST=4\r
+« APP|[GpioTest] Starting GPIO pair scanning (iterative mode)...\r
+APP|[GpioTest] Found 67 GPIO pins from default config\r
+APP|[GpioTest] ===== All GPIO Names =====\r
+APP|[GpioTest] [ 1] S_AGPIO_L23 (pin_t=104)\r
+APP|[GpioTest] [ 2] S_AGPIO_L12 (pin_t=93)\r
+APP|[GpioTest] [ 3] S_AGPIO_L13 (pin_t=94)\r
+APP|[GpioTest] [ 4] S_AGPIO_L31 (pin_t=112)\r
+APP|[GpioTest] [ 5] S_AGPIO_L3 (pin_t=84)\r
+APP|[GpioTest] [ 6] S_AGPIO_L2 (pin_t=83)\r
+APP|[GpioTest] [ 7] S_AGPIO_L1 (pin_t=82)\r
+APP|[GpioTest] [ 8] S_AGPIO_L4 (pin_t=85)\r
+APP|[GpioTest] [ 9] S_AGPIO_L0 (pin_t=81)\r
+APP|[GpioTest] [ 10] S_AGPIO_R4 (pin_t=118)\r
+APP|[GpioTest] [ 11] S_AGPIO_R5 (pin_t=119)\r
+APP|[GpioTest] [ 12] S_MGPIO14 (pin_t=56)\r
+APP|[GpioTest] [ 13] S_MGPIO13 (pin_t=55)\r
+APP|[GpioTest] [ 14] S_AGPIO_R10 (pin_t=124)\r
+APP|[GpioTest] [ 15] S_MGPIO11 (pin_t=53)\r
+APP|[GpioTest] [ 16] S_MGPIO12 (pin_t=54)\r
+APP|[GpioTest] [ 17] S_AGPIO_R2 (pin_t=116)\r
+APP|[GpioTest] [ 18] S_AGPIO_R1 (pin_t=115)\r
+APP|[GpioTest] [ 19] S_AGPIO_L24 (pin_t=105)\r
+APP|[GpioTest] [ 20] S_AGPIO_L17 (pin_t=98)\r
+APP|[GpioTest] [ 21] S_AGPIO_L21 (pin_t=102)\r
+APP|[GpioTest] [ 22] S_AGPIO_L11 (pin_t=92)\r
+APP|[GpioTest] [ 23] S_AGPIO_L19 (pin_t=100)\r
+APP|[GpioTest] [ 24] S_AGPIO_R0 (pin_t=114)\r
+APP|[GpioTest] [ 25] S_HGPIO13 (pin_t=39)\r
+APP|[GpioTest] [ 26] S_AGPIO_R3 (pin_t=117)\r
+APP|[GpioTest] [ 27] S_AGPIO_R6 (pin_t=120)\r
+APP|[GpioTest] [ 28] S_MGPIO25 (pin_t=67)\r
+APP|[GpioTest] [ 29] S_MGPIO26 (pin_t=68)\r
+APP|[GpioTest] [ 30] S_MGPIO23 (pin_t=65)\r
+APP|[GpioTest] [ 31] S_MGPIO24 (pin_t=66)\r
+APP|[GpioTest] [ 32] S_MGPIO31 (pin_t=73)\r
+APP|[GpioTest] [ 33] S_MGPIO29 (pin_t=71)\r
+APP|[GpioTest] [ 34] S_MGPIO30 (pin_t=72)\r
+APP|[GpioTest] [ 35] S_MGPIO32 (pin_t=74)\r
+APP|[GpioTest] [ 36] S_MGPIO28 (pin_t=70)\r
+APP|[GpioTest] [ 37] S_MGPIO27 (pin_t=69)\r
+APP|[GpioTest] [ 38] S_MGPIO22 (pin_t=64)\r
+APP|[GpioTest] [ 39] S_MGPIO21 (pin_t=63)\r
+APP|[GpioTest] [ 40] S_MGPIO19 (pin_t=61)\r
+APP|[GpioTest] [ 41] S_MGPIO20 (pin_t=62)\r
+APP|[GpioTest] [ 42] S_AGPIO_R7 (pin_t=121)\r
+APP|[GpioTest] [ 43] S_AGPIO_R8 (pin_t=122)\r
+APP|[GpioTest] [ 44] S_AGPIO_R9 (pin_t=123)\r
+APP|[GpioTest] [ 45] S_AGPIO_L30 (pin_t=111)\r
+APP|[GpioTest] [ 46] S_AGPIO_L29 (pin_t=110)\r
+APP|[GpioTest] [ 47] S_AGPIO_L32 (pin_t=113)\r
+APP|[GpioTest] [ 48] S_AGPIO_L20 (pin_t=101)\r
+APP|[GpioTest] [ 49] S_AGPIO_L15 (pin_t=96)\r
+APP|[GpioTest] [ 50] S_HGPIO5 (pin_t=31)\r
+APP|[GpioTest] [ 51] S_HGPIO4 (pin_t=30)\r
+APP|[GpioTest] [ 52] S_HGPIO0 (pin_t=26)\r
+APP|[GpioTest] [ 53] S_HGPIO1 (pin_t=27)\r
+APP|[GpioTest] [ 54] S_HGPIO2 (pin_t=28)\r
+APP|[GpioTest] [ 55] S_HGPIO3 (pin_t=29)\r
+APP|[GpioTest] [ 56] S_MGPIO3 (pin_t=45)\r
+APP|[GpioTest] [ 57] S_MGPIO1 (pin_t=43)\r
+APP|[GpioTest] [ 58] S_MGPIO2 (pin_t=44)\r
+APP|[GpioTest] [ 59] S_MGPIO0 (pin_t=42)\r
+APP|[GpioTest] [ 60] S_MGPIO6 (pin_t=48)\r
+APP|[GpioTest] [ 61] S_MGPIO9 (pin_t=51)\r
+APP|[GpioTest] [ 62] S_MGPIO8 (pin_t=50)\r
+APP|[GpioTest] [ 63] S_MGPIO7 (pin_t=49)\r
+APP|[GpioTest] [ 64] S_AGPIO_L28 (pin_t=109)\r
+APP|[GpioTest] [ 65] S_AGPIO_L18 (pin_t=99)\r
+APP|[GpioTest] [ 66] S_HGPIO9 (pin_t=35)\r
+APP|[GpioTest] [ 67] S_AGPIO_L26 (pin_t=107)\r
+APP|[GpioTest] ===== End of GPIO List =====\r
+APP|\r
+APP|[GpioTest] ===== Round 1 =====\r
+APP|[GpioTest] Remaining GPIOs: 67\r
+APP|[GpioTest] Testing output: S_AGPIO_L23 (pin_t=104)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_AGPIO_L23\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_AGPIO_L12 (pin_t=93)\r
+APP|[GpioTest] Round 1 complete. Remaining: 65 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 2 =====\r
+APP|[GpioTest] Remaining GPIOs: 65\r
+APP|[GpioTest] Testing output: S_AGPIO_L13 (pin_t=94)\r
+APP|[GpioTest] Output: S_AGPIO_L13\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_AGPIO_L31 (pin_t=112)\r
+APP|[GpioTest] Round 2 complete. Remaining: 63 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 3 =====\r
+APP|[GpioTest] Remaining GPIOs: 63\r
+APP|[GpioTest] Testing output: S_AGPIO_L3 (pin_t=84)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_AGPIO_L3\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_AGPIO_L2 (pin_t=83)\r
+APP|[GpioTest] Round 3 complete. Remaining: 61 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 4 =====\r
+APP|[GpioTest] Remaining GPIOs: 61\r
+APP|[GpioTest] Testing output: S_AGPIO_L1 (pin_t=82)\r
+APP|[GpioTest] Output: S_AGPIO_L1\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_AGPIO_L4 (pin_t=85)\r
+APP|[GpioTest] Round 4 complete. Remaining: 59 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 5 =====\r
+APP|[GpioTest] Remaining GPIOs: 59\r
+APP|[GpioTest] Testing output: S_AGPIO_L0 (pin_t=81)\r
+APP|[GpioTest] Output: S_AGPIO_L0\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 5 complete. Remaining: 58 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 6 =====\r
+APP|[GpioTest] Remaining GPIOs: 58\r
+APP|[GpioTest] Testing output: S_AGPIO_R4 (pin_t=118)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_AGPIO_R4\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 6 complete. Remaining: 57 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 7 =====\r
+APP|[GpioTest] Remaining GPIOs: 57\r
+APP|[GpioTest] Testing output: S_AGPIO_R5 (pin_t=119)\r
+APP|[GpioTest] Output: S_AGPIO_R5\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_MGPIO14 (pin_t=56)\r
+APP|[GpioTest] Round 7 complete. Remaining: 55 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 8 =====\r
+APP|[GpioTest] Remaining GPIOs: 55\r
+APP|[GpioTest] Testing output: S_MGPIO13 (pin_t=55)\r
+APP|[GpioTest] Output: S_MGPIO13\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_AGPIO_R10 (pin_t=124)\r
+APP|[GpioTest] Round 8 complete. Remaining: 53 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 9 =====\r
+APP|[GpioTest] Remaining GPIOs: 53\r
+APP|[GpioTest] Testing output: S_MGPIO11 (pin_t=53)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_MGPIO11\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_MGPIO12 (pin_t=54)\r
+APP|[GpioTest] Round 9 complete. Remaining: 51 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 10 =====\r
+APP|[GpioTest] Remaining GPIOs: 51\r
+APP|[GpioTest] Testing output: S_AGPIO_R2 (pin_t=116)\r
+APP|[GpioTest] Output: S_AGPIO_R2\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 10 complete. Remaining: 50 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 11 =====\r
+APP|[GpioTest] Remaining GPIOs: 50\r
+APP|[GpioTest] Testing output: S_AGPIO_R1 (pin_t=115)\r
+APP|[GpioTest] Output: S_AGPIO_R1\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 11 complete. Remaining: 49 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 12 =====\r
+APP|[GpioTest] Remaining GPIOs: 49\r
+APP|[GpioTest] Testing output: S_AGPIO_L24 (pin_t=105)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_AGPIO_L24\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 12 complete. Remaining: 48 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 13 =====\r
+APP|[GpioTest] Remaining GPIOs: 48\r
+APP|[GpioTest] Testing output: S_AGPIO_L17 (pin_t=98)\r
+APP|[GpioTest] Output: S_AGPIO_L17\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 13 complete. Remaining: 47 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 14 =====\r
+APP|[GpioTest] Remaining GPIOs: 47\r
+APP|[GpioTest] Testing output: S_AGPIO_L21 (pin_t=102)\r
+APP|[GpioTest] Output: S_AGPIO_L21\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_AGPIO_L11 (pin_t=92)\r
+APP|[GpioTest] Round 14 complete. Remaining: 45 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 15 =====\r
+APP|[GpioTest] Remaining GPIOs: 45\r
+APP|[GpioTest] Testing output: S_AGPIO_L19 (pin_t=100)\r
+APP|[GpioTest] Output: S_AGPIO_L19\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 15 complete. Remaining: 44 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 16 =====\r
+APP|[GpioTest] Remaining GPIOs: 44\r
+APP|[GpioTest] Testing output: S_AGPIO_R0 (pin_t=114)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_AGPIO_R0\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 16 complete. Remaining: 43 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 17 =====\r
+APP|[GpioTest] Remaining GPIOs: 43\r
+APP|[GpioTest] Testing output: S_HGPIO13 (pin_t=39)\r
+APP|charger not plugged ,disable charge !\r
+[WEARABLE I/] MsgCenterNotify: args=0x0x6c103670, topic=10021
+[WEARABLE I/] MsgCenterNotifyProc:: LowPower Alarm !
+[WEARABLE I/] MsgCenterNotifyLowpowerProc: alarm_type=1
+kvPath: /kvstore
+dataPath:
+Set value ret: -1
+brightness:0
+Brightness: 0% → Fall Edge: 7 → LED Current: 2.5mA
+[WEARABLE E/] MsgCenterNotifyLowpowerProc: ThunderBirdMainView::GetInstance() returned null
+APP|mipi_tx has been enable!\r
+APP|Succ read lcd id! Lcd id: 0x5598\r
+APP|timeout when wait phy ready \r
+kvPath: /kvstore
+dataPath:
+Set value ret: -1
+brightness:0
+[Graphic Error] [ResumeSlice: 225]No valid slice to resume
+APP|[POWER_MANAGER E/] filter_timer_execute_system_rule: filter timer, current default timeout:5000, keepon time:5000, event:5.\r
+APP|[GpioTest] Output: S_HGPIO13\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 17 complete. Remaining: 42 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 18 =====\r
+APP|[GpioTest] Remaining GPIOs: 42\r
+APP|[GpioTest] Testing output: S_AGPIO_R3 (pin_t=117)\r
+APP|[GpioTest] Output: S_AGPIO_R3\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 18 complete. Remaining: 41 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 19 =====\r
+APP|[GpioTest] Remaining GPIOs: 41\r
+APP|[GpioTest] Testing output: S_AGPIO_R6 (pin_t=120)\r
+APP|[GpioTest] Output: S_AGPIO_R6\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 19 complete. Remaining: 40 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 20 =====\r
+APP|[GpioTest] Remaining GPIOs: 40\r
+APP|[GpioTest] Testing output: S_MGPIO25 (pin_t=67)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_MGPIO25\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 20 complete. Remaining: 39 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 21 =====\r
+APP|[GpioTest] Remaining GPIOs: 39\r
+APP|[GpioTest] Testing output: S_MGPIO26 (pin_t=68)\r
+APP|[GpioTest] Output: S_MGPIO26\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 21 complete. Remaining: 38 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 22 =====\r
+APP|[GpioTest] Remaining GPIOs: 38\r
+APP|[GpioTest] Testing output: S_MGPIO23 (pin_t=65)\r
+APP|[GpioTest] Output: S_MGPIO23\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 22 complete. Remaining: 37 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 23 =====\r
+APP|[GpioTest] Remaining GPIOs: 37\r
+APP|[GpioTest] Testing output: S_MGPIO24 (pin_t=66)\r
+APP|[GpioTest] Output: S_MGPIO24\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 23 complete. Remaining: 36 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 24 =====\r
+APP|[GpioTest] Remaining GPIOs: 36\r
+APP|[GpioTest] Testing output: S_MGPIO31 (pin_t=73)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_MGPIO31\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 24 complete. Remaining: 35 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 25 =====\r
+APP|[GpioTest] Remaining GPIOs: 35\r
+APP|[GpioTest] Testing output: S_MGPIO29 (pin_t=71)\r
+[Graphic Error] [PauseSlice: 236]No valid slice to pause
+APP|uapi_lcd_backlight_off\r
+Output RESET_LCD_GPIO 1 , VCI_LCD_GPIO 0\r
+APP|[GpioTest] Output: S_MGPIO29\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 25 complete. Remaining: 34 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 26 =====\r
+APP|[GpioTest] Remaining GPIOs: 34\r
+APP|[GpioTest] Testing output: S_MGPIO30 (pin_t=72)\r
+APP|[GpioTest] Output: S_MGPIO30\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 26 complete. Remaining: 33 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 27 =====\r
+APP|[GpioTest] Remaining GPIOs: 33\r
+APP|[GpioTest] Testing output: S_MGPIO32 (pin_t=74)\r
+APP|[GpioTest] Output: S_MGPIO32\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 27 complete. Remaining: 32 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 28 =====\r
+APP|[GpioTest] Remaining GPIOs: 32\r
+APP|[GpioTest] Testing output: S_MGPIO28 (pin_t=70)\r
+APP|[GpioTest] Output: S_MGPIO28\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 28 complete. Remaining: 31 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 29 =====\r
+APP|[GpioTest] Remaining GPIOs: 31\r
+APP|[GpioTest] Testing output: S_MGPIO27 (pin_t=69)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_MGPIO27\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_MGPIO22 (pin_t=64)\r
+APP|[GpioTest] Round 29 complete. Remaining: 29 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 30 =====\r
+APP|[GpioTest] Remaining GPIOs: 29\r
+APP|[GpioTest] Testing output: S_MGPIO21 (pin_t=63)\r
+APP|[GpioTest] Output: S_MGPIO21\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 30 complete. Remaining: 28 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 31 =====\r
+APP|[GpioTest] Remaining GPIOs: 28\r
+APP|[GpioTest] Testing output: S_MGPIO19 (pin_t=61)\r
+APP|[GpioTest] Output: S_MGPIO19\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 31 complete. Remaining: 27 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 32 =====\r
+APP|[GpioTest] Remaining GPIOs: 27\r
+APP|[GpioTest] Testing output: S_MGPIO20 (pin_t=62)\r
+APP|[GpioTest] Output: S_MGPIO20\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 32 complete. Remaining: 26 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 33 =====\r
+APP|[GpioTest] Remaining GPIOs: 26\r
+APP|[GpioTest] Testing output: S_AGPIO_R7 (pin_t=121)\r
+APP|[GpioTest] Output: S_AGPIO_R7\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 33 complete. Remaining: 25 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 34 =====\r
+APP|[GpioTest] Remaining GPIOs: 25\r
+APP|[GpioTest] Testing output: S_AGPIO_R8 (pin_t=122)\r
+APP|[GpioTest] Output: S_AGPIO_R8\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 34 complete. Remaining: 24 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 35 =====\r
+APP|[GpioTest] Remaining GPIOs: 24\r
+APP|[GpioTest] Testing output: S_AGPIO_R9 (pin_t=123)\r
+APP|[GpioTest] Output: S_AGPIO_R9\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 35 complete. Remaining: 23 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 36 =====\r
+APP|[GpioTest] Remaining GPIOs: 23\r
+APP|[GpioTest] Testing output: S_AGPIO_L30 (pin_t=111)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_AGPIO_L30\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_AGPIO_L29 (pin_t=110)\r
+APP|[GpioTest] Round 36 complete. Remaining: 21 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 37 =====\r
+APP|[GpioTest] Remaining GPIOs: 21\r
+APP|[GpioTest] Testing output: S_AGPIO_L32 (pin_t=113)\r
+APP|[GpioTest] Output: S_AGPIO_L32\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 37 complete. Remaining: 20 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 38 =====\r
+APP|[GpioTest] Remaining GPIOs: 20\r
+APP|[GpioTest] Testing output: S_AGPIO_L20 (pin_t=101)\r
+APP|[GpioTest] Output: S_AGPIO_L20\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 38 complete. Remaining: 19 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 39 =====\r
+APP|[GpioTest] Remaining GPIOs: 19\r
+APP|[GpioTest] Testing output: S_AGPIO_L15 (pin_t=96)\r
+APP|[GpioTest] Output: S_AGPIO_L15\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 39 complete. Remaining: 18 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 40 =====\r
+APP|[GpioTest] Remaining GPIOs: 18\r
+APP|[GpioTest] Testing output: S_HGPIO5 (pin_t=31)\r
+APP|[GpioTest] Output: S_HGPIO5\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 40 complete. Remaining: 17 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 41 =====\r
+APP|[GpioTest] Remaining GPIOs: 17\r
+APP|[GpioTest] Testing output: S_HGPIO4 (pin_t=30)\r
+APP|[GpioTest] Output: S_HGPIO4\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 41 complete. Remaining: 16 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 42 =====\r
+APP|[GpioTest] Remaining GPIOs: 16\r
+APP|[GpioTest] Testing output: S_HGPIO0 (pin_t=26)\r
+APP|[GpioTest] Output: S_HGPIO0\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 42 complete. Remaining: 15 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 43 =====\r
+APP|[GpioTest] Remaining GPIOs: 15\r
+APP|[GpioTest] Testing output: S_HGPIO1 (pin_t=27)\r
+APP|[GpioTest] Output: S_HGPIO1\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 43 complete. Remaining: 14 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 44 =====\r
+APP|[GpioTest] Remaining GPIOs: 14\r
+APP|[GpioTest] Testing output: S_HGPIO2 (pin_t=28)\r
+APP|[GpioTest] Output: S_HGPIO2\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 44 complete. Remaining: 13 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 45 =====\r
+APP|[GpioTest] Remaining GPIOs: 13\r
+APP|[GpioTest] Testing output: S_HGPIO3 (pin_t=29)\r
+APP|[GpioTest] Output: S_HGPIO3\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 45 complete. Remaining: 12 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 46 =====\r
+APP|[GpioTest] Remaining GPIOs: 12\r
+APP|[GpioTest] Testing output: S_MGPIO3 (pin_t=45)\r
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
+APP|[GpioTest] Output: S_MGPIO3\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 46 complete. Remaining: 11 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 47 =====\r
+APP|[GpioTest] Remaining GPIOs: 11\r
+APP|[GpioTest] Testing output: S_MGPIO1 (pin_t=43)\r
+APP|[GpioTest] Output: S_MGPIO1\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_MGPIO2 (pin_t=44)\r
+APP|[GpioTest] Round 47 complete. Remaining: 9 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 48 =====\r
+APP|[GpioTest] Remaining GPIOs: 9\r
+APP|[GpioTest] Testing output: S_MGPIO0 (pin_t=42)\r
+APP|[GpioTest] Output: S_MGPIO0\r
+APP|[GpioTest] Synced inputs (1):\r
+APP|[GpioTest] - S_MGPIO6 (pin_t=48)\r
+APP|[GpioTest] Round 48 complete. Remaining: 7 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 49 =====\r
+APP|[GpioTest] Remaining GPIOs: 7\r
+APP|[GpioTest] Testing output: S_MGPIO9 (pin_t=51)\r
+APP|[GpioTest] Output: S_MGPIO9\r
+APP|[GpioTest] Synced inputs (2):\r
+APP|[GpioTest] - S_MGPIO8 (pin_t=50)\r
+APP|[GpioTest] - S_MGPIO7 (pin_t=49)\r
+APP|[GpioTest] Round 49 complete. Remaining: 4 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 50 =====\r
+APP|[GpioTest] Remaining GPIOs: 4\r
+APP|[GpioTest] Testing output: S_AGPIO_L28 (pin_t=109)\r
+APP|[GpioTest] Output: S_AGPIO_L28\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 50 complete. Remaining: 3 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 51 =====\r
+APP|[GpioTest] Remaining GPIOs: 3\r
+APP|[GpioTest] Testing output: S_AGPIO_L18 (pin_t=99)\r
+APP|[GpioTest] Output: S_AGPIO_L18\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 51 complete. Remaining: 2 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 52 =====\r
+APP|[GpioTest] Remaining GPIOs: 2\r
+APP|[GpioTest] Testing output: S_HGPIO9 (pin_t=35)\r
+APP|[GpioTest] Output: S_HGPIO9\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 52 complete. Remaining: 1 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Round 53 =====\r
+APP|[GpioTest] Remaining GPIOs: 1\r
+APP|[GpioTest] Testing output: S_AGPIO_L26 (pin_t=107)\r
+APP|[GpioTest] Output: S_AGPIO_L26\r
+APP|[GpioTest] No synced inputs found\r
+APP|[GpioTest] Round 53 complete. Remaining: 0 GPIOs\r
+APP|\r
+APP|[GpioTest] ===== Scanning Complete =====\r
+APP|[GpioTest] Total rounds: 53\r
+GPIO SCAN PAIRS: Success
+APP|app_main run start.\r
+APP|sys_slp: 0x0\r
--- /dev/null
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+"""
+检查67个GPIO是否都在Sparta数字管脚复用说明.md中
+"""
+
+# 从GPIO扫描结果中提取的67个GPIO名称(转换为小写,因为文档中使用小写)
+gpio_list = [
+ "s_agpio_l23", "s_agpio_l12", "s_agpio_l13", "s_agpio_l31", "s_agpio_l3",
+ "s_agpio_l2", "s_agpio_l1", "s_agpio_l4", "s_agpio_l0", "s_agpio_r4",
+ "s_agpio_r5", "s_mgpio14", "s_mgpio13", "s_agpio_r10", "s_mgpio11",
+ "s_mgpio12", "s_agpio_r2", "s_agpio_r1", "s_agpio_l24", "s_agpio_l17",
+ "s_agpio_l21", "s_agpio_l11", "s_agpio_l19", "s_agpio_r0", "s_hgpio13",
+ "s_agpio_r3", "s_agpio_r6", "s_mgpio25", "s_mgpio26", "s_mgpio23",
+ "s_mgpio24", "s_mgpio31", "s_mgpio29", "s_mgpio30", "s_mgpio32",
+ "s_mgpio28", "s_mgpio27", "s_mgpio22", "s_mgpio21", "s_mgpio19",
+ "s_mgpio20", "s_agpio_r7", "s_agpio_r8", "s_agpio_r9", "s_agpio_l30",
+ "s_agpio_l29", "s_agpio_l32", "s_agpio_l20", "s_agpio_l15", "s_hgpio5",
+ "s_hgpio4", "s_hgpio0", "s_hgpio1", "s_hgpio2", "s_hgpio3",
+ "s_mgpio3", "s_mgpio1", "s_mgpio2", "s_mgpio0", "s_mgpio6",
+ "s_mgpio9", "s_mgpio8", "s_mgpio7", "s_agpio_l28", "s_agpio_l18",
+ "s_hgpio9", "s_agpio_l26"
+]
+
+def check_gpio_in_doc(md_file_path):
+ """检查GPIO是否在文档中"""
+ try:
+ with open(md_file_path, 'r', encoding='utf-8') as f:
+ content = f.read().lower() # 转换为小写以便比较
+
+ found_gpios = []
+ missing_gpios = []
+
+ for gpio in gpio_list:
+ gpio_lower = gpio.lower()
+ # 检查GPIO名称是否在文档中(作为独立单词或行首)
+ if gpio_lower in content:
+ found_gpios.append(gpio)
+ else:
+ missing_gpios.append(gpio)
+
+ return found_gpios, missing_gpios
+
+ except Exception as e:
+ print(f"Error reading file: {e}")
+ return [], []
+
+if __name__ == "__main__":
+ md_file = "code/sdk/zhihui/utilscpp/Sparta 数字管脚复用说明.md"
+
+ found, missing = check_gpio_in_doc(md_file)
+
+ print(f"总GPIO数量: {len(gpio_list)}")
+ print(f"在文档中找到: {len(found)}")
+ print(f"在文档中缺失: {len(missing)}")
+ print()
+
+ if missing:
+ print("=" * 60)
+ print("缺失的GPIO:")
+ print("=" * 60)
+ for gpio in sorted(missing):
+ print(f" - {gpio}")
+ print()
+
+ if found:
+ print("=" * 60)
+ print("找到的GPIO:")
+ print("=" * 60)
+ for gpio in sorted(found):
+ print(f" ✓ {gpio}")
+ print()
+
+ if len(missing) == 0:
+ print("✅ 所有67个GPIO都在文档中!")
+ else:
+ print(f"⚠️ 有{len(missing)}个GPIO在文档中缺失")
+
\r
pio_func_init();\r
gpio_func_init();\r
- check_pwrkey_3s();\r
+ // check_pwrkey_3s();\r
if (need_enter_safemode() == true)\r
{\r
PRINT("entering SafeMode\r\n");\r
pmu_msystem_sleep_history_clear();
pm_veto_t *pm_veto_ptr = pm_veto_get_info();
- PRINT("M core run time %d, deepsleep time:%d, lightsleep time:%d, m sleep flag:%d"NEWLINE,
- (uint32_t)los_system_system_run_time(), deepsleep_time, lightsleep_time, (uint8_t)m_core_sleep);
- PRINT("M core deepsleep cnt:%d, lightsleep cnt:%d"NEWLINE, deepsleep_cnt, lightsleep_cnt);
- PRINT("M core last veto id:%d, last veto count:%d, total_counts=%d"NEWLINE, sleep_info->sleep_veto.last_veto_id,
- sleep_info->sleep_veto.last_veto_count, pm_veto_ptr->veto_counts.total_counts);
+ // PRINT("M core run time %d, deepsleep time:%d, lightsleep time:%d, m sleep flag:%d"NEWLINE,
+ // (uint32_t)los_system_system_run_time(), deepsleep_time, lightsleep_time, (uint8_t)m_core_sleep);
+ // PRINT("M core deepsleep cnt:%d, lightsleep cnt:%d"NEWLINE, deepsleep_cnt, lightsleep_cnt);
+ // PRINT("M core last veto id:%d, last veto count:%d, total_counts=%d"NEWLINE, sleep_info->sleep_veto.last_veto_id,
+ // sleep_info->sleep_veto.last_veto_count, pm_veto_ptr->veto_counts.total_counts);
oml_pf_log_print1(LOG_BCORE_PLT_DRIVER_REBOOT, LOG_NUM_DRIVER_LPC, LOG_LEVEL_INFO, "sys_slp: 0x%d", sys_slp);
oml_pf_log_print4(LOG_BCORE_PLT_DRIVER_REBOOT, LOG_NUM_DRIVER_LPC, LOG_LEVEL_INFO,
{ HAL_PIO_FUNC_OPI, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_ENBALE }, // S_EGPIO24
{ HAL_PIO_FUNC_OPI, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_ENBALE }, // S_EGPIO25
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_HGPIO0 NC
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // S_HGPIO1 NC
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // S_HGPIO2 NC
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // S_HGPIO3 NC
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_HGPIO4 NC
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // S_HGPIO5 NC
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // [67GPIO-S_HGPIO0] // S_HGPIO0 NC
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // [67GPIO-S_HGPIO1] // S_HGPIO1 NC
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // [67GPIO-S_HGPIO2] // S_HGPIO2 NC
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // [67GPIO-S_HGPIO3] // S_HGPIO3 NC
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // [67GPIO-S_HGPIO4] // S_HGPIO4 NC
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // [67GPIO-S_HGPIO5] // S_HGPIO5 NC
#if (defined CFG_DRIVERS_NANDFLASH)
{ HAL_PIO_FUNC_QSPI1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // S_HGPIO6
{ HAL_PIO_FUNC_QSPI1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // S_HGPIO7
{ HAL_PIO_FUNC_QSPI1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // S_HGPIO8
- { HAL_PIO_FUNC_QSPI1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // S_HGPIO9
+ { HAL_PIO_FUNC_QSPI1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // [67GPIO-S_HGPIO9] // S_HGPIO9
{ HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_DISABLE }, // S_HGPIO10
{ HAL_PIO_FUNC_QSPI1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_DISABLE }, // S_HGPIO11 cs0
{ HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_DISABLE }, // S_HGPIO12 cs1
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_DISABLE }, // S_HGPIO13
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_DISABLE }, // [67GPIO-S_HGPIO13] // S_HGPIO13
{ HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_DISABLE }, // S_HGPIO14
{ HAL_PIO_FUNC_QSPI1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_DISABLE }, // S_HGPIO15 clk
#else
{ HAL_PIO_FUNC_EMMC, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // S_HGPIO6
{ HAL_PIO_FUNC_EMMC, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // S_HGPIO7
{ HAL_PIO_FUNC_EMMC, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // S_HGPIO8
- { HAL_PIO_FUNC_EMMC, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // S_HGPIO9
+ { HAL_PIO_FUNC_EMMC, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // [67GPIO-S_HGPIO9] // S_HGPIO9
{ HAL_PIO_FUNC_EMMC, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // S_HGPIO10
{ HAL_PIO_FUNC_EMMC, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // S_HGPIO11
{ HAL_PIO_FUNC_EMMC, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // S_HGPIO12
- { HAL_PIO_FUNC_EMMC, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // S_HGPIO13
+ { HAL_PIO_FUNC_EMMC, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // [67GPIO-S_HGPIO13] // S_HGPIO13
{ HAL_PIO_FUNC_EMMC, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // S_HGPIO14
{ HAL_PIO_FUNC_EMMC, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_HGPIO15 emmc clk
#endif
- { HAL_PIO_FUNC_SPI0, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // S_MGPIO0 NC
- { HAL_PIO_FUNC_I2C2_M3, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // S_MGPIO1 I2C2 SCL Sensor 6轴 指南针 心率
- { HAL_PIO_FUNC_I2C2_M3, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // S_MGPIO2 I2C2 SDA Sensor
- { HAL_PIO_FUNC_SPI0, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // S_MGPIO3 NC
+ { HAL_PIO_FUNC_SPI0, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // [67GPIO-S_MGPIO0] // S_MGPIO0 NC
+ { HAL_PIO_FUNC_I2C2_M3, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // [67GPIO-S_MGPIO1] // S_MGPIO1 I2C2 SCL Sensor 6轴 指南针 心率
+ { HAL_PIO_FUNC_I2C2_M3, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // [67GPIO-S_MGPIO2] // S_MGPIO2 I2C2 SDA Sensor
+ { HAL_PIO_FUNC_SPI0, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // [67GPIO-S_MGPIO3] // S_MGPIO3 NC
// #if (defined BRANDY_PRODUCT_EVB4)
{ HAL_PIO_FUNC_SPI0, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // S_MGPIO4 NC
// #endif
{ HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // S_MGPIO5 NC
- { HAL_PIO_FUNC_SPI1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_ENBALE }, // S_MGPIO6 SPI1 DI
- { HAL_PIO_FUNC_SPI1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_ENBALE }, // S_MGPIO7 SPI1 DO
- { HAL_PIO_FUNC_SPI1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_ENBALE }, // S_MGPIO8 SPI1 CLK
- { HAL_PIO_FUNC_SPI1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_ENBALE }, // S_MGPIO9 SPI1 CS0
+ { HAL_PIO_FUNC_SPI1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_ENBALE }, // [67GPIO-S_MGPIO6] // S_MGPIO6 SPI1 DI
+ { HAL_PIO_FUNC_SPI1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_ENBALE }, // [67GPIO-S_MGPIO7] // S_MGPIO7 SPI1 DO
+ { HAL_PIO_FUNC_SPI1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_ENBALE }, // [67GPIO-S_MGPIO8] // S_MGPIO8 SPI1 CLK
+ { HAL_PIO_FUNC_SPI1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_ENBALE }, // [67GPIO-S_MGPIO9] // S_MGPIO9 SPI1 CS0
{ HAL_PIO_FUNC_SPI1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // S_MGPIO10 SPI1 CS1 NC
- { HAL_PIO_FUNC_I2C0_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // S_MGPIO11 i2c0 SCL NC
- { HAL_PIO_FUNC_I2C0_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // S_MGPIO12 I2C0 SDA
- { HAL_PIO_FUNC_I2C1_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_MGPIO13 I2C1 SCL touch i2c
- { HAL_PIO_FUNC_I2C1_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_MGPIO14 I2C1 SDA
+ { HAL_PIO_FUNC_I2C0_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // [67GPIO-S_MGPIO11] // S_MGPIO11 i2c0 SCL NC
+ { HAL_PIO_FUNC_I2C0_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // [67GPIO-S_MGPIO12] // S_MGPIO12 I2C0 SDA
+ { HAL_PIO_FUNC_I2C1_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // [67GPIO-S_MGPIO13] // S_MGPIO13 I2C1 SCL touch i2c
+ { HAL_PIO_FUNC_I2C1_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // [67GPIO-S_MGPIO14] // S_MGPIO14 I2C1 SDA
{ HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // S_MGPIO15 I2C2 SCL Sensor 6轴 指南针 心率
{ HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // S_MGPIO16 I2C2 SDA Sensor
{ HAL_PIO_FUNC_I2C3_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_MGPIO17 i2c3 SCL smart pa\ 预留马达控制 \安全芯片
{ HAL_PIO_FUNC_I2C3_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_MGPIO18 I2C3 SDA
- { HAL_PIO_FUNC_UART1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_DISABLE }, // S_MGPIO19 uart1 tx
- { HAL_PIO_FUNC_UART1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // S_MGPIO20 uart1 rx
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_MGPIO21 uart1 rts
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // S_MGPIO22 uart1 cts
- { HAL_PIO_FUNC_SPI2_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // S_MGPIO23 NC
- { HAL_PIO_FUNC_SPI2_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // S_MGPIO24 NC
- { HAL_PIO_FUNC_SPI2_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // S_MGPIO25 NC
- { HAL_PIO_FUNC_SPI2_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // S_MGPIO26 NC
+ { HAL_PIO_FUNC_UART1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_DISABLE }, // [67GPIO-S_MGPIO19] // S_MGPIO19 uart1 tx
+ { HAL_PIO_FUNC_UART1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // [67GPIO-S_MGPIO20] // S_MGPIO20 uart1 rx
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // [67GPIO-S_MGPIO21] // S_MGPIO21 uart1 rts
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // [67GPIO-S_MGPIO22] // S_MGPIO22 uart1 cts
+ { HAL_PIO_FUNC_SPI2_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // [67GPIO-S_MGPIO23] // S_MGPIO23 NC
+ { HAL_PIO_FUNC_SPI2_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // [67GPIO-S_MGPIO24] // S_MGPIO24 NC
+ { HAL_PIO_FUNC_SPI2_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // [67GPIO-S_MGPIO25] // S_MGPIO25 NC
+ { HAL_PIO_FUNC_SPI2_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // [67GPIO-S_MGPIO26] // S_MGPIO26 NC
#if (defined QSPI_DISPLAY)
- { HAL_PIO_FUNC_QSPI2, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_MGPIO27
- { HAL_PIO_FUNC_QSPI2, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_MGPIO28
- { HAL_PIO_FUNC_QSPI2, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_MGPIO29
- { HAL_PIO_FUNC_QSPI2, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_MGPIO30
- { HAL_PIO_FUNC_QSPI2, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_MGPIO31
- { HAL_PIO_FUNC_QSPI2, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_MGPIO32
+ { HAL_PIO_FUNC_QSPI2, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // [67GPIO-S_MGPIO27] // S_MGPIO27
+ { HAL_PIO_FUNC_QSPI2, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // [67GPIO-S_MGPIO28] // S_MGPIO28
+ { HAL_PIO_FUNC_QSPI2, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // [67GPIO-S_MGPIO29] // S_MGPIO29
+ { HAL_PIO_FUNC_QSPI2, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // [67GPIO-S_MGPIO30] // S_MGPIO30
+ { HAL_PIO_FUNC_QSPI2, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // [67GPIO-S_MGPIO31] // S_MGPIO31
+ { HAL_PIO_FUNC_QSPI2, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // [67GPIO-S_MGPIO32] // S_MGPIO32
#else
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_MGPIO27
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_MGPIO28
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_MGPIO29
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_MGPIO30
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_MGPIO31
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_MGPIO32
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // [67GPIO-S_MGPIO27] // S_MGPIO27
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // [67GPIO-S_MGPIO28] // S_MGPIO28
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // [67GPIO-S_MGPIO29] // S_MGPIO29
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // [67GPIO-S_MGPIO30] // S_MGPIO30
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // [67GPIO-S_MGPIO31] // S_MGPIO31
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // [67GPIO-S_MGPIO32] // S_MGPIO32
#endif
{ HAL_PIO_FUNC_UART_HS_UART, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_MGPIO33 huart tx
{ HAL_PIO_FUNC_UART_HS_UART, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // S_MGPIO34 huart rx
{ HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // S_MGPIO38 uart rx NC
#endif
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_AGPIO_L0 NC
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // [67GPIO-S_AGPIO_L0] // S_AGPIO_L0 NC
- { HAL_PIO_FUNC_I2S1_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_AGPIO_L1 i2s1
- { HAL_PIO_FUNC_I2S1_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_AGPIO_L2
- { HAL_PIO_FUNC_I2S1_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_AGPIO_L3
- { HAL_PIO_FUNC_I2S1_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_AGPIO_L4
+ { HAL_PIO_FUNC_I2S1_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // [67GPIO-S_AGPIO_L1] // S_AGPIO_L1 i2s1
+ { HAL_PIO_FUNC_I2S1_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // [67GPIO-S_AGPIO_L2] // S_AGPIO_L2
+ { HAL_PIO_FUNC_I2S1_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // [67GPIO-S_AGPIO_L3] // S_AGPIO_L3
+ { HAL_PIO_FUNC_I2S1_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // [67GPIO-S_AGPIO_L4] // S_AGPIO_L4
{ HAL_PIO_FUNC_I2S0_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_AGPIO_L5
{ HAL_PIO_FUNC_I2S0_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_AGPIO_L6 i2s0
{ HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_AGPIO_L9 dsp uart TP35
{ HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_AGPIO_L10 dsp uart TP36
#endif
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // S_AGPIO_L11 G_INT1
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // [67GPIO-S_AGPIO_L11] // S_AGPIO_L11 G_INT1
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // S_AGPIO_L12 i2c data HX3507_SDIO
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_AGPIO_L13 i2c CLK HX3507_SCLK
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // [67GPIO-S_AGPIO_L12] // S_AGPIO_L12 i2c data HX3507_SDIO
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // [67GPIO-S_AGPIO_L13] // S_AGPIO_L13 i2c CLK HX3507_SCLK
{ HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_DISABLE }, // S_AGPIO_L14 NC
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // S_AGPIO_L15 NC
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // [67GPIO-S_AGPIO_L15] // S_AGPIO_L15 NC
{ HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_AGPIO_L16 NC
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // S_AGPIO_L17 HX3507_INT not use
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_AGPIO_L18 VDDEN //暂时无用,采用VDDIO 默认开启 EXt V3.0 EXt V1.8
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_DISABLE }, // S_AGPIO_L19 G_INT2 //暂时不用
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // [67GPIO-S_AGPIO_L17] // S_AGPIO_L17 HX3507_INT not use
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // [67GPIO-S_AGPIO_L18] // S_AGPIO_L18 VDDEN //暂时无用,采用VDDIO 默认开启 EXt V3.0 EXt V1.8
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_DISABLE }, // [67GPIO-S_AGPIO_L19] // S_AGPIO_L19 G_INT2 //暂时不用
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_DISABLE }, // S_AGPIO_L20 0.2C_CHRG
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_AGPIO_L21 NTC_VDD_ON给低打开 NTC上拉电源
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_DISABLE }, // [67GPIO-S_AGPIO_L20] // S_AGPIO_L20 0.2C_CHRG
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // [67GPIO-S_AGPIO_L21] // S_AGPIO_L21 NTC_VDD_ON给低打开 NTC上拉电源
#ifdef QSPI_DISPLAY
{ HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_AGPIO_L22 QSPI TE
#else
{ HAL_PIO_FUNC_TE, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_AGPIO_L22 MIPI TE
#endif
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_AGPIO_L23 CAT_1_PWR_ON 控制CAT_1开机脚,或者控制 CAT1电源 拉高有效
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_AGPIO_L24 LCM_EN
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // [67GPIO-S_AGPIO_L23] // S_AGPIO_L23 CAT_1_PWR_ON 控制CAT_1开机脚,或者控制 CAT1电源 拉高有效
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // [67GPIO-S_AGPIO_L24] // S_AGPIO_L24 LCM_EN
{ HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_AGPIO_L25 //////////// audio pa reset
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_AGPIO_L26 心率复位 PPG reset
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // [67GPIO-S_AGPIO_L26] // S_AGPIO_L26 心率复位 PPG reset
{ HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_AGPIO_L27 LCM reset
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // S_AGPIO_L28 CAT_1复位 CAT1_RESET_N 拉低有效 key4
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_AGPIO_L29 charge done info 检测是否充满电
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_AGPIO_L30 KP_MKIN1 唤醒 CAT1 ,输出
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_AGPIO_L31 KP_MKOUIT1 唤醒 蓝牙 ,输入
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_AGPIO_L32 NC
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // [67GPIO-S_AGPIO_L28] // S_AGPIO_L28 CAT_1复位 CAT1_RESET_N 拉低有效 key4
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // [67GPIO-S_AGPIO_L29] // S_AGPIO_L29 charge done info 检测是否充满电
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // [67GPIO-S_AGPIO_L30] // S_AGPIO_L30 KP_MKIN1 唤醒 CAT1 ,输出
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // [67GPIO-S_AGPIO_L31] // S_AGPIO_L31 KP_MKOUIT1 唤醒 蓝牙 ,输入
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // [67GPIO-S_AGPIO_L32] // S_AGPIO_L32 NC
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_AGPIO_R0 PRG_LED_POWER ON 心率等电源控制脚
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_AGPIO_R1 SE_REST 安全芯片复位唤醒脚
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // [67GPIO-S_AGPIO_R0] // S_AGPIO_R0 PRG_LED_POWER ON 心率等电源控制脚
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // [67GPIO-S_AGPIO_R1] // S_AGPIO_R1 SE_REST 安全芯片复位唤醒脚
// #if VIB_USE_PWM
- // { HAL_PIO_FUNC_PWMP1_M2, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // S_AGPIO_R2 VIBR_PWM 马达控制脚 兼容预留马达驱动复位脚
- // { HAL_PIO_FUNC_PWMN1_M3, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // S_AGPIO_R2 VIBR_PWM 马达控制脚 兼容预留马达驱动复位脚
+ // [67GPIO-S_AGPIO_R2] // { HAL_PIO_FUNC_PWMP1_M2, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // S_AGPIO_R2 VIBR_PWM 马达控制脚 兼容预留马达驱动复位脚
+ // [67GPIO-S_AGPIO_R2] // { HAL_PIO_FUNC_PWMN1_M3, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // S_AGPIO_R2 VIBR_PWM 马达控制脚 兼容预留马达驱动复位脚
// #else
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // S_AGPIO_R2 VIBR_PWM 马达控制脚 兼容预留马达驱动复位脚
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // [67GPIO-S_AGPIO_R2] // S_AGPIO_R2 VIBR_PWM 马达控制脚 兼容预留马达驱动复位脚
// #endif
#ifdef BOARD_N9
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // S_AGPIO_R3 NC
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // [67GPIO-S_AGPIO_R3] // S_AGPIO_R3 NC
#else
{ HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_DISABLE },
#endif
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_DISABLE }, // S_AGPIO_R4 tp reset
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_AGPIO_R5 touch int
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_AGPIO_R6 PRG_INT 心率中断
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_AGPIO_R7 GYRO_INT2
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_DISABLE }, // [67GPIO-S_AGPIO_R4] // S_AGPIO_R4 tp reset
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // [67GPIO-S_AGPIO_R5] // S_AGPIO_R5 touch int
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // [67GPIO-S_AGPIO_R6] // S_AGPIO_R6 PRG_INT 心率中断
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // [67GPIO-S_AGPIO_R7] // S_AGPIO_R7 GYRO_INT2
#ifdef SUPPORT_GYRO_SERVICE
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_AGPIO_R8 GYRO_INT1
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // [67GPIO-S_AGPIO_R8] // S_AGPIO_R8 GYRO_INT1
#else
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_AGPIO_R8 GYRO_INT1
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // [67GPIO-S_AGPIO_R8] // S_AGPIO_R8 GYRO_INT1
#endif
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_AGPIO_R9 BAT_CHARGE_OFF 关掉充电 温度高的时候
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // S_AGPIO_R10 Key2 ///////////////////HAL_PIO_IE_ENBALE input enable
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // [67GPIO-S_AGPIO_R9] // S_AGPIO_R9 BAT_CHARGE_OFF 关掉充电 温度高的时候
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_UP, HAL_PIO_IE_ENBALE }, // [67GPIO-S_AGPIO_R10] // S_AGPIO_R10 Key2 ///////////////////HAL_PIO_IE_ENBALE input enable
#if CORE == APPS
{ HAL_PIO_FUNC_INVALID, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // ULP_GPIO0 mode not config
const hal_gpio_config_t g_gpio_function_config[PIN_MAX_NUMBER] = {
#if DEFAULT_POWERON_CAT1
- // S_AGPIO_L23 CAT_1_PWR_ON ----- high power on
+ // [67GPIO-S_AGPIO_L23] // S_AGPIO_L23 CAT_1_PWR_ON ----- high power on
{ S_AGPIO_L23, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_HIGH, 0, NULL },
- // S_AGPIO_L28 Cat1 reset ---- low reset
+ // [67GPIO-S_AGPIO_L28] // S_AGPIO_L28 Cat1 reset ---- low reset
{ S_AGPIO_L24, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_HIGH, 0, NULL },
#else
- // S_AGPIO_L23 CAT_1_PWR_ON ----- high power on
+ // [67GPIO-S_AGPIO_L23] // S_AGPIO_L23 CAT_1_PWR_ON ----- high power on
{ S_AGPIO_L23, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL },
- // S_AGPIO_L28 Cat1 reset ---- low reset
- // { S_AGPIO_L24, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL },
+ // [67GPIO-S_AGPIO_L28] // S_AGPIO_L28 Cat1 reset ---- low reset
+ // [67GPIO-S_AGPIO_L24] // { S_AGPIO_L24, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL },
#endif
- // S_AGPIO_L17 HX3507_INT
- // { S_AGPIO_L17, HAL_GPIO_DIRECTION_INPUT, HAL_GPIO_LEVEL_LOW, 0, NULL },
- // S_AGPIO_L12 SDIO_BT
- // { S_AGPIO_L12, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL },
- // // S_AGPIO_L13 SCLK_BT
- // { S_AGPIO_L13, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL },
+ // [67GPIO-S_AGPIO_L17] // S_AGPIO_L17 HX3507_INT
+ // [67GPIO-S_AGPIO_L17] // { S_AGPIO_L17, HAL_GPIO_DIRECTION_INPUT, HAL_GPIO_LEVEL_LOW, 0, NULL },
+ // [67GPIO-S_AGPIO_L12] // S_AGPIO_L12 SDIO_BT
+ // [67GPIO-S_AGPIO_L12] // { S_AGPIO_L12, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL },
+ // [67GPIO-S_AGPIO_L13] // // S_AGPIO_L13 SCLK_BT
+ // [67GPIO-S_AGPIO_L13] // { S_AGPIO_L13, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL },
- // S_AGPIO_L26 心率复位 PPG reset
- // { S_AGPIO_L26, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL },
- // S_AGPIO_R0 PRG_LED_POWER ON 心率等电源控制脚
- // { S_AGPIO_R0, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL },
+ // [67GPIO-S_AGPIO_L26] // S_AGPIO_L26 心率复位 PPG reset
+ // [67GPIO-S_AGPIO_L26] // { S_AGPIO_L26, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL },
+ // [67GPIO-S_AGPIO_R0] // S_AGPIO_R0 PRG_LED_POWER ON 心率等电源控制脚
+ // [67GPIO-S_AGPIO_R0] // { S_AGPIO_R0, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL },
- //S_AGPIO_L21 NTC_VDD_ON 给低打开 NTC上拉电源 ,默认关闭
+ // [67GPIO-S_AGPIO_L21] //S_AGPIO_L21 NTC_VDD_ON 给低打开 NTC上拉电源 ,默认关闭
{ S_AGPIO_L21, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_HIGH, 0, NULL },
#if 0 //默认正常充电
-// #define GPIO_PIN_ENABLE_CHARGE S_AGPIO_R9 //low enable
-// #define GPIO_PIN_ENABLE_CHARGE_0_2C S_AGPIO_L20 //low 0.2c 低电流充电
+// [67GPIO-S_AGPIO_R9] // #define GPIO_PIN_ENABLE_CHARGE S_AGPIO_R9 //low enable
+// [67GPIO-S_AGPIO_L20] // #define GPIO_PIN_ENABLE_CHARGE_0_2C S_AGPIO_L20 //low 0.2c 低电流充电
{ S_AGPIO_R9, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL },
{ S_AGPIO_L20, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL },
#else
//默认开启 EXT LDO V3.0 V1.8
- // { S_AGPIO_L18, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_HIGH, 0, NULL },
+ // [67GPIO-S_AGPIO_L18] // { S_AGPIO_L18, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_HIGH, 0, NULL },
{ S_AGPIO_L14, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_HIGH, 0, NULL },
#ifdef SUPPORT_CYWEE_SERVICE
/**G sensor G_INT1 S_AGPIO_L11 G_INT2 S_AGPIO_L19 采用timer 时这些中断要屏蔽*/
{ S_AGPIO_L11, HAL_GPIO_DIRECTION_INPUT, NULL, GPIO_INTERRUPT_RISING_EDGE, cywee_int_callback },
- //{ S_AGPIO_L19, HAL_GPIO_DIRECTION_INPUT, NULL, GPIO_INTERRUPT_DEDGE, cywee_int_callback },
+ // [67GPIO-S_AGPIO_L19] //{ S_AGPIO_L19, HAL_GPIO_DIRECTION_INPUT, NULL, GPIO_INTERRUPT_DEDGE, cywee_int_callback },
#endif
/**S_AGPIO_R1 GPO alipay默认resetpin*/
- // { S_AGPIO_R1, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_HIGH, 0, NULL },
+ // [67GPIO-S_AGPIO_R1] // { S_AGPIO_R1, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_HIGH, 0, NULL },
#ifdef SUPPORT_CAT1_SERVICE
/**cat1 ring input key*/
- // { S_AGPIO_L31, HAL_GPIO_DIRECTION_INPUT, NULL, GPIO_INTERRUPT_DEDGE, cat1_ring_isr_callback},
- // { S_AGPIO_L31, HAL_GPIO_DIRECTION_INPUT, NULL, GPIO_INTERRUPT_RISING_EDGE, cat1_ring_isr_callback},
+ // [67GPIO-S_AGPIO_L31] // { S_AGPIO_L31, HAL_GPIO_DIRECTION_INPUT, NULL, GPIO_INTERRUPT_DEDGE, cat1_ring_isr_callback},
+ // [67GPIO-S_AGPIO_L31] // { S_AGPIO_L31, HAL_GPIO_DIRECTION_INPUT, NULL, GPIO_INTERRUPT_RISING_EDGE, cat1_ring_isr_callback},
#endif
};
#elif defined(SUPPORT_PPP_SERVICE_INTERRUPT) || defined(SUPPORT_CAT1_SERVICE)
{
{
- .tx_pin = S_MGPIO19,
- .rx_pin = S_MGPIO20,
+ .tx_pin = PIN_NONE,
+ .rx_pin = PIN_NONE,
.cts_pin = PIN_NONE,
.rts_pin = PIN_NONE
},
{
- .tx_pin_mode = (pin_mode_t)HAL_PIO_FUNC_UART1,
- .rx_pin_mode = (pin_mode_t)HAL_PIO_FUNC_UART1,
+ .tx_pin_mode = (pin_mode_t)HAL_PIO_FUNC_MAX,
+ .rx_pin_mode = (pin_mode_t)HAL_PIO_FUNC_MAX,
.cts_pin_mode = (pin_mode_t)HAL_PIO_FUNC_MAX,
.rts_pin_mode = (pin_mode_t)HAL_PIO_FUNC_MAX
},
#else // SUPPORT_CAT1_SERVICE
{
{
- .tx_pin = S_MGPIO19,
- .rx_pin = S_MGPIO20,
+ .tx_pin = PIN_NONE,
+ .rx_pin = PIN_NONE,
.cts_pin = PIN_NONE,
.rts_pin = PIN_NONE
},
{
- .tx_pin_mode = (pin_mode_t)HAL_PIO_FUNC_UART1,
- .rx_pin_mode = (pin_mode_t)HAL_PIO_FUNC_UART1,
+ .tx_pin_mode = (pin_mode_t)HAL_PIO_FUNC_MAX,
+ .rx_pin_mode = (pin_mode_t)HAL_PIO_FUNC_MAX,
.cts_pin_mode = (pin_mode_t)HAL_PIO_FUNC_MAX,
.rts_pin_mode = (pin_mode_t)HAL_PIO_FUNC_MAX
},
uint32_t stick = 0;
uint32_t sample_zero_count = 0;
//开启 battery NTC 开关
- if(channel != ADC_CHANNEL_BAT_VOLTAGE)
- uapi_gpio_set_val(BATTERY_NTC_GPIO,GPIO_LEVEL_LOW);
+ // if(channel != ADC_CHANNEL_BAT_VOLTAGE)
+ // uapi_gpio_set_val(BATTERY_NTC_GPIO,GPIO_LEVEL_LOW);
if (channel >= ADC_CHANNEL_4) {
sample_number = HAL_ADC_SAMPLE_NUMBER_CONFIG_1;
// osal_printk("channel = %d , stick = %d , voltage = %.04f.\r\n", channel,stick,*voltage);
//关闭 battery NTC 电源
- if(channel != ADC_CHANNEL_BAT_VOLTAGE)
- uapi_gpio_set_val(BATTERY_NTC_GPIO,GPIO_LEVEL_HIGH);
+ // if(channel != ADC_CHANNEL_BAT_VOLTAGE)
+ // uapi_gpio_set_val(BATTERY_NTC_GPIO,GPIO_LEVEL_HIGH);
UNUSED(discard_number);
return true;
if (argc < 1) {
wstp_print("GPIO TEST ATCMD Set Parameter Failed argc %d\n", argc);
wstp_print("Usage: AT^GPIOTEST=cmd\n");
- wstp_print(" cmd: 1=add config (requires total_size,packet_num,packet_bytes,hexstr), 2=start test, 3=stop test\n");
+ wstp_print(" cmd: 1=add config (requires total_size,packet_num,packet_bytes,hexstr), 2=start test, 3=stop test, 4=scan pairs\n");
return ERRCODE_FAIL;
}
}
}
break;
+ case 4: // 扫描配对关系
+ {
+ extern int custom_gpio_test_scan_pairs(void);
+ int ret = custom_gpio_test_scan_pairs();
+ if (ret == 0) {
+ wstp_print("GPIO SCAN PAIRS: Success\n");
+ } else {
+ wstp_print("GPIO SCAN PAIRS: Failed, ret=%d\n", ret);
+ }
+ }
+ break;
default:
wstp_print("GPIO TEST ATCMD Unknown command %d\n", cmd);
wstp_print("Usage: AT^GPIOTEST=cmd\n");
- wstp_print(" cmd: 1=add config (requires hexstr,is_last), 2=start test, 3=stop test\n");
+ wstp_print(" cmd: 1=add config (requires total_size,packet_num,packet_bytes,hexstr), 2=start test, 3=stop test, 4=scan pairs\n");
+ return ERRCODE_FAIL;
+ }
+
+ return ERRCODE_SUCC;
+}
+
+// 蓝牙扫描测试AT指令实现
+// 用法:
+// AT^BTSCANTEST=1 - 开始扫描
+// AT^BTSCANTEST=2 - 停止扫描
+static uint32_t custom_bt_scan_test(uint8_t *para, uint32_t paraLen, char *strCommonCmd)
+{
+ UNUSED(strCommonCmd);
+ uint8_t argv[CUSTOM_UTILS_MAX_ARGC][CUSTOM_UTILS_MAX_ARGV_LEN] = { 0 };
+ uint32_t argc = 0;
+
+ int ret = ConvertCmdToParam(para, paraLen, argv, &argc);
+ if (ret != CUSTOM_UTILS_SUCCESS) {
+ wstp_print("BT SCAN TEST ATCMD Convert Command Failed\n");
+ return ERRCODE_FAIL;
+ }
+
+ if (argc < 1) {
+ wstp_print("BT SCAN TEST ATCMD Set Parameter Failed argc %d\n", argc);
+ wstp_print("Usage: AT^BTSCANTEST=cmd\n");
+ wstp_print(" cmd: 1=start scan, 2=stop scan\n");
+ return ERRCODE_FAIL;
+ }
+
+ uint8_t cmd = (uint8_t)atoi((char*)argv[0]);
+
+ switch (cmd) {
+ case 1: // 开始扫描
+ {
+ extern int custom_bt_scan_test_start(void);
+ int ret = custom_bt_scan_test_start();
+ if (ret == 0) {
+ wstp_print("BT SCAN TEST START: Success\n");
+ } else {
+ wstp_print("BT SCAN TEST START: Failed, ret=%d\n", ret);
+ }
+ }
+ break;
+ case 2: // 停止扫描
+ {
+ extern int custom_bt_scan_test_stop(void);
+ int ret = custom_bt_scan_test_stop();
+ if (ret == 0) {
+ wstp_print("BT SCAN TEST STOP: Success\n");
+ } else {
+ wstp_print("BT SCAN TEST STOP: Failed, ret=%d\n", ret);
+ }
+ }
+ break;
+ default:
+ wstp_print("BT SCAN TEST ATCMD Unknown command %d\n", cmd);
+ wstp_print("Usage: AT^BTSCANTEST=cmd\n");
+ wstp_print(" cmd: 1=start scan, 2=stop scan\n");
return ERRCODE_FAIL;
}
{ (char *)"AT^AUDIOTEST", custom_audio_test, (char *)" " },
// GPIO测试AT指令
{ (char *)"AT^GPIOTEST", custom_gpio_test, (char *)" " },
+ // 蓝牙扫描测试AT指令(新实现)
+ { (char *)"AT^BTSCANTEST", custom_bt_scan_test, (char *)" " },
{ (char *)"AT^FACTORY", custom_enter_factory_test_mode, (char *)" " },
{ (char *)"AT^SETUART", custom_set_uart_status, (char *)" " },
{ (char *)"AT^GETBTMAC", custom_get_btmac, (char *)" " },
${CMAKE_CURRENT_SOURCE_DIR}/audio_test.cpp
${CMAKE_CURRENT_SOURCE_DIR}/pcm_volume_calculator.cpp
${CMAKE_CURRENT_SOURCE_DIR}/gpio_test.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/bt_scan_test.cpp
)
set(PUBLIC_HEADER
--- /dev/null
+# Sparta 数字管脚复用说明
+
+*Converted from PDF - 2 pages*
+
+---
+
+## Page 1
+
+### Brandy数字管脚复用说明
+
+### 方向 功能复用 方向 功能复用 方向 功能复用 方向 功能复用 方向 功能复用 方向 功能复用 方向 功能复用 方向 功能复用
+
+ulp_gpio0 IO ulp_gpio0 I-Hiz no-func I-Hiz no-func I-Hiz no-func I-Hiz no-func I-Hiz no-func I-Hiz no-func I-Hiz no-func
+
+ulp_gpio1 IO ulp_gpio1 I-Hiz no-func I-Hiz no-func I-Hiz no-func I-Hiz no-func I-Hiz no-func I-Hiz no-func I-Hiz no-func
+
+ulp_gpio2 IO ulp_gpio2 I-Hiz no-func I-Hiz no-func I-Hiz no-func I-Hiz no-func I-Hiz no-func I-Hiz no-func I-Hiz no-func
+
+ulp_gpio3 IO ulp_gpio3 I-Hiz no-func I-Hiz no-func I-Hiz no-func I-Hiz no-func I-Hiz no-func I-Hiz no-func I-Hiz no-func
+
+ulp_gpio4 IO ulp_gpio4 O pwr_sw I-Hiz no-func I-Hiz no-func I-Hiz no-func I-Hiz no-func I-Hiz no-func I-Hiz no-func
+
+ulp_gpio5 IO ulp_gpio5 IO swd_data I-Hiz no-func I-Hiz no-func I-Hiz no-func I-Hiz no-func I-Hiz no-func I-Hiz no-func
+
+ulp_gpio6 IO ulp_gpio6 I swd_clk I-Hiz no-func I-Hiz no-func I-Hiz no-func I-Hiz no-func I-Hiz no-func I-Hiz no-func
+
+### 方向 功能复用 方向 功能复用 方向 功能复用 方向 功能复用 方向 功能复用 方向 功能复用 方向 功能复用 方向 功能复用
+
+s_egpio0 IO s_egpio0 IOqspi0_d[0] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_egpio1 IO s_egpio1 IOqspi0_d[1] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_egpio2 IO s_egpio2 IOqspi0_d[2] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_egpio3 IO s_egpio3 IOqspi0_d[3] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_egpio4 IO s_egpio4 Oqspi0_clk I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_egpio5 IO s_egpio5 Oqspi0_cs[0] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_egpio22 IO s_egpio22 Oopi_x16_clk I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_egpio23 IO s_egpio23 Oopi_x16_ce I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_egpio24 IO s_egpio24 IOopi_x16_dqs[0] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_egpio25 IO s_egpio25 IOopi_x16_dqs[1] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_hgpio0 IO s_hgpio0 IOsdio_h_d[0] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_hgpio1 IO s_hgpio1 IOsdio_h_d[1] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_hgpio2 IO s_hgpio2 IOsdio_h_d[2] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_hgpio3 IO s_hgpio3 IOsdio_h_d[3] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_hgpio4 IO s_hgpio4 Osdio_h_clk I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_hgpio5 IO s_hgpio5 IOsdio_h_cmd I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_hgpio6 IO s_hgpio6 IOqspi1_d[0] IOemmc_d[0] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_hgpio7 IO s_hgpio7 IOqspi1_d[1] IOemmc_d[1] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_hgpio8 IO s_hgpio8 IOqspi1_d[2] IOemmc_d[2] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_hgpio9 IO s_hgpio9 IOqspi1_d[3] IOemmc_d[3] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_hgpio10 IO s_hgpio10 I-Hizno-func IOemmc_d[4] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_hgpio11 IO s_hgpio11 IOqspi1_cs[0] IOemmc_d[5] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_hgpio12 IO s_hgpio12 IOqspi1_cs[1] IOemmc_d[6] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_hgpio13 IO s_hgpio13 I-Hizno-func IOemmc_d[7] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_hgpio14 IO s_hgpio14 I-Hizno-func IOemmc_cmd I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_hgpio15 IO s_hgpio15 Oqspi1_clk Oemmc_clk I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_mgpio0 IO s_mgpio0 Ispi0_di I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_mgpio1 IO s_mgpio1 Ospi0_do I-Hizno-func IOi2c2_scl I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_mgpio2 IO s_mgpio2 Ospi0_clk I-Hizno-func IOi2c2_sda I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_mgpio3 IO s_mgpio3 Ospi0_cs[0] I-Hizno-func IOi2c3_scl I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_mgpio4 IO s_mgpio4 O spi0_cs[1] I-Hiz no-func IO i2c3_sda I-Hiz no-func I-Hiz no-func I-Hiz no-func I-Hiz no-func
+
+s_mgpio5 IO s_mgpio5 I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_mgpio6 IO s_mgpio6 Ispi1_di I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_mgpio7 IO s_mgpio7 Ospi1_do I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_mgpio8 IO s_mgpio8 IOspi1_clk I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_mgpio9 IO s_mgpio9 IOspi1_cs0 I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_mgpio10 IO s_mgpio10 Ospi1_cs1 I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_mgpio11 IO s_mgpio11 IOi2c0_scl I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_mgpio12 IO s_mgpio12 IOi2c0_sda I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_mgpio13 IO s_mgpio13 IOi2c1_scl I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_mgpio14 IO s_mgpio14 IOi2c1_sda I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_mgpio15 IO s_mgpio15 IOi2c2_scl I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_mgpio16 IO s_mgpio16 IOi2c2_sda I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_mgpio17 IO s_mgpio17 IOi2c3_scl I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_mgpio18 IO s_mgpio18 IOi2c3_sda I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_mgpio19 IO s_mgpio19 Ouart1_txd I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_mgpio20 IO s_mgpio20 Iuart1_rxd I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_mgpio21 IO s_mgpio21 Ouart1_rts I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_mgpio22 IO s_mgpio22 Iuart1_cts I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_mgpio23 IO s_mgpio23 Ispi2_di I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func Oextlna_ctrl I-Hizno-func
+
+s_mgpio24 IO s_mgpio24 Ospi2_do I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func Oextlna_rx_en I-Hizno-func
+
+s_mgpio25 IO s_mgpio25 IOspi2_clk Oclkout[0] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_mgpio26 IO s_mgpio26 IOspi2_cs Oclkout[1] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-funccfg_gpio_N_bit_mode==5 cfg_gpio_N_bit_mode==6 cfg_gpio_N_bit_mode==7管脚名称cfg_gpio_N_bit_mode==0 cfg_gpio_N_bit_mode==1 cfg_gpio_N_bit_mode==2 cfg_gpio_N_bit_mode==3 cfg_gpio_N_bit_mode==4宏定义中管脚定义与此表管脚名称的对应关系见具体软件代码注释
+
+管脚名称cfg_ulpgpio_bit_mode==6 cfg_ulpgpio_bit_mode==7 cfg_ulpgpio_bit_mode==0 cfg_ulpgpio_bit_mode==1 cfg_ulpgpio_bit_mode==2 cfg_ulpgpio_bit_mode==3 cfg_ulpgpio_bit_mode==4 cfg_ulpgpio_bit_mode==5
+
+### 2023/9/26 第1页,共2页
+
+
+---
+
+## Page 2
+
+### Brandy数字管脚复用说明
+
+### 方向 功能复用 方向 功能复用 方向 功能复用 方向 功能复用 方向 功能复用 方向 功能复用 方向 功能复用 方向 功能复用
+
+s_mgpio27 IO s_mgpio27 IOqspi2_d[0] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func Obt_wifi_sw I-Hizno-func
+
+s_mgpio28 IO s_mgpio28 IOqspi2_d[1] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func Obt_act I-Hizno-func
+
+s_mgpio29 IO s_mgpio29 IOqspi2_d[2] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func Obt_freq I-Hizno-func
+
+s_mgpio30 IO s_mgpio30 Oqspi2_d[3] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func Obt_status I-Hizno-func
+
+s_mgpio31 IO s_mgpio31 Oqspi2_clk I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func Iwlan_act I-Hizno-func
+
+s_mgpio32 IO s_mgpio32 Oqspi2_cs[0] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func Obt_dual_ant_sw I-Hizno-func
+
+s_mgpio33 IO s_mgpio33 Ohsuart_txd I-Hizno-func Opwmp[0] Opwmn[0] IOi2c0_scl I-Hizno-func I-Hizno-func
+
+s_mgpio34 IO s_mgpio34 Ihsuart_rxd I-Hizno-func Opwmp[1] Opwmn[1] IOi2c0_sda I-Hizno-func I-Hizno-func
+
+s_mgpio35 IO s_mgpio35 Ohsuart_rts I-Hizno-func Opwmp[2] Opwmn[2] IOi2c1_scl I-Hizno-func I-Hizno-func
+
+s_mgpio36 IO s_mgpio36 Ihsuart_cts I-Hizno-func Opwmp[3] Opwmn[3] IOi2c1_sda I-Hizno-func I-Hizno-func
+
+s_mgpio37 IO s_mgpio37 I-Hizno-func Ouart2_txd Oclkout[0] Iclkin IOi2c3_scl I-Hizno-func I-Hizno-func
+
+s_mgpio38 IO s_mgpio38 I-Hizno-func Iuart2_rxd Oclkout[1] I-Hizno-func IOi2c3_sda I-Hizno-func I-Hizno-func
+
+s_agpio_l0 IO s_agpio_l0 Oclkout[1] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_l1 IO s_agpio_l1 IOi2s1_clk Opdm_clk[0] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_l2 IO s_agpio_l2 IOi2s1_ws Ipdm_d[0] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_l3 IO s_agpio_l3 Oi2s1_do Ouart2_txd I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_l4 IO s_agpio_l4 Ii2s1_di Iuart2_rxd I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_l5 IO s_agpio_l5 IOi2s0_clk I-Hizno-func Opwmp[0] Opwmn[0] I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_l6 IO s_agpio_l6 IOi2s0_ws I-Hizno-func Opwmp[1] Opwmn[1] I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_l7 IO s_agpio_l7 Oi2s0_do Ouart2_rts Opwmp[2] Opwmn[2] I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_l8 IO s_agpio_l8 Ii2s0_di Iuart2_cts Opwmp[3] Opwmn[3] I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_l9 IO s_agpio_l9 Ouart2_txd I-Hizno-func I-Hizno-func Idsp_uart0_rxd I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_l10 IO s_agpio_l10 Iuart2_rxd I-Hizno-func I-Hizno-func Odsp_uart0_txd I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_l11 IO s_agpio_l11 I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_l12 IO s_agpio_l12 I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_l13 IO s_agpio_l13 I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_l14 IO s_agpio_l14 Opwmp[1] Opwmn[1] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_l15 IO s_agpio_l15 Opwmp[2] Opwmn[2] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_l16 IO s_agpio_l16 Opwmp[3] Opwmn[3] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_l17 IO s_agpio_l17 Obt_wifi_sw I-Hizno-func I-Hizno-func IOi2c_dsp_scl I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_l18 IO s_agpio_l18 Obt_act I-Hizno-func I-Hizno-func IOi2c_dsp_sda I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_l19 IO s_agpio_l19 Obt_freq I-Hizno-func Opwmp[0] Opwmn[0] I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_l20 IO s_agpio_l20 Obt_status I-Hizno-func Opwmp[1] Opwmn[1] I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_l21 IO s_agpio_l21 Iwlan_act I-Hizno-func Opwmp[2] Opwmn[2] I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_l22 IO s_agpio_l22 Idsi_te I-Hizno-func Opwmp[3] Opwmn[3] I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_l23 IO s_agpio_l23 Oextlna_ctrl I-Hizno-func I-Hizno-func Idsi_te IOi2c2_scl I-Hizno-func I-Hizno-func
+
+s_agpio_l24 IO s_agpio_l24 Oextlna_rx_en I-Hizno-func I-Hizno-func I-Hizno-func IOi2c2_sda I-Hizno-func I-Hizno-func
+
+s_agpio_l25 IO s_agpio_l25 I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func IOi2c2_sda I-Hizno-func I-Hizno-func
+
+s_agpio_l26 IO s_agpio_l26 I-Hizno-func Opwmp[0] Opwmn[0] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_l27 IO s_agpio_l27 I-Hizno-func Opwmp[1] Opwmn[1] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_l28 IO s_agpio_l28 I-Hizno-func Opwmp[2] Opwmn[2] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_l29 IO s_agpio_l29 I-Hizno-func Opwmp[3] Opwmn[3] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_l30 IO s_agpio_l30 I-Hizno-func Opwmp[0] Opwmn[0] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_l31 IO s_agpio_l31 I-Hizno-func Opwmp[1] Opwmn[1] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_l32 IO s_agpio_l32 Oclkout[0] Iclkin Opwmn[2] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_r0 IO s_agpio_r0 I-Hizno-func Opwmp[3] Opwmn[3] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_r1 IO s_agpio_r1 I-Hizno-func Opwmp[0] Opwmn[0] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_r2 IO s_agpio_r2 I-Hizno-func Opwmp[1] Opwmn[1] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_r3 IO s_agpio_r3 I-Hizno-func Opwmp[2] Opwmn[2] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_r4 IO s_agpio_r4 I-Hizno-func Opwmp[3] Opwmn[3] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_r5 IO s_agpio_r5 I-Hizno-func Opwmp[0] Opwmn[0] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_r6 IO s_agpio_r6 I-Hizno-func Opwmp[1] Opwmn[1] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_r7 IO s_agpio_r7 I-Hizno-func Opwmp[2] Opwmn[2] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_r8 IO s_agpio_r8 I-Hizno-func Opwmp[3] Opwmn[3] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_r9 IO s_agpio_r9 I-Hizno-func Opwmp[0] Opwmn[0] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-func
+
+s_agpio_r10 IO s_agpio_r10 I-Hizno-func Opwmp[1] Opwmn[1] I-Hizno-func I-Hizno-func I-Hizno-func I-Hizno-funccfg_gpio_N_bit_mode==4 cfg_gpio_N_bit_mode==5 cfg_gpio_N_bit_mode==6 cfg_gpio_N_bit_mode==7管脚名称cfg_gpio_N_bit_mode==0 cfg_gpio_N_bit_mode==1 cfg_gpio_N_bit_mode==2 cfg_gpio_N_bit_mode==3
+
+### 2023/9/26 第2页,共2页
+
+
+---
+
// 所以实际间隔约为6.4ms,非常接近实时播放速度
// 采用连续发送策略,不等待,让AI_WriteAudioData内部的sleep自然控制节奏
- float last_volume = 1.0f; // 记录上次音量,避免重复计算
+ // 获取初始音量并应用(确保pcm_buffer被正确初始化)
+ MediaMutexLock(g_audio_test_ctx.volume_mutex);
+ float initial_volume = g_audio_test_ctx.play_volume;
+ MediaMutexUnLock(g_audio_test_ctx.volume_mutex);
+
+ // 初始化pcm_buffer:应用音量增益
+ uint32_t sample_count = buffer_size / sizeof(int16_t);
+ for (uint32_t i = 0; i < sample_count; i++) {
+ int32_t sample = (int32_t)raw_pcm_samples[i];
+ sample = (int32_t)(sample * initial_volume);
+ // 限制在int16_t范围内,避免削波
+ if (sample > 32767) sample = 32767;
+ if (sample < -32768) sample = -32768;
+ pcm_samples[i] = (int16_t)sample;
+ }
+
+ float last_volume = initial_volume; // 记录上次音量,避免重复计算
while (true) {
// 检查是否需要停止(在循环开始就检查,避免不必要的处理)
// 如果音量改变,重新应用音量增益到数据
if (volume != last_volume) {
- uint32_t sample_count = buffer_size / sizeof(int16_t);
for (uint32_t i = 0; i < sample_count; i++) {
int32_t sample = (int32_t)raw_pcm_samples[i];
sample = (int32_t)(sample * volume);
--- /dev/null
+/**
+ * @file bt_scan_test.cpp
+ * @brief 蓝牙扫描测试程序
+ * @description 扫描蓝牙设备并打印MAC地址和RSSI值
+ */
+
+#include "custom_utilscpp.h"
+#include "debug_print.h"
+#include "securec.h"
+#include "media_thread_adapt.h"
+#include <string.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+// 蓝牙GAP相关头文件
+#include "bts_br_gap.h"
+#include "bts_def.h"
+
+// 蓝牙设备信息结构
+typedef struct {
+ uint8_t addr[BD_ADDR_LEN]; // MAC地址
+ int rssi; // RSSI值
+ char name[BD_NAME_LEN]; // 设备名称
+ bool has_name; // 是否已获取名称
+ bool has_rssi; // 是否已获取RSSI
+ bool is_new_device; // 是否是新发现的设备(用于控制打印)
+} bt_device_info_t;
+
+// 蓝牙扫描测试上下文
+typedef struct {
+ bool is_running; // 扫描是否正在运行
+ bt_device_info_t* devices; // 扫描到的设备列表
+ uint32_t device_count; // 设备数量
+ uint32_t device_capacity; // 设备列表容量
+ MediaMutexHandle mutex; // 互斥锁
+
+ // 回调函数指针(保存原始回调,以便恢复)
+ gap_discovery_result_callback original_discovery_callback;
+ gap_read_remote_rssi_event_callback original_rssi_callback;
+ gap_discovery_state_changed_callback original_state_callback;
+ gap_remote_name_changed_callback original_name_callback;
+} BtScanTestContext;
+
+static BtScanTestContext g_bt_scan_ctx = {0};
+
+// 前向声明
+static void BtScanDiscoveryResultCallback(const bd_addr_t *bd_addr);
+static void BtScanReadRemoteRssiCallback(const bd_addr_t *bd_addr, int rssi, int status);
+static void BtScanDiscoveryStateChangedCallback(int status);
+static void BtScanRemoteNameChangedCallback(const bd_addr_t *bd_addr, const unsigned char *deviceName, unsigned char length);
+static int BtScanAddOrUpdateDevice(const bd_addr_t *bd_addr, int rssi, const char *name, bool has_name);
+static void BtScanPrintDevices(void);
+
+/**
+ * @brief 添加或更新设备信息
+ */
+static int BtScanAddOrUpdateDevice(const bd_addr_t *bd_addr, int rssi, const char *name, bool has_name)
+{
+ if (bd_addr == NULL) {
+ return -1;
+ }
+
+ MediaMutexLock(g_bt_scan_ctx.mutex);
+
+ // 查找是否已存在该设备
+ int found_index = -1;
+ for (uint32_t i = 0; i < g_bt_scan_ctx.device_count; i++) {
+ if (memcmp(g_bt_scan_ctx.devices[i].addr, bd_addr->addr, BD_ADDR_LEN) == 0) {
+ found_index = i;
+ break;
+ }
+ }
+
+ if (found_index >= 0) {
+ // 更新现有设备
+ bt_device_info_t *device = &g_bt_scan_ctx.devices[found_index];
+ if (rssi != 0) {
+ device->rssi = rssi;
+ device->has_rssi = true;
+ }
+ if (has_name && name != NULL) {
+ strncpy_s(device->name, sizeof(device->name), name, sizeof(device->name) - 1);
+ device->has_name = true;
+ }
+ } else {
+ // 添加新设备
+ if (g_bt_scan_ctx.device_count >= g_bt_scan_ctx.device_capacity) {
+ // 扩容
+ uint32_t new_capacity = (g_bt_scan_ctx.device_capacity == 0) ? 32 : g_bt_scan_ctx.device_capacity * 2;
+ bt_device_info_t *new_devices = (bt_device_info_t*)realloc(g_bt_scan_ctx.devices,
+ new_capacity * sizeof(bt_device_info_t));
+ if (new_devices == NULL) {
+ PRINT("[BtScan] Failed to reallocate device list\r\n");
+ MediaMutexUnLock(g_bt_scan_ctx.mutex);
+ return -1;
+ }
+ g_bt_scan_ctx.devices = new_devices;
+ g_bt_scan_ctx.device_capacity = new_capacity;
+ }
+
+ bt_device_info_t *device = &g_bt_scan_ctx.devices[g_bt_scan_ctx.device_count];
+ memset_s(device, sizeof(bt_device_info_t), 0, sizeof(bt_device_info_t));
+ memcpy_s(device->addr, BD_ADDR_LEN, bd_addr->addr, BD_ADDR_LEN);
+ device->rssi = rssi;
+ device->has_rssi = (rssi != 0);
+ if (has_name && name != NULL) {
+ strncpy_s(device->name, sizeof(device->name), name, sizeof(device->name) - 1);
+ device->has_name = true;
+ } else {
+ device->name[0] = '\0';
+ device->has_name = false;
+ }
+ g_bt_scan_ctx.device_count++;
+ }
+
+ MediaMutexUnLock(g_bt_scan_ctx.mutex);
+ return 0;
+}
+
+/**
+ * @brief 打印扫描到的设备列表
+ */
+static void BtScanPrintDevices(void)
+{
+ MediaMutexLock(g_bt_scan_ctx.mutex);
+
+ if (g_bt_scan_ctx.device_count == 0) {
+ PRINT("[BtScan] No devices found\r\n");
+ MediaMutexUnLock(g_bt_scan_ctx.mutex);
+ return;
+ }
+
+ PRINT("[BtScan] Found %u device(s):\r\n", g_bt_scan_ctx.device_count);
+ for (uint32_t i = 0; i < g_bt_scan_ctx.device_count; i++) {
+ bt_device_info_t *device = &g_bt_scan_ctx.devices[i];
+ PRINT("[BtScan] Device[%u]: MAC=%02X:%02X:%02X:%02X:%02X:%02X, RSSI=%d dBm",
+ i + 1,
+ device->addr[5], device->addr[4], device->addr[3],
+ device->addr[2], device->addr[1], device->addr[0],
+ device->has_rssi ? device->rssi : 0);
+
+ if (device->has_name && strlen(device->name) > 0) {
+ PRINT(", Name=%s", device->name);
+ }
+ PRINT("\r\n");
+ }
+
+ MediaMutexUnLock(g_bt_scan_ctx.mutex);
+}
+
+/**
+ * @brief 蓝牙设备发现回调
+ */
+static void BtScanDiscoveryResultCallback(const bd_addr_t *bd_addr)
+{
+ if (bd_addr == NULL || !g_bt_scan_ctx.is_running) {
+ return;
+ }
+
+ // 检查是否是新设备,以及是否已有名称
+ MediaMutexLock(g_bt_scan_ctx.mutex);
+ bool is_new = true;
+ bool has_name_already = false;
+ for (uint32_t i = 0; i < g_bt_scan_ctx.device_count; i++) {
+ if (memcmp(g_bt_scan_ctx.devices[i].addr, bd_addr->addr, BD_ADDR_LEN) == 0) {
+ is_new = false;
+ has_name_already = g_bt_scan_ctx.devices[i].has_name;
+ break;
+ }
+ }
+ MediaMutexUnLock(g_bt_scan_ctx.mutex);
+
+ if (is_new) {
+ PRINT("[BtScan] New device discovered: %02X:%02X:%02X:%02X:%02X:%02X\r\n",
+ bd_addr->addr[5], bd_addr->addr[4], bd_addr->addr[3],
+ bd_addr->addr[2], bd_addr->addr[1], bd_addr->addr[0]);
+ }
+
+ // 添加设备(暂时没有名称和RSSI)
+ BtScanAddOrUpdateDevice(bd_addr, 0, NULL, false);
+
+ // 尝试获取设备名称(只在设备没有名称时才获取和打印)
+ if (!has_name_already) {
+ unsigned char nameLen = BD_NAME_LEN;
+ unsigned char deviceName[BD_NAME_LEN] = {0};
+ bool getNameRet = gap_get_device_name(bd_addr, deviceName, &nameLen);
+ if (getNameRet && nameLen > 0) {
+ PRINT("[BtScan] Device name: %s\r\n", deviceName);
+ BtScanAddOrUpdateDevice(bd_addr, 0, (const char*)deviceName, true);
+ }
+ }
+
+ // 请求RSSI值(只在设备还没有RSSI时请求)
+ MediaMutexLock(g_bt_scan_ctx.mutex);
+ bool need_rssi = true;
+ for (uint32_t i = 0; i < g_bt_scan_ctx.device_count; i++) {
+ if (memcmp(g_bt_scan_ctx.devices[i].addr, bd_addr->addr, BD_ADDR_LEN) == 0) {
+ if (g_bt_scan_ctx.devices[i].has_rssi) {
+ need_rssi = false;
+ }
+ break;
+ }
+ }
+ MediaMutexUnLock(g_bt_scan_ctx.mutex);
+
+ if (need_rssi) {
+ gap_read_remote_rssi_value(bd_addr);
+ }
+
+ // 调用原始回调(如果存在)
+ if (g_bt_scan_ctx.original_discovery_callback != NULL) {
+ g_bt_scan_ctx.original_discovery_callback(bd_addr);
+ }
+}
+
+/**
+ * @brief 蓝牙RSSI读取回调
+ */
+static void BtScanReadRemoteRssiCallback(const bd_addr_t *bd_addr, int rssi, int status)
+{
+ if (bd_addr == NULL || !g_bt_scan_ctx.is_running) {
+ return;
+ }
+
+ if (status == 0) {
+ // 检查RSSI是否有显著变化(只在新设备或RSSI变化超过5dBm时打印)
+ MediaMutexLock(g_bt_scan_ctx.mutex);
+ bool should_print = false;
+ for (uint32_t i = 0; i < g_bt_scan_ctx.device_count; i++) {
+ if (memcmp(g_bt_scan_ctx.devices[i].addr, bd_addr->addr, BD_ADDR_LEN) == 0) {
+ if (!g_bt_scan_ctx.devices[i].has_rssi ||
+ abs(g_bt_scan_ctx.devices[i].rssi - rssi) > 5) {
+ should_print = true;
+ }
+ break;
+ }
+ }
+ MediaMutexUnLock(g_bt_scan_ctx.mutex);
+
+ if (should_print) {
+ PRINT("[BtScan] Device: %02X:%02X:%02X:%02X:%02X:%02X, RSSI=%d dBm\r\n",
+ bd_addr->addr[5], bd_addr->addr[4], bd_addr->addr[3],
+ bd_addr->addr[2], bd_addr->addr[1], bd_addr->addr[0],
+ rssi);
+ }
+
+ // 更新设备RSSI
+ BtScanAddOrUpdateDevice(bd_addr, rssi, NULL, false);
+ }
+ // 不打印RSSI读取失败的信息,避免日志过多
+
+ // 调用原始回调(如果存在)
+ if (g_bt_scan_ctx.original_rssi_callback != NULL) {
+ g_bt_scan_ctx.original_rssi_callback(bd_addr, rssi, status);
+ }
+}
+
+/**
+ * @brief 蓝牙扫描状态变化回调
+ */
+static void BtScanDiscoveryStateChangedCallback(int status)
+{
+ PRINT("[BtScan] Discovery state changed: %d\r\n", status);
+
+ if (g_bt_scan_ctx.is_running) {
+ // 只在扫描完成或状态变化时打印设备列表
+ if (status == 0 || status == 1) { // 扫描完成或开始
+ BtScanPrintDevices();
+ }
+
+ // 如果扫描结束,自动重新启动扫描(持续扫描)
+ if (status == 0) { // 扫描完成
+ PRINT("[BtScan] Scan completed, restarting discovery...\r\n");
+ usleep(500000); // 等待500ms后重新启动
+ gap_br_start_discovery();
+ }
+ }
+
+ // 调用原始回调(如果存在)
+ if (g_bt_scan_ctx.original_state_callback != NULL) {
+ g_bt_scan_ctx.original_state_callback(status);
+ }
+}
+
+/**
+ * @brief 蓝牙设备名称变化回调
+ */
+static void BtScanRemoteNameChangedCallback(const bd_addr_t *bd_addr, const unsigned char *deviceName, unsigned char length)
+{
+ if (bd_addr == NULL || !g_bt_scan_ctx.is_running) {
+ return;
+ }
+
+ if (deviceName != NULL && length > 0) {
+ char name[BD_NAME_LEN] = {0};
+ strncpy_s(name, sizeof(name), (const char*)deviceName,
+ (length < sizeof(name)) ? length : sizeof(name) - 1);
+
+ // 检查设备是否已有名称,避免重复打印
+ MediaMutexLock(g_bt_scan_ctx.mutex);
+ bool has_name = false;
+ bool name_changed = false;
+ for (uint32_t i = 0; i < g_bt_scan_ctx.device_count; i++) {
+ if (memcmp(g_bt_scan_ctx.devices[i].addr, bd_addr->addr, BD_ADDR_LEN) == 0) {
+ has_name = g_bt_scan_ctx.devices[i].has_name;
+ if (has_name && strcmp(g_bt_scan_ctx.devices[i].name, name) != 0) {
+ name_changed = true;
+ }
+ break;
+ }
+ }
+ MediaMutexUnLock(g_bt_scan_ctx.mutex);
+
+ // 只在设备没有名称或名称发生变化时打印
+ if (!has_name) {
+ PRINT("[BtScan] Device name: %02X:%02X:%02X:%02X:%02X:%02X, Name=%s\r\n",
+ bd_addr->addr[5], bd_addr->addr[4], bd_addr->addr[3],
+ bd_addr->addr[2], bd_addr->addr[1], bd_addr->addr[0],
+ name);
+ } else if (name_changed) {
+ PRINT("[BtScan] Device name changed: %02X:%02X:%02X:%02X:%02X:%02X, New Name=%s\r\n",
+ bd_addr->addr[5], bd_addr->addr[4], bd_addr->addr[3],
+ bd_addr->addr[2], bd_addr->addr[1], bd_addr->addr[0],
+ name);
+ }
+
+ // 更新设备名称
+ BtScanAddOrUpdateDevice(bd_addr, 0, name, true);
+ }
+
+ // 调用原始回调(如果存在)
+ if (g_bt_scan_ctx.original_name_callback != NULL) {
+ g_bt_scan_ctx.original_name_callback(bd_addr, deviceName, length);
+ }
+}
+
+/**
+ * @brief 启动蓝牙扫描测试
+ * @return 0 成功, -1 失败
+ */
+int custom_bt_scan_test_start(void)
+{
+ PRINT("[BtScan] Starting Bluetooth scan test...\r\n");
+
+ // 先启用蓝牙栈(使用 enable_bt_stack,对应 AT^BTENABLE 指令的功能)
+ // extern errcode_t enable_bt_stack(void);
+
+ PRINT("[BtScan] Enabling Bluetooth stack (same as AT^BTENABLE)...\r\n");
+ // errcode_t bt_enable_ret = enable_bt_stack();
+ // if (bt_enable_ret != ERRCODE_SUCC && bt_enable_ret != 0) {
+ // PRINT("[BtScan] Warning: enable_bt_stack returned %d (0x%X)\r\n",
+ // bt_enable_ret, (unsigned int)bt_enable_ret);
+ // PRINT("[BtScan] Note: You may need to run AT^BTENABLE first\r\n");
+ // } else {
+ // PRINT("[BtScan] Bluetooth stack enabled successfully\r\n");
+ // }
+
+ // 等待蓝牙栈初始化完成
+ // usleep(2000000); // 2秒,确保蓝牙栈完全初始化
+ PRINT("[BtScan] Waiting for Bluetooth stack ready...\r\n");
+
+ MediaMutexLock(g_bt_scan_ctx.mutex);
+
+ if (g_bt_scan_ctx.is_running) {
+ PRINT("[BtScan] Scan already running\r\n");
+ MediaMutexUnLock(g_bt_scan_ctx.mutex);
+ return -1;
+ }
+
+ // 初始化互斥锁
+ if (g_bt_scan_ctx.mutex == NULL) {
+ g_bt_scan_ctx.mutex = MediaMutexCreate(NULL);
+ if (g_bt_scan_ctx.mutex == NULL) {
+ PRINT("[BtScan] Failed to create mutex\r\n");
+ return -1;
+ }
+ }
+
+ // 清空设备列表
+ if (g_bt_scan_ctx.devices != NULL) {
+ free(g_bt_scan_ctx.devices);
+ g_bt_scan_ctx.devices = NULL;
+ }
+ g_bt_scan_ctx.device_count = 0;
+ g_bt_scan_ctx.device_capacity = 0;
+
+ // 注册回调函数
+ gap_call_backs_t callbacks = {0};
+
+ // 保存原始回调(如果已注册)
+ // 注意:这里假设回调已经通过其他方式注册,我们需要获取并保存它们
+ // 由于无法直接获取已注册的回调,我们直接设置我们的回调
+ callbacks.discovery_result_callback = BtScanDiscoveryResultCallback;
+ callbacks.read_remote_rssi_event_callback = BtScanReadRemoteRssiCallback;
+ callbacks.discovery_state_changed_callback = BtScanDiscoveryStateChangedCallback;
+ callbacks.remote_name_changed_callback = BtScanRemoteNameChangedCallback;
+
+ // 注册回调函数(返回值0表示成功)
+ int ret = gap_register_callbacks(&callbacks);
+ if (ret != 0) {
+ PRINT("[BtScan] Failed to register callbacks: %d\r\n", ret);
+ MediaMutexUnLock(g_bt_scan_ctx.mutex);
+ return -1;
+ }
+
+ // 检查是否已经在扫描,如果是则先停止
+ bool is_discovering = is_bt_discovering(BT_TRANSPORT_BR_EDR);
+ if (is_discovering) {
+ PRINT("[BtScan] Bluetooth is already discovering, canceling first...\r\n");
+ gap_br_cancel_discovery();
+ // 等待一小段时间让扫描完全停止
+ usleep(200000); // 200ms
+ }
+
+ // 设置扫描参数(扫描所有设备类型,最多20个设备)
+ // 参考 custom_factory_bt_scan_start 的实现
+ errcode_t err = gap_br_set_inquiry_paramters(0, 20);
+ if (err != ERRCODE_SUCC) {
+ PRINT("[BtScan] Warning: Failed to set inquiry parameters: %d (0x%X)\r\n",
+ err, (unsigned int)err);
+ // 继续尝试启动扫描(参考其他代码实现,即使设置参数失败也继续)
+ } else {
+ PRINT("[BtScan] Inquiry parameters set successfully\r\n");
+ }
+
+ // 启动扫描(参考 custom_factory_bt_scan_start 的实现)
+ bool scan_ret = gap_br_start_discovery();
+ if (!scan_ret) {
+ PRINT("[BtScan] Failed to start discovery\r\n");
+ PRINT("[BtScan] Note: This may indicate Bluetooth stack is not fully ready\r\n");
+ MediaMutexUnLock(g_bt_scan_ctx.mutex);
+ return -1;
+ }
+
+ PRINT("[BtScan] Discovery started successfully\r\n");
+
+ g_bt_scan_ctx.is_running = true;
+ MediaMutexUnLock(g_bt_scan_ctx.mutex);
+
+ PRINT("[BtScan] Bluetooth scan started successfully\r\n");
+ PRINT("[BtScan] Scanning for devices...\r\n");
+
+ return 0;
+}
+
+/**
+ * @brief 停止蓝牙扫描测试
+ * @return 0 成功, -1 失败
+ */
+int custom_bt_scan_test_stop(void)
+{
+ PRINT("[BtScan] Stopping Bluetooth scan test...\r\n");
+
+ MediaMutexLock(g_bt_scan_ctx.mutex);
+
+ if (!g_bt_scan_ctx.is_running) {
+ PRINT("[BtScan] Scan not running\r\n");
+ MediaMutexUnLock(g_bt_scan_ctx.mutex);
+ return 0;
+ }
+
+ // 停止扫描
+ bool ret = gap_br_cancel_discovery();
+ if (!ret) {
+ PRINT("[BtScan] Failed to cancel discovery\r\n");
+ }
+
+ // 打印最终结果
+ PRINT("[BtScan] Final scan results:\r\n");
+ BtScanPrintDevices();
+
+ // 清理设备列表
+ if (g_bt_scan_ctx.devices != NULL) {
+ free(g_bt_scan_ctx.devices);
+ g_bt_scan_ctx.devices = NULL;
+ }
+ g_bt_scan_ctx.device_count = 0;
+ g_bt_scan_ctx.device_capacity = 0;
+
+ g_bt_scan_ctx.is_running = false;
+ MediaMutexUnLock(g_bt_scan_ctx.mutex);
+
+ PRINT("[BtScan] Bluetooth scan stopped\r\n");
+
+ return 0;
+}
+
+/**
+ * @brief 获取扫描测试状态
+ * @return true 正在运行, false 未运行
+ */
+bool custom_bt_scan_test_is_running(void)
+{
+ MediaMutexLock(g_bt_scan_ctx.mutex);
+ bool is_running = g_bt_scan_ctx.is_running;
+ MediaMutexUnLock(g_bt_scan_ctx.mutex);
+ return is_running;
+}
+
+/**
+ * @brief 初始化蓝牙扫描测试模块
+ */
+void custom_bt_scan_test_init(void)
+{
+ if (g_bt_scan_ctx.mutex == NULL) {
+ g_bt_scan_ctx.mutex = MediaMutexCreate(NULL);
+ }
+}
+
+#ifdef __cplusplus
+}
+#endif
+
*/
bool custom_gpio_test_is_running(void);
+/**
+ * @brief 扫描GPIO配对关系(自动发现)
+ * @return 0成功,-1失败
+ */
+int custom_gpio_test_scan_pairs(void);
+
+/**
+ * @brief 初始化蓝牙扫描测试模块
+ */
+void custom_bt_scan_test_init(void);
+
+/**
+ * @brief 启动蓝牙扫描测试
+ * @return 0成功,-1失败
+ */
+int custom_bt_scan_test_start(void);
+
+/**
+ * @brief 停止蓝牙扫描测试
+ * @return 0成功,-1失败
+ */
+int custom_bt_scan_test_stop(void);
+
+/**
+ * @brief 获取蓝牙扫描测试状态
+ * @return true正在运行,false未运行
+ */
+bool custom_bt_scan_test_is_running(void);
+
#ifdef __cplusplus
}
#endif /* __cplusplus */
char output_pin[32]; // 输出引脚名称,如 "S_AGPIO_L02"
} gpio_pair_t;
+// GPIO扫描配对结构(用于自动扫描)
+typedef struct {
+ pin_t pin; // GPIO引脚
+ char name[32]; // GPIO名称(存储副本,避免悬空指针)
+ pin_t paired_pins[2]; // 配对的引脚(最多2个)
+ char paired_names[2][32]; // 配对的名称(存储副本,避免悬空指针)
+ uint32_t pair_count; // 配对数量(0, 1, 或 2)
+ bool is_scanned; // 是否已扫描
+ bool is_used_as_output; // 是否已作为输出使用过
+} gpio_scan_info_t;
+
// GPIO测试上下文
typedef struct {
bool is_running; // 测试是否正在运行
return -1;
}
+ // 如果配置未初始化,使用默认配置初始化
if (g_gpio_test_ctx.pair_count == 0) {
- PRINT("[GpioTest] No GPIO pairs configured. Please add config first.\r\n");
+ PRINT("[GpioTest] No GPIO pairs configured, initializing with default config...\r\n");
MediaMutexUnLock(g_gpio_test_ctx.mutex);
- return -1;
+
+ // 使用默认配置初始化
+ if (gpio_test_config_json_data != NULL) {
+ int ret = gpio_test_parse_config(gpio_test_config_json_data);
+ if (ret != 0) {
+ PRINT("[GpioTest] Failed to initialize default config\r\n");
+ return -1;
+ }
+ PRINT("[GpioTest] Default config initialized successfully\r\n");
+ } else {
+ PRINT("[GpioTest] Default config data is NULL\r\n");
+ return -1;
+ }
+
+ // 重新加锁检查
+ MediaMutexLock(g_gpio_test_ctx.mutex);
+ if (g_gpio_test_ctx.pair_count == 0) {
+ PRINT("[GpioTest] Failed to initialize default config\r\n");
+ MediaMutexUnLock(g_gpio_test_ctx.mutex);
+ return -1;
+ }
}
// 初始化互斥锁(如果还没有)
return is_running;
}
+/**
+ * @brief 从默认配置中提取所有GPIO引脚列表
+ * @param pin_list 输出:GPIO引脚数组
+ * @param name_list 输出:GPIO名称数组
+ * @param max_count 最大数量
+ * @return 实际提取的GPIO数量
+ */
+static uint32_t gpio_test_extract_all_pins_from_default_config(pin_t* pin_list, const char** name_list, uint32_t max_count)
+{
+ if (pin_list == NULL || name_list == NULL || max_count == 0) {
+ return 0;
+ }
+
+ if (gpio_test_config_json_data == NULL) {
+ return 0;
+ }
+
+ cJSON* root = cJSON_Parse(gpio_test_config_json_data);
+ if (root == NULL) {
+ return 0;
+ }
+
+ cJSON* pairs = cJSON_GetObjectItem(root, "pairs");
+ if (pairs == NULL || !cJSON_IsArray(pairs)) {
+ cJSON_Delete(root);
+ return 0;
+ }
+
+ uint32_t count = 0;
+ // 使用更大的数组来确保覆盖所有可能的pin_t值
+ // PIN_NONE = 132,所以需要至少133个元素(0-132)
+ bool pin_used[256] = {0}; // 标记引脚是否已添加,使用256确保足够大
+
+ int pair_count = cJSON_GetArraySize(pairs);
+ for (int i = 0; i < pair_count && count < max_count; i++) {
+ cJSON* pair_item = cJSON_GetArrayItem(pairs, i);
+ if (pair_item == NULL || !cJSON_IsObject(pair_item)) {
+ continue;
+ }
+
+ cJSON* input = cJSON_GetObjectItem(pair_item, "input");
+ cJSON* output = cJSON_GetObjectItem(pair_item, "output");
+
+ if (input == NULL || output == NULL || !cJSON_IsString(input) || !cJSON_IsString(output)) {
+ continue;
+ }
+
+ const char* input_name = cJSON_GetStringValue(input);
+ const char* output_name = cJSON_GetStringValue(output);
+
+ if (input_name == NULL || output_name == NULL) {
+ continue;
+ }
+
+ // 添加输入引脚(去重:基于pin_t值)
+ pin_t input_pin = gpio_name_to_pin(input_name);
+ if (input_pin != PIN_NONE && (unsigned int)input_pin < sizeof(pin_used) && !pin_used[input_pin]) {
+ pin_list[count] = input_pin;
+ // 需要复制字符串,因为cJSON指针在Delete后会失效
+ // 使用静态缓冲区存储名称(在函数返回前有效)
+ static char name_buffer[200][32];
+ if (count < 200) {
+ strncpy_s(name_buffer[count], sizeof(name_buffer[count]), input_name, sizeof(name_buffer[count]) - 1);
+ name_list[count] = name_buffer[count];
+ } else {
+ name_list[count] = input_name; // 如果超过缓冲区,使用原指针(风险)
+ }
+ pin_used[input_pin] = true;
+ count++;
+ }
+
+ // 添加输出引脚(去重:基于pin_t值)
+ if (count < max_count) {
+ pin_t output_pin = gpio_name_to_pin(output_name);
+ if (output_pin != PIN_NONE && (unsigned int)output_pin < sizeof(pin_used) && !pin_used[output_pin]) {
+ pin_list[count] = output_pin;
+ // 需要复制字符串,因为cJSON指针在Delete后会失效
+ static char name_buffer[200][32];
+ if (count < 200) {
+ strncpy_s(name_buffer[count], sizeof(name_buffer[count]), output_name, sizeof(name_buffer[count]) - 1);
+ name_list[count] = name_buffer[count];
+ } else {
+ name_list[count] = output_name; // 如果超过缓冲区,使用原指针(风险)
+ }
+ pin_used[output_pin] = true;
+ count++;
+ }
+ }
+ }
+
+ cJSON_Delete(root);
+ return count;
+}
+
+/**
+ * @brief 根据pin_t查找对应的名称
+ */
+static const char* gpio_pin_to_name(pin_t pin)
+{
+ for (uint32_t i = 0; g_gpio_name_map[i].name != NULL; i++) {
+ if (g_gpio_name_map[i].pin == pin) {
+ return g_gpio_name_map[i].name;
+ }
+ }
+ return "UNKNOWN";
+}
+
+/**
+ * @brief 自动扫描GPIO配对关系(迭代方式)
+ * @return 0成功,-1失败
+ */
+static int gpio_test_scan_pairs(void)
+{
+ PRINT("[GpioTest] Starting GPIO pair scanning (iterative mode)...\r\n");
+
+ // 初始化GPIO
+ uapi_gpio_init();
+
+ // 从默认配置中提取所有GPIO引脚
+ pin_t all_pins[200];
+ const char* all_names[200];
+ memset_s(all_pins, sizeof(all_pins), 0, sizeof(all_pins));
+ memset_s(all_names, sizeof(all_names), 0, sizeof(all_names));
+ uint32_t total_pin_count = gpio_test_extract_all_pins_from_default_config(all_pins, all_names, 200);
+
+ if (total_pin_count == 0) {
+ PRINT("[GpioTest] Failed to extract pins from default config\r\n");
+ return -1;
+ }
+
+ PRINT("[GpioTest] Found %u GPIO pins from default config\r\n", total_pin_count);
+
+ // 先打印所有GPIO名字列表
+ PRINT("[GpioTest] ===== All GPIO Names =====\r\n");
+ for (uint32_t i = 0; i < total_pin_count; i++) {
+ PRINT("[GpioTest] [%3u] %s (pin_t=%d)\r\n", i + 1, all_names[i], all_pins[i]);
+ }
+ PRINT("[GpioTest] ===== End of GPIO List =====\r\n");
+ PRINT("\r\n");
+
+ // 创建可用的GPIO列表(标记哪些GPIO还未被处理)
+ bool pin_available[200] = {0};
+ for (uint32_t i = 0; i < total_pin_count; i++) {
+ pin_available[i] = true;
+ }
+
+ uint32_t round = 0;
+ uint32_t remaining_count = total_pin_count;
+
+ // 迭代扫描:每次选择一个输出GPIO,找出所有同步的输入
+ while (remaining_count > 0) {
+ round++;
+ PRINT("[GpioTest] ===== Round %u =====\r\n", round);
+ PRINT("[GpioTest] Remaining GPIOs: %u\r\n", remaining_count);
+
+ // 找到第一个可用的GPIO作为输出
+ uint32_t output_idx = 0;
+ bool found_output = false;
+ for (uint32_t i = 0; i < total_pin_count; i++) {
+ if (pin_available[i]) {
+ output_idx = i;
+ found_output = true;
+ break;
+ }
+ }
+
+ if (!found_output) {
+ PRINT("[GpioTest] No available GPIO found, scanning complete\r\n");
+ break;
+ }
+
+ pin_t output_pin = all_pins[output_idx];
+ const char* output_name = all_names[output_idx];
+
+ PRINT("[GpioTest] Testing output: %s (pin_t=%d)\r\n", output_name, output_pin);
+
+ // 设置输出引脚
+ errcode_t ret = uapi_pin_set_mode(output_pin, (pin_mode_t)HAL_PIO_FUNC_GPIO);
+ if (ret != ERRCODE_SUCC) {
+ PRINT("[GpioTest] Failed to set output pin mode: %s\r\n", output_name);
+ pin_available[output_idx] = false; // 标记为已处理(即使失败)
+ remaining_count--;
+ continue;
+ }
+
+ ret = uapi_gpio_set_dir(output_pin, GPIO_DIRECTION_OUTPUT);
+ if (ret != ERRCODE_SUCC) {
+ PRINT("[GpioTest] Failed to set output direction: %s\r\n", output_name);
+ pin_available[output_idx] = false;
+ remaining_count--;
+ continue;
+ }
+
+ // 设置其他所有可用引脚为输入
+ for (uint32_t input_idx = 0; input_idx < total_pin_count; input_idx++) {
+ if (!pin_available[input_idx] || input_idx == output_idx) {
+ continue; // 跳过已处理的或输出引脚本身
+ }
+
+ pin_t input_pin = all_pins[input_idx];
+
+ ret = uapi_pin_set_mode(input_pin, (pin_mode_t)HAL_PIO_FUNC_GPIO);
+ if (ret != ERRCODE_SUCC) {
+ continue; // 如果设置失败,跳过这个引脚
+ }
+
+ ret = uapi_gpio_set_dir(input_pin, GPIO_DIRECTION_INPUT);
+ if (ret != ERRCODE_SUCC) {
+ continue; // 如果设置失败,跳过这个引脚
+ }
+
+ // 设置输入引脚为无上下拉
+ ret = uapi_pin_set_pull(input_pin, PIN_PULL_DOWN);
+ if (ret != ERRCODE_SUCC) {
+ continue; // 如果设置失败,跳过这个引脚
+ }
+ }
+
+ // 收集所有同步的输入引脚
+ uint32_t synced_inputs[200] = {0};
+ uint32_t synced_count = 0;
+
+ // 测试配对:逐个检查每个输入引脚
+ for (uint32_t input_idx = 0; input_idx < total_pin_count; input_idx++) {
+ if (!pin_available[input_idx] || input_idx == output_idx) {
+ continue;
+ }
+
+ // 测试1:输出设置为HIGH,读取输入
+ ret = uapi_gpio_set_val(output_pin, GPIO_LEVEL_HIGH);
+ if (ret != ERRCODE_SUCC) {
+ break;
+ }
+ usleep(15000); // 等待15ms让信号稳定
+ gpio_level_t input_high = uapi_gpio_get_val(all_pins[input_idx]);
+
+ // 测试2:输出设置为LOW,读取输入
+ ret = uapi_gpio_set_val(output_pin, GPIO_LEVEL_LOW);
+ if (ret != ERRCODE_SUCC) {
+ break;
+ }
+ usleep(15000); // 等待15ms让信号稳定
+ gpio_level_t input_low = uapi_gpio_get_val(all_pins[input_idx]);
+
+ // 检查输入是否响应输出(HIGH时输入为HIGH,LOW时输入为LOW)
+ if (input_high == GPIO_LEVEL_HIGH && input_low == GPIO_LEVEL_LOW) {
+ synced_inputs[synced_count++] = input_idx;
+ }
+ }
+
+ // 打印结果
+ PRINT("[GpioTest] Output: %s\r\n", output_name);
+ if (synced_count > 0) {
+ PRINT("[GpioTest] Synced inputs (%u):\r\n", synced_count);
+ for (uint32_t i = 0; i < synced_count; i++) {
+ uint32_t idx = synced_inputs[i];
+ PRINT("[GpioTest] - %s (pin_t=%d)\r\n", all_names[idx], all_pins[idx]);
+ }
+ } else {
+ PRINT("[GpioTest] No synced inputs found\r\n");
+ }
+
+ // 标记输出和所有同步的输入为已处理
+ pin_available[output_idx] = false;
+ remaining_count--;
+
+ for (uint32_t i = 0; i < synced_count; i++) {
+ uint32_t idx = synced_inputs[i];
+ if (pin_available[idx]) {
+ pin_available[idx] = false;
+ remaining_count--;
+ }
+ }
+
+ PRINT("[GpioTest] Round %u complete. Remaining: %u GPIOs\r\n", round, remaining_count);
+ PRINT("\r\n");
+ }
+
+ PRINT("[GpioTest] ===== Scanning Complete =====\r\n");
+ PRINT("[GpioTest] Total rounds: %u\r\n", round);
+
+ return 0;
+}
+
+/**
+ * @brief 扫描GPIO配对关系
+ * @return 0成功,-1失败
+ */
+int custom_gpio_test_scan_pairs(void)
+{
+ return gpio_test_scan_pairs();
+}
+
/**
* @brief 初始化GPIO测试模块
*/
--- /dev/null
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+"""
+从GPIO扫描日志中提取配对关系并生成JSON配置
+"""
+
+import re
+import json
+
+def parse_gpio_scan_log(log_file):
+ """解析GPIO扫描日志,提取配对关系"""
+ pairs = []
+
+ with open(log_file, 'r', encoding='utf-8') as f:
+ lines = f.readlines()
+
+ i = 0
+ while i < len(lines):
+ line = lines[i]
+
+ # 查找 "Testing output: GPIO_NAME"
+ output_match = re.search(r'Testing output: (\S+) \(pin_t=\d+\)', line)
+ if output_match:
+ output_gpio = output_match.group(1)
+
+ # 继续查找后续的 "Synced inputs"
+ i += 1
+ while i < len(lines):
+ next_line = lines[i]
+
+ # 查找 "Synced inputs (N):"
+ synced_match = re.search(r'Synced inputs \((\d+)\):', next_line)
+ if synced_match:
+ count = int(synced_match.group(1))
+
+ # 读取后续行,可能有多行输入GPIO列表
+ i += 1
+ inputs = []
+ while i < len(lines):
+ inputs_line = lines[i]
+ # 检查是否是输入GPIO行: " - GPIO_NAME (pin_t=XXX)"
+ input_match = re.search(r' - (\S+) \(pin_t=\d+\)', inputs_line)
+ if input_match:
+ inputs.append(input_match.group(1))
+ i += 1
+ elif "Round" in inputs_line and "complete" in inputs_line:
+ # 到达Round结束
+ break
+ elif inputs_line.strip() == "":
+ # 空行,继续
+ i += 1
+ else:
+ # 其他内容,停止读取输入
+ break
+
+ # 为每个输入创建一个配对
+ for input_gpio in inputs:
+ pairs.append({
+ "output": output_gpio,
+ "input": input_gpio
+ })
+ break
+ elif "Round" in next_line and "complete" in next_line:
+ # 到达Round结束,没有找到配对
+ break
+ i += 1
+ i += 1
+
+ return pairs
+
+def generate_json_config(pairs, output_file):
+ """生成JSON配置"""
+ config = {
+ "pairs": pairs
+ }
+
+ # 生成格式化的JSON
+ json_str = json.dumps(config, indent=2, ensure_ascii=False)
+
+ # 写入文件
+ with open(output_file, 'w', encoding='utf-8') as f:
+ f.write(json_str)
+
+ return json_str
+
+if __name__ == "__main__":
+ log_file = "Serial Debug 2025-11-28 193616.txt"
+ output_file = "gpio_test_config_from_scan.json"
+
+ print("=" * 60)
+ print("解析GPIO扫描日志...")
+ print("=" * 60)
+
+ pairs = parse_gpio_scan_log(log_file)
+
+ print(f"\n找到 {len(pairs)} 个配对关系:\n")
+ for i, pair in enumerate(pairs, 1):
+ print(f" {i:2d}. {pair['output']} → {pair['input']}")
+
+ print(f"\n生成JSON配置到: {output_file}")
+ json_str = generate_json_config(pairs, output_file)
+
+ print("\n" + "=" * 60)
+ print("JSON配置内容:")
+ print("=" * 60)
+ print(json_str)
+
--- /dev/null
+# GPIO连接关系表
+
+根据扫描结果,以下是GPIO之间的连接关系:
+
+## 配对关系表
+
+| 输出GPIO | pin_t | 输入GPIO | pin_t | 连接数量 |
+|---------|-------|---------|-------|---------|
+| S_AGPIO_L23 | 104 | S_AGPIO_L12 | 93 | 1 |
+| S_AGPIO_L13 | 94 | S_AGPIO_L31 | 112 | 3 |
+| S_AGPIO_L13 | 94 | S_AGPIO_L2 | 83 | 3 |
+| S_AGPIO_L13 | 94 | S_AGPIO_L4 | 85 | 3 |
+| S_AGPIO_R5 | 119 | S_MGPIO14 | 56 | 1 |
+| S_MGPIO13 | 55 | S_AGPIO_R10 | 124 | 1 |
+| S_MGPIO11 | 53 | S_MGPIO12 | 54 | 1 |
+| S_AGPIO_L21 | 102 | S_AGPIO_L11 | 92 | 1 |
+| S_MGPIO27 | 69 | S_MGPIO22 | 64 | 1 |
+| S_AGPIO_L30 | 111 | S_AGPIO_L29 | 110 | 1 |
+| S_MGPIO1 | 43 | S_MGPIO2 | 44 | 1 |
+| S_MGPIO0 | 42 | S_MGPIO6 | 48 | 1 |
+| S_MGPIO9 | 51 | S_MGPIO8 | 50 | 2 |
+| S_MGPIO9 | 51 | S_MGPIO7 | 49 | 2 |
+
+## 统计信息
+
+- **总GPIO数量**: 67
+- **扫描轮次**: 53
+- **找到连接的GPIO对**: 14对
+- **未找到连接的GPIO**: 53个(作为输出时未找到同步输入)
+
+## 连接关系汇总(按输出GPIO分组)
+
+### 一对一连接(10对)
+1. S_AGPIO_L23 → S_AGPIO_L12
+2. S_AGPIO_R5 → S_MGPIO14
+3. S_MGPIO13 → S_AGPIO_R10
+4. S_MGPIO11 → S_MGPIO12
+5. S_AGPIO_L21 → S_AGPIO_L11
+6. S_MGPIO27 → S_MGPIO22
+7. S_AGPIO_L30 → S_AGPIO_L29
+8. S_MGPIO1 → S_MGPIO2
+9. S_MGPIO0 → S_MGPIO6
+
+### 一对多连接(2组)
+1. **S_AGPIO_L13** → 3个输入:
+ - S_AGPIO_L31
+ - S_AGPIO_L2
+ - S_AGPIO_L4
+
+2. **S_MGPIO9** → 2个输入:
+ - S_MGPIO8
+ - S_MGPIO7
+
+## 注意事项
+
+- 扫描过程中,当一个GPIO作为输出时,如果找到同步的输入GPIO,这些GPIO会被标记为已处理,不会在后续轮次中再次测试
+- 部分GPIO在作为输出时未找到任何同步的输入GPIO,这些GPIO可能是:
+ - 未连接的GPIO
+ - 连接到外部设备而非其他GPIO
+ - 需要特殊配置才能检测到连接
+
--- /dev/null
+# GPIO扫描结果对比分析
+
+## 扫描信息对比
+
+| 项目 | 第一次扫描 (171600.txt) | 第二次扫描 (182925.txt) | 变化 |
+|------|------------------------|------------------------|------|
+| **扫描时间** | 2025-11-28 17:16:00 | 2025-11-28 18:29:25 | - |
+| **总GPIO数量** | 67 | 67 | 相同 |
+| **扫描轮次** | 53轮 | 46轮 | 减少7轮 |
+| **找到的连接关系** | 14对 | 21对 | **增加7对** |
+
+## 详细配对关系对比
+
+### 第一次扫描结果(14对)
+
+| 输出GPIO | 输入GPIO | 连接数 |
+|---------|---------|--------|
+| S_AGPIO_L23 | S_AGPIO_L12 | 1 |
+| S_AGPIO_L13 | S_AGPIO_L31, S_AGPIO_L2, S_AGPIO_L4 | 3 |
+| S_AGPIO_R5 | S_MGPIO14 | 1 |
+| S_MGPIO13 | S_AGPIO_R10 | 1 |
+| S_MGPIO11 | S_MGPIO12 | 1 |
+| S_AGPIO_L21 | S_AGPIO_L11 | 1 |
+| S_MGPIO27 | S_MGPIO22 | 1 |
+| S_AGPIO_L30 | S_AGPIO_L29 | 1 |
+| S_MGPIO1 | S_MGPIO2 | 1 |
+| S_MGPIO0 | S_MGPIO6 | 1 |
+| S_MGPIO9 | S_MGPIO8, S_MGPIO7 | 2 |
+
+### 第二次扫描结果(21对)
+
+| 输出GPIO | 输入GPIO | 连接数 |
+|---------|---------|--------|
+| S_AGPIO_L23 | S_AGPIO_L12, S_AGPIO_L2, S_AGPIO_L4 | 3 |
+| S_AGPIO_L13 | S_AGPIO_L31, S_AGPIO_L29, S_MGPIO2, S_MGPIO6, S_MGPIO8, S_AGPIO_L28, S_HGPIO9 | 7 |
+| S_AGPIO_L3 | S_AGPIO_L0, S_AGPIO_R6, S_MGPIO20, S_MGPIO7 | 4 |
+| S_AGPIO_L1 | S_AGPIO_L11 | 1 |
+| S_AGPIO_R4 | S_MGPIO22 | 1 |
+| S_AGPIO_R5 | S_MGPIO14 | 1 |
+| S_MGPIO13 | S_AGPIO_R10, S_MGPIO1, S_MGPIO9 | 3 |
+| S_MGPIO11 | S_MGPIO12 | 1 |
+
+## 关键变化分析
+
+### 1. 新增的连接关系(第二次扫描发现)
+
+1. **S_AGPIO_L23** 新增:
+ - S_AGPIO_L2
+ - S_AGPIO_L4
+ (第一次只有S_AGPIO_L12)
+
+2. **S_AGPIO_L13** 新增:
+ - S_AGPIO_L29
+ - S_MGPIO2
+ - S_MGPIO6
+ - S_MGPIO8
+ - S_AGPIO_L28
+ - S_HGPIO9
+ (第一次只有S_AGPIO_L31, S_AGPIO_L2, S_AGPIO_L4)
+
+3. **S_AGPIO_L3** 新增(第一次未发现):
+ - S_AGPIO_L0
+ - S_AGPIO_R6
+ - S_MGPIO20
+ - S_MGPIO7
+
+4. **S_AGPIO_L1** 新增(第一次未发现):
+ - S_AGPIO_L11
+
+5. **S_AGPIO_R4** 新增(第一次未发现):
+ - S_MGPIO22
+
+6. **S_MGPIO13** 新增:
+ - S_MGPIO1
+ - S_MGPIO9
+ (第一次只有S_AGPIO_R10)
+
+### 2. 消失的连接关系(第二次扫描未发现)
+
+1. **S_AGPIO_L21 → S_AGPIO_L11** (第一次有,第二次消失)
+ - 但第二次扫描中,S_AGPIO_L1 → S_AGPIO_L11 出现了
+
+2. **S_MGPIO27 → S_MGPIO22** (第一次有,第二次消失)
+ - 但第二次扫描中,S_AGPIO_R4 → S_MGPIO22 出现了
+
+3. **S_AGPIO_L30 → S_AGPIO_L29** (第一次有,第二次消失)
+ - 但第二次扫描中,S_AGPIO_L13 → S_AGPIO_L29 出现了
+
+4. **S_MGPIO1 → S_MGPIO2** (第一次有,第二次消失)
+ - 但第二次扫描中,S_AGPIO_L13 → S_MGPIO2 出现了
+
+5. **S_MGPIO0 → S_MGPIO6** (第一次有,第二次消失)
+ - 但第二次扫描中,S_AGPIO_L13 → S_MGPIO6 出现了
+
+6. **S_MGPIO9 → S_MGPIO8, S_MGPIO7** (第一次有,第二次消失)
+ - 但第二次扫描中:
+ - S_AGPIO_L13 → S_MGPIO8 出现了
+ - S_AGPIO_L3 → S_MGPIO7 出现了
+
+## 总结
+
+### 主要发现:
+
+1. **连接关系增加**:从14对增加到21对,增加了50%
+2. **一对多连接增加**:第二次扫描发现更多一对多的连接关系
+3. **连接模式变化**:
+ - 第一次:连接关系相对分散
+ - 第二次:某些GPIO(如S_AGPIO_L13)连接到更多GPIO
+4. **扫描轮次减少**:从53轮减少到46轮,说明某些GPIO在早期就被配对并移除了
+
+### 可能的原因:
+
+1. **GPIO配置改变**:将GPIO配置改为`HAL_PIO_FUNC_OPI`后,GPIO的电气特性可能发生了变化
+2. **Pull设置改变**:第二次扫描中设置了`PIN_PULL_NONE`,可能影响了信号检测
+3. **扫描顺序影响**:由于迭代扫描会移除已配对的GPIO,扫描顺序会影响结果
+
+### 建议:
+
+1. 需要确认哪次扫描结果更准确
+2. 可能需要调整GPIO配置或扫描参数以获得更稳定的结果
+3. 建议多次扫描验证结果的稳定性
+
--- /dev/null
+# GPIO扫描配对结果分析
+
+## 扫描信息
+
+- **扫描时间**: 2025-11-28 19:36:16
+- **总GPIO数量**: 67个
+- **扫描轮次**: 53轮
+- **找到的配对关系**: 14对
+
+## 配对关系详情
+
+| # | 输出GPIO | 输入GPIO | Round | 说明 |
+|---|---------|---------|-------|------|
+| 1 | S_AGPIO_L23 | S_AGPIO_L12 | 1 | 一对一配对 |
+| 2 | S_AGPIO_L13 | S_AGPIO_L31 | 2 | 一对一配对 |
+| 3 | S_AGPIO_L3 | S_AGPIO_L2 | 3 | 一对一配对 |
+| 4 | S_AGPIO_L1 | S_AGPIO_L4 | 4 | 一对一配对 |
+| 5 | S_AGPIO_R5 | S_MGPIO14 | 7 | 一对一配对 |
+| 6 | S_MGPIO13 | S_AGPIO_R10 | 8 | 一对一配对 |
+| 7 | S_MGPIO11 | S_MGPIO12 | 9 | 一对一配对 |
+| 8 | S_AGPIO_L21 | S_AGPIO_L11 | 14 | 一对一配对 |
+| 9 | S_MGPIO27 | S_MGPIO22 | 29 | 一对一配对 |
+| 10 | S_AGPIO_L30 | S_AGPIO_L29 | 36 | 一对一配对 |
+| 11 | S_MGPIO1 | S_MGPIO2 | 47 | 一对一配对 |
+| 12 | S_MGPIO0 | S_MGPIO6 | 48 | 一对一配对 |
+| 13 | S_MGPIO9 | S_MGPIO8 | 49 | 一对多配对(2个输入) |
+| 14 | S_MGPIO9 | S_MGPIO7 | 49 | 一对多配对(2个输入) |
+
+## 配对统计
+
+### 按GPIO类型分类
+
+- **S_AGPIO_L**: 6对
+ - S_AGPIO_L23 → S_AGPIO_L12
+ - S_AGPIO_L13 → S_AGPIO_L31
+ - S_AGPIO_L3 → S_AGPIO_L2
+ - S_AGPIO_L1 → S_AGPIO_L4
+ - S_AGPIO_L21 → S_AGPIO_L11
+ - S_AGPIO_L30 → S_AGPIO_L29
+
+- **S_AGPIO_R**: 2对
+ - S_AGPIO_R5 → S_MGPIO14
+ - S_MGPIO13 → S_AGPIO_R10
+
+- **S_MGPIO**: 6对
+ - S_MGPIO11 → S_MGPIO12
+ - S_MGPIO27 → S_MGPIO22
+ - S_MGPIO1 → S_MGPIO2
+ - S_MGPIO0 → S_MGPIO6
+ - S_MGPIO9 → S_MGPIO8
+ - S_MGPIO9 → S_MGPIO7
+
+### 配对模式
+
+- **一对一配对**: 13对(93%)
+- **一对多配对**: 1对(7%)
+ - S_MGPIO9 连接到 2个输入(S_MGPIO8, S_MGPIO7)
+
+## 未配对的GPIO
+
+以下GPIO在扫描过程中没有找到配对关系(共53个):
+
+- S_AGPIO_L0, S_AGPIO_L15, S_AGPIO_L17, S_AGPIO_L18, S_AGPIO_L19, S_AGPIO_L20, S_AGPIO_L24, S_AGPIO_L26, S_AGPIO_L28, S_AGPIO_L32
+- S_AGPIO_R0, S_AGPIO_R1, S_AGPIO_R2, S_AGPIO_R3, S_AGPIO_R4, S_AGPIO_R6, S_AGPIO_R7, S_AGPIO_R8, S_AGPIO_R9
+- S_HGPIO0, S_HGPIO1, S_HGPIO2, S_HGPIO3, S_HGPIO4, S_HGPIO5, S_HGPIO9, S_HGPIO13
+- S_MGPIO3, S_MGPIO19, S_MGPIO20, S_MGPIO21, S_MGPIO23, S_MGPIO24, S_MGPIO25, S_MGPIO26, S_MGPIO28, S_MGPIO29, S_MGPIO30, S_MGPIO31, S_MGPIO32
+
+## JSON配置数据
+
+生成的JSON配置文件已保存到: `gpio_test_config_from_scan.json`
+
+### 配置格式
+
+```json
+{
+ "pairs": [
+ { "output": "GPIO_NAME", "input": "GPIO_NAME" },
+ ...
+ ]
+}
+```
+
+### 使用说明
+
+1. 此配置可以直接用于GPIO测试程序
+2. 可以通过AT指令 `AT^GPIOTEST=1,<json_string>` 更新配置
+3. 配置中的 `output` 字段表示输出GPIO,`input` 字段表示输入GPIO
+
+## 注意事项
+
+1. **一对多配对**: S_MGPIO9 同时连接到 S_MGPIO8 和 S_MGPIO7,这在JSON中需要两个独立的条目
+2. **配对方向**: 扫描结果中的"输出"和"输入"方向是测试时的方向,实际硬件连接可能是双向的
+3. **未配对GPIO**: 未找到配对的GPIO可能是:
+ - 未连接的GPIO(NC - No Connection)
+ - 连接到其他设备(非GPIO)
+ - 扫描时未检测到的连接
+
--- /dev/null
+# 同一日志文件中两次扫描结果对比
+
+## 扫描信息
+
+| 项目 | 第一次扫描 | 第二次扫描 | 差异 |
+|------|-----------|-----------|------|
+| **扫描位置** | 第82-490行 | 第575-983行 | - |
+| **总GPIO数量** | 67 | 67 | 相同 |
+| **扫描轮次** | 53轮 | 53轮 | **完全相同** |
+| **找到的连接关系** | 14对 | 14对 | **完全相同** |
+
+## 详细配对关系对比
+
+### 第一次扫描结果(14对)
+
+| Round | 输出GPIO | 输入GPIO | 连接数 |
+|-------|---------|---------|--------|
+| 1 | S_AGPIO_L23 | S_AGPIO_L12 | 1 |
+| 2 | S_AGPIO_L13 | S_AGPIO_L31 | 1 |
+| 3 | S_AGPIO_L3 | S_AGPIO_L2 | 1 |
+| 4 | S_AGPIO_L1 | S_AGPIO_L4 | 1 |
+| 7 | S_AGPIO_R5 | S_MGPIO14 | 1 |
+| 8 | S_MGPIO13 | S_AGPIO_R10 | 1 |
+| 9 | S_MGPIO11 | S_MGPIO12 | 1 |
+| 14 | S_AGPIO_L21 | S_AGPIO_L11 | 1 |
+| 29 | S_MGPIO27 | S_MGPIO22 | 1 |
+| 36 | S_AGPIO_L30 | S_AGPIO_L29 | 1 |
+| 47 | S_MGPIO1 | S_MGPIO2 | 1 |
+| 48 | S_MGPIO0 | S_MGPIO6 | 1 |
+| 49 | S_MGPIO9 | S_MGPIO8, S_MGPIO7 | 2 |
+
+### 第二次扫描结果(14对)
+
+| Round | 输出GPIO | 输入GPIO | 连接数 |
+|-------|---------|---------|--------|
+| 1 | S_AGPIO_L23 | S_AGPIO_L12 | 1 |
+| 2 | S_AGPIO_L13 | S_AGPIO_L31 | 1 |
+| 3 | S_AGPIO_L3 | S_AGPIO_L2 | 1 |
+| 4 | S_AGPIO_L1 | S_AGPIO_L4 | 1 |
+| 7 | S_AGPIO_R5 | S_MGPIO14 | 1 |
+| 8 | S_MGPIO13 | S_AGPIO_R10 | 1 |
+| 9 | S_MGPIO11 | S_MGPIO12 | 1 |
+| 14 | S_AGPIO_L21 | S_AGPIO_L11 | 1 |
+| 29 | S_MGPIO27 | S_MGPIO22 | 1 |
+| 36 | S_AGPIO_L30 | S_AGPIO_L29 | 1 |
+| 47 | S_MGPIO1 | S_MGPIO2 | 1 |
+| 48 | S_MGPIO0 | S_MGPIO6 | 1 |
+| 49 | S_MGPIO9 | S_MGPIO8, S_MGPIO7 | 2 |
+
+## 对比结果
+
+### ✅ **完全一致**
+
+两次扫描的结果**完全相同**:
+
+1. **连接关系数量**:都是14对
+2. **连接关系内容**:所有配对关系完全一致
+3. **扫描轮次**:都是53轮
+4. **配对顺序**:所有配对在相同的Round中出现
+
+### 详细对比表
+
+| 配对关系 | 第一次扫描 | 第二次扫描 | 状态 |
+|---------|-----------|-----------|------|
+| S_AGPIO_L23 → S_AGPIO_L12 | Round 1 | Round 1 | ✅ 一致 |
+| S_AGPIO_L13 → S_AGPIO_L31 | Round 2 | Round 2 | ✅ 一致 |
+| S_AGPIO_L3 → S_AGPIO_L2 | Round 3 | Round 3 | ✅ 一致 |
+| S_AGPIO_L1 → S_AGPIO_L4 | Round 4 | Round 4 | ✅ 一致 |
+| S_AGPIO_R5 → S_MGPIO14 | Round 7 | Round 7 | ✅ 一致 |
+| S_MGPIO13 → S_AGPIO_R10 | Round 8 | Round 8 | ✅ 一致 |
+| S_MGPIO11 → S_MGPIO12 | Round 9 | Round 9 | ✅ 一致 |
+| S_AGPIO_L21 → S_AGPIO_L11 | Round 14 | Round 14 | ✅ 一致 |
+| S_MGPIO27 → S_MGPIO22 | Round 29 | Round 29 | ✅ 一致 |
+| S_AGPIO_L30 → S_AGPIO_L29 | Round 36 | Round 36 | ✅ 一致 |
+| S_MGPIO1 → S_MGPIO2 | Round 47 | Round 47 | ✅ 一致 |
+| S_MGPIO0 → S_MGPIO6 | Round 48 | Round 48 | ✅ 一致 |
+| S_MGPIO9 → S_MGPIO8, S_MGPIO7 | Round 49 | Round 49 | ✅ 一致 |
+
+## 结论
+
+### 🎯 **扫描结果高度稳定**
+
+1. **可重复性**:两次扫描结果完全一致,说明扫描算法稳定可靠
+2. **硬件连接稳定**:GPIO连接关系在两次扫描之间没有变化
+3. **算法一致性**:迭代扫描算法在相同条件下产生相同结果
+4. **配置稳定**:GPIO配置(`HAL_PIO_FUNC_OPI`)在两次扫描之间保持一致
+
+### 与之前对比的差异
+
+- **之前对比(不同时间点)**:结果差异较大(14对 vs 21对),可能是由于:
+ - GPIO配置不同(第一次可能是`HAL_PIO_FUNC_GPIO`,第二次是`HAL_PIO_FUNC_OPI`)
+ - Pull设置不同
+ - 硬件状态不同
+
+- **本次对比(同一日志)**:结果完全一致,说明:
+ - 在相同配置和条件下,扫描结果是可重复的
+ - 算法实现正确,没有随机性
+ - 硬件连接关系稳定
+
+### 建议
+
+1. ✅ **扫描算法验证通过**:结果可重复,算法稳定
+2. ✅ **硬件连接关系已确认**:14对连接关系是稳定的硬件连接
+3. 📝 **可以用于生产测试**:扫描结果稳定可靠,适合用于GPIO配对测试
+
--- /dev/null
+{
+ "pairs": [
+ {
+ "output": "S_AGPIO_L23",
+ "input": "S_AGPIO_L12"
+ },
+ {
+ "output": "S_AGPIO_L13",
+ "input": "S_AGPIO_L31"
+ },
+ {
+ "output": "S_AGPIO_L3",
+ "input": "S_AGPIO_L2"
+ },
+ {
+ "output": "S_AGPIO_L1",
+ "input": "S_AGPIO_L4"
+ },
+ {
+ "output": "S_AGPIO_R5",
+ "input": "S_MGPIO14"
+ },
+ {
+ "output": "S_MGPIO13",
+ "input": "S_AGPIO_R10"
+ },
+ {
+ "output": "S_MGPIO11",
+ "input": "S_MGPIO12"
+ },
+ {
+ "output": "S_AGPIO_L21",
+ "input": "S_AGPIO_L11"
+ },
+ {
+ "output": "S_MGPIO27",
+ "input": "S_MGPIO22"
+ },
+ {
+ "output": "S_AGPIO_L30",
+ "input": "S_AGPIO_L29"
+ },
+ {
+ "output": "S_MGPIO1",
+ "input": "S_MGPIO2"
+ },
+ {
+ "output": "S_MGPIO0",
+ "input": "S_MGPIO6"
+ },
+ {
+ "output": "S_MGPIO9",
+ "input": "S_MGPIO8"
+ },
+ {
+ "output": "S_MGPIO9",
+ "input": "S_MGPIO7"
+ }
+ ]
+}
\ No newline at end of file
--- /dev/null
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+"""
+在board_leiniao.h中标记67个GPIO
+只在注释中查找GPIO名称
+"""
+
+# 67个GPIO列表
+gpio_list = [
+ "S_HGPIO0", "S_HGPIO1", "S_HGPIO2", "S_HGPIO3", "S_HGPIO4", "S_HGPIO5",
+ "S_HGPIO9", "S_HGPIO13",
+ "S_MGPIO0", "S_MGPIO1", "S_MGPIO2", "S_MGPIO3",
+ "S_MGPIO6", "S_MGPIO7", "S_MGPIO8", "S_MGPIO9",
+ "S_MGPIO11", "S_MGPIO12", "S_MGPIO13", "S_MGPIO14",
+ "S_MGPIO19", "S_MGPIO20", "S_MGPIO21", "S_MGPIO22",
+ "S_MGPIO23", "S_MGPIO24", "S_MGPIO25", "S_MGPIO26",
+ "S_MGPIO27", "S_MGPIO28", "S_MGPIO29", "S_MGPIO30",
+ "S_MGPIO31", "S_MGPIO32",
+ "S_AGPIO_L0", "S_AGPIO_L1", "S_AGPIO_L2", "S_AGPIO_L3", "S_AGPIO_L4",
+ "S_AGPIO_L11", "S_AGPIO_L12", "S_AGPIO_L13",
+ "S_AGPIO_L15",
+ "S_AGPIO_L17", "S_AGPIO_L18", "S_AGPIO_L19",
+ "S_AGPIO_L20", "S_AGPIO_L21",
+ "S_AGPIO_L23", "S_AGPIO_L24",
+ "S_AGPIO_L26",
+ "S_AGPIO_L28", "S_AGPIO_L29", "S_AGPIO_L30", "S_AGPIO_L31", "S_AGPIO_L32",
+ "S_AGPIO_R0", "S_AGPIO_R1",
+ "S_AGPIO_R2",
+ "S_AGPIO_R3", "S_AGPIO_R4", "S_AGPIO_R5", "S_AGPIO_R6",
+ "S_AGPIO_R7", "S_AGPIO_R8", "S_AGPIO_R9", "S_AGPIO_R10"
+]
+
+def mark_gpio_in_file(file_path):
+ """在文件中标记GPIO"""
+ import re
+
+ try:
+ with open(file_path, 'r', encoding='utf-8') as f:
+ lines = f.readlines()
+
+ marked_count = {gpio: 0 for gpio in gpio_list}
+ new_lines = []
+
+ for line_num, line in enumerate(lines, 1):
+ original_line = line
+ # 提取注释部分(// 后面的内容)
+ comment_match = re.search(r'//\s*(.+)', line)
+ if comment_match:
+ comment_text = comment_match.group(1)
+ # 检查注释中是否包含67个GPIO中的任何一个
+ for gpio in gpio_list:
+ # 精确匹配:GPIO名称作为单词边界
+ pattern = r'\b' + re.escape(gpio) + r'\b'
+ if re.search(pattern, comment_text):
+ # 检查是否已经有标记
+ if f"[67GPIO-{gpio}]" not in line:
+ # 在注释前添加标记
+ comment_pos = line.find("//")
+ line = line[:comment_pos] + f"// [67GPIO-{gpio}] " + line[comment_pos:]
+ marked_count[gpio] += 1
+
+ new_lines.append(line)
+
+ # 写回文件
+ with open(file_path, 'w', encoding='utf-8') as f:
+ f.writelines(new_lines)
+
+ # 打印统计
+ print("=" * 60)
+ print("GPIO标记统计:")
+ print("=" * 60)
+ total_marked = 0
+ found_gpios = []
+ missing_gpios = []
+
+ for gpio in sorted(gpio_list):
+ count = marked_count[gpio]
+ if count > 0:
+ print(f" ✓ {gpio}: {count} 处")
+ total_marked += count
+ found_gpios.append(gpio)
+ else:
+ print(f" ✗ {gpio}: 未找到")
+ missing_gpios.append(gpio)
+
+ print()
+ print(f"总计: {total_marked} 处标记")
+ print(f"找到的GPIO: {len(found_gpios)} 个")
+ print(f"未找到的GPIO: {len(missing_gpios)} 个")
+ if missing_gpios:
+ print(f"未找到的GPIO列表: {', '.join(missing_gpios)}")
+
+ return True
+
+ except Exception as e:
+ print(f"Error: {e}")
+ import traceback
+ traceback.print_exc()
+ return False
+
+if __name__ == "__main__":
+ file_path = "code/sdk/drivers/boards/brandy_evb/board_config/board_leiniao.h"
+ mark_gpio_in_file(file_path)
--- /dev/null
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+"""
+PDF to Markdown converter
+"""
+import sys
+import os
+from PyPDF2 import PdfReader
+
+def pdf_to_markdown(pdf_path, output_path=None):
+ """Convert PDF to Markdown format"""
+ if not os.path.exists(pdf_path):
+ print(f"Error: PDF file not found: {pdf_path}")
+ return False
+
+ if output_path is None:
+ output_path = pdf_path.replace('.pdf', '.md')
+
+ try:
+ reader = PdfReader(pdf_path)
+ total_pages = len(reader.pages)
+
+ markdown_content = []
+ markdown_content.append(f"# {os.path.basename(pdf_path).replace('.pdf', '')}\n\n")
+ markdown_content.append(f"*Converted from PDF - {total_pages} pages*\n\n")
+ markdown_content.append("---\n\n")
+
+ for page_num, page in enumerate(reader.pages, 1):
+ text = page.extract_text()
+ if text.strip():
+ markdown_content.append(f"## Page {page_num}\n\n")
+ # Clean up text and format as markdown
+ lines = text.split('\n')
+ for line in lines:
+ line = line.strip()
+ if line:
+ # Try to detect headings (lines that are short and might be titles)
+ if len(line) < 80 and not line.endswith('.') and not line.endswith(','):
+ # Might be a heading
+ markdown_content.append(f"### {line}\n\n")
+ else:
+ markdown_content.append(f"{line}\n\n")
+ markdown_content.append("\n---\n\n")
+
+ # Write to markdown file
+ with open(output_path, 'w', encoding='utf-8') as f:
+ f.write(''.join(markdown_content))
+
+ print(f"Successfully converted {pdf_path} to {output_path}")
+ print(f"Total pages: {total_pages}")
+ return True
+
+ except Exception as e:
+ print(f"Error converting PDF: {e}")
+ return False
+
+if __name__ == "__main__":
+ if len(sys.argv) < 2:
+ print("Usage: python3 pdf_to_md.py <pdf_file> [output_file]")
+ sys.exit(1)
+
+ pdf_file = sys.argv[1]
+ output_file = sys.argv[2] if len(sys.argv) > 2 else None
+
+ success = pdf_to_markdown(pdf_file, output_file)
+ sys.exit(0 if success else 1)
+