Another try for lag.
This commit is contained in:
@@ -18,6 +18,7 @@ class driver(dectalkDriver.driver):
|
||||
immediate_endpoint = 0x04
|
||||
packet_size = 64
|
||||
write_timeout = 1000
|
||||
buffer_timeout_command = b"[:timeout 1]"
|
||||
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
@@ -90,6 +91,11 @@ class driver(dectalkDriver.driver):
|
||||
raise RuntimeError(f"DECtalk USB open failed: {error}") from error
|
||||
|
||||
self.usb_device = usb_device
|
||||
self._write_endpoint(
|
||||
self.speech_endpoint,
|
||||
self.buffer_timeout_command,
|
||||
"buffer timeout",
|
||||
)
|
||||
self._is_initialized = True
|
||||
self._stop_worker = False
|
||||
self.worker_thread = threading.Thread(
|
||||
|
||||
@@ -107,7 +107,7 @@ def build_environment():
|
||||
}
|
||||
|
||||
|
||||
def initialized_driver(monkeypatch):
|
||||
def initialized_driver(monkeypatch, clear_startup_writes=True):
|
||||
device = FakeUsbDevice()
|
||||
usb_core = FakeUsbCore(device)
|
||||
usb_util = FakeUsbUtil()
|
||||
@@ -118,6 +118,8 @@ def initialized_driver(monkeypatch):
|
||||
lambda: (usb_core, usb_util),
|
||||
)
|
||||
speech_driver.initialize(build_environment())
|
||||
if clear_startup_writes:
|
||||
device.writes.clear()
|
||||
return speech_driver, device, usb_core, usb_util
|
||||
|
||||
|
||||
@@ -142,6 +144,17 @@ def test_dectalk_usb_driver_finds_and_claims_native_device(monkeypatch):
|
||||
assert usb_util.disposed == [device]
|
||||
|
||||
|
||||
def test_dectalk_usb_driver_sets_low_buffer_timeout_on_initialize(monkeypatch):
|
||||
speech_driver, device, _, _ = initialized_driver(
|
||||
monkeypatch,
|
||||
clear_startup_writes=False,
|
||||
)
|
||||
try:
|
||||
assert device.writes[0] == (0x02, b"[:timeout 1]", 1000)
|
||||
finally:
|
||||
speech_driver.shutdown()
|
||||
|
||||
|
||||
def test_dectalk_usb_driver_writes_commands_and_speech(monkeypatch):
|
||||
speech_driver, device, _, _ = initialized_driver(monkeypatch)
|
||||
try:
|
||||
@@ -212,6 +225,7 @@ def test_dectalk_usb_cancel_bypasses_blocked_normal_write(monkeypatch):
|
||||
lambda: (usb_core, usb_util),
|
||||
)
|
||||
speech_driver.initialize(build_environment())
|
||||
device.writes.clear()
|
||||
normal_thread = threading.Thread(
|
||||
target=speech_driver._write_bytes,
|
||||
args=(b"normal speech", "speech"),
|
||||
@@ -240,6 +254,8 @@ def test_dectalk_usb_cancel_stops_current_speech_upload(monkeypatch):
|
||||
lambda: (usb_core, usb_util),
|
||||
)
|
||||
speech_driver.initialize(build_environment())
|
||||
device.writes.clear()
|
||||
device.first_normal_write_started.clear()
|
||||
normal_thread = threading.Thread(
|
||||
target=speech_driver._write_bytes,
|
||||
args=(b"x" * 192, "speech"),
|
||||
|
||||
Reference in New Issue
Block a user