From d6c8719bcb1607e6b0c668f15655de483e15f02e Mon Sep 17 00:00:00 2001 From: hathach Date: Mon, 30 Sep 2024 23:16:53 +0700 Subject: [PATCH 1/2] temporarily update hil_test.py to have dual/host_info_to_device_cdc optional for pico/pico2 since it does not seem to be stable enough --- test/hil/hil_test.py | 13 +++++++++---- test/hil/tinyusb.json | 1 - 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/test/hil/hil_test.py b/test/hil/hil_test.py index 2d14220c5..f152b1aa9 100644 --- a/test/hil/hil_test.py +++ b/test/hil/hil_test.py @@ -240,8 +240,13 @@ def test_dual_host_info_to_device_cdc(board): print(f'\r\n {l} ', end='') enum_dev_sn.append(f'{vid_pid_sn.group(1)}_{vid_pid_sn.group(2)}_{vid_pid_sn.group(3)}') - assert(set(declared_devs) == set(enum_dev_sn)), \ - f'Enumerated devices {enum_dev_sn} not match with declared {declared_devs}' + if set(declared_devs) != set(enum_dev_sn): + # for pico/pico2 make this test optional + failed_msg = f'Enumerated devices {enum_dev_sn} not match with declared {declared_devs}' + if 'raspberry_pi_pico' in board['name']: + print(f'\r\n {failed_msg} ', end='') + else: + assert False, failed_msg return 0 @@ -405,6 +410,8 @@ def test_board(board): if 'tests' in board: board_tests = board['tests'] + if 'dual_attached' in board_tests: + test_list += dual_tests if 'only' in board_tests: test_list = board_tests['only'] if 'skip' in board_tests: @@ -412,8 +419,6 @@ def test_board(board): if skip in test_list: test_list.remove(skip) print(f'{name:25} {skip:30} ... Skip') - if 'dual_attached' in board_tests: - test_list += dual_tests # board_test is added last to disable board's usb test_list.append('device/board_test') diff --git a/test/hil/tinyusb.json b/test/hil/tinyusb.json index fcd004c6d..066dc5876 100644 --- a/test/hil/tinyusb.json +++ b/test/hil/tinyusb.json @@ -59,7 +59,6 @@ "flasher_sn": "E6633861A3978538", "flasher_args": "-f interface/cmsis-dap.cfg -f target/rp2350.cfg -c \"adapter speed 5000\"", "tests": { - "skip": ["dual/host_info_to_device_cdc"], "dual_attached": [{"vid_pid": "1a86_55d4", "serial": "533D004242"}] } }, From 53989a99f60e755094f146e936b49b0ef24e6ec0 Mon Sep 17 00:00:00 2001 From: HiFiPhile Date: Sat, 28 Sep 2024 11:24:35 +0200 Subject: [PATCH 2/2] Fix vendor class reset. --- src/class/vendor/vendor_device.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/class/vendor/vendor_device.c b/src/class/vendor/vendor_device.c index 15829991a..ca04d9a01 100644 --- a/src/class/vendor/vendor_device.c +++ b/src/class/vendor/vendor_device.c @@ -185,6 +185,8 @@ void vendord_reset(uint8_t rhport) { tu_memclr(p_itf, ITF_MEM_RESET_SIZE); tu_edpt_stream_clear(&p_itf->rx.stream); tu_edpt_stream_clear(&p_itf->tx.stream); + tu_edpt_stream_close(&p_itf->rx.stream); + tu_edpt_stream_close(&p_itf->tx.stream); } }