UNPKG

openi2c

Version:

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

186 lines (185 loc) 5.41 kB
import { BaseDevice } from '../BaseDevice'; interface MPU9250Config { bus: number; address: number; UpMagneto: boolean; DEBUG: boolean; scaleValues: boolean; ak_address: number; GYRO_FS: number; ACCEL_FS: number; gyroBiasOffset: Offset; accelCalibration: AccelCalibration; DLPF_CFG?: number; A_DLPF_CFG?: number; SAMPLE_RATE?: number; } interface Offset { x: number; y: number; z: number; } interface AccelCalibration { offset: Offset; scale: Scale; } interface Scale { x: number[]; y: number[]; z: number[]; } export declare const MPU9250: { ID_MPU_9250: number; ID_MPU_9255: number; I2C_ADDRESS_AD0_LOW: number; I2C_ADDRESS_AD0_HIGH: number; WHO_AM_I: number; SMPLRT_DIV: number; RA_CONFIG: number; RA_GYRO_CONFIG: number; RA_ACCEL_CONFIG_1: number; RA_ACCEL_CONFIG_2: number; RA_INT_PIN_CFG: number; INTCFG_ACTL_BIT: number; INTCFG_OPEN_BIT: number; INTCFG_LATCH_INT_EN_BIT: number; INTCFG_INT_ANYRD_2CLEAR_BIT: number; INTCFG_ACTL_FSYNC_BIT: number; INTCFG_FSYNC_INT_MODE_EN_BIT: number; INTCFG_BYPASS_EN_BIT: number; INTCFG_NONE_BIT: number; ACCEL_XOUT_H: number; ACCEL_XOUT_L: number; ACCEL_YOUT_H: number; ACCEL_YOUT_L: number; ACCEL_ZOUT_H: number; ACCEL_ZOUT_L: number; TEMP_OUT_H: number; TEMP_OUT_L: number; GYRO_XOUT_H: number; GYRO_XOUT_L: number; GYRO_YOUT_H: number; GYRO_YOUT_L: number; GYRO_ZOUT_H: number; GYRO_ZOUT_L: number; RA_USER_CTRL: number; RA_PWR_MGMT_1: number; RA_PWR_MGMT_2: number; PWR1_DEVICE_RESET_BIT: number; PWR1_SLEEP_BIT: number; PWR1_CYCLE_BIT: number; PWR1_TEMP_DIS_BIT: number; PWR1_CLKSEL_BIT: number; PWR1_CLKSEL_LENGTH: number; GCONFIG_FS_SEL_BIT: number; GCONFIG_FS_SEL_LENGTH: number; GYRO_FS_250: number; GYRO_FS_500: number; GYRO_FS_1000: number; GYRO_FS_2000: number; GYRO_SCALE_FACTOR: number[]; ACONFIG_FS_SEL_BIT: number; ACONFIG_FS_SEL_LENGTH: number; ACCEL_FS_2: number; ACCEL_FS_4: number; ACCEL_FS_8: number; ACCEL_FS_16: number; ACCEL_SCALE_FACTOR: number[]; CLOCK_INTERNAL: number; CLOCK_PLL_XGYRO: number; CLOCK_PLL_YGYRO: number; CLOCK_PLL_ZGYRO: number; CLOCK_KEEP_RESET: number; CLOCK_PLL_EXT32K: number; CLOCK_PLL_EXT19M: number; I2C_SLV0_DO: number; I2C_SLV1_DO: number; I2C_SLV2_DO: number; USERCTRL_DMP_EN_BIT: number; USERCTRL_FIFO_EN_BIT: number; USERCTRL_I2C_MST_EN_BIT: number; USERCTRL_I2C_IF_DIS_BIT: number; USERCTRL_DMP_RESET_BIT: number; USERCTRL_FIFO_RESET_BIT: number; USERCTRL_I2C_MST_RESET_BIT: number; USERCTRL_SIG_COND_RESET_BIT: number; DEFAULT_GYRO_OFFSET: { x: number; y: number; z: number; }; DEFAULT_ACCEL_CALIBRATION: { offset: { x: number; y: number; z: number; }; scale: { x: number[]; y: number[]; z: number[]; }; }; /** For Gyro */ DLPF_CFG_250HZ: number; DLPF_CFG_184HZ: number; DLPF_CFG_92HZ: number; DLPF_CFG_41HZ: number; DLPF_CFG_20HZ: number; DLPF_CFG_10HZ: number; DLPF_CFG_5HZ: number; DLPF_CFG_3600HZ: number; /** Sample rate min/max value */ SAMPLERATE_MIN: number; SAMPLERATE_MAX: number; /** For accel. */ A_DLPF_CFG_460HZ: number; A_DLPF_CFG_184HZ: number; A_DLPF_CFG_92HZ: number; A_DLPF_CFG_41HZ: number; A_DLPF_CFG_20HZ: number; A_DLPF_CFG_10HZ: number; A_DLPF_CFG_5HZ: number; A_DLPF_CFG_460HZ_2: number; A_DLPF_CFG_MASK: number; }; export declare class mpu9250 extends BaseDevice { private _config; private gyroScalarInv; private accelScalarInv; private ak8963?; constructor(config?: Partial<MPU9250Config>); initialize(): Promise<boolean>; getMotion9(): Promise<number[]>; getMotion6(): Promise<number[]>; scaleAccel(val: number, offset: number, scalerArr: number[]): number; testDevice(): Promise<boolean>; printGyroSettings(): Promise<void>; getFullScaleGyroRange(): Promise<number>; printAccelSettings(): Promise<void>; getFullScaleAccelRange(): Promise<number>; printSettings(): Promise<void>; getGyroPowerSettings(): Promise<number[]>; getPitch(value: number[]): number; getRoll(value: number[]): number; getYaw(value: number[]): number; getGyro(): Promise<number[]>; getAccel(): Promise<number[]>; getAccelPowerSettings(): Promise<number[]>; getClockSource(): Promise<number>; getI2CMasterMode(): Promise<number>; getSleepEnabled(): Promise<number>; getIDDevice(): Promise<number>; setSampleRate(sample_rate: number): Promise<void>; enableMagnetometer(): Promise<void>; getByPASSEnabled(): Promise<number>; setByPASSEnabled(bool: boolean): Promise<void>; setI2CMasterModeEnabled(bool: boolean): Promise<void>; setSleepEnabled(bool: boolean): Promise<void>; setFullScaleAccelRange(adrs: number): Promise<void>; setFullScaleGyroRange(adrs: number): Promise<void>; setClockSource(adrs: number): Promise<void>; setDLPFConfig(dlpf_cfg: number): Promise<void>; setAccelDLPFConfig(a_dlpf_cfg: number): Promise<void>; } export default mpu9250;