import ref from 'ref-napi'; import refArray from 'ref-array-di'; import refStruct from 'ref-struct-di'; import { LibraryInstance } from '../native'; export declare const SPI: { SPI_Init: ["int", ["int", "int", ref.Type>>]]; SPI_WriteBytes: ["int", ["int", "int", refArray.ArrayType, "int"]]; SPI_WriteBytesAsync: ["int", ["int", "int", refArray.ArrayType, "int"]]; SPI_ReadBytes: ["int", ["int", "int", refArray.ArrayType, "int"]]; SPI_WriteReadBytes: ["int", ["int", "int", refArray.ArrayType, "int", refArray.ArrayType, "int", "int"]]; }; export declare function getSPI(lib: LibraryInstance, handle: number): { init(index: number, config: SPIConfig): Promise; writeBytes(index: number, writeData: Buffer): Promise; writeBytesAsync(index: number, writeData: Buffer): Promise; readBytes(index: number, readLen: number): Promise; writeReadBytes(index: number, writeData: Buffer, readLen: number, intervalTimeUs: number): Promise; }; export declare enum SPIIndex { SPI1 = 0, SPI1_CS0 = 0, SPI1_CS1 = 16, SPI1_CS2 = 32, SPI1_CS3 = 48, SPI1_CS4 = 64, SPI2 = 1, SPI2_CS0 = 1, SPI2_CS1 = 17, SPI2_CS2 = 33, SPI2_CS3 = 49, SPI2_CS4 = 65 } export interface SPIConfig { mode: SPIMode; master: SPIMaster; cpol: number; cpha: number; lsbFirst: SPILsbFirst; selPolarity: SPISelPolarity; clockSpeedHz: number; } export declare enum SPIMode { SPI_MODE_HARD_FDX = 0, SPI_MODE_HARD_HDX = 1, SPI_MODE_SOFT_HDX = 2, SPI_MODE_SOFT_ONE_WIRE = 3, SPI_MODE_SOFT_FDX = 4 } export declare enum SPIMaster { SPI_SLAVE = 0, SPI_MASTER = 1 } export declare enum SPILsbFirst { SPI_MSB = 0, SPI_LSB = 1 } export declare enum SPISelPolarity { SPI_SEL_LOW = 0, SPI_SEL_HIGH = 1 }