mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-10 05:51:52 +08:00
Add stubs for RPi.GPIO (#11345)
This commit is contained in:
8
stubs/RPi.GPIO/METADATA.toml
Normal file
8
stubs/RPi.GPIO/METADATA.toml
Normal file
@@ -0,0 +1,8 @@
|
||||
version = "0.7.*"
|
||||
upstream_repository = "https://sourceforge.net/p/raspberry-gpio-python/code/"
|
||||
|
||||
[tool.stubtest]
|
||||
# When stubtest tries to import this module:
|
||||
# error: RPi.GPIO failed to import. RuntimeError: This module can only be run on a Raspberry Pi!
|
||||
# https://sourceforge.net/p/raspberry-gpio-python/code/ci/08048dd1894a6b09a104557b6eaa6bb68b6baac5/tree/source/py_gpio.c#l1008
|
||||
skip = true
|
||||
60
stubs/RPi.GPIO/RPi/GPIO/__init__.pyi
Normal file
60
stubs/RPi.GPIO/RPi/GPIO/__init__.pyi
Normal file
@@ -0,0 +1,60 @@
|
||||
from collections.abc import Callable
|
||||
from typing import Literal, TypedDict
|
||||
from typing_extensions import TypeAlias
|
||||
|
||||
class _RPi_Info(TypedDict):
|
||||
P1_REVISION: int
|
||||
REVISION: str
|
||||
TYPE: str
|
||||
MANUFACTURER: str
|
||||
PROCESSOR: str
|
||||
RAM: str
|
||||
|
||||
VERSION: str
|
||||
RPI_INFO: _RPi_Info
|
||||
RPI_REVISION: int
|
||||
|
||||
HIGH: Literal[1]
|
||||
LOW: Literal[0]
|
||||
|
||||
OUT: int
|
||||
IN: int
|
||||
HARD_PWM: int
|
||||
SERIAL: int
|
||||
I2C: int
|
||||
SPI: int
|
||||
UNKNOWN: int
|
||||
|
||||
BOARD: int
|
||||
BCM: int
|
||||
|
||||
PUD_OFF: int
|
||||
PUD_UP: int
|
||||
PUD_DOWN: int
|
||||
|
||||
RISING: int
|
||||
FALLING: int
|
||||
BOTH: int
|
||||
|
||||
_EventCallback: TypeAlias = Callable[[int], object]
|
||||
|
||||
def setup(channel: int, dir: int, pull_up_down: int = ..., initial: int = ...) -> None: ...
|
||||
def cleanup(channel: int = 0) -> None: ...
|
||||
def output(channel: int, state: int | bool) -> None: ...
|
||||
def input(channel: int) -> int: ...
|
||||
def setmode(mode: int) -> None: ...
|
||||
def getmode() -> int: ...
|
||||
def add_event_detect(channel: int, edge: int, callback: _EventCallback | None, bouncetime: int = ...) -> None: ...
|
||||
def remove_event_detect(channel: int) -> None: ...
|
||||
def event_detected(channel: int) -> bool: ...
|
||||
def add_event_callback(channel: int, callback: _EventCallback) -> None: ...
|
||||
def wait_for_edge(channel: int, edge: int, bouncetime: int = ..., timeout: int = ...) -> int | None: ...
|
||||
def gpio_function(channel: int) -> int: ...
|
||||
def setwarnings(gpio_warnings: bool) -> None: ...
|
||||
|
||||
class PWM:
|
||||
def __init__(self, channel: int, frequency: float) -> None: ...
|
||||
def start(self, dutycycle: float) -> None: ...
|
||||
def ChangeDutyCycle(self, dutycycle: float) -> None: ...
|
||||
def ChangeFrequence(self, frequency: float) -> None: ...
|
||||
def stop(self) -> None: ...
|
||||
0
stubs/RPi.GPIO/RPi/__init__.pyi
Normal file
0
stubs/RPi.GPIO/RPi/__init__.pyi
Normal file
Reference in New Issue
Block a user