Options
All
  • Public
  • Public/Protected
  • All
Menu

Deep Trekker BRIDGE API - v0.58.7

Index

Enumerations

Interfaces Core

Interfaces Device/CameraHeads

Interfaces Device/Cameras

Interfaces DeviceVersions

Interfaces Devices

Interfaces Devices/CameraHeads

Interfaces Devices/Cameras

Interfaces Devices/Core

Interfaces Devices/Peripherals

Interfaces Devices/Reels

Interfaces Devices/Vehicles

Interfaces Other

Interfaces SignalServer

Type Aliases Core

Type Aliases Device

Type Aliases Device/CameraHead

Type Aliases Device/CameraHeads

Type Aliases Device/Cameras

Type Aliases DeviceVersions

Type Aliases Devices

Type Aliases Devices/CameraHeads

Type Aliases Devices/Cameras

Type Aliases Devices/Core

Type Aliases Devices/Peripherals

Type Aliases Devices/Reels

Type Aliases Devices/Vehicles

Type Aliases Devices/Vehicles/Navigation

Type Aliases Devices/peripherals

Type Aliases Other

Type Aliases SignalServer

Variables Other

Variables SignalServer

Core Type Aliases

TransferPayload<T>: { apiVersion: string; error?: TransferError; method: TransferMethodType; payload: T }

TransferPayload

TransferPayload represents the payload structure that should be used via an API to send a payload with a specific load type.

example

From ./dist/samples/json/requests/errors/notAccepted405.json

{
"$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
"apiVersion": "0.58.7",
"method": "ERROR",
"payload": {},
"error": {
"code": 405,
"message": "This payload cannot be sent for this request type"
}
}

Type Parameters

  • T

    BridgeBox

Type declaration

  • apiVersion: string

    API target version (defaults to the latest)

    pattern

    (^[0-9]{1,3}[.][0-9]{1,3}([.][0-9]{1,3})?.*$)

  • Optional error?: TransferError

    Transfer error type

  • method: TransferMethodType

    Method action type

  • payload: T

    Payload

Device Type Aliases

Vehicle: { cameras?: Record<string, Removable<Cameras>>; cpProbe?: string; cygnus?: cygnusType } & Device

Vehicle interface provides a base interfaces for vehicle devices, including ROVs and crawlers.

Device/CameraHead Type Aliases

A150CameraHead: { model: A150CameraHead } & CrawlerCameraHead & Calibratable

Pan-Tilt Camera Head

A200CameraHead: { joint1SensorType?: CameraHeadSensorType; lasers?: Laser; model: A200CameraHead } & CrawlerCameraHead & Calibratable

Pan-Tilt Camera Head

CrawlerCameraHead: { joint1MotorDiagnostics?: MotorDiagnostics; joint2MotorDiagnostics?: MotorDiagnostics; light?: Light; natural?: boolean; orientation?: CameraHeadOrientation; pan?: CalibratableRotaryJoint; panMotorDiagnostics?: MotorDiagnostics; tilt?: RotaryJoint; tiltMotorDiagnostics?: MotorDiagnostics } & CameraHead & Calibratable

Device/CameraHeads Type Aliases

CameraHead: { cpuTemp?: number; leak?: boolean; usageTime?: UsageTime } & Device

Device/Cameras Type Aliases

DTCam: { brightness?: number; contrast?: number; model: DTCam; saturation?: number; whiteBalance?: { auto?: boolean; blue?: number; green?: number; red?: number } } & Camera
OcleaCam: Camera & { brightness?: number; contrast?: number; cpuTemp?: number; dptz?: OcleaDptz; exposure?: { auto?: boolean; autoExposureCompensation?: number; sensorGain?: number; shutterTime?: string }; model: OcleaCam; saturation?: number; turbidityFilter?: TurbidityFilter; whiteBalance?: { auto?: boolean; awbMode?: string; awbModeOptions?: string[]; blue?: number; red?: number } }

📷 4k UHD Camera

TamronHarrierZoomCamera: Camera & { brightness?: number; exposure?: { auto?: boolean; value?: number }; focus?: { auto?: boolean; nearLimit?: 10 | 34 | 90 | 250 | 800 | 2300; rate?: Rate; value?: number }; model: TamronHarrierZoomCamera; saturation?: number; sharpness?: number; zoom?: ZoomControl }

📷 Tamron-Harrier Zoom Camera

TamronOcleaZoomCamera: Camera & { cpuTemp?: number; dptz?: OcleaDptz; exposure?: { auto?: boolean; value?: number }; focus?: { auto?: boolean; nearLimit?: 10 | 34 | 90 | 250 | 800 | 2300; rate?: Rate; value?: number }; model: TamronOcleaZoomCamera; opticalZoom?: ZoomControl; sharpness?: number; turbidityFilter?: TurbidityFilter }

📷 Tamron-OClea Zoom Camera

ZoomCam: Camera & { brightness?: number; contrast?: number; model: JZC18ZoomCamera; saturation?: number; zoom?: ZoomControl }

📷 Zoom Camera

DeviceVersions Type Aliases

DeviceVersion: { branchInfo?: string; hardware?: string; software?: string }

Device Version

Device Version is a base interface for hardware and software version sample payloads. -1 hardware versions and 0.0 software versions refer to not applicable

Type declaration

  • Optional branchInfo?: string
  • Optional hardware?: string
  • Optional software?: string

Devices Type Aliases

Device: { ip?: string; model: DeviceModel; version?: DeviceVersion }

Device

Device interface is a base interface for interacting with derived device types such as vehicles, reels, cameras, etc. In order to properly parse and generate the derived interface data, an appropriate schema must be selected. This can be done by parsing the device's @param model and mapping the associated device schema.

Type declaration

  • Optional ip?: string

    IP address

  • model: DeviceModel

    Deep Trekker internal device model numbers. This can be used for selecting the associated device schema.

  • Optional version?: DeviceVersion

    Version

Devices/CameraHeads Type Aliases

TiltCameraHead: { lasers?: Laser; leak?: boolean; light?: Light; model: TiltCameraHeadModel; tilt?: RotaryJoint; tiltMotorDiagnostics?: MotorDiagnostics } & CameraHead

Devices/Cameras Type Aliases

Camera: { cpuTemp?: number; model: typeof CAMERA_DEVICE_MODELS[number]; osd?: Osd; streamMode?: StreamMode; streams?: Record<string, Stream>; type?: CameraType } & Device

Devices/Core Type Aliases

Battery: { charging?: boolean; diagnostics?: BatteryDiagnostics; leak?: boolean; percent?: number; voltage?: number }

🔋 Battery

notexported
readonly

Type declaration

  • Optional charging?: boolean

    Battery charging state

    description

    Represents whether the battery is being charged or not

  • Optional diagnostics?: BatteryDiagnostics
  • Optional leak?: boolean
  • Optional percent?: number

    Battery charge percentage

    minimum

    0

    maximum

    100

    tjs-type

    integer

  • Optional voltage?: number

    Battery voltage

BatteryDiagnostics: { averageCurrent?: number; averageVoltage?: number; estimatedSoC?: number; instantCurrent?: number; instantVoltage?: number; lastFullChargeCapacity?: number; remainingCapacity?: number; reportedChargeCycles?: number; timeTillEmpty?: number; timeTillFull?: number; totalChargeCycles?: number }

BatteryDiagnostics

TODO: Add samples for all devices that use battery diagnostics

notexported
readonly

Type declaration

  • Optional averageCurrent?: number

    Average current (mA)

    readonly
  • Optional averageVoltage?: number

    Average voltage (mV)

    readonly
    minimum

    0

  • Optional estimatedSoC?: number

    Estimated state of charge

    minimum

    0

    maximum

    100

    tjs-type

    integer

  • Optional instantCurrent?: number

    Instant current (mA)

    readonly
  • Optional instantVoltage?: number

    Instant voltage (mV)

    readonly
    minimum

    0

  • Optional lastFullChargeCapacity?: number

    Last full charge capacity (mAh)

    readonly
  • Optional remainingCapacity?: number

    Remaining capacity (mAh)

    readonly
  • Optional reportedChargeCycles?: number

    Reported charge cycles (charge cycles currently reported by the battery monitoring chip)

    readonly
  • Optional timeTillEmpty?: number

    Time till empty (minutes)

    readonly
  • Optional timeTillFull?: number

    Time till full (minutes)

    readonly
  • Optional totalChargeCycles?: number

    Total charge cycles (charge cycles over the battery's lifetime)

    readonly
Calibratable: { calibrator?: boolean }

Type declaration

  • Optional calibrator?: boolean

    Calibrator

    Calibrator Front-end (request) Back-end (response)
    true Calibrate -
    false Cancel Calibration -
    undefined - -
MotorDiagnostics: { current?: number; failure?: boolean; overcurrent?: boolean; pwm?: number; rpm?: number }

Type declaration

  • Optional current?: number

    Motor Current (mA)

    readonly
  • Optional failure?: boolean

    Failure Fault

    readonly
  • Optional overcurrent?: boolean

    Overcurrent Fault

    readonly
  • Optional pwm?: number

    Motor PWM (%)

    minimum

    0

    maximum

    100

    tjs-type

    integer

    readonly
  • Optional rpm?: number

    RPM

    • < 0: reversing
    • > 0: moving forward
    • = 0: not moving ✋
    readonly
UsageTime: { currentSeconds?: number; totalSeconds?: number }

Usage Time

The usage time of a device.

readonly

Type declaration

  • Optional currentSeconds?: number

    Current usage time in seconds.

  • Optional totalSeconds?: number

    Total usage time in seconds.

Devices/Peripherals Type Aliases

Grabber: { openClose?: number; openCloseMotorDiagnostics?: MotorDiagnostics; rotate?: number; rotateMotorDiagnostics?: MotorDiagnostics }

Type declaration

  • Optional openClose?: number

    Open Close motor

    description

    Grabber claw motor power

    • < 0: Close grabber claw
    • == 0: Motor off
    • > 0: Open grabber claw

    Example Payload

    at Close Grabber

    From ./dist/samples/json/requests/devices/vehicles/revolution/grabber/revolutionGrabberCloseClawSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "UPDATE",
    "payload": {
    "devices": {
    "B2F384453BFB": {
    "model": 13,
    "grabber": {
    "openClose": -100
    }
    }
    }
    }
    }
    ~ ##### at Open Grabber

    From ./dist/samples/json/requests/devices/vehicles/revolution/grabber/revolutionGrabberOpenClawSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "UPDATE",
    "payload": {
    "devices": {
    "D25D1501AF3B": {
    "model": 13,
    "grabber": {
    "openClose": 100
    }
    }
    }
    }
    }
    • Open pivot grabber claw

    From ./dist/samples/json/requests/devices/vehicles/pivot/peripherals/grabber/pivotOpenClawGrabberSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "UPDATE",
    "payload": {
    "devices": {
    "86AD3A29E29D": {
    "model": 18,
    "grabber": {
    "openClose": 100
    }
    }
    }
    }
    }
    • Close pivot grabber claw

    From ./dist/samples/json/requests/devices/vehicles/pivot/peripherals/grabber/pivotCloseClawGrabberSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "UPDATE",
    "payload": {
    "devices": {
    "F5CD2A96B67B": {
    "model": 18,
    "grabber": {
    "openClose": -100
    }
    }
    }
    }
    }
    • OpenClose pivot grabber random

    From ./dist/samples/json/requests/devices/vehicles/pivot/peripherals/grabber/pivotOpenCloseGrabberRandomSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "UPDATE",
    "payload": {
    "devices": {
    "A542FC968193": {
    "model": 18,
    "grabber": {
    "openClose": -22
    }
    }
    }
    }
    }
    minimum

    -100

    maximum

    100

  • Optional openCloseMotorDiagnostics?: MotorDiagnostics

    openCloseMotorDiagnostics

    description

    Grabber open close motor diagnostics

    Example Payload

    at all random values

    From ./dist/samples/json/requests/devices/vehicles/revolution/grabber/motorDiagnostics/revolutionGrabberOpenCloseMotorDiagnosticsRandomSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "UPDATE",
    "payload": {
    "devices": {
    "C6CD55382A1F": {
    "model": 13,
    "grabber": {
    "openCloseMotorDiagnostics": {
    "current": 49,
    "overcurrent": false,
    "pwm": 45,
    "rpm": -18,
    "failure": false
    },
    "rotateMotorDiagnostics": {}
    }
    }
    }
    }
    }
    at random current

    From ./dist/samples/json/requests/devices/vehicles/revolution/grabber/motorDiagnostics/revolutionGrabberOpenCloseMotorDiagnosticsRandomCurrentSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "UPDATE",
    "payload": {
    "devices": {
    "7DE7DEBF1AC5": {
    "model": 13,
    "grabber": {
    "openCloseMotorDiagnostics": {
    "current": 77
    },
    "rotateMotorDiagnostics": {}
    }
    }
    }
    }
    }
    at random PWM

    From ./dist/samples/json/requests/devices/vehicles/revolution/grabber/motorDiagnostics/revolutionGrabberOpenCloseMotorDiagnosticsRandomPwmSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "UPDATE",
    "payload": {
    "devices": {
    "2CBF47219844": {
    "model": 13,
    "grabber": {
    "openCloseMotorDiagnostics": {
    "pwm": 27
    },
    "rotateMotorDiagnostics": {}
    }
    }
    }
    }
    }
    at has overcurrent

    From ./dist/samples/json/requests/devices/vehicles/revolution/grabber/motorDiagnostics/revolutionGrabberOpenCloseMotorDiagnosticsHasOvercurrentSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "UPDATE",
    "payload": {
    "devices": {
    "49A03AA448FC": {
    "model": 13,
    "grabber": {
    "openCloseMotorDiagnostics": {
    "overcurrent": true
    },
    "rotateMotorDiagnostics": {}
    }
    }
    }
    }
    }
    at has no overcurrent

    From ./dist/samples/json/requests/devices/vehicles/revolution/grabber/motorDiagnostics/revolutionGrabberOpenCloseMotorDiagnosticsHasNoOvercurrentSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "UPDATE",
    "payload": {
    "devices": {
    "30EE5690E22E": {
    "model": 13,
    "grabber": {
    "openCloseMotorDiagnostics": {
    "overcurrent": false
    },
    "rotateMotorDiagnostics": {}
    }
    }
    }
    }
    }
    at static RPM

    From ./dist/samples/json/requests/devices/vehicles/revolution/grabber/motorDiagnostics/revolutionGrabberOpenCloseMotorDiagnosticsStaticRpmSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "UPDATE",
    "payload": {
    "devices": {
    "3260563227E5": {
    "model": 13,
    "grabber": {
    "openCloseMotorDiagnostics": {
    "rpm": 0
    },
    "rotateMotorDiagnostics": {}
    }
    }
    }
    }
    }
    at forward RPM

    From ./dist/samples/json/requests/devices/vehicles/revolution/grabber/motorDiagnostics/revolutionGrabberOpenCloseMotorDiagnosticsForwardRpmSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "UPDATE",
    "payload": {
    "devices": {
    "1D20AB543145": {
    "model": 13,
    "grabber": {
    "openCloseMotorDiagnostics": {
    "rpm": 10
    },
    "rotateMotorDiagnostics": {}
    }
    }
    }
    }
    }
    at backward RPM

    From ./dist/samples/json/requests/devices/vehicles/revolution/grabber/motorDiagnostics/revolutionGrabberOpenCloseMotorDiagnosticsBackwardRpmSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "UPDATE",
    "payload": {
    "devices": {
    "F060EFF196FA": {
    "model": 13,
    "grabber": {
    "openCloseMotorDiagnostics": {
    "rpm": -10
    },
    "rotateMotorDiagnostics": {}
    }
    }
    }
    }
    }
    • Resting pivot openClose grabber diagnostic

    From ./dist/samples/json/requests/devices/vehicles/pivot/peripherals/grabber/motorDiagnostics/openClose/pivotGrabberOpenCloseMotorDiagnosticRestingSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "UPDATE",
    "payload": {
    "devices": {
    "22F1CE739A7C": {
    "model": 18,
    "grabber": {
    "openCloseMotorDiagnostics": {
    "current": 4,
    "overcurrent": false,
    "pwm": 3,
    "rpm": 0,
    "failure": false
    }
    }
    }
    }
    }
    }
    • Random pivot openClose grabber diagnostic

    From ./dist/samples/json/requests/devices/vehicles/pivot/peripherals/grabber/motorDiagnostics/openClose/pivotGrabberOpenCloseMotorDiagnosticsRandomSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "UPDATE",
    "payload": {
    "devices": {
    "AD68D846AAB3": {
    "model": 18,
    "grabber": {
    "openCloseMotorDiagnostics": {
    "current": 39,
    "overcurrent": true,
    "pwm": 78,
    "rpm": -79,
    "failure": false
    }
    }
    }
    }
    }
    }
    • Open pivot grabber claw diagnostic

    From ./dist/samples/json/requests/devices/vehicles/pivot/peripherals/grabber/motorDiagnostics/openClose/pivotOpenClawGrabberDiagnosticSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "UPDATE",
    "payload": {
    "devices": {
    "571F7888BDE1": {
    "model": 18,
    "grabber": {
    "openCloseMotorDiagnostics": {
    "current": 54,
    "overcurrent": false,
    "pwm": 48,
    "rpm": 6
    }
    }
    }
    }
    }
    }
    • Close pivot grabber claw diagnostic

    From ./dist/samples/json/requests/devices/vehicles/pivot/peripherals/grabber/motorDiagnostics/openClose/pivotCloseClawGrabberDiagnosticSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "UPDATE",
    "payload": {
    "devices": {
    "4BB66F65E282": {
    "model": 18,
    "grabber": {
    "openCloseMotorDiagnostics": {
    "current": 52,
    "overcurrent": false,
    "pwm": 55,
    "rpm": 10
    }
    }
    }
    }
    }
    }
  • Optional rotate?: number

    Rotation motor

    description

    Grabber rotation motor power

    • < 0 = rotate left
    • == 0 = motor off
    • > 0 = rotate right

    Example Payload

    • Rotate right revolution Grabber

    From ./dist/samples/json/requests/devices/vehicles/revolution/grabber/revolutionGrabberRotateLeftSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "UPDATE",
    "payload": {
    "devices": {
    "1E6ED3A92052": {
    "model": 13,
    "grabber": {
    "rotate": -100
    }
    }
    }
    }
    }
    • Rotate right revolution Grabber

    From ./dist/samples/json/requests/devices/vehicles/revolution/grabber/revolutionGrabberRotateRightSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "UPDATE",
    "payload": {
    "devices": {
    "93F84F3DD408": {
    "model": 13,
    "grabber": {
    "rotate": 100
    }
    }
    }
    }
    }
    • Rotate revolution grabber random

      From ./dist/samples/json/requests/devices/vehicles/revolution/grabber/revolutionGrabberRandomSample.json

      {
      "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
      "apiVersion": "0.58.7",
      "method": "UPDATE",
      "payload": {
      "devices": {
      "DFE0A2EF3393": {
      "model": 13,
      "grabber": {
      "rotate": 30,
      "openClose": -57
      }
      }
      }
      }
      }
    • Rotate right pivot grabber

    From ./dist/samples/json/requests/devices/vehicles/pivot/peripherals/grabber/pivotRotateGrabberRightSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "UPDATE",
    "payload": {
    "devices": {
    "7AE399D4C313": {
    "model": 18,
    "grabber": {
    "rotate": 100
    }
    }
    }
    }
    }
    • Rotate left pivot grabber

    From ./dist/samples/json/requests/devices/vehicles/pivot/peripherals/grabber/pivotRotateGrabberLeftSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "UPDATE",
    "payload": {
    "devices": {
    "C323FCB9EF6B": {
    "model": 18,
    "grabber": {
    "rotate": -100
    }
    }
    }
    }
    }
    • Rotate pivot grabber random

    From ./dist/samples/json/requests/devices/vehicles/pivot/peripherals/grabber/pivotRotateGrabberRandomSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "UPDATE",
    "payload": {
    "devices": {
    "50DDEEF0908D": {
    "model": 18,
    "grabber": {
    "rotate": 43
    }
    }
    }
    }
    }
    minimum

    -100

    maximum

    100

  • Optional rotateMotorDiagnostics?: MotorDiagnostics

    rotateMotorDiagnostics

    description

    Grabber rotate motor diagnostics

    Example Payload

    at all random values

    From ./dist/samples/json/requests/devices/vehicles/revolution/grabber/motorDiagnostics/revolutionGrabberRotateMotorDiagnosticsRandomSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "UPDATE",
    "payload": {
    "devices": {
    "1C7706B71D46": {
    "model": 13,
    "grabber": {
    "openCloseMotorDiagnostics": {},
    "rotateMotorDiagnostics": {
    "current": 84,
    "overcurrent": false,
    "pwm": 75,
    "rpm": -84,
    "failure": false
    }
    }
    }
    }
    }
    }
    at random current

    From ./dist/samples/json/requests/devices/vehicles/revolution/grabber/motorDiagnostics/revolutionGrabberRotateMotorDiagnosticsRandomCurrentSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "UPDATE",
    "payload": {
    "devices": {
    "6480516A8FBC": {
    "model": 13,
    "grabber": {
    "openCloseMotorDiagnostics": {},
    "rotateMotorDiagnostics": {
    "current": 23
    }
    }
    }
    }
    }
    }
    at random PWM

    From ./dist/samples/json/requests/devices/vehicles/revolution/grabber/motorDiagnostics/revolutionGrabberRotateMotorDiagnosticsRandomPwmSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "UPDATE",
    "payload": {
    "devices": {
    "CC3D972B9F28": {
    "model": 13,
    "grabber": {
    "openCloseMotorDiagnostics": {},
    "rotateMotorDiagnostics": {
    "pwm": 79
    }
    }
    }
    }
    }
    }
    at has overcurrent

    From ./dist/samples/json/requests/devices/vehicles/revolution/grabber/motorDiagnostics/revolutionGrabberRotateMotorDiagnosticsHasOvercurrentSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "UPDATE",
    "payload": {
    "devices": {
    "35B527C7A20B": {
    "model": 13,
    "grabber": {
    "openCloseMotorDiagnostics": {},
    "rotateMotorDiagnostics": {
    "overcurrent": true
    }
    }
    }
    }
    }
    }
    at has no overcurrent

    From ./dist/samples/json/requests/devices/vehicles/revolution/grabber/motorDiagnostics/revolutionGrabberRotateMotorDiagnosticsHasNoOvercurrentSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "UPDATE",
    "payload": {
    "devices": {
    "115EB082DD9C": {
    "model": 13,
    "grabber": {
    "openCloseMotorDiagnostics": {},
    "rotateMotorDiagnostics": {
    "overcurrent": false
    }
    }
    }
    }
    }
    }
    at static RPM

    From ./dist/samples/json/requests/devices/vehicles/revolution/grabber/motorDiagnostics/revolutionGrabberRotateMotorDiagnosticsStaticRpmSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "UPDATE",
    "payload": {
    "devices": {
    "464F736208C7": {
    "model": 13,
    "grabber": {
    "openCloseMotorDiagnostics": {},
    "rotateMotorDiagnostics": {
    "rpm": 0
    }
    }
    }
    }
    }
    }
    at forward RPM

    From ./dist/samples/json/requests/devices/vehicles/revolution/grabber/motorDiagnostics/revolutionGrabberRotateMotorDiagnosticsForwardRpmSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "UPDATE",
    "payload": {
    "devices": {
    "59B906DC2282": {
    "model": 13,
    "grabber": {
    "openCloseMotorDiagnostics": {},
    "rotateMotorDiagnostics": {
    "rpm": 10
    }
    }
    }
    }
    }
    }
    at backward RPM

    From ./dist/samples/json/requests/devices/vehicles/revolution/grabber/motorDiagnostics/revolutionGrabberRotateMotorDiagnosticsBackwardRpmSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "UPDATE",
    "payload": {
    "devices": {
    "0667BAF6C072": {
    "model": 13,
    "grabber": {
    "openCloseMotorDiagnostics": {},
    "rotateMotorDiagnostics": {
    "rpm": -10
    }
    }
    }
    }
    }
    }
    • Resting pivot rotate grabber diagnostic

    From ./dist/samples/json/requests/devices/vehicles/pivot/peripherals/grabber/motorDiagnostics/rotate/pivotGrabberRotateMotorDiagnosticsRestingSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "UPDATE",
    "payload": {
    "devices": {
    "1CD9C672A9ED": {
    "model": 18,
    "grabber": {
    "rotateMotorDiagnostics": {
    "current": 9,
    "overcurrent": false,
    "pwm": 1,
    "rpm": 0,
    "failure": false
    }
    }
    }
    }
    }
    }
    • Random pivot rotate grabber diagnostic

    From ./dist/samples/json/requests/devices/vehicles/pivot/peripherals/grabber/motorDiagnostics/rotate/pivotGrabberRotateMotorDiagnosticsRandomSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "UPDATE",
    "payload": {
    "devices": {
    "C2D753B7B860": {
    "model": 18,
    "grabber": {
    "rotateMotorDiagnostics": {
    "current": 63,
    "overcurrent": false,
    "pwm": 58,
    "rpm": -54,
    "failure": false
    }
    }
    }
    }
    }
    }
    • Rotate right pivot grabber claw diagnostic

    From ./dist/samples/json/requests/devices/vehicles/pivot/peripherals/grabber/motorDiagnostics/rotate/pivotRotateGrabberRightDiagnosticSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "UPDATE",
    "payload": {
    "devices": {
    "40A0CE6BE44D": {
    "model": 18,
    "grabber": {
    "rotateMotorDiagnostics": {
    "current": 49,
    "overcurrent": false,
    "pwm": 47,
    "rpm": 8
    }
    }
    }
    }
    }
    }
    • Rotate left pivot grabber claw diagnostic

    From ./dist/samples/json/requests/devices/vehicles/pivot/peripherals/grabber/motorDiagnostics/rotate/pivotRotateGrabberLeftDiagnosticSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "UPDATE",
    "payload": {
    "devices": {
    "38EB5669941E": {
    "model": 18,
    "grabber": {
    "rotateMotorDiagnostics": {
    "current": 49,
    "overcurrent": false,
    "pwm": 51,
    "rpm": 8
    }
    }
    }
    }
    }
    }
Laser: { enabled: boolean }

Type declaration

  • enabled: boolean

    Laser Enabled

    • true = enabled
    • false = disabled

    Example Payload

    at Laser On

    From ./dist/samples/json/requests/devices/vehicles/a200/cameraHead/a200CameraHead/lasers/a200A200CameraHeadLaserOnSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "SET",
    "payload": {
    "devices": {
    "2FB5411DB74A": {
    "model": 19,
    "cameraHead": {
    "model": 106,
    "lasers": {
    "enabled": true
    }
    }
    }
    }
    }
    }
    at Laser Off

    From ./dist/samples/json/requests/devices/vehicles/a200/cameraHead/a200CameraHead/lasers/a200A200CameraHeadLaserOffSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "SET",
    "payload": {
    "devices": {
    "0F07282BB0B7": {
    "model": 19,
    "cameraHead": {
    "model": 106,
    "lasers": {
    "enabled": false
    }
    }
    }
    }
    }
    }
Light: { intensity: number }

Type declaration

  • intensity: number

    Light Intensity

    description

    Light intensity, intensity of zero is off.

    Example Payload

    at Light Intensity Random

    From ./dist/samples/json/requests/devices/vehicles/a200/cameraHead/a200CameraHead/light/a200A200CameraHeadLightIntensityRandomSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "SET",
    "payload": {
    "devices": {
    "90B39B6EA43C": {
    "model": 19,
    "cameraHead": {
    "model": 106,
    "light": {
    "intensity": 9
    }
    }
    }
    }
    }
    }
    at Light Intensity Minimum

    From ./dist/samples/json/requests/devices/vehicles/a200/cameraHead/a200CameraHead/light/a200A200CameraHeadLightIntensityMinSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "SET",
    "payload": {
    "devices": {
    "C52EE1E2B512": {
    "model": 19,
    "cameraHead": {
    "model": 106,
    "light": {
    "intensity": 0
    }
    }
    }
    }
    }
    }
    at Light Intensity Maximum

    From ./dist/samples/json/requests/devices/vehicles/a200/cameraHead/a200CameraHead/light/a200A200CameraHeadLightIntensityMaxSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "SET",
    "payload": {
    "devices": {
    "59FB44FBB330": {
    "model": 19,
    "cameraHead": {
    "model": 106,
    "light": {
    "intensity": 100
    }
    }
    }
    }
    }
    }
    minimum

    0

    maximum

    100

Sonde: { enabled: boolean }

Type declaration

  • enabled: boolean

    Sonde Enabled

    • true = enabled
    • false = disabled

    Example Payload

    at Sonde Off

    From ./dist/samples/json/requests/devices/vehicles/a200/peripherals/sonde/a200SondeDisabledSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "SET",
    "payload": {
    "devices": {
    "1C5618B9AF14": {
    "model": 19,
    "sonde": {
    "enabled": false
    }
    }
    }
    }
    }

    at Sonde On

    From ./dist/samples/json/requests/devices/vehicles/a200/peripherals/sonde/a200SondeEnabledSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "SET",
    "payload": {
    "devices": {
    "71F0EBBECA7F": {
    "model": 19,
    "sonde": {
    "enabled": true
    }
    }
    }
    }
    }
TiltPlatform: { tilt?: number; tiltMotorDiagnostics?: MotorDiagnostics }

Type declaration

  • Optional tilt?: number

    Tilt

    Example Payloads

    GET Requests

    • Resting pivot tilt platform

      From ./dist/samples/json/requests/devices/vehicles/pivot/peripherals/tiltPlatform/pivotTiltPlatformRestingSample.json

      {
      "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
      "apiVersion": "0.58.7",
      "method": "UPDATE",
      "payload": {
      "devices": {
      "3C0270437219": {
      "model": 18,
      "tiltPlatform": {
      "tilt": 0
      }
      }
      }
      }
      }
    • Tilt up

      From ./dist/samples/json/requests/devices/vehicles/pivot/peripherals/tiltPlatform/pivotTiltPlatformUpSample.json

      {
      "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
      "apiVersion": "0.58.7",
      "method": "UPDATE",
      "payload": {
      "devices": {
      "A6841E3D2B4F": {
      "model": 18,
      "tiltPlatform": {
      "tilt": 100
      }
      }
      }
      }
      }
    • Tilt down

      From ./dist/samples/json/requests/devices/vehicles/pivot/peripherals/tiltPlatform/pivotTiltPlatformDownSample.json

      {
      "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
      "apiVersion": "0.58.7",
      "method": "UPDATE",
      "payload": {
      "devices": {
      "BFB3EF5D8347": {
      "model": 18,
      "tiltPlatform": {
      "tilt": -100
      }
      }
      }
      }
      }
    • Random tilt pivot tilt platform

      From ./dist/samples/json/requests/devices/vehicles/pivot/peripherals/tiltPlatform/pivotTiltPlatformRandomSample.json

      {
      "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
      "apiVersion": "0.58.7",
      "method": "UPDATE",
      "payload": {
      "devices": {
      "C7F0D7936876": {
      "model": 18,
      "tiltPlatform": {
      "tilt": -44
      }
      }
      }
      }
      }
  • Optional tiltMotorDiagnostics?: MotorDiagnostics

    Tilt Motor Diagnostics

    Example Payloads

    GET Requests

    • Resting pivot tilt platform diagnostic

      From ./dist/samples/json/requests/devices/vehicles/pivot/peripherals/tiltPlatform/motorDiagnostics/tilt/pivotTiltPlatformDiagnosticsRestingSample.json

      {
      "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
      "apiVersion": "0.58.7",
      "method": "UPDATE",
      "payload": {
      "devices": {
      "33045017A367": {
      "model": 18,
      "tiltPlatform": {
      "tiltMotorDiagnostics": {
      "current": 3,
      "overcurrent": false,
      "pwm": 2,
      "rpm": -1,
      "failure": false
      }
      }
      }
      }
      }
      }
    • Tilt up pivot tilt platform diagnostic

      From ./dist/samples/json/requests/devices/vehicles/pivot/peripherals/tiltPlatform/motorDiagnostics/tilt/pivotTiltPlatformUpDiagnosticsSample.json

      {
      "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
      "apiVersion": "0.58.7",
      "method": "UPDATE",
      "payload": {
      "devices": {
      "3F2A5E9445A2": {
      "model": 18,
      "tiltPlatform": {
      "tiltMotorDiagnostics": {
      "current": 46,
      "overcurrent": false,
      "pwm": 45,
      "rpm": 6
      }
      }
      }
      }
      }
      }
    • Tilt down pivot tilt platform diagnostic

      From ./dist/samples/json/requests/devices/vehicles/pivot/peripherals/tiltPlatform/motorDiagnostics/tilt/pivotTiltPlatformDownDiagnosticsSample.json

      {
      "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
      "apiVersion": "0.58.7",
      "method": "UPDATE",
      "payload": {
      "devices": {
      "70B1AD633256": {
      "model": 18,
      "tiltPlatform": {
      "tiltMotorDiagnostics": {
      "current": 54,
      "overcurrent": false,
      "pwm": -53,
      "rpm": -8
      }
      }
      }
      }
      }
      }
    • Random tilt pivot tilt platform diagnostic

      From ./dist/samples/json/requests/devices/vehicles/pivot/peripherals/tiltPlatform/motorDiagnostics/tilt/pivotTiltPlatformDiagnosticsRandomSample.json

      {
      "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
      "apiVersion": "0.58.7",
      "method": "UPDATE",
      "payload": {
      "devices": {
      "41F07B4D9E27": {
      "model": 18,
      "tiltPlatform": {
      "tiltMotorDiagnostics": {
      "current": 57,
      "overcurrent": false,
      "pwm": 13,
      "rpm": 52,
      "failure": false
      }
      }
      }
      }
      }
      }

Devices/Reels Type Aliases

ManualReel: { model: ManualReel } & Reel
PoweredReel: { acConnected?: boolean; battery1?: Battery; battery2?: Battery; crawlerForward?: boolean; crawlerReverse?: boolean; eStop?: boolean; encoderMiscalibrated?: boolean; hybridPower?: boolean; model: PoweredReel; motor1Diagnostics?: MotorDiagnostics; motor2Diagnostics?: MotorDiagnostics; reelForward?: boolean; reelReverse?: boolean; speed?: number; spragBearing?: SpragBearing; stalled?: boolean; usageTime?: UsageTime } & Reel

Powered Reel

summary

Reel

Reel: { cpuTemp?: number; distance?: number; encoderFailed?: boolean; leak?: boolean; lineSpeed?: number; totalDistance?: number } & Device & Calibratable

Devices/Vehicles Type Aliases

A150: { auxLight?: Light; battery?: Battery; bodyLeak?: boolean; cameraHead?: Removable<A150CameraHead> | Removable<A200CameraHead>; cameras?: Record<string, Removable<Cameras>>; cpuTemp?: number; drive?: CrawlerDrive; elevatingArm?: ElevatingArm; hybridPowerDiagnostics?: VehicleHpDiagnostics; imuTemp?: number; incline?: number; leftMotorDiagnostics?: MotorDiagnostics; model: A150Crawler; rearLight?: Light; rightMotorDiagnostics?: MotorDiagnostics; roll?: number; sonde?: Sonde; usageTime?: UsageTime } & Vehicle & Calibratable

A150 Class

A-150 vehicle type.

A200: { auxLight?: Light; battery?: Battery; bodyLeak?: boolean; cameraHead?: Removable<A200CameraHead> | Removable<A150CameraHead>; cameras?: Record<string, Removable<Cameras>>; cpuTemp?: number; drive?: CrawlerDrive; elevatingArm?: ElevatingArm; hybridPowerDiagnostics?: VehicleHpDiagnostics; imuTemp?: number; incline?: number; leftMotorDiagnostics?: MotorDiagnostics; model: A200Crawler; rearLight?: Light; rightMotorDiagnostics?: MotorDiagnostics; roll?: number; sonde?: Sonde; usageTime?: UsageTime } & Vehicle & Calibratable

A200 Class

A-200 vehicle type.

Photon: { auxLight?: Light; battery?: Battery; cameraHead?: Removable<TiltCameraHead>; cameras?: Record<string, Removable<Cameras>>; cpuTemp?: number; frontLeftMotorDiagnostics?: MotorDiagnostics; frontRightMotorDiagnostics?: MotorDiagnostics; grabber?: Grabber; model: Photon; rearLeftMotorDiagnostics?: MotorDiagnostics; rearRightMotorDiagnostics?: MotorDiagnostics; usageTime?: UsageTime; version?: DeviceVersion; verticalLeftMotorDiagnostics?: MotorDiagnostics; verticalRightMotorDiagnostics?: MotorDiagnostics; waterTemp?: number } & Rov
description

Photon vehicle type.

Pivot: { auxLight?: Light; cameraHead?: Removable<TiltCameraHead>; cameras?: Record<string, Removable<Cameras>>; cpuTemp?: number; frontLeftMotorDiagnostics?: MotorDiagnostics; frontRightMotorDiagnostics?: MotorDiagnostics; grabber?: Grabber; leftBattery?: Battery; model: Pivot; rearLeftMotorDiagnostics?: MotorDiagnostics; rearRightMotorDiagnostics?: MotorDiagnostics; rightBattery?: Battery; spareMotor1?: MotorDiagnostics; tiltPlatform?: TiltPlatform; usageTime?: UsageTime; version?: DeviceVersion; verticalFrontMotorDiagnostics?: MotorDiagnostics; verticalRearMotorDiagnostics?: MotorDiagnostics; waterTemp?: number } & Rov
description

Pivot vehicle type.

Revolution: { auxLight?: Light; cameraHead?: Removable<TiltCameraHead>; cpuTemp?: number; frontLeftMotorDiagnostics?: MotorDiagnostics; frontRightMotorDiagnostics?: MotorDiagnostics; grabber?: Grabber; leftBattery?: Battery; model: Revolution; rearLeftMotorDiagnostics?: MotorDiagnostics; rearRightMotorDiagnostics?: MotorDiagnostics; rightBattery?: Battery; spareMotor1?: MotorDiagnostics; spareMotor2?: MotorDiagnostics; verticalLeftMotorDiagnostics?: MotorDiagnostics; verticalRightMotorDiagnostics?: MotorDiagnostics; waterTemp?: number } & Rov
description

Revolution vehicle type.

Devices/Vehicles/Navigation Type Aliases

Navigation: { navigationOptions?: NavigationOptions; position?: Position; velocity?: Velocity }
description

Navigational data for the ROV.

Type declaration

  • Optional navigationOptions?: NavigationOptions

    Navigation Options

    description

    Navigation settings and options for the ROV

  • Optional position?: Position

    ROV Position

    description

    Contains positional data about the ROV.

    Example payloads

    UPDATE Requests

    • Invalid position sample

    • Revolution

      From ./dist/samples/json/requests/devices/vehicles/revolution/position/revolutionLocalPositionInvalidSample.json

      {
      "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
      "apiVersion": "0.58.7",
      "method": "UPDATE",
      "payload": {
      "devices": {
      "44D3AE436FFA": {
      "model": 13,
      "position": {
      "local": {
      "uncertainty": 10000
      }
      }
      }
      }
      }
      }

      From ./dist/samples/json/requests/devices/vehicles/revolution/position/revolutionGlobalPositionInvalidSample.json

      {
      "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
      "apiVersion": "0.58.7",
      "method": "UPDATE",
      "payload": {
      "devices": {
      "3B850A001FB3": {
      "model": 13,
      "position": {
      "global": {
      "uncertainty": 10000
      }
      }
      }
      }
      }
      }
    • Pivot

      From ./dist/samples/json/requests/devices/vehicles/pivot/position/pivotLocalPositionInvalidSample.json

      {
      "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
      "apiVersion": "0.58.7",
      "method": "UPDATE",
      "payload": {
      "devices": {
      "A9577A418EF6": {
      "model": 18,
      "position": {
      "local": {
      "uncertainty": 10000
      }
      }
      }
      }
      }
      }

      From ./dist/samples/json/requests/devices/vehicles/pivot/position/pivotGlobalPositionInvalidSample.json

      {
      "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
      "apiVersion": "0.58.7",
      "method": "UPDATE",
      "payload": {
      "devices": {
      "39194F9279BE": {
      "model": 18,
      "position": {
      "global": {
      "uncertainty": 10000
      }
      }
      }
      }
      }
      }
    • Arbitrary position sample

    • Revolution

      From ./dist/samples/json/requests/devices/vehicles/revolution/position/revolutionLocalPositionRandomSample.json

      {
      "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
      "apiVersion": "0.58.7",
      "method": "UPDATE",
      "payload": {
      "devices": {
      "C44FA7401026": {
      "model": 13,
      "position": {
      "local": {
      "x": 536,
      "y": 289,
      "uncertainty": 30
      }
      }
      }
      }
      }
      }

      From ./dist/samples/json/requests/devices/vehicles/revolution/position/revolutionGlobalPositionRandomSample.json

      {
      "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
      "apiVersion": "0.58.7",
      "method": "UPDATE",
      "payload": {
      "devices": {
      "C1C7D72F20CC": {
      "model": 13,
      "position": {
      "global": {
      "latitude": 47,
      "longitude": -91,
      "uncertainty": 51
      }
      }
      }
      }
      }
      }
    • Pivot

      From ./dist/samples/json/requests/devices/vehicles/pivot/position/pivotLocalPositionRandomSample.json

      {
      "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
      "apiVersion": "0.58.7",
      "method": "UPDATE",
      "payload": {
      "devices": {
      "22516E19D525": {
      "model": 18,
      "position": {
      "local": {
      "x": -826,
      "y": 575,
      "uncertainty": 42
      }
      }
      }
      }
      }
      }

      From ./dist/samples/json/requests/devices/vehicles/pivot/position/pivotGlobalPositionRandomSample.json

      {
      "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
      "apiVersion": "0.58.7",
      "method": "UPDATE",
      "payload": {
      "devices": {
      "7580C5B7DA88": {
      "model": 18,
      "position": {
      "global": {
      "latitude": -73,
      "longitude": -179,
      "uncertainty": 0
      }
      }
      }
      }
      }
      }

    UPDATE Requests

    • Arbitrary Local position only

    • Revolution

      From ./dist/samples/json/requests/devices/vehicles/revolution/position/revolutionLocalPositionSample.json

      {
      "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
      "apiVersion": "0.58.7",
      "method": "UPDATE",
      "payload": {
      "devices": {
      "FE86E198593D": {
      "model": 13,
      "position": {
      "local": {
      "x": 10,
      "y": 10,
      "uncertainty": 10
      }
      }
      }
      }
      }
      }
    • Pivot

      From ./dist/samples/json/requests/devices/vehicles/pivot/position/pivotLocalPositionRandomSample.json

      {
      "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
      "apiVersion": "0.58.7",
      "method": "UPDATE",
      "payload": {
      "devices": {
      "22516E19D525": {
      "model": 18,
      "position": {
      "local": {
      "x": -826,
      "y": 575,
      "uncertainty": 42
      }
      }
      }
      }
      }
      }
    • Arbitrary Global position only

    • Revolution

      From ./dist/samples/json/requests/devices/vehicles/revolution/position/revolutionGlobalPositionSample.json

      {
      "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
      "apiVersion": "0.58.7",
      "method": "UPDATE",
      "payload": {
      "devices": {
      "B4D5FDD8AF48": {
      "model": 13,
      "position": {
      "global": {
      "latitude": 10,
      "longitude": 10,
      "uncertainty": 10
      }
      }
      }
      }
      }
      }
    • Pivot

      From ./dist/samples/json/requests/devices/vehicles/pivot/position/pivotGlobalPositionRandomSample.json

      {
      "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
      "apiVersion": "0.58.7",
      "method": "UPDATE",
      "payload": {
      "devices": {
      "7580C5B7DA88": {
      "model": 18,
      "position": {
      "global": {
      "latitude": -73,
      "longitude": -179,
      "uncertainty": 0
      }
      }
      }
      }
      }
      }
  • Optional velocity?: Velocity

    Rov Velocity

    description

    Velocity and speed components for the ROV

    Example payloads

    UPDATE Requests

    • Arbitrary velocity samples
    • Revolution

      From ./dist/samples/json/requests/devices/vehicles/revolution/velocity/revolutionVelocityRandomSample.json

      {
      "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
      "apiVersion": "0.58.7",
      "method": "UPDATE",
      "payload": {
      "devices": {
      "5A2AF3E40ED5": {
      "model": 13,
      "velocity": {
      "valid": true,
      "forward": -88,
      "rightward": -19,
      "downward": -100,
      "speed": 29
      }
      }
      }
      }
      }
    • Pivot

      From ./dist/samples/json/requests/devices/vehicles/pivot/velocity/pivotVelocityRandomSample.json

      {
      "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
      "apiVersion": "0.58.7",
      "method": "UPDATE",
      "payload": {
      "devices": {
      "DA032A12DE9D": {
      "model": 18,
      "velocity": {
      "valid": true,
      "forward": 29,
      "rightward": 22,
      "downward": 81,
      "speed": 38
      }
      }
      }
      }
      }

Devices/peripherals Type Aliases

ElevatingArm: { height?: number; leak?: boolean; motorDiagnostics?: MotorDiagnostics; parkOnShutdown?: boolean; present?: boolean; speed?: number } & Calibratable

🦾 Elevating arm

Other Type Aliases

BridgeBox: { devices?: Record<string, Removable<Devices>>; faults?: FaultHandler; networkDiagnostics?: Record<string, NetworkDiagnostics>; serialDevices?: Record<string, SerialDevice>; sonar?: Sonar; swupdate?: SWUpdate; systemSettings?: SystemSettings; version?: DeviceVersion }

BRIDGE Box represents the root of the API endpoint routing

TODO: Currently this is a pretty bare bones class, but in the future it will be extended to hold interfaces to other subsystems on the BRIDGE Box. These could include hardware access, storage devices, network interfaces, update system, etc...

Type declaration

  • Optional devices?: Record<string, Removable<Devices>>

    Devices

    This contains a list of devices and associated UUIDs for accessing connected devices, such as vehicles, reels, etc.

  • Optional faults?: FaultHandler

    Fault Handler

    Allows users to clear faults from all of their devices

    From ./dist/samples/json/requests/devices/faults/clearFaults/clearFaultsSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "SET",
    "payload": {
    "faults": {
    "clear": true
    }
    }
    }
  • Optional networkDiagnostics?: Record<string, NetworkDiagnostics>

    NetworkDiagnostics

    Record of known network interfaces on the bridgebox and their live performance diagnostics.

    Multiple records may be correlated to a single interfaceName. There will typically be two records for a given interfaceName to represent local and remote mac addresses of the network connection. Records here are differentiated by the network card's unique MAC Address.

    readonly
    outputsample

    clients

  • Optional serialDevices?: Record<string, SerialDevice>

    SerialDevices

    This list contains all the serial devices that the backend can modify and communicate with.

    It can be updated with a new key(generated by the frontend) to create a WebSerialDevice

    From ./dist/samples/json/requests/bridgeBox/serialDevices/bridgeBoxSerialDevicesSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "UPDATE",
    "payload": {
    "serialDevices": {
    "xHCI Host Controller 3": {
    "deviceType": "Controller",
    "baudRate": 115200,
    "name": "Top USB Port"
    },
    "xHCI Host Controller 1": {
    "deviceType": "Controller",
    "baudRate": 115200,
    "name": "Bottom USB Port",
    "connectionId": "External GPS Source",
    "connectionName": "GPS Source"
    },
    "External GPS Source": {
    "deviceType": "Internal",
    "baudRate": 115200,
    "name": "External GPS",
    "connectionId": "xHCI Host Controller 1",
    "connectionName": "Bottom USB Port"
    }
    }
    }
    }
  • Optional sonar?: Sonar

    Sonar

    This is the currently connected sonar device

  • Optional swupdate?: SWUpdate

    SWUpdate

    Offline Update Samples

    • Check for offline updates

      From ./dist/samples/json/requests/bridgeBox/swupdate/bridgeBoxCheckOfflineUpdatesSample.json

      {
      "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
      "apiVersion": "0.58.7",
      "method": "UPDATE",
      "payload": {
      "swupdate": {
      "offlineUpdates": 3
      }
      }
      }
    • Offline updates available

      From ./dist/samples/json/requests/bridgeBox/swupdate/bridgeBoxOfflineUpdatesAvailableSample.json

      {
      "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
      "apiVersion": "0.58.7",
      "method": "UPDATE",
      "payload": {
      "swupdate": {
      "offlineUpdates": 0
      }
      }
      }
    • System up-to-date (No new offline updates available)

      From ./dist/samples/json/requests/bridgeBox/swupdate/bridgeBoxNoOfflineUpdatesAvailableSample.json

      {
      "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
      "apiVersion": "0.58.7",
      "method": "UPDATE",
      "payload": {
      "swupdate": {
      "offlineUpdates": 1
      }
      }
      }
    • Start offline updates

      From ./dist/samples/json/requests/bridgeBox/swupdate/bridgeBoxStartOfflineUpdatesSample.json

      {
      "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
      "apiVersion": "0.58.7",
      "method": "UPDATE",
      "payload": {
      "swupdate": {
      "offlineUpdates": 4
      }
      }
      }
  • Optional systemSettings?: SystemSettings

    SystemSettings

  • Optional version?: DeviceVersion

    Version

    The BridgeBox version will be incremented when backend services or operating system updates are available. This type should be checked against the BridgeBox version provided within the update package meta data.

CalibratableRotaryJoint: RotaryJoint & Calibratable

Calibratable Rotary Joint

Allows specific calibration routines to be run on a rotary joint.

CalibratableSensorBias: SensorBias & { pending?: { x?: number; y?: number; z?: number } }
CalibratableSensorPod: { imu?: { accelerationBias?: CalibratableSensorBias; gyroBias?: CalibratableSensorBias; progress?: number; state?: CalibrationStates }; magnetic?: { calibrationScore?: number; currentVehicleScore?: number; state?: CalibrationStates } } & Device
CameraDeviceFromModel<T>: Match<T, CameraModelMap>

Type Parameters

  • T

CameraHeadDeviceFromModel<T>: Match<T, CameraHeadModelMap>

Type Parameters

  • T

CameraHeadModelMap: { 102: TiltCameraHead; 103: TiltCameraHead; 106: A200CameraHead; 109: A150CameraHead }
CameraModelMap: { 206: OcleaCam; 240: TamronHarrierZoomCamera; 243: TamronOcleaZoomCamera; 5: DTCam }

Camera Device Models

A collection of all used camera models

Cameras

A collection of all used camera types.

Changelog: { [ deviceModel in DeviceModel | "BRIDGEBOX"]?: HardwareRevisions }

Changelog

An package containing information related to an update of one or more devices.

Client: { client_id: string; connection_id: string }

Client

Identify a client through its named and connection ids

Type declaration

  • client_id: string
  • connection_id: string
Crawler: A150 | A200
CrawlerCameraHeadModel: A150CameraHead | A200CameraHead
CrawlerDeviceFromModel<T>: Match<T, CrawlerModelMap>

Type Parameters

  • T

CrawlerDrive: { driveMode?: CrawlerDriveMode; motorsDisabled?: boolean; speed?: number; steer?: number } & Calibratable

Crawler drive

CrawlerModel: A150Crawler | A200Crawler
CrawlerModelMap: { 19: A200; 20: A150 }

Type declaration

DateTime: { networkTimeSync?: boolean; timestamp?: string }

DateTime

An endpoint to facilitate requesting and adjusting the datetime of the BridgeBox.

Type declaration

  • Optional networkTimeSync?: boolean

    Automatic Date Time Network Sync

    Automatically sync date and time with the NTP server (requires a network connection with an NTP server to sync time)

  • Optional timestamp?: string

    Timestamp

    Used to define the system time.

    Formatted to ISO 8601/RFC 3339 (with time zone extension) spec

    Note: The applied timestamp will not be persistent if the system's network time sync is enabled and there's an NTP server in the network. Use the networkTimeSync property to explicitly disable the network time sync before setting the timestamp.

Devices

This is a collection of all devices used.

FaultHandler: { clear?: boolean }

Handles Clearing of all faults across all devices.

Type declaration

  • Optional clear?: boolean

    Non-gettable value that can be SET to true to clear all faults.

FileTransfer: { name?: string; readyToTransfer?: boolean; sha256?: string; size?: number }

FileTransfer

Describe the meta data related to a generic file transfer.

Type declaration

  • Optional name?: string

    File name

    description

    The plain file name with file extension. May not contain directory structures.

  • Optional readyToTransfer?: boolean

    readyToTransfer

    description

    Indicate the receiver is ready for the file transfer. Sender should await this response before sending a byte stream via WebRTC. May not send multiple files to a single endpoint at a time. If multiple files are attempted to be sent simultaneously the receiver should send an error message.

    readonly
  • Optional sha256?: string

    Checksum

    description

    The sha256 checksum used to verify the file content after transfer.

  • Optional size?: number

    File size

    description

    Total number of bytes of the file.

GlobalPosition: { latitude?: number; longitude?: number; uncertainty?: number }
description

contains positional data for the ROV in the Global reference frame

Type declaration

  • Optional latitude?: number

    Latitude (in degrees decimal)

    minimum

    -90

    maximum

    90

  • Optional longitude?: number

    Longitude (in degrees decimal)

    minimum

    -180

    maximum

    180

  • Optional uncertainty?: number

    Uncertainty radius (in meters)

    minimum

    0

HardwareRevision: {}

HardwareRevision

A list of software updates for specific hardware.

Type declaration

HardwareRevisions: {}

HardwareRevisions

A list of corresponding hardware revisions.

Type declaration

IceCandidateMessage: { content: string; sdpMLineIndex: number; sdpMid: string }

SdpMessage (used internally)

Note 💡 Ensure the number-like property values are sent as strings when sent and are enclosed in quotes ""

Type declaration

  • content: string
  • sdpMLineIndex: number
  • sdpMid: string
LocalPosition: { uncertainty?: number; x?: number; y?: number }
description

contains positional data for the ROV in the Local reference frame

Type declaration

  • Optional uncertainty?: number

    Uncertainty radius (in meters)

    minimum

    0

  • Optional x?: number

    x (in meters)

  • Optional y?: number

    y (in meters)

Lookup<T>: { [ _key in T]?: string }

Indexed look up structure records

Type Parameters

  • T extends number | string

Match<T, M>: T extends keyof M ? M[T] : never

Type Parameters

  • T

  • M

NavigationOptions: { heading?: { autoDeclination?: boolean; declinationOffset?: number; localOffset?: number; vruMode?: boolean }; position?: { rovSource?: PositionSources } }

📖 See extended definition Navigation Options type

description

Navigation settings and options for the ROV.

Type declaration

  • Optional heading?: { autoDeclination?: boolean; declinationOffset?: number; localOffset?: number; vruMode?: boolean }
    • Optional autoDeclination?: boolean
    • Optional declinationOffset?: number
    • Optional localOffset?: number
    • Optional vruMode?: boolean
  • Optional position?: { rovSource?: PositionSources }
    • Optional rovSource?: PositionSources

      Source of ROV position.

      description

      The source providing ROV position. Could be an external GPS, USBL device or NONE.

      Example payloads

      UPDATE Requests

      • Setting rovSource to USBL Sample
      • Revolution

        From ./dist/samples/json/requests/devices/vehicles/revolution/positionOptionsUsbl/revolutionPositionSourceRequest.json

        {
        "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
        "apiVersion": "0.58.7",
        "method": "UPDATE",
        "payload": {
        "devices": {
        "A3ED9359814A": {
        "model": 13,
        "navigationOptions": {
        "position": {
        "rovSource": "SEATRAC_USBL"
        }
        }
        }
        }
        }
        }
      • Pivot

        From ./dist/samples/json/requests/devices/vehicles/pivot/positionOptionsUsbl/pivotPositionSourceRequest.json

        {
        "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
        "apiVersion": "0.58.7",
        "method": "UPDATE",
        "payload": {
        "devices": {
        "34D9890FEB3D": {
        "model": 18,
        "navigationOptions": {
        "position": {
        "rovSource": "SEATRAC_USBL"
        }
        }
        }
        }
        }
        }
NetworkDiagnostics: { bridgedDestinationAddress: String; chipset: String; firmwareVersion: String; inboundRate: String; interfaceName: String; networkRole: NetworkRole; outboundRate: String; physicalLocation: PhysicalLocation; terminalEndpointIdentifier: String }

Type declaration

  • bridgedDestinationAddress: String

    MAC of corresponding ethernet IFace behind VDSL

    readonly
  • chipset: String

    Hardware chipset name

    readonly
  • firmwareVersion: String

    The device firmware version

    readonly
  • inboundRate: String

    Mbps

    readonly
  • interfaceName: String

    Network interface name.

    e.g. "ETH0", "ETH1", etc

    readonly
  • networkRole: NetworkRole

    CCO (Central Coordinator) or STA (Station)

    readonly
  • outboundRate: String

    Mbps

    readonly
  • physicalLocation: PhysicalLocation

    May be local or remote

    readonly
  • terminalEndpointIdentifier: String

    A local address

    readonly
OcleaDptz: { pan?: { direction: { x?: Rate; y?: Rate } }; roi?: { totalHeight: number; totalWidth: number; xOffset: number; yOffset: number }; zoom?: ZoomControl }

Digital pan/tilt/zoom controls for the Oclea camera

Type declaration

  • Optional pan?: { direction: { x?: Rate; y?: Rate } }

    Digital image panning

    • direction: { x?: Rate; y?: Rate }

      Direction to pan

      • Optional x?: Rate

        Panning on the x-axis (left or right)

      • Optional y?: Rate

        Panning on the y-axis (up or down)

  • Optional roi?: { totalHeight: number; totalWidth: number; xOffset: number; yOffset: number }

    Region of interest (the region within the frame that's currently being viewed - after having zoomed in and changed pan)

    readonly
    • totalHeight: number

      Total height of area that can be panned to (panning might be limited to a slightly smaller portion of the frame to avoid showing warp on the edges)

    • totalWidth: number

      Total width of area that can be panned to (panning might be limited to a slightly smaller portion of the frame to avoid showing warp on the edges)

    • xOffset: number

      Offset of the region of interest from the left edge of the frame

    • yOffset: number

      Offset of the region of interest from the top edge of the frame

  • Optional zoom?: ZoomControl

    Digital zoom control

OfferAnswer: { caller?: string; sdp: RTCSessionDescription; sessionId?: string; target?: string }

Type declaration

  • Optional caller?: string
  • sdp: RTCSessionDescription
  • Optional sessionId?: string
  • Optional target?: string
Osd: { charLimit?: number; enabled?: boolean; value?: string }

OSD (On-screen Display)

Type declaration

  • Optional charLimit?: number

    Character limit

    The character limit for the OSD. If the 'value' has more characters than charLimit, it will be truncated when displayed in the camera OSD.

    readonly
  • Optional enabled?: boolean

    Enabled

    Toggles the on-screen display of the harrier camera.

  • Optional value?: string

    Value

    The OSD string text to be displayed.

Position: { global?: GlobalPosition; local?: LocalPosition; reference?: GlobalPosition; top?: GlobalPosition }
description

contains positional data for the ROV

Type declaration

Rate: -1 | 0 | 1

Rate modifer

This is meant to be sent continuously in order to increment/decrement certain values.

  • 📉 Decrease = -1
  • 📈 Increase = 1
  • No Change = 0
ReelDeviceFromModel<T>: Match<T, ReelModelMap>

Type Parameters

  • T

ReelModelMap: { 107: ManualReel; 108: PoweredReel }

Type declaration

ReelModels: PoweredReel | ManualReel
Removable<T>: T | Record<string, never>

Removable

Represents an object that can be removed.

Type Parameters

  • T

Resolution: { height?: number; width?: number }

Resolution, in pixels

Type declaration

  • Optional height?: number
  • Optional width?: number
RotaryJoint: { position?: number; speed?: number }

Rotary Joint

This joint can rotate around.

Type declaration

  • Optional position?: number

    Position

    The rotary position in degrees.

    Pivot rotary position

    minimum

    -90

    maximum

    110

  • Optional speed?: number

    Joint Speed

    minimum

    -100

    maximum

    100

RovDrive: { modes?: { altitudeLock?: boolean; autoStabilization?: boolean; depthLock?: boolean; headingLock?: boolean; motorsDisabled?: boolean }; thrust?: RovThrust }

Rov Drive

description

Container for thrust and mode settings to the ROV

remarks

This is for direct drive using the existing topside-vehicle command architecture. Drive input should be bound to thrusts, any higher level controls should utilize a more sophisticated controls structure.

Type declaration

  • Optional modes?: { altitudeLock?: boolean; autoStabilization?: boolean; depthLock?: boolean; headingLock?: boolean; motorsDisabled?: boolean }

    Modes are not mutually exclusive. Mode requests to the ROV are handled via the state-system

    • Optional altitudeLock?: boolean
    • Optional autoStabilization?: boolean
    • Optional depthLock?: boolean
    • Optional headingLock?: boolean
    • Optional motorsDisabled?: boolean
  • Optional thrust?: RovThrust

    Thrust - forward, yaw, vertical and lateral

RovThrust: { forward: number; lateral: number; vertical: number; yaw: number }

Rov Thrust

description

ROV Thrust commands. All values must be set at the same time as one bundled message. Values are expected to be integers, within the range of +/- 120.

Type declaration

  • forward: number
  • lateral: number
  • vertical: number
  • yaw: number
SWUpdate: { file?: FileTransfer; log?: string; offlineUpdates?: OfflineUpdateState; progress?: number; releaseInfo?: string }

SWUpdate

An endpoint to facilitate the software update process.

Type declaration

  • Optional file?: FileTransfer

    File

    description

    Define the update package tar file to be transferred.

  • Optional log?: string

    Log

    description

    Provides messages driven by state of the update. WebApp may choose to display these messages as they are delivered.

    readonly
  • Optional offlineUpdates?: OfflineUpdateState

    OfflineUpdates

    description

    Informs user of the current state of offline updates. User can also set this state to start offline updates or check for available ones.

  • Optional progress?: number

    Progress

    description

    Percentage complete indicator.

    readonly
    minimum

    0

    maximum

    100

  • Optional releaseInfo?: string

    ReleaseInfo

    description

    Returns a valid stringified JSON that contains a map of device models to their latest available versions. These latest versions could be the same as the current versions of the robot/peripherals in which case, there would be no available update.

SdpMessage: { sdp: string; type: SdpMessageType }

SdpMessage (used internally)

Note 💡 Ensure the number-like property values are sent as strings when sent and are enclosed in quotes ""

Type declaration

SensorBias: { x?: number; y?: number; z?: number }

Type declaration

  • Optional x?: number
  • Optional y?: number
  • Optional z?: number
SerialDevice: { baudRate?: number; connectionId?: string; connectionName?: string; deviceType?: SerialDeviceType; name: string }

Type declaration

  • Optional baudRate?: number

    The baud rate for the serial device. This value is meaningless with deviceType::Web

  • Optional connectionId?: string

    The id of the device that this device is connected to. If null then this device is not connected to anything

  • Optional connectionName?: string

    The name of the device that this device is connected to. if null then this device is not connected to anything. This is purely provided for convenience. If a name change is required send an update to the actual device.

  • Optional deviceType?: SerialDeviceType

    Indicates the type of device

  • name: string

    The display name of this device

SoftwareUpdate: { releaseDate: string; versionNotes: VersionNote }

SoftwareUpdate

Describes a software update giving a release date and corresponding version notes.

Type declaration

Sonar: { active?: boolean; frequency?: SonarFrequency; gain?: number; lowPower?: boolean; maxRange?: number; model?: SonarModel; pitch?: number; range?: number }

Type declaration

  • Optional active?: boolean

    Indicates if the device is currently sending frames to the web app when set to true the backend will create a datachannel called "SONAR_DATA_CHANNEL" to send sonar images

  • Optional frequency?: SonarFrequency

    The frequency of the device

  • Optional gain?: number

    The gain of the sonar

  • Optional lowPower?: boolean

    The low power state of the device

  • Optional maxRange?: number

    Maximum range that the sonar can be configured to.

  • Optional model?: SonarModel

    The model of the sonar

  • Optional pitch?: number

    The pitch angle of the sonar in degrees

  • Optional range?: number

    The range of the sonar

Stream: { active: boolean; bitrate?: number; bitrateOptions?: number[]; resolution?: Resolution }

Camera stream

Type declaration

  • active: boolean

    Stream active

    remarks

    This indicates which active stream the client should focus on displaying to the user.

  • Optional bitrate?: number

    Camera stream bitrate

    description

    the bitrate of the RTSP stream the camera outputs in mbps.

  • Optional bitrateOptions?: number[]

    Available bitrate options

    description

    a list of acceptable bitrate values in mbps.

    readonly
  • Optional resolution?: Resolution

    Stream resolution

StreamMode: { availableModes?: Partial<Record<StreamModes, boolean>>; mode?: StreamModes }

Type declaration

  • Optional availableModes?: Partial<Record<StreamModes, boolean>>

    All available modes for this camera.

  • Optional mode?: StreamModes

    The currently active mode

SystemSettings: { dateTime?: DateTime; systemOfMeasurement?: SystemOfMeasurement }

SystemSettings

An endpoint to facilitate requesting and adjusting system settings.

Type declaration

  • Optional dateTime?: DateTime

    Date Time

    Date time settings for setting/getting the system time

    NetworkTimeSync network examples

    NetworkTimeSync enabled

    From ./dist/samples/json/requests/bridgeBox/systemSettings/dateTime/bridgeBoxSystemSettingsDateTimeNetworkTimeSyncEnabledSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "SET",
    "payload": {
    "systemSettings": {
    "dateTime": {
    "networkTimeSync": true
    }
    }
    }
    }

    NetworkTimeSync disabled

    From ./dist/samples/json/requests/bridgeBox/systemSettings/dateTime/bridgeBoxSystemSettingsDateTimeNetworkTimeSyncDisabledSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "SET",
    "payload": {
    "systemSettings": {
    "dateTime": {
    "networkTimeSync": false
    }
    }
    }
    }

    Timestamp examples

    References:

    Local

    From ./dist/samples/json/requests/bridgeBox/systemSettings/dateTime/bridgeBoxSystemSettingsDateTimeLocaleSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "SET",
    "payload": {
    "systemSettings": {
    "dateTime": {
    "timestamp": "2024-10-29T20:17:22.001041995+00:00[UTC]"
    }
    }
    }
    }

    UTC

    From ./dist/samples/json/requests/bridgeBox/systemSettings/dateTime/bridgeBoxSystemSettingsDateTimeUTCSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "SET",
    "payload": {
    "systemSettings": {
    "dateTime": {
    "timestamp": "2024-10-29T20:17:22.013042012+00:00[UTC]"
    }
    }
    }
    }

    Greenwich

    From ./dist/samples/json/requests/bridgeBox/systemSettings/dateTime/bridgeBoxSystemSettingsDateTimeGreenwichSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "SET",
    "payload": {
    "systemSettings": {
    "dateTime": {
    "timestamp": "2024-10-29T20:17:21.995035362+00:00[UTC]"
    }
    }
    }
    }

    Europe/London

    From ./dist/samples/json/requests/bridgeBox/systemSettings/dateTime/bridgeBoxSystemSettingsDateTimeLondonSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "SET",
    "payload": {
    "systemSettings": {
    "dateTime": {
    "timestamp": "2024-10-29T20:17:22.003042001+00:00[Europe/London]"
    }
    }
    }
    }

    America/Los_Angeles

    From ./dist/samples/json/requests/bridgeBox/systemSettings/dateTime/bridgeBoxSystemSettingsDateTimeLosAngelesSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "SET",
    "payload": {
    "systemSettings": {
    "dateTime": {
    "timestamp": "2024-10-29T13:17:22.005042003-07:00[America/Los_Angeles]"
    }
    }
    }
    }

    America/New_York

    From ./dist/samples/json/requests/bridgeBox/systemSettings/dateTime/bridgeBoxSystemSettingsDateTimeNewYorkSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "SET",
    "payload": {
    "systemSettings": {
    "dateTime": {
    "timestamp": "2024-10-29T16:17:22.009042005-04:00[America/New_York]"
    }
    }
    }
    }

    Asia/Tokyo

    From ./dist/samples/json/requests/bridgeBox/systemSettings/dateTime/bridgeBoxSystemSettingsDateTimeTokyoSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "SET",
    "payload": {
    "systemSettings": {
    "dateTime": {
    "timestamp": "2024-10-30T05:17:22.010042009+09:00[Asia/Tokyo]"
    }
    }
    }
    }

    America/Toronto

    From ./dist/samples/json/requests/bridgeBox/systemSettings/dateTime/bridgeBoxSystemSettingsDateTimeTorontoSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "SET",
    "payload": {
    "systemSettings": {
    "dateTime": {
    "timestamp": "2024-10-29T16:17:22.01204201-04:00[America/Toronto]"
    }
    }
    }
    }
  • Optional systemOfMeasurement?: SystemOfMeasurement

    System of measurement

    The system of measurement that the BridgeBox will use

    SystemOfMeasurement examples

    METRIC

    From ./dist/samples/json/requests/bridgeBox/systemSettings/systemOfMeasurement/bridgeBoxSystemSettingsSystemOfMeasurementMetricSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "SET",
    "payload": {
    "systemSettings": {
    "systemOfMeasurement": "METRIC"
    }
    }
    }

    IMPERIAL

    From ./dist/samples/json/requests/bridgeBox/systemSettings/systemOfMeasurement/bridgeBoxSystemSettingsSystemOfMeasurementImperialSample.json

    {
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
    "apiVersion": "0.58.7",
    "method": "SET",
    "payload": {
    "systemSettings": {
    "systemOfMeasurement": "IMPERIAL"
    }
    }
    }
TiltCameraHeadModel: RevolutionCameraHead | PivotCameraHead
TransferError: { code: ErrorCode; message: string }

Error message from the Bridge Box

Type declaration

  • code: ErrorCode

    Error code, used only with ERROR method types

  • message: string

    Error message

TurbidityFilter: { strength?: number }

Turbidity Filter controls for the camera.

Type declaration

  • Optional strength?: number

    Strength

    Controls the strength of the turbidity filter on the turbidity stream.

    minimum

    1

    maximum

    30

UpdatePackagePayload: { buildDate: string; changelog: Changelog; sha256: string; size: string }

UpdatePackagePayload

An package containing information related to an update of one or more devices.

Type declaration

  • buildDate: string

    buildDate

    description

    Provides a build date to UpdatePackage.

    readonly
  • changelog: Changelog

    Changelog

    description

    A list changes reflecting devices and their hardware and software revisions.

    readonly
  • sha256: string

    sha256

    description

    The sha256 checksum used to verify the file content after transfer.

    readonly
  • size: string

    size

    description

    Total number of bytes of the file.

    readonly
VehicleDeviceFromModel<T>: Match<T, VehicleModelMap>

Type Parameters

  • T

VehicleHpDiagnostics: { chargeVoltage?: number; inputVoltage?: number }

Type declaration

  • Optional chargeVoltage?: number

    Charge Voltage

    description

    The voltage that goes from the hybrid power boards into the batteries

    readonly
  • Optional inputVoltage?: number

    Input Voltage

    description

    The voltage that the vehicle is receiving from the reel

    readonly
VehicleModelMap: { 13: Revolution; 18: Pivot; 19: A200; 20: A150; 24: Photon }

Type declaration

Velocity: { downward?: number; forward?: number; rightward?: number; speed?: number; valid?: boolean }
description

contains velocity components and speed of the ROV.

Type declaration

  • Optional downward?: number
  • Optional forward?: number
  • Optional rightward?: number
  • Optional speed?: number

    Scalar Magnitude of velocity components (forward, rightward and downward velocity)

    minimum

    0

  • Optional valid?: boolean
VersionNote: { fixes: string[]; improvements: string[] }

VersionNote

Describes changes made in a software update, an array of improvements and bug fixes.

Type declaration

  • fixes: string[]
  • improvements: string[]
ZoomControl: { ratio?: number; speed?: number }

Zoom control

Type declaration

  • Optional ratio?: number

    Zoom Ratio

    remarks

    Represented as a multiplier, 1x zoom for fully zoomed out, higher values when zoomed in (3x, 12.3x, 20x, etc..)

  • Optional speed?: number

    Zoom Speed

    minimum

    -100

    maximum

    100

__TransferPayload_BridgeBox: TransferPayload<BridgeBox> | UpdatePackagePayload
cygnusType: { materialVelocity?: number; reading?: number }

Type declaration

  • Optional materialVelocity?: number
  • Optional reading?: number

SignalServer Type Aliases

Answer: OfferAnswer

Answer

Note 💡 Ensure the number-like property values are sent as strings when sent and are enclosed in quotes ""

protocol

wss | https

endpoint

/answer

IceCandidate: { caller?: string; candidate?: IceCandidateMessage; sessionId?: string; target?: string }

IceCandidate

Note 💡 Ensure the number-like property values are sent as strings when sent and are enclosed in quotes ""

protocol

wss | https

endpoint

/ice_candidate

From ./dist/samples/json/server/iceCandidate.json

{
"$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json",
"target": "df8f6f59-5504-4559-90d4-779ae24d139f",
"caller": "97c9bf43-9285-480e-9bd6-0c813d2d366b",
"sessionId": "3d26e13a-62b7-4e72-880b-5d29e135b24f",
"candidate": {
"sdpMid": "0",
"sdpMLineIndex": 0,
"content": "candidate:1409274494 1 udp 2113937151 34a834b8-3b04-4007-968d-c635dc6a11ca.local 42461 typ host generation 0 ufrag heL6 network-cost 999"
}
}

Type declaration

  • Optional caller?: string
  • Optional candidate?: IceCandidateMessage
  • Optional sessionId?: string
  • Optional target?: string
JoinSession: { client_id: string; session_id: string }

JoinSession

Join a session with a user.

Note 💡 Ensure the number-like property values are sent as strings when sent and are enclosed in quotes ""

typeparam T

BridgeBox

protocol

wss | https

endpoint

/join_session

Type declaration

  • client_id: string
  • session_id: string
LeaveSession: { client_id: string; session_id: string }

LeaveSession

Note 💡 Ensure the number-like property values are sent as strings when sent and are enclosed in quotes ""

protocol

wss | https

endpoint

/leave_session

Type declaration

  • client_id: string
  • session_id: string

Offer

Note 💡 Ensure the number-like property values are sent as strings when sent and are enclosed in quotes ""

protocol

wss | https

endpoint

/offer

OnDisconnectAsync: {}

OnDisconnectAsync

See base method documentation on OnDisconnectAsync

override
protocol

wss | https

endpoint

/session_closed

Type declaration

    RegisterSession: string

    RegisterSession

    Creates a new session using a unique vehicle id.

    protocol

    wss | https

    endpoint

    /register_session

    Session: { clients: Client[]; connection_id: string; session_id: string }

    Session

    Sends a list of all the sessions currently authorized for use.

    Note 💡 Ensure the number-like property values are sent as strings when sent and are enclosed in quotes ""

    endpoint

    /session_list

    protocol

    wss | https

    response

    Response to SessionCheck.

    Type declaration

    • clients: Client[]
    • connection_id: string
    • session_id: string
    SessionCheck: { client_id: string }

    SessionCheck

    Returns a list of all the sessions currently authorized for use.

    Note 💡 Ensure the number-like property values are sent as strings when sent and are enclosed in quotes ""

    endpoint

    /session_check

    protocol

    wss | https

    Type declaration

    • client_id: string

    Other Variables

    CAMERA_DEVICE_MODEL_LABELS: { 206: "4K UHD Camera"; 207: "Zoom Camera JZC"; 240: "Zoom Camera H"; 241: "Mini Aux Camera"; 243: "Zoom Camera TO"; 5: "DT Camera" } = ...

    Type declaration

    • 206: "4K UHD Camera"
    • 207: "Zoom Camera JZC"
    • 240: "Zoom Camera H"
    • 241: "Mini Aux Camera"
    • 243: "Zoom Camera TO"
    • 5: "DT Camera"
    CAMERA_HEAD_DEVICE_MODELS: readonly [A150CameraHead, A200CameraHead, RevolutionCameraHead, PivotCameraHead] = ...
    CAMERA_HEAD_DEVICE_MODEL_LABELS: { 102: "REVOLUTION Camera Head"; 103: "PIVOT Camera Head"; 106: "A-200 Camera Head"; 109: "A-150 Camera Head" } = ...

    Type declaration

    • 102: "REVOLUTION Camera Head"
    • 103: "PIVOT Camera Head"
    • 106: "A-200 Camera Head"
    • 109: "A-150 Camera Head"
    CRAWLER_CAMERAHEAD_JOINT2_POSITION_MAX: 140 = 140

    Camera head joint 2 maximum rotation limit in degrees

    Useful for front-end client to constrain UI limits of joint 2 position

    CRAWLER_CAMERAHEAD_JOINT2_POSITION_MIN: -140 = -140

    Camera head joint 2 minimum rotation limit in degrees

    Useful for front-end client to constrain UI limits of joint 2 position

    CRAWLER_DEVICE_MODELS: readonly [A150Crawler, A200Crawler] = ...
    DEFAULT_REEL_BATTERY_VOLTAGE: 21 = 21
    DEVICE_MODEL_LABELS: { 102: "REVOLUTION Camera Head"; 103: "PIVOT Camera Head"; 106: "A-200 Camera Head"; 107: "Tether Reel"; 108: "Powered Tether Reel"; 109: "A-150 Camera Head"; 13: "REVOLUTION"; 18: "PIVOT"; 19: "A-200"; 20: "A-150"; 206: "4K UHD Camera"; 207: "Zoom Camera JZC"; 24: "PHOTON"; 240: "Zoom Camera H"; 241: "Mini Aux Camera"; 243: "Zoom Camera TO"; 5: "DT Camera"; BRIDGEBOX: "BridgeBox" } = ...

    Type declaration

    • 102: "REVOLUTION Camera Head"
    • 103: "PIVOT Camera Head"
    • 106: "A-200 Camera Head"
    • 107: "Tether Reel"
    • 108: "Powered Tether Reel"
    • 109: "A-150 Camera Head"
    • 13: "REVOLUTION"
    • 18: "PIVOT"
    • 19: "A-200"
    • 20: "A-150"
    • 206: "4K UHD Camera"
    • 207: "Zoom Camera JZC"
    • 24: "PHOTON"
    • 240: "Zoom Camera H"
    • 241: "Mini Aux Camera"
    • 243: "Zoom Camera TO"
    • 5: "DT Camera"
    • BRIDGEBOX: "BridgeBox"
    ERROR_MESSAGES: Readonly<Record<ErrorCode, string>> = ...

    Error messages

    POSITION_UNCERTAINTY_LIMIT: 10000 = 10000

    Position uncertainty limit.

    description

    The upper bound for valid position uncertainty. Note that the uncertainty value can be arbitrarily large; therefore, a limit is set to ignore invalid positions.

    REEL_DEVICE_MODELS: readonly [ManualReel, PoweredReel] = ...
    REEL_DEVICE_MODEL_LABELS: { 107: "Tether Reel"; 108: "Powered Tether Reel" } = ...

    Type declaration

    • 107: "Tether Reel"
    • 108: "Powered Tether Reel"
    SCREEN_RESOLUTIONS: Readonly<Record<ScreenResolution, Resolution>> = ...
    VEHICLE_DEVICE_MODELS: DeviceModel[] = ...
    VEHICLE_DEVICE_MODEL_LABELS: { 13: "REVOLUTION"; 18: "PIVOT"; 19: "A-200"; 20: "A-150"; 24: "PHOTON" } = ...

    Type declaration

    • 13: "REVOLUTION"
    • 18: "PIVOT"
    • 19: "A-200"
    • 20: "A-150"
    • 24: "PHOTON"

    SignalServer Variables

    IRegisterSession: RegisterSession = ""

    RegisterSession

    Creates a new session using a unique vehicle id.

    Note 💡 Ensure the number-like property values are sent as strings when sent and are enclosed in quotes ""

    notexported

    See type declaration

    protocol

    wss | https

    endpoint

    /register_session

    From ./dist/samples/json/server/registerSession.json

    {
    "0": "d",
    "1": "c",
    "2": "0",
    "3": "8",
    "4": "f",
    "5": "2",
    "6": "1",
    "7": "6",
    "8": "-",
    "9": "6",
    "10": "5",
    "11": "3",
    "12": "7",
    "13": "-",
    "14": "4",
    "15": "1",
    "16": "9",
    "17": "d",
    "18": "-",
    "19": "8",
    "20": "1",
    "21": "a",
    "22": "f",
    "23": "-",
    "24": "a",
    "25": "d",
    "26": "7",
    "27": "9",
    "28": "3",
    "29": "b",
    "30": "7",
    "31": "a",
    "32": "3",
    "33": "d",
    "34": "a",
    "35": "d",
    "$schema": "https://docs.api.deeptrekker.com/dist/schemas/schema.json"
    }