UNPKG

@openhps/sphero

Version:

Open Hybrid Positioning System - Sphero component

144 lines (143 loc) 3.36 kB
export declare enum DeviceId { apiProcessor = 16, systemInfo = 17, powerInfo = 19, driving = 22, animatronics = 23, sensor = 24, userIO = 26, somethingAPI = 31 } export declare enum SomethingApi { something5 = 39 } export declare enum APIProcessCommandIds { echo = 0 } export declare enum SystemInfoCommandIds { mainApplicationVersion = 0, bootloaderVersion = 1, something = 6, something6 = 18, something7 = 40 } export declare enum PowerCommandIds { deepSleep = 0, sleep = 1, batteryVoltage = 3, wake = 13, something2 = 16, something3 = 4, something4 = 30 } export declare enum DrivingCommandIds { rawMotor = 1, resetYaw = 6, driveAsSphero = 4, driveAsRc = 2, driveWithHeading = 7, stabilization = 12 } export declare enum AnimatronicsCommandIds { animationBundle = 5, shoulderAction = 13, domePosition = 15, shoulderActionComplete = 38, enableShoulderActionCompleteAsync = 42 } export declare enum SensorCommandIds { sensorMask = 0, sensorResponse = 2, configureCollision = 17, collisionDetectedAsync = 18, resetLocator = 19, enableCollisionAsync = 20, sensor1 = 15, sensor2 = 23, sensorMaskExtended = 12 } export declare enum UserIOCommandIds { allLEDs = 14, allLEDsV21 = 28, playAudioFile = 7, audioVolume = 8, stopAudio = 10, testSound = 24, matrixPixel = 45, matrixColor = 47, clearMatrix = 56, matrixRotation = 58, matrixScrollText = 59, matrixLine = 61, matrixFill = 62 } export declare enum Flags { isResponse = 1, requestsResponse = 2, requestsOnlyErrorResponse = 4, resetsInactivityTimeout = 8, commandHasTargetId = 16, commandHasSourceId = 32 } export declare enum APIConstants { escape = 171, startOfPacket = 141, endOfPacket = 216, escapeMask = 136, escapedEscape = 35, escapedStartOfPacket = 5, escapedEndOfPacket = 80 } export declare enum DriveFlag { reverse = 1, boost = 2, fastTurnMode = 4, tankDriveLeftMotorReverse = 8, tankDriveRightMotorReverse = 16 } export type CommandId = UserIOCommandIds | AnimatronicsCommandIds | DrivingCommandIds | PowerCommandIds | SystemInfoCommandIds | APIProcessCommandIds | SensorCommandIds | SomethingApi; export interface ICommandOutput { bytes: number[]; checksum: number; } export interface ICommandPartial { payload?: number[]; commandId: CommandId; targetId?: number; sourceId?: number; } export interface ICommand extends ICommandPartial { deviceId: DeviceId; commandFlags?: Flags[]; sequenceNumber: number; } export interface ICommandWithRaw extends ICommand { raw: Uint8Array; } export type CommandGenerator = (deviceId: number) => (part: ICommandPartial) => ICommandWithRaw; export interface IThreeAxisSensor { x: number; y: number; z: number; } export interface ITwoAxisSensor { x: number; y: number; } export interface ISensorResponse { angles?: { pitch: number; roll: number; yaw: number; }; accelerometer?: { filtered: IThreeAxisSensor; }; locator?: { position: ITwoAxisSensor; velocity: ITwoAxisSensor; }; gyro?: { filtered: IThreeAxisSensor; }; }