/** ポート番号 */ type PortNumber = number; /** ポート名 */ type PortName = string; /** I2C Slave アドレス */ type I2CSlaveAddress = number; /** * I2CAccess クラス */ export declare class I2CAccess { private readonly _ports; /** * Creates an instance of GPIOAccess. * @param ports ポート番号 */ constructor(ports?: I2CPortMap); /** * ポート情報取得処理 * @return 現在のポート情報 */ get ports(): I2CPortMap; } /** Different from Web I2C API specification. */ export declare class I2CPortMap extends Map { getByName(portName: PortName): I2CPort | undefined; } /** * I2CPort クラス */ export declare class I2CPort { private readonly _portNumber; /** * Creates an instance of GPIOPort. * @param portNumber ポート番号 */ constructor(portNumber: PortNumber); /** * ポート番号取得処理 * @return 現在のポート番号 */ get portNumber(): PortNumber; /** * ポート名取得処理 * @return 現在のポート名 */ get portName(): string; /** * I2CSlave 接続デバイスオープン処理 * @param slaveAddress 接続デバイス情報のアドレス * @return I2CSlaveDevice インスタンスの生成の完了 */ open(slaveAddress: I2CSlaveAddress): Promise; } /** * I2CSlaveDevice クラス */ export interface I2CSlaveDevice { /** I2C Slave アドレス */ readonly slaveAddress: I2CSlaveAddress; /** * @function * I2C 読み取り処理 * @param registerNumber 読み取りアドレス */ read8(registerNumber: number): Promise; /** * @function * I2C 読み取り処理 * @param registerNumber 読み取りアドレス */ read16(registerNumber: number): Promise; /** * @function * I2c s/I2c/I2C 書き込み処理 * @param registerNumber 書き込みアドレス * @param value 書き込みの値(バイト) */ write8(registerNumber: number, value: number): Promise; /** * @function * I2c bytes 書き込み処理 * @param registerNumber 書き込みアドレス * @param value 書き込みの値(ワード) */ write16(registerNumber: number, value: number): Promise; /** * @function * I2c bytes 読み取りバイト処理 * Different from Web I2C API specification. */ readByte(): Promise; /** * @function * I2c bytes 読み取りバイト処理 * Different from Web I2C API specification. * @param length 読み取る配列の長さ */ readBytes(length: number): Promise; /** * @function * I2c bytes 書き込みバイト処理 * Different from Web I2C API specification. * @param byte 書き込みの値 */ writeByte(byte: number): Promise; /** * @function * I2c bytes 書き込みバイト配列処理 * Different from Web I2C API specification. * @param bytes 書き込みの値の配列 */ writeBytes(bytes: Array): Promise; } /** * 操作エラー */ export declare class OperationError extends Error { /** * Creates an instance of OperationError. * @param message エラーメッセージ */ constructor(message: string); } export declare function requestI2CAccess(): Promise; export {};