import ref from 'ref-napi'; import refArray from 'ref-array-di'; import refStruct from 'ref-struct-di'; import { LibraryInstance } from '../native'; export declare const IIC: { IIC_Init: ["int", ["int", "int", ref.Type>>]]; IIC_GetSlaveAddr: ["int", ["int", "int", refArray.ArrayType]]; IIC_WriteBytes: ["int", ["int", "int", "short", refArray.ArrayType, "int", "int"]]; IIC_ReadBytes: ["int", ["int", "int", "short", refArray.ArrayType, "int", "int"]]; IIC_WriteReadBytes: ["int", ["int", "int", "short", refArray.ArrayType, "int", refArray.ArrayType, "int", "int"]]; IIC_BlockWriteBytes: ["int", ["int", "int", "short", refArray.ArrayType, "int", "int", "int"]]; IIC_BlockReadBytes: ["int", ["int", "int", "short", refArray.ArrayType, "int", "int", "int"]]; IIC_SlaveWriteBytes: ["int", ["int", "int", refArray.ArrayType, "int", "int"]]; IIC_SlaveReadBytes: ["int", ["int", "int", refArray.ArrayType, "int"]]; IIC_SlaveWriteRemain: ["int", ["int", "int"]]; }; export declare function getIIC(lib: LibraryInstance, handle: number): { init(index: number, config: IICConfig): Promise; getSlaveAddr(index: number): Promise; writeBytes(index: number, slaveAddr: number, writeData: Buffer, timeout: number): Promise; readBytes(index: number, slaveAddr: number, readLen: number, timeout: number): Promise; writeReadBytes(index: number, slaveAddr: number, writeData: Buffer, readLen: number, timeout: number): Promise; }; export declare enum IICIndex { I2C0 = 0, I2C1 = 1, I2C2 = 2, I2C3 = 3, I2C4 = 4, I2C5 = 5, I2C6 = 6, I2C7 = 7 } export interface IICConfig { clockSpeedHz: number; ownAddr: number; master: IICMaster; addrBits: 7 | 10; enablePu: 0 | 1; } export declare enum IICMaster { IIC_SLAVE = 0, IIC_MASTER = 1 }