From 99fa55e15e124d193e1a023ee5a8198e9ba13384 Mon Sep 17 00:00:00 2001 From: sirmrak Date: Wed, 20 May 2026 20:19:44 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D1=82=D1=8C=20=D0=B7=D0=B0=D0=B4=D0=B5=D1=80=D0=B6=D0=BA=D1=83?= =?UTF-8?q?=20500ms=20=D0=BF=D0=BE=D1=81=D0=BB=D0=B5=20=D0=BF=D0=BE=D0=B4?= =?UTF-8?q?=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20USB=20=D1=83?= =?UTF-8?q?=D1=81=D1=82=D1=80=D0=BE=D0=B9=D1=81=D1=82=D0=B2=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Проблема: устройство может быть не готово к командам сразу после подключения, что вызывает USB reset. Решение: time.sleep(0.5) после нахождения устройства. --- wyoming_satellite/xvf_usb.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/wyoming_satellite/xvf_usb.py b/wyoming_satellite/xvf_usb.py index 9542d21..47ad352 100644 --- a/wyoming_satellite/xvf_usb.py +++ b/wyoming_satellite/xvf_usb.py @@ -38,6 +38,7 @@ USB_VENDOR_ID = 0x2886 USB_PRODUCT_IDS = [0x0018, 0x001A] # GPO_SERVICER_RESID LED commands +# resid=20 (GPO service), cmdid=12-19 (LED commands) GPO_RESID = 20 LED_EFFECT_CMD = 12 LED_BRIGHTNESS_CMD = 13 @@ -160,6 +161,11 @@ class XVF3800Controller: "✅ XVF3800 found (USB %04x:%04x, bus %d, addr %d)", self._vendor_id, pid, dev.bus, dev.address ) + + # Ждём 500ms после подключения для стабилизации устройства + import time + time.sleep(0.5) + return else: _LOGGER.debug("Device %04x:%04x not found", self._vendor_id, pid)