UNPKG

@robotical/ricjs

Version:

Javascript/TS library for Robotical RIC

300 lines (299 loc) 7.7 kB
import { RICConnEvent } from './RICConnEvents'; import { ROSSerialSmartServos, ROSSerialIMU, ROSSerialPowerStatus, ROSSerialAddOnStatusList, ROSSerialRobotStatus, ROSSerialMagneto } from './RICROSSerial'; import { RICUpdateEvent } from './RICUpdateEvents'; export declare enum RICIFType { RIC_INTERFACE_BLE = 0, RIC_INTERFACE_WIFI = 1 } export declare enum RICFileSendType { RIC_NORMAL_FILE = 0, RIC_FIRMWARE_UPDATE = 1 } export declare enum RICStreamType { RIC_REAL_TIME_STREAM = 0 } export declare type RICEventFn = (eventType: string, eventEnum: RICConnEvent | RICUpdateEvent, eventName: string, data?: object | string | null) => void; export interface RICSubscription { remove(): void; } export declare class RICFriendlyName { friendlyName: string; friendlyNameIsSet?: boolean | undefined; req?: string | undefined; rslt?: string | undefined; validMs?: number | undefined; } export declare class RICSystemInfo { rslt: string; SystemName: string; SystemVersion: string; RicHwRevNo: number; MAC?: string | undefined; SerialNo?: string | undefined; validMs?: number | undefined; } export declare class RICCalibInfo { rslt: string; calDone: number; validMs?: number | undefined; } export declare class RICOKFail { RIC_OK: string; set(rsltFlag: boolean): void; rslt: string; isOk(): boolean; } export declare class RICReportMsg { msgType?: string; rslt: string; timeReceived?: number; hexRd?: string; elemName?: string; IDNo?: number; msgKey?: string; addr?: number; msgBody?: string; } export declare class RICHWFWStat { s: string; m: string; v: string; n: string; p: number; i: number; } export declare class RICHWFWUpdRslt { req: string; rslt: string; st: RICHWFWStat; } export declare type RICFWInfo = { elemType: string; version: string; destname: string; md5: string; releaseNotes: string; comments: string; updaters: Array<string>; downloadUrl: string; firmware?: string; }; export declare type RICUpdateInfo = { rslt: string; firmwareVersion: string; ricRevision: string; files: Array<RICFWInfo>; minimumUpdaterVersion: Dictionary<string>; note: string; }; export declare type RICFileStartResp = { rslt: string; batchMsgSize: number; batchAckSize: number; }; export declare type RICStreamStartResp = { rslt: string; streamID: number; maxBlockSize?: number; }; export declare class RICStateInfo { smartServos: ROSSerialSmartServos; smartServosValidMs: number; imuData: ROSSerialIMU; imuDataValidMs: number; magnetoData: ROSSerialMagneto; magnetoDataValidMs: number; power: ROSSerialPowerStatus; powerValidMs: number; addOnInfo: ROSSerialAddOnStatusList; addOnInfoValidMs: number; robotStatus: ROSSerialRobotStatus; robotStatusValidMs: number; } export declare type RICFile = { name: string; size: number; }; export declare class RICFileList { req: string; rslt: string; fsName: string; fsBase: string; diskSize: number; diskUsed: number; folder: string; files: Array<RICFile>; } /** * RICHWElem * * @description * Information about a hardware element * * @field name: string - element name * @field type: string - element type * @field busName: string - name of bus (e.g. I2C) attached to * @field addr: string - address of element on the bus * @field addrValid: number - 1 if address is valid * @field IDNo: string - unique identifier of element * @field whoAmI: string - name of element type * @field whoAmITypeCode: string - number of element type * @field SN: string - Serial number * @field versionStr: string - Version * @field commsOk: number - 1 if communications OK, 0 if not, -1 if device is invalid */ export declare type RICHWElem = { name: string; type: string; busName: string; addr: string; addrValid: number; IDNo: string; whoAmI: string; whoAmITypeCode: string; SN: string; versionStr: string; commsOk: number; }; export declare class RICHWElemList { req: string; rslt: string; hw: Array<RICHWElem>; } export declare type RICHWElem_Min = { n: string; t: string; I: string; w: string; W: string; S: string; v: string; c: number; }; export declare class RICHWElemList_Min { req: string; rslt: string; hw: Array<RICHWElem_Min>; static expand(hwMin: RICHWElemList_Min): RICHWElemList; } export declare type RICHWElem_Str = { a: string; }; export declare type RICHWElemList_Name = { rslt: string; hw: Array<string>; }; export declare class RICHWElemList_Str { req: string; rslt: string; hw: Array<RICHWElem_Str>; static expand(hwStr: RICHWElemList_Str): RICHWElemList; static unesc(s: string): string; } /** * RICAddOn * * @description * Information about an add-on * * @field name: string - Name of add-on * @field SN: string - Serial number * @field poll: string - polling type ("status") * @field pollRd: string - hex data most recently read * @field pollHz: number - rate of polling */ export declare type RICAddOn = { name: string; SN: string; poll: string; pollRd: number; pollHz: number; }; export declare class RICConfiguredAddOns { req: string; rslt: string; addons: Array<RICAddOn>; } /** * AddOnElemAndConfig * * @description * Carrier of information about an add-on combining * the add-on element and the add-on configuration * * @field addOnConfig: RICAddOn - Add-on configuration * @field hwElemRec: RICHWElem - Add-on element * @field elemIdx: number - Index of the add-on element */ export declare class AddOnElemAndConfig { constructor(addOnConfig: RICAddOn | null, hwElemRec: RICHWElem | null, elemIdx: number); addOnConfig: RICAddOn | null; hwElemRec: RICHWElem | null; name: string; SN: string; id: string; isConnected: boolean; isConfigured: boolean; } export declare class RICSysModInfoBLEMan { req?: string | undefined; rslt: string; isConn: boolean; isAdv: boolean; advName?: string | undefined; BLEMAC: string; rssi: number; rxM: number; rxB: number; rxBPS: number; txM: number; txB: number; txBPS: number; txErr: number; txErrPS: number; tM?: number | undefined; tB?: number | undefined; tBPS?: number | undefined; tSeqErrs?: number | undefined; tDatErrs?: number | undefined; } export declare type RICProgressCBType = (received: number, total: number) => void; export declare class RICFileDownloadResult { fileData: Uint8Array | null; downloadedOk: boolean; } export declare type RICFileDownloadFn = (downloadUrl: string, progressCB: RICProgressCBType) => Promise<RICFileDownloadResult>; export declare type RICLEDPatternCheckerColour = { led: string; lcd: string; }; export declare type RICLedLcdColours = Array<RICLEDPatternCheckerColour>; export interface Dictionary<T> { [key: string]: T; } export declare type RICWifiScanResults = { req: string; rslt: string; wifi: WifiScanWifiItem[]; }; export declare type WifiScanWifiItem = { ssid: string; rssi: number; ch1: number; ch2: number; auth: string; bssid: string; pair: string; group: string; }; export declare type PystatusMsgType = { req: string; running: string; rslt: string; }; export declare type RICServoFaultFlags = { intermittentConnection: boolean; noConnection: boolean; faultyConnection: boolean; servoHornPositionError: boolean; };