[19:07:03.164] Starting QSJNIC Protocol Test on /dev/ttyS7 [19:07:03.164] Suites: Public=1 Radio=1 Update=1 UpgradeMCU=0 [19:07:03.167] Sending Setup Frame... [19:07:03.175] RX [Frame] len=7, hex: FF AA 00 07 01 03 F4 [19:07:03.175] >>> Received SetupACK (0x03) from MCU. Link confirmed! [19:07:03.176] TX [Setup] len=7, hex: FF AA 00 07 01 01 F6 [19:07:03.176] >>> Link Established <<< [19:07:03.176] [ PASS ] Link establishment (Setup/SetupAck/Heartbeat) [19:07:03.176] ===== Testing Public Interfaces ===== [19:07:03.188] TX [Public: Req Init Info] len=9, hex: FF AA 00 09 02 06 01 81 6C [19:07:05.176] TX [Heartbeat] len=7, hex: FF AA 00 07 03 05 F0 [19:07:06.209] --- Timeout waiting for ACK/response on "Public: Req Init Info", retrying (1/2) --- [19:07:06.220] TX [Public: Req Init Info] len=9, hex: FF AA 00 09 04 06 01 81 6A [19:07:07.188] TX [Heartbeat] len=7, hex: FF AA 00 07 05 05 EE [19:07:09.204] TX [Heartbeat] len=7, hex: FF AA 00 07 06 05 ED [19:07:09.238] --- ACK/response never received for "Public: Req Init Info" after 2 attempts --- [19:07:09.238] [ FAIL ] Public 0x81 REQ_INIT_INFO [19:07:09.748] TX [Public: Req MCU Version] len=10, hex: FF AA 00 0A 07 06 01 86 02 5F [19:07:11.216] TX [Heartbeat] len=7, hex: FF AA 00 07 08 05 EB [19:07:12.769] --- Timeout waiting for ACK/response on "Public: Req MCU Version", retrying (1/2) --- [19:07:12.780] TX [Public: Req MCU Version] len=10, hex: FF AA 00 0A 09 06 01 86 02 5D [19:07:12.995] RX [Frame] len=7, hex: FF AA 00 07 01 05 F2 [19:07:13.004] TX [ACK to MCU] len=7, hex: FF AA 00 07 01 02 F5 [19:07:13.222] RX [Frame] len=7, hex: FF AA 00 07 0A 05 E9 [19:07:13.228] TX [Heartbeat] len=7, hex: FF AA 00 07 0A 05 E9 [19:07:13.240] TX [ACK to MCU] len=7, hex: FF AA 00 07 0A 02 EC [19:07:15.240] TX [Heartbeat] len=7, hex: FF AA 00 07 0B 05 E8 [19:07:15.240] RX [Frame] len=7, hex: FF AA 00 07 0B 05 E8 [19:07:15.252] TX [ACK to MCU] len=7, hex: FF AA 00 07 0B 02 EB [19:07:15.800] --- ACK/response never received for "Public: Req MCU Version" after 2 attempts --- [19:07:15.800] [ FAIL ] Public 0x86 REQ_TYPE_INFO MCU_VERSION [19:07:15.806] RX [Frame] len=7, hex: FF AA 00 07 0C 02 EA [19:07:15.806] [ACK] from MCU, seq=0x0C [19:07:15.812] TX [Public: Req Line Detect] len=10, hex: FF AA 00 0A 0C 06 01 86 01 5B [19:07:15.812] [ PASS ] Public 0x86 REQ_TYPE_INFO LINE_DETECT [19:07:15.821] RX [Frame] len=7, hex: FF AA 00 07 0D 02 E9 [19:07:15.821] [ACK] from MCU, seq=0x0D [19:07:15.824] TX [Public: Set Backlight 50%] len=11, hex: FF AA 00 0B 0D 06 01 84 32 32 F8 [19:07:15.824] [ PASS ] Public 0x84 TFT_DUTY_CYCLE 50/50 [19:07:15.835] RX [Frame] len=7, hex: FF AA 00 07 0E 02 E8 [19:07:15.835] [ACK] from MCU, seq=0x0E [19:07:15.836] TX [Public: TFT IVI ON] len=10, hex: FF AA 00 0A 0E 06 01 88 09 4F [19:07:15.836] [ PASS ] Public 0x88 SET_TFT_ON_OFF [19:07:15.848] TX [Public: AMP PWR ON] len=10, hex: FF AA 00 0A 0F 06 01 8A 01 54 [19:07:15.864] RX [Frame] len=7, hex: FF AA 00 07 0F 02 E7 [19:07:15.864] [ACK] from MCU, seq=0x0F [19:07:15.868] [ PASS ] Public 0x8A SET_AMP_PWR_ON [19:07:15.878] RX [Frame] len=7, hex: FF AA 00 07 10 02 E6 [19:07:15.878] [ACK] from MCU, seq=0x10 [19:07:15.880] TX [Public: Mute OFF] len=10, hex: FF AA 00 0A 10 06 01 82 00 5C [19:07:15.880] [ PASS ] Public 0x82 REQ_MUTE OFF [19:07:15.892] TX [Public: Set Time] len=15, hex: FF AA 00 0F 11 06 01 83 1A 04 1C 0C 00 00 0F [19:07:15.915] RX [Frame] len=7, hex: FF AA 00 07 11 02 E5 [19:07:15.915] [ACK] from MCU, seq=0x11 [19:07:15.922] [ PASS ] Public 0x83 TIME_INFO [19:07:15.922] ===== Testing Radio Interfaces ===== [19:07:15.932] TX [Radio: Set Band FM] len=10, hex: FF AA 00 0A 12 06 05 83 00 55 [19:07:15.939] RX [Frame] len=7, hex: FF AA 00 07 12 02 E4 [19:07:15.939] [ACK] from MCU, seq=0x12 [19:07:15.942] [ PASS ] Radio 0x83 SET_BAND FM [19:07:15.952] TX [Radio: Set Freq Range] len=20, hex: FF AA 00 14 13 06 05 85 00 02 0A 06 86 22 2E 2A 30 09 01 FC [19:07:15.976] RX [Frame] len=7, hex: FF AA 00 07 13 02 E3 [19:07:15.976] [ACK] from MCU, seq=0x13 [19:07:15.982] [ PASS ] Radio 0x85 FREQ_RANGE [19:07:15.992] TX [Radio: Set FM 87.5] len=11, hex: FF AA 00 0B 14 06 05 84 22 2E 01 [19:07:15.996] RX [Frame] len=7, hex: FF AA 00 07 14 02 E2 [19:07:15.996] [ACK] from MCU, seq=0x14 [19:07:16.002] [ PASS ] Radio 0x84 SET_FREQ 87.5MHz [19:07:16.012] TX [Radio: ANT PWR ON] len=10, hex: FF AA 00 0A 15 06 05 86 01 4E [19:07:16.015] RX [Frame] len=7, hex: FF AA 00 07 15 02 E1 [19:07:16.015] [ACK] from MCU, seq=0x15 [19:07:16.022] [ PASS ] Radio 0x86 ANT_PWR_ON [19:07:16.032] TX [Radio: Switch Stereo ON] len=11, hex: FF AA 00 0B 16 06 05 82 02 01 4E [19:07:16.038] RX [Frame] len=7, hex: FF AA 00 07 16 02 E0 [19:07:16.038] [ACK] from MCU, seq=0x16 [19:07:16.042] [ PASS ] Radio 0x82 SWITCH_ON_OFF [19:07:16.052] TX [Radio: Reg Mute Close] len=10, hex: FF AA 00 0A 17 06 05 87 01 4B [19:07:16.052] RX [Frame] len=7, hex: FF AA 00 07 17 02 DF [19:07:16.052] [ACK] from MCU, seq=0x17 [19:07:16.062] [ PASS ] Radio 0x87 REG_MUTE Close [19:07:16.076] TX [Radio: Seek Forward] len=11, hex: FF AA 00 0B 18 06 05 81 02 00 4E [19:07:16.281] RX [Frame] len=7, hex: FF AA 00 07 18 02 DE [19:07:16.281] [ACK] from MCU, seq=0x18 [19:07:16.287] [ PASS ] Radio 0x81 SEEK_MODE Forward [19:07:16.296] TX [Radio: Seek Stop] len=11, hex: FF AA 00 0B 19 06 05 81 00 00 4F [19:07:16.356] RX [Frame] len=7, hex: FF AA 00 07 19 02 DD [19:07:16.356] [ACK] from MCU, seq=0x19 [19:07:16.356] [ PASS ] Radio 0x81 SEEK_MODE Stop [19:07:16.356] ===== Testing MOCK Update Interfaces Flow ===== [19:07:16.368] TX [Update: Request Start] len=19, hex: FF AA 00 13 1A 06 07 80 04 45 31 31 32 43 00 00 04 00 21 [19:07:16.402] RX [Frame] len=7, hex: FF AA 00 07 1A 02 DC [19:07:16.402] [ACK] from MCU, seq=0x1A [19:07:16.408] [ PASS ] Update 0x80 UPDATE_REQ tx [19:07:16.408] Waiting for MCU UPDATE_ACK (any type)... up to 10s [19:07:17.243] RX [Frame] len=7, hex: FF AA 00 07 1B 05 D8 [19:07:17.256] TX [Heartbeat] len=7, hex: FF AA 00 07 1B 05 D8 [19:07:17.272] TX [ACK to MCU] len=7, hex: FF AA 00 07 1B 02 DB [19:07:19.268] TX [Heartbeat] len=7, hex: FF AA 00 07 1C 05 D7 [19:07:19.269] RX [Frame] len=7, hex: FF AA 00 07 1C 05 D7 [19:07:19.280] TX [ACK to MCU] len=7, hex: FF AA 00 07 1C 02 DA [19:07:21.274] RX [Frame] len=7, hex: FF AA 00 07 1D 05 D6 [19:07:21.280] TX [Heartbeat] len=7, hex: FF AA 00 07 1D 05 D6 [19:07:21.292] TX [ACK to MCU] len=7, hex: FF AA 00 07 1D 02 D9 [19:07:22.989] RX [Frame] len=7, hex: FF AA 00 07 1D 05 D6 [19:07:23.000] TX [ACK to MCU] len=7, hex: FF AA 00 07 1D 02 D9 [19:07:23.292] RX [Frame] len=7, hex: FF AA 00 07 1E 05 D5 [19:07:23.292] TX [Heartbeat] len=7, hex: FF AA 00 07 1E 05 D5 [19:07:23.304] TX [ACK to MCU] len=7, hex: FF AA 00 07 1E 02 D8 [19:07:25.299] RX [Frame] len=7, hex: FF AA 00 07 1F 05 D4 [19:07:25.308] TX [Heartbeat] len=7, hex: FF AA 00 07 1F 05 D4 [19:07:25.320] TX [ACK to MCU] len=7, hex: FF AA 00 07 1F 02 D7 [19:07:26.416] -> update_ack_type: (waited 10000ms) [19:07:26.416] [ FAIL ] Update 0x80 UPDATE_REQ application ack [19:07:26.416] !!! Mock test cannot proceed without real bin/projID. Use --upgrade-mcu --bin . [19:07:26.416] All test sequences completed. Waiting 3s for any remaining messages... [19:07:27.314] RX [Frame] len=7, hex: FF AA 00 07 20 05 D3 [19:07:27.320] TX [Heartbeat] len=7, hex: FF AA 00 07 20 05 D3 [19:07:27.332] TX [ACK to MCU] len=7, hex: FF AA 00 07 20 02 D6 [19:07:29.329] RX [Frame] len=7, hex: FF AA 00 07 21 05 D2 [19:07:29.336] TX [Heartbeat] len=7, hex: FF AA 00 07 21 05 D2 [19:07:29.348] TX [ACK to MCU] len=7, hex: FF AA 00 07 21 02 D5 [19:07:29.432] TX [Close] len=7, hex: FF AA 00 07 22 04 D2 [19:07:31.336] ===== TEST SUMMARY ===== [19:07:31.336] Total : 19 [19:07:31.336] Passed: 16 [19:07:31.336] Failed: 3 [19:07:31.336] ===== LINK HEALTH ===== [19:07:31.336] ARM TX initiated frames: 34 (Setup/Heartbeat/Normal/Close) [19:07:31.336] MCU RX classified : SetupAck=1 ACK=15 Heartbeat=11 Normal=0 Notify(0x07)=0 Close=0 (total=27) [19:07:31.336] [ INFO ] Bidirectional link verified (MCU ACK count = 16). [19:07:31.336] Report saved to test_report.log.