Skip to content

Commit 8a158b9

Browse files
committed
feat: add gpio_list method to retrieve all GPIO pins in WokwiClient
1 parent 321b103 commit 8a158b9

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

src/wokwi_client/client.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
from .control import set_control
1818
from .event_queue import EventQueue
1919
from .file_ops import download, download_file, upload, upload_file
20-
from .pins import pin_listen, pin_read
20+
from .pins import gpio_list, pin_listen, pin_read
2121
from .protocol_types import EventMessage, ResponseMessage
2222
from .serial import monitor_lines, write_serial
2323
from .simulation import pause, restart, resume, start
@@ -251,6 +251,10 @@ async def listen_pin(self, part: str, pin: str, listen: bool = True) -> Response
251251
"""
252252
return await pin_listen(self._transport, part=part, pin=pin, listen=listen)
253253

254+
async def gpio_list(self) -> ResponseMessage:
255+
"""Get a list of all GPIO pins available in the simulation."""
256+
return await gpio_list(self._transport)
257+
254258
async def set_control(
255259
self, part: str, control: str, value: Union[int, bool, float]
256260
) -> ResponseMessage:

src/wokwi_client/pins.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,3 +43,13 @@ async def pin_listen(
4343
"""
4444

4545
return await transport.request("pin:listen", {"part": part, "pin": pin, "listen": listen})
46+
47+
48+
async def gpio_list(transport: Transport) -> ResponseMessage:
49+
"""List all GPIO pins and their current states.
50+
51+
Args:
52+
transport: The active Transport instance.
53+
"""
54+
55+
return await transport.request("gpio:list", {})

0 commit comments

Comments
 (0)