@workshop2/bno055-imu-node
Version:
Interact with a BNO055 IMU from your Node.js app
50 lines (49 loc) • 1.77 kB
TypeScript
import { DeviceAddress, OpMode, PowerLevel, SystemError, SystemStatus } from './constants';
import { CalibrationStatusMap, Offsets, SelfTestResult, SensorUnits, Versions, AxisMapping } from './types';
export declare class BNO055 {
private readonly bus;
readonly address: number;
static begin(address: DeviceAddress, mode?: OpMode, busNumber?: number): Promise<BNO055>;
mode: OpMode;
units: SensorUnits;
private constructor();
getAxisMapping(): Promise<AxisMapping>;
getCalibrationStatuses(): Promise<CalibrationStatusMap>;
getEuler(): Promise<{
h: number;
r: number;
p: number;
}>;
getMode(): Promise<OpMode>;
getPage(): Promise<number>;
getQuat(): Promise<{
w: number;
x: number;
y: number;
z: number;
}>;
getSelfTestResults(): Promise<SelfTestResult>;
getSensorOffsets(): Promise<Offsets | undefined>;
setSensorOffsets(offsets: Offsets): Promise<void>;
getSystemError(): Promise<SystemError>;
getSystemStatus(): Promise<SystemStatus>;
getTemperature(): Promise<number>;
getUnits(): Promise<SensorUnits>;
getVersions(): Promise<Versions>;
/**
* Checks that all relevant calibration status values are set to 3 (fully calibrated)
*/
isFullyCalibrated(): Promise<boolean>;
resetSystem(): Promise<void>;
setAxisMapping({ X, Y, Z }: AxisMapping): Promise<void>;
setMode(mode: OpMode): Promise<void>;
setPowerLevel(level?: PowerLevel): Promise<void>;
useExternalClock(): Promise<void>;
verifyConnection(): Promise<void>;
/**
* I2C Helper Methods
*/
private readDoubleByte;
private readBlock;
private writeDoubleByte;
}