machine

Type stubs for the custom machine module.

All I/O is routed through the drv master driver using logical pin/bus encoding. Logical pins are constructed with MAKE_PIN(chip, n); logical buses with MAKE_BUS(kind, n). PIN_NONE / BUS_NONE (-1) indicate unavailable pins/buses.

Attributes

BUS_ADC

BUS_I2C

BUS_I2S

BUS_LEDC

BUS_MCPWM

BUS_NONE

BUS_SPI

BUS_UART

BUS_UART_CH9434

BUS_UART_SC16IS750

PERIPH_BNO085

PERIPH_CH9434

PERIPH_COMBINED

PERIPH_DRV8908Q1

PERIPH_ESP32

PERIPH_LSM6DSL

PERIPH_PCA9685

PERIPH_SC16IS750

PERIPH_ST7735

PERIPH_TLA2528

PIN_NONE

Classes

ADC

DAC

I2C

I2S

PWM

Pin

SPI

UART

Functions

MAKE_BUS(→ int)

Encode a logical bus: (BUS_TYPE_kind << 8) | n.

MAKE_PIN(→ int)

Encode a logical pin: (PERIPH_chip << 8) | n.

Module Contents

class machine.ADC(pin: int)[source]
read() → int[source]
read_u16() → int[source]
read_uv() → int[source]
class machine.DAC(pin: int)[source]
deinit() → None[source]
write(value: int) → None[source]

Output voltage. value: 0..255.

class machine.I2C(id: int, *, scl: int = ..., sda: int = ..., freq: int = ...)[source]
readfrom(addr: int, nbytes: int, stop: bool = ...) → bytes[source]
readfrom_into(addr: int, buf: bytes | bytearray, stop: bool = ...) → None[source]
readfrom_mem(addr: int, memaddr: int, nbytes: int, *, addrsize: int = ...) → bytes[source]
readfrom_mem_into(addr: int, memaddr: int, buf: bytearray, *, addrsize: int = ...) → None[source]
scan() → list[int][source]
writeto(addr: int, buf: bytes | bytearray, stop: bool = ...) → int[source]
writeto_mem(addr: int, memaddr: int, buf: bytes | bytearray, *, addrsize: int = ...) → None[source]
writevto(addr: int, vector: Sequence[bytes | bytearray], stop: bool = ...) → int[source]
class machine.I2S(id: int, *, sck: int, ws: int, sd: int, mode: int, bits: int, format: int, rate: int, ibuf: int)[source]
deinit() → None[source]
readinto(buf: bytearray) → int[source]
static shift(*, buf: bytearray, bits: int, shift: int) → None[source]
write(buf: bytes | bytearray) → int[source]
MONO: int[source]
RX: int[source]
STEREO: int[source]
TX: int[source]
class machine.PWM(pin: int, *, freq: int = ..., duty: int = ..., duty_u16: int = ..., duty_ns: int = ...)[source]
deinit() → None[source]
duty(value: int = ...) → int | None[source]
duty_ns(value: int = ...) → int | None[source]
duty_u16(value: int = ...) → int | None[source]
freq(value: int = ...) → int | None[source]
class machine.Pin(id: int, mode: int = ..., pull: int = ..., value: int = ...)[source]
irq(handler: Callable | None = ..., trigger: int = ..., hard: bool = ...) → None[source]
off() → None[source]
on() → None[source]
value(v: int = ...) → int | None[source]
IN: int[source]
IRQ_FALLING: int[source]
IRQ_RISING: int[source]
OPEN_DRAIN: int[source]
OUT: int[source]
PULL_DOWN: int[source]
PULL_UP: int[source]
class machine.SPI(id: int, baudrate: int = ..., *, polarity: int = ..., phase: int = ..., bits: int = ..., firstbit: int = ...)[source]
read(nbytes: int, write: int = ...) → bytes[source]
readinto(buf: bytearray, write: int = ...) → None[source]
write(buf: bytes | bytearray) → None[source]
write_readinto(write_buf: bytes | bytearray, read_buf: bytearray) → None[source]
LSB: int[source]
MSB: int[source]
class machine.UART(id: int, baudrate: int = ..., bits: int = ..., parity: int | None = ..., stop: int = ..., *, tx: int = ..., rx: int = ..., txbuf: int = ..., rxbuf: int = ..., timeout: int = ..., timeout_char: int = ..., invert: int = ..., flow: int = ...)[source]
any() → int[source]
flush() → None[source]
irq(trigger: int, handler: Callable | None = ...) → None[source]
read(nbytes: int = ...) → bytes | None[source]
readinto(buf: bytearray, nbytes: int = ...) → int | None[source]
readline() → bytes | None[source]
write(buf: bytes | bytearray) → int | None[source]
CTS: int[source]
INV_CTS: int[source]
INV_RTS: int[source]
INV_RX: int[source]
INV_TX: int[source]
IRQ_BREAK: int[source]
IRQ_RX: int[source]
IRQ_RXIDLE: int[source]
RTS: int[source]
machine.MAKE_BUS(kind: int, n: int) → int[source]

Encode a logical bus: (BUS_TYPE_kind << 8) | n.

machine.MAKE_PIN(chip: int, n: int) → int[source]

Encode a logical pin: (PERIPH_chip << 8) | n.

machine.BUS_ADC: int[source]
machine.BUS_I2C: int[source]
machine.BUS_I2S: int[source]
machine.BUS_LEDC: int[source]
machine.BUS_MCPWM: int[source]
machine.BUS_NONE: int[source]
machine.BUS_SPI: int[source]
machine.BUS_UART: int[source]
machine.BUS_UART_CH9434: int[source]
machine.BUS_UART_SC16IS750: int[source]
machine.PERIPH_BNO085: int[source]
machine.PERIPH_CH9434: int[source]
machine.PERIPH_COMBINED: int[source]
machine.PERIPH_DRV8908Q1: int[source]
machine.PERIPH_ESP32: int[source]
machine.PERIPH_LSM6DSL: int[source]
machine.PERIPH_PCA9685: int[source]
machine.PERIPH_SC16IS750: int[source]
machine.PERIPH_ST7735: int[source]
machine.PERIPH_TLA2528: int[source]
machine.PIN_NONE: int[source]