maix.peripheral.spi

maix.peripheral.spi module

You can use maix.peripheral.spi to access this module with MaixPy
This module is generated from MaixPy and MaixCDK

Module

No module

Enum

Mode

SPI mode enum

item describe
values MASTER: spi master mode
SLAVE: spi slave mode

C++ defination code:

enum Mode
    {
        MASTER = 0x0, // spi master mode
        SLAVE = 0x1,  // spi slave mode
    }

Variable

Function

Class

SPI

Peripheral spi class

C++ defination code:

class SPI

__init__

def __init__(self, id: int, mode: Mode, freq: int, polarity: int = 0, phase: int = 0, bits: int = 8, cs_enable: int = 0, soft_cs: bool = False, cs: str = 'GPIOA19') -> None

SPI constructor

item description
type func
param id: direction [in], spi bus id, int type
mode: direction [in], mode of spi, spi.Mode type, spi.Mode.MASTER or spi.Mode.SLAVE.
freq: direction [in], freq of spi, int type
polarity: direction [in], polarity of spi, 0 means idle level of clock is low, 1 means high, int type, default is 0.
phase: direction [in], phase of spi, 0 means data is captured on the first edge of the SPI clock cycle, 1 means second, int type, default is 0.
bits: direction [in], bits of spi, int type, default is 8.
cs_enable: direction [in], cs pin active level, default is 0(low)
soft_cs: direction [in], not use hardware cs, bool type, if set true, you can operate cs pin use gpio manually.
cs: direction [in], soft cs pin number, std::string type, default is "GPIOA19", if SPI support multi hardware cs, you can set it to other value.
static False

C++ defination code:

SPI(int id, spi::Mode mode, int freq, int polarity = 0, int phase = 0,
            int bits = 8, unsigned char cs_enable=0, bool soft_cs = false, std::string cs = "GPIOA19")

read

def read(*args, **kwargs)

read data from spi

item description
type func
param length: direction [in], read length, int type
return bytes data, Bytes type in C++, bytes type in MaixPy. You need to delete it manually after use in C++.
static False

C++ defination code:

Bytes *read(int length)

write

def write(self, data: maix.Bytes(bytes)) -> int

write data to spi

item description
type func
param data: direction [in], data to write, Bytes type in C++, bytes type in MaixPy
return write length, int type, if write failed, return -err::Err code.
static False

C++ defination code:

int write(Bytes *data)

write_read

def write_read(*args, **kwargs)

write data to spi and read data from spi at the same time.

item description
type func
param data: direction [in], data to write, Bytes type in C++, bytes type in MaixPy
read_len: direction [in], read length, int type, should > 0.
return read data, Bytes type in C++, bytes type in MaixPy. You need to delete it manually after use in C++.
static False

C++ defination code:

Bytes *write_read(Bytes *data, int read_len)

is_busy

def is_busy(self) -> bool

get busy status of spi

item description
type func
return busy status, bool type
static False

C++ defination code:

bool is_busy()