|
|
from enum import IntFlag |
|
|
from typing import Optional, Sequence, List, Type, SupportsBytes, Iterable |
|
|
from typing import Union as _UnionT |
|
|
from types import TracebackType |
|
|
from ctypes import c_uint32, c_uint8, c_uint16, pointer, Structure, Array, Union |
|
|
|
|
|
I2C_SLAVE: int |
|
|
I2C_SLAVE_FORCE: int |
|
|
I2C_FUNCS: int |
|
|
I2C_RDWR: int |
|
|
I2C_SMBUS: int |
|
|
I2C_PEC: int |
|
|
I2C_SMBUS_WRITE: int |
|
|
I2C_SMBUS_READ: int |
|
|
I2C_SMBUS_QUICK: int |
|
|
I2C_SMBUS_BYTE: int |
|
|
I2C_SMBUS_BYTE_DATA: int |
|
|
I2C_SMBUS_WORD_DATA: int |
|
|
I2C_SMBUS_PROC_CALL: int |
|
|
I2C_SMBUS_BLOCK_DATA: int |
|
|
I2C_SMBUS_BLOCK_PROC_CALL: int |
|
|
I2C_SMBUS_I2C_BLOCK_DATA: int |
|
|
I2C_SMBUS_BLOCK_MAX: int |
|
|
|
|
|
class I2cFunc(IntFlag): |
|
|
I2C = ... |
|
|
ADDR_10BIT = ... |
|
|
PROTOCOL_MANGLING = ... |
|
|
SMBUS_PEC = ... |
|
|
NOSTART = ... |
|
|
SLAVE = ... |
|
|
SMBUS_BLOCK_PROC_CALL = ... |
|
|
SMBUS_QUICK = ... |
|
|
SMBUS_READ_BYTE = ... |
|
|
SMBUS_WRITE_BYTE = ... |
|
|
SMBUS_READ_BYTE_DATA = ... |
|
|
SMBUS_WRITE_BYTE_DATA = ... |
|
|
SMBUS_READ_WORD_DATA = ... |
|
|
SMBUS_WRITE_WORD_DATA = ... |
|
|
SMBUS_PROC_CALL = ... |
|
|
SMBUS_READ_BLOCK_DATA = ... |
|
|
SMBUS_WRITE_BLOCK_DATA = ... |
|
|
SMBUS_READ_I2C_BLOCK = ... |
|
|
SMBUS_WRITE_I2C_BLOCK = ... |
|
|
SMBUS_HOST_NOTIFY = ... |
|
|
SMBUS_BYTE = ... |
|
|
SMBUS_BYTE_DATA = ... |
|
|
SMBUS_WORD_DATA = ... |
|
|
SMBUS_BLOCK_DATA = ... |
|
|
SMBUS_I2C_BLOCK = ... |
|
|
SMBUS_EMUL = ... |
|
|
|
|
|
I2C_M_RD: int |
|
|
LP_c_uint8: Type[pointer[c_uint8]] |
|
|
LP_c_uint16: Type[pointer[c_uint16]] |
|
|
LP_c_uint32: Type[pointer[c_uint32]] |
|
|
|
|
|
class i2c_smbus_data(Array): ... |
|
|
class union_i2c_smbus_data(Union): ... |
|
|
|
|
|
union_pointer_type: pointer[union_i2c_smbus_data] |
|
|
|
|
|
class i2c_smbus_ioctl_data(Structure): |
|
|
@staticmethod |
|
|
def create( |
|
|
read_write: int = ..., command: int = ..., size: int = ... |
|
|
) -> "i2c_smbus_ioctl_data": ... |
|
|
|
|
|
class i2c_msg(Structure): |
|
|
def __iter__(self) -> int: ... |
|
|
def __len__(self) -> int: ... |
|
|
def __bytes__(self) -> str: ... |
|
|
@staticmethod |
|
|
def read(address: int, length: int) -> "i2c_msg": ... |
|
|
@staticmethod |
|
|
def write(address: int, buf: _UnionT[str, Iterable[int], SupportsBytes]) -> "i2c_msg": ... |
|
|
|
|
|
class i2c_rdwr_ioctl_data(Structure): |
|
|
@staticmethod |
|
|
def create(*i2c_msg_instances: Sequence[i2c_msg]) -> "i2c_rdwr_ioctl_data": ... |
|
|
|
|
|
class SMBus: |
|
|
fd: Optional[int] = ... |
|
|
funcs: I2cFunc = ... |
|
|
address: Optional[int] = ... |
|
|
force: bool = ... |
|
|
pec: int = ... |
|
|
def __init__( |
|
|
self, bus: _UnionT[None, int, str] = ..., force: bool = ... |
|
|
) -> None: ... |
|
|
def __enter__(self) -> "SMBus": ... |
|
|
def __exit__( |
|
|
self, |
|
|
exc_type: Optional[Type[BaseException]], |
|
|
exc_val: Optional[BaseException], |
|
|
exc_tb: Optional[TracebackType], |
|
|
) -> None: ... |
|
|
def open(self, bus: _UnionT[int, str]) -> None: ... |
|
|
def close(self) -> None: ... |
|
|
def enable_pec(self, enable: bool = ...) -> None: ... |
|
|
def write_quick(self, i2c_addr: int, force: Optional[bool] = ...) -> None: ... |
|
|
def read_byte(self, i2c_addr: int, force: Optional[bool] = ...) -> int: ... |
|
|
def write_byte( |
|
|
self, i2c_addr: int, value: int, force: Optional[bool] = ... |
|
|
) -> None: ... |
|
|
def read_byte_data( |
|
|
self, i2c_addr: int, register: int, force: Optional[bool] = ... |
|
|
) -> int: ... |
|
|
def write_byte_data( |
|
|
self, i2c_addr: int, register: int, value: int, force: Optional[bool] = ... |
|
|
) -> None: ... |
|
|
def read_word_data( |
|
|
self, i2c_addr: int, register: int, force: Optional[bool] = ... |
|
|
) -> int: ... |
|
|
def write_word_data( |
|
|
self, i2c_addr: int, register: int, value: int, force: Optional[bool] = ... |
|
|
) -> None: ... |
|
|
def process_call( |
|
|
self, i2c_addr: int, register: int, value: int, force: Optional[bool] = ... |
|
|
): ... |
|
|
def read_block_data( |
|
|
self, i2c_addr: int, register: int, force: Optional[bool] = ... |
|
|
) -> List[int]: ... |
|
|
def write_block_data( |
|
|
self, |
|
|
i2c_addr: int, |
|
|
register: int, |
|
|
data: Sequence[int], |
|
|
force: Optional[bool] = ..., |
|
|
) -> None: ... |
|
|
def block_process_call( |
|
|
self, |
|
|
i2c_addr: int, |
|
|
register: int, |
|
|
data: Sequence[int], |
|
|
force: Optional[bool] = ..., |
|
|
) -> List[int]: ... |
|
|
def read_i2c_block_data( |
|
|
self, i2c_addr: int, register: int, length: int, force: Optional[bool] = ... |
|
|
) -> List[int]: ... |
|
|
def write_i2c_block_data( |
|
|
self, |
|
|
i2c_addr: int, |
|
|
register: int, |
|
|
data: Sequence[int], |
|
|
force: Optional[bool] = ..., |
|
|
) -> None: ... |
|
|
def i2c_rdwr(self, *i2c_msgs: i2c_msg) -> None: ... |
|
|
|