UNPKG

openi2c

Version:

This library is a set of cross platform drivers for common I2C devices.

93 lines (92 loc) 2.47 kB
import { BaseDevice } from '../BaseDevice'; interface AK8963Config { ak_address: number; DEBUG?: boolean; scaleValues: boolean; bus: number; magCalibration: MagCalibration; } interface Offset { x: number; y: number; z: number; } interface Scale { x: number; y: number; z: number; } interface MagCalibration { offset: Offset; scale: Scale; } export declare const AK8963: { ADDRESS: number; WHO_AM_I: number; WHO_AM_I_RESPONSE: number; INFO: number; ST1: number; XOUT_L: number; XOUT_H: number; YOUT_L: number; YOUT_H: number; ZOUT_L: number; ZOUT_H: number; ST2: number; CNTL: number; ASTC: number; I2CDIS: number; ASAX: number; ASAY: number; ASAZ: number; ST1_DRDY_BIT: number; ST1_DOR_BIT: number; CNTL_MODE_OFF: number; CNTL_MODE_SINGLE_MEASURE: number; CNTL_MODE_CONTINUE_MEASURE_1: number; CNTL_MODE_CONTINUE_MEASURE_2: number; CNTL_MODE_EXT_TRIG_MEASURE: number; CNTL_MODE_SELF_TEST_MODE: number; CNTL_MODE_FUSE_ROM_ACCESS: number; DEFAULT_CALIBRATION: { offset: { x: number; y: number; z: number; }; scale: { x: number; y: number; z: number; }; }; }; export declare class ak8963 extends BaseDevice { private _config; private asax; private asay; private asaz; constructor(config?: Partial<AK8963Config>); initialize(): Promise<void>; getMagAttitude(): Promise<number[]>; printSettings(): Promise<void>; /** * Get the Sensitivity Adjustment values. These were set during manufacture and allow us to get the actual H values * from the magnetometer. */ getSensitivityAdjustmentValues(): Promise<void>; getCNTL(): Promise<number>; /** * CNTL_MODE_OFF: 0x00, // Power-down mode * CNTL_MODE_SINGLE_MEASURE: 0x01, // Single measurement mode * CNTL_MODE_CONTINUE_MEASURE_1: 0x02, // Continuous measurement mode 1 * CNTL_MODE_CONTINUE_MEASURE_2: 0x06, // Continuous measurement mode 2 * CNTL_MODE_EXT_TRIG_MEASURE: 0x04, // External trigger measurement mode * CNTL_MODE_SELF_TEST_MODE: 0x08, // Self-test mode * CNTL_MODE_FUSE_ROM_ACCESS: 0x0F // Fuse ROM access mode */ setCNTL(mode: number): Promise<void>; getIDDevice(): Promise<number>; getDataReady(): Promise<number>; } export {};