Skip to content

Commit 34530f6

Browse files
Expose WebSerial SLCAN readiness (#395)
This is useful for cyanide --------- Co-authored-by: Pavel Kirienko <pavel.kirienko@gmail.com>
1 parent d9202e5 commit 34530f6

3 files changed

Lines changed: 6 additions & 1 deletion

File tree

src/pycyphal2/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ async def main():
155155
from ._transport import Transport as Transport
156156
from ._transport import TransportArrival as TransportArrival
157157

158-
__version__ = "2.0.0.dev9"
158+
__version__ = "2.0.0.dev10"
159159

160160
# pdoc needs __all__ to display re-exported members.
161161
__all__ = [

src/pycyphal2/can/webserial.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,10 @@ def purge(self) -> None:
9999
if dropped > 0:
100100
_logger.debug("WebSerial SLCAN purge iface=%s dropped=%d", self._name, dropped)
101101

102+
async def wait_ready(self) -> None:
103+
"""Wait until the SLCAN adapter has been configured and opened."""
104+
await self._ensure_initialized()
105+
102106
async def receive(self) -> TimestampedFrame:
103107
self._raise_if_closed()
104108
if self._rx_task is None:

tests/can/test_webserial.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ async def _start(
8686
for i in range(len(encode_init_sequence(bitrate))):
8787
await _wait_for(_writes_reach(port, i + 2)) # writes: [close, cmd_0, ..., cmd_i]
8888
port.feed(_ACK)
89+
await iface.wait_ready()
8990
return iface
9091

9192

0 commit comments

Comments
 (0)