import spi
The spi module exposes a firmware SPI bus plus per-device handles. Use it for fast sensors, displays, radio modules, flash parts, and other SPI peripherals.
Quick example
import spi spi.begin(23, 19, 18, 1000000, 0) dev = spi.device(5) data = spi.read_reg(dev, 0x00, 2)
importspi
SPI native Berry module.
The spi module exposes a firmware SPI bus plus per-device handles. Use it for fast sensors, displays, radio modules, flash parts, and other SPI peripherals.
spi.begin(mosi: int, miso: int, sclk: int, mode: int, frequency: int = None) -> any
spi.begin(mosi: int, miso: int, sclk: int, mode: int, frequency: int = None) -> anyInitialize the SPI bus.
| Name | Type | Pass as | Required | Description |
|---|---|---|---|---|
mosi |
int |
positional or keyword | Yes | GPIO used for MOSI. |
miso |
int |
positional or keyword | Yes | GPIO used for MISO. |
sclk |
int |
positional or keyword | Yes | GPIO used for SCLK. |
mode |
int |
positional or keyword | Yes | SPI mode number. |
frequency |
int |
positional or keyword | No | Default bus frequency in hertz. |
any Native initialization result.
spi.device(cs: int, frequency: int = None, mode: int = None) -> float
spi.device(cs: int, frequency: int = None, mode: int = None) -> floatCreate or select a SPI device slot.
| Name | Type | Pass as | Required | Description |
|---|---|---|---|---|
cs |
int |
positional or keyword | Yes | GPIO used for chip select. |
frequency |
int |
positional or keyword | No | Optional device frequency override. |
mode |
int |
positional or keyword | No | Optional device SPI mode override. |
float Native device handle or slot number.
spi.transfer(device: any, data: list, length: any = None) -> bytes
spi.transfer(device: any, data: list, length: any = None) -> bytesTransfer bytes to and from a SPI device.
| Name | Type | Pass as | Required | Description |
|---|---|---|---|---|
device |
any |
positional or keyword | Yes | Native device handle or slot. |
data |
list |
positional or keyword | Yes | Bytes, string, or list-like payload to send. |
length |
any |
positional or keyword | No | Optional receive length. |
bytes Bytes-like native response.
spi.write(device: any, data: list) -> any
spi.write(device: any, data: list) -> anyWrite bytes to a SPI device.
| Name | Type | Pass as | Required | Description |
|---|---|---|---|---|
device |
any |
positional or keyword | Yes | Native device handle or slot. |
data |
list |
positional or keyword | Yes | Bytes, string, or list-like payload. |
any Native write result.
spi.read(device: any, length: any) -> bytes
spi.read(device: any, length: any) -> bytesRead bytes from a SPI device.
| Name | Type | Pass as | Required | Description |
|---|---|---|---|---|
device |
any |
positional or keyword | Yes | Native device handle or slot. |
length |
any |
positional or keyword | Yes | Number of bytes to read. |
bytes Bytes-like native value.
spi.write_read(device: any, data: list, read_length: any) -> bytes
spi.write_read(device: any, data: list, read_length: any) -> bytesWrite a payload and then read a response from a SPI device.
| Name | Type | Pass as | Required | Description |
|---|---|---|---|---|
device |
any |
positional or keyword | Yes | Native device handle or slot. |
data |
list |
positional or keyword | Yes | Bytes, string, or list-like payload to write. |
read_length |
any |
positional or keyword | Yes | Number of bytes to read. |
bytes Bytes-like native response.
spi.read_reg(device: any, register: int, length: any) -> bytes
spi.read_reg(device: any, register: int, length: any) -> bytesRead bytes from a SPI register.
| Name | Type | Pass as | Required | Description |
|---|---|---|---|---|
device |
any |
positional or keyword | Yes | Native device handle or slot. |
register |
int |
positional or keyword | Yes | Register address. |
length |
any |
positional or keyword | Yes | Number of bytes to read. |
bytes Bytes-like native value.
spi.write_reg(device: any, register: int, data: list) -> any
spi.write_reg(device: any, register: int, data: list) -> anyWrite bytes to a SPI register.
| Name | Type | Pass as | Required | Description |
|---|---|---|---|---|
device |
any |
positional or keyword | Yes | Native device handle or slot. |
register |
int |
positional or keyword | Yes | Register address. |
data |
list |
positional or keyword | Yes | Bytes, string, integer, or list-like payload. |
any Native write result.
spi.deinit() -> any
spi.deinit() -> anyDeinitialize the SPI bus.
any Native deinitialization result.