openi2c
Version:
This library is a set of cross platform drivers for common I2C devices.
93 lines (92 loc) • 2.47 kB
TypeScript
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 {};