summaryrefslogtreecommitdiff
path: root/typings/serial
diff options
context:
space:
mode:
authorHampusM <hampus@hampusmat.com>2022-02-14 09:53:28 +0100
committerHampusM <hampus@hampusmat.com>2022-02-14 10:05:53 +0100
commita8049bb66f7bc62c9a33488615d0990e0a920520 (patch)
tree1372e18896897490650203efe72c8244a23204cf /typings/serial
parent336d968dd2a4473b3acd71cfef86ad47a7901fbc (diff)
build: add utility scripts
Diffstat (limited to 'typings/serial')
-rw-r--r--typings/serial/serialposix.pyi34
-rw-r--r--typings/serial/serialutil.pyi37
-rw-r--r--typings/serial/serialwin32.pyi34
-rw-r--r--typings/serial/tools/list_ports.pyi16
-rw-r--r--typings/serial/tools/list_ports_common.pyi16
-rw-r--r--typings/serial/tools/list_ports_linux.pyi11
-rw-r--r--typings/serial/tools/list_ports_windows.pyi8
7 files changed, 156 insertions, 0 deletions
diff --git a/typings/serial/serialposix.pyi b/typings/serial/serialposix.pyi
new file mode 100644
index 0000000..9f41fd2
--- /dev/null
+++ b/typings/serial/serialposix.pyi
@@ -0,0 +1,34 @@
+from typing import Any, Optional
+from serial.serialutil import SerialBase
+
+
+class PlatformSpecificBase:
+ ...
+
+
+class PlatformSpecific(PlatformSpecificBase):
+ ...
+
+
+class Serial(SerialBase, PlatformSpecific):
+ """\
+ Serial port class POSIX implementation. Serial port configuration is
+ done with termios and fcntl. Runs on Linux and many other Un*x like
+ systems.
+ """
+
+ def close(self) -> None:
+ """Close port"""
+ ...
+
+ def read(self, size: Optional[int] = ...) -> bytes:
+ """\
+ Read size bytes from the serial port. If a timeout is set it may
+ return less characters as requested. With no timeout it will block
+ until the requested number of bytes is read.
+ """
+ ...
+
+ def __enter__(self) -> Serial: ...
+
+ def __exit__(self, *args: Any, **kwargs: Any) -> None: ...
diff --git a/typings/serial/serialutil.pyi b/typings/serial/serialutil.pyi
new file mode 100644
index 0000000..d24f7d1
--- /dev/null
+++ b/typings/serial/serialutil.pyi
@@ -0,0 +1,37 @@
+import io
+from typing import Any, Optional
+
+
+class SerialBase(io.RawIOBase):
+ """\
+ Serial port base class. Provides __init__ function and properties to
+ get/set port settings.
+ """
+
+ def __init__(
+ self,
+ port: Optional[str] = ...,
+ baudrate: Optional[int] = ...,
+ **kwargs: Any
+ ) -> None:
+ """Initialize comm port object. If a "port" is given, then the port
+ will be opened immediately. Otherwise a Serial port object in closed
+ state is returned.
+ """
+ ...
+
+ @property
+ def baudrate(self) -> int: ...
+
+ @baudrate.setter
+ def baudrate(self) -> None: ...
+
+ def setRTS(self, value: Optional[bool] = ...) -> None:
+ ...
+
+ def setDTR(self, value: Optional[bool] = ...) -> None:
+ ...
+
+ @property
+ def is_open(self) -> bool:
+ ...
diff --git a/typings/serial/serialwin32.pyi b/typings/serial/serialwin32.pyi
new file mode 100644
index 0000000..5124dd2
--- /dev/null
+++ b/typings/serial/serialwin32.pyi
@@ -0,0 +1,34 @@
+"""
+This type stub file was generated by pyright.
+"""
+
+from typing import Any, Optional
+from serial.serialutil import SerialBase
+
+
+class Serial(SerialBase):
+ """Serial port implementation for Win32 based on ctypes."""
+
+ def __init__(
+ self,
+ port: Optional[str] = ...,
+ baudrate: Optional[int] = ...,
+ **kwargs: Any
+ ) -> None:
+ ...
+
+ def close(self) -> None:
+ """Close port"""
+ ...
+
+ def read(self, size: Optional[int] = ...) -> bytes:
+ """\
+ Read size bytes from the serial port. If a timeout is set it may
+ return less characters as requested. With no timeout it will block
+ until the requested number of bytes is read.
+ """
+ ...
+
+ def __enter__(self) -> Serial: ...
+
+ def __exit__(self, *args: Any, **kwargs: Any) -> None: ...
diff --git a/typings/serial/tools/list_ports.pyi b/typings/serial/tools/list_ports.pyi
new file mode 100644
index 0000000..67df6f6
--- /dev/null
+++ b/typings/serial/tools/list_ports.pyi
@@ -0,0 +1,16 @@
+"""\
+This module will provide a function called comports that returns an
+iterable (generator or list) that will enumerate available com ports. Note that
+on some systems non-existent ports may be listed.
+
+Additionally a grep function is supplied that can be used to search for ports
+based on their descriptions or hardware ID.
+"""
+from typing import Any, List, Optional
+
+from list_ports_common import ListPortInfo
+
+
+def comports(include_links: Optional[Any] = ...) -> List[ListPortInfo]:
+ """Return a list of info objects about serial ports"""
+ ...
diff --git a/typings/serial/tools/list_ports_common.pyi b/typings/serial/tools/list_ports_common.pyi
new file mode 100644
index 0000000..60920d0
--- /dev/null
+++ b/typings/serial/tools/list_ports_common.pyi
@@ -0,0 +1,16 @@
+from typing import Any, Optional
+
+
+class ListPortInfo:
+ """Info collection base class for serial ports"""
+
+ def __init__(
+ self,
+ device: Any,
+ skip_link_detection: Optional[Any] = ...
+ ) -> None:
+ ...
+
+ @property
+ def device(self) -> str:
+ ...
diff --git a/typings/serial/tools/list_ports_linux.pyi b/typings/serial/tools/list_ports_linux.pyi
new file mode 100644
index 0000000..ccb94ed
--- /dev/null
+++ b/typings/serial/tools/list_ports_linux.pyi
@@ -0,0 +1,11 @@
+from typing import Any, List, Optional
+import serial.tools.list_ports_common
+
+
+class SysFS(serial.tools.list_ports_common.ListPortInfo):
+ """Wrapper for easy sysfs access and device info"""
+ ...
+
+
+def comports(include_links: Optional[Any] = ...) -> List[SysFS]:
+ ...
diff --git a/typings/serial/tools/list_ports_windows.pyi b/typings/serial/tools/list_ports_windows.pyi
new file mode 100644
index 0000000..314af5b
--- /dev/null
+++ b/typings/serial/tools/list_ports_windows.pyi
@@ -0,0 +1,8 @@
+from typing import Any, List, Optional
+
+from serial.tools.list_ports_common import ListPortInfo
+
+
+def comports(include_links: Optional[Any] = ...) -> List[ListPortInfo]:
+ """Return a list of info objects about serial ports"""
+ ...