bno055-imu-node
Version:
Interact with a BNO055 IMU from your Node.js app
189 lines (188 loc) • 4.5 kB
TypeScript
export declare const BNO055_ID = 160;
export declare const BNO055_CONFIG_MODE_WAIT = 20;
export declare const BNO055_MODE_SWITCH_WAIT = 8;
export declare enum Axis {
X = 0,
Y = 1,
Z = 2,
Invalid = 3
}
export declare enum AxisSign {
Positive = 0,
Negative = 1
}
export declare enum CalibrationStatus {
NotCalibrated = 0,
FullyCalibrated = 3
}
export declare enum DeviceAddress {
A = 40,
B = 41
}
export declare enum PowerLevel {
Normal = 0,
Low = 1,
Suspend = 2
}
export declare enum SystemError {
None = 0,
PeripheralInitialization = 1,
SystemInitialization = 2,
SelfTestResultFailed = 3,
RegisterMapValueOutOfRange = 4,
RegisterMapAddressOutOfRange = 5,
RegisterMapWrite = 6,
BnoLowPowerModeNotAvailableForSelectedOperationMode = 7,
AccelerometerPowerModeNotAvailable = 8,
FusionAlgorithmConfiguration = 9,
SensorConfiguration = 10
}
export declare enum SystemStatus {
Idle = 0,
Error = 1,
InitializingPeripherals = 2,
Initialization = 3,
ExecutingSelftest = 4,
RunningWithFusionAlgorithm = 5,
RunningWithoutFusionAlgorithm = 6
}
export declare enum EulerUnitScale {
Degs = 16,
Rads = 900
}
export declare enum TempUnitScale {
C = 1,
F = 0.5
}
/** Operation modes */
export declare enum OpMode {
Config = 0,
/** Non-fusion */
AccelOnly = 1,
MagOnly = 2,
GyroOnly = 3,
AccelMag = 4,
AccelGyro = 5,
MagGyro = 6,
AccelMagGyro = 7,
/** Fusion */
Imu = 8,
Compass = 9,
ImuMagForGyro = 10,
FullFmcOff = 11,
FullFusion = 12
}
/** Page 0 Registers */
export declare enum Reg {
PAGE_ID = 7,
DEVICE_ID = 0,
ACCEL_ID = 1,
MAG_ID = 2,
GYRO_ID = 3,
SW_REV_ID_LSB = 4,
SW_REV_ID_MSB = 5,
BOOTLOADER_REV_ID = 6,
ACCEL_DATA_X_LSB = 8,
ACCEL_DATA_X_MSB = 9,
ACCEL_DATA_Y_LSB = 10,
ACCEL_DATA_Y_MSB = 11,
ACCEL_DATA_Z_LSB = 12,
ACCEL_DATA_Z_MSB = 13,
MAG_DATA_X_LSB = 14,
MAG_DATA_X_MSB = 15,
MAG_DATA_Y_LSB = 16,
MAG_DATA_Y_MSB = 17,
MAG_DATA_Z_LSB = 18,
MAG_DATA_Z_MSB = 19,
GYRO_DATA_X_LSB = 20,
GYRO_DATA_X_MSB = 21,
GYRO_DATA_Y_LSB = 22,
GYRO_DATA_Y_MSB = 23,
GYRO_DATA_Z_LSB = 24,
GYRO_DATA_Z_MSB = 25,
EULER_H_LSB = 26,
EULER_H_MSB = 27,
EULER_R_LSB = 28,
EULER_R_MSB = 29,
EULER_P_LSB = 30,
EULER_P_MSB = 31,
QUATERNION_DATA_W_LSB = 32,
QUATERNION_DATA_W_MSB = 33,
QUATERNION_DATA_X_LSB = 34,
QUATERNION_DATA_X_MSB = 35,
QUATERNION_DATA_Y_LSB = 36,
QUATERNION_DATA_Y_MSB = 37,
QUATERNION_DATA_Z_LSB = 38,
QUATERNION_DATA_Z_MSB = 39,
LINEAR_ACCEL_DATA_X_LSB = 40,
LINEAR_ACCEL_DATA_X_MSB = 41,
LINEAR_ACCEL_DATA_Y_LSB = 42,
LINEAR_ACCEL_DATA_Y_MSB = 43,
LINEAR_ACCEL_DATA_Z_LSB = 44,
LINEAR_ACCEL_DATA_Z_MSB = 45,
GRAVITY_DATA_X_LSB = 46,
GRAVITY_DATA_X_MSB = 47,
GRAVITY_DATA_Y_LSB = 48,
GRAVITY_DATA_Y_MSB = 49,
GRAVITY_DATA_Z_LSB = 50,
GRAVITY_DATA_Z_MSB = 51,
TEMP = 52,
CALIB_STAT = 53,
SELFTEST_RESULT = 54,
INTR_STAT = 55,
SYS_CLK_STAT = 56,
SYS_STAT = 57,
SYS_ERR = 58,
UNIT_SEL = 59,
DATA_SELECT = 60,
OPR_MODE = 61,
PWR_MODE = 62,
SYS_TRIGGER = 63,
TEMP_SOURCE = 64,
AXIS_MAP_CONFIG = 65,
AXIS_MAP_SIGN = 66,
ACCEL_OFFSET_X_LSB = 85,
ACCEL_OFFSET_X_MSB = 86,
ACCEL_OFFSET_Y_LSB = 87,
ACCEL_OFFSET_Y_MSB = 88,
ACCEL_OFFSET_Z_LSB = 89,
ACCEL_OFFSET_Z_MSB = 90,
MAG_OFFSET_X_LSB = 91,
MAG_OFFSET_X_MSB = 92,
MAG_OFFSET_Y_LSB = 93,
MAG_OFFSET_Y_MSB = 94,
MAG_OFFSET_Z_LSB = 95,
MAG_OFFSET_Z_MSB = 96,
GYRO_OFFSET_X_LSB = 97,
GYRO_OFFSET_X_MSB = 98,
GYRO_OFFSET_Y_LSB = 99,
GYRO_OFFSET_Y_MSB = 100,
GYRO_OFFSET_Z_LSB = 101,
GYRO_OFFSET_Z_MSB = 102,
ACCEL_RADIUS_LSB = 103,
ACCEL_RADIUS_MSB = 104,
MAG_RADIUS_LSB = 105,
MAG_RADIUS_MSB = 106
}
/** Remap settings */
export declare enum RemapRegister {
REMAP_CONFIG_P0 = 33,
REMAP_CONFIG_P1 = 36,
REMAP_CONFIG_P2 = 36,
REMAP_CONFIG_P3 = 33,
REMAP_CONFIG_P4 = 36,
REMAP_CONFIG_P5 = 33,
REMAP_CONFIG_P6 = 33,
REMAP_CONFIG_P7 = 36
}
/** Remap Signs */
export declare enum RemapSigns {
REMAP_SIGN_P0 = 4,
REMAP_SIGN_P1 = 0,
REMAP_SIGN_P2 = 6,
REMAP_SIGN_P3 = 2,
REMAP_SIGN_P4 = 3,
REMAP_SIGN_P5 = 1,
REMAP_SIGN_P6 = 7,
REMAP_SIGN_P7 = 5
}