HTTP Endpoints

You can communicate with HTTP/REST api over edelkrone SDK.

Caution

The SDK supports the only version of HTTP/1.1.

Note

SDK does not provide an SSL connection. So you can only connect over HTTP.

Caution

The SDK does not supported CORS, so when you send a request with "OPTIONS" method, the SDK return a error because a HTTP request of "Content-Type" is always sent as "text/plain" NOT "application/json".

Pairing

Pairing means that the devices are connected to each other and can also communicate. The PC communicates over link devices with paired devices.

In addition, paired devices are called "Bundle". You can also check What is Bundle?

Wifi

Initiate wireless scan

URL

/v1/link/{linkID}

Method

POST

Caution

The SDK does not support CORS, so when you send a request with "OPTIONS" method, the SDK returns an error because a HTTP request of "Content-Type" is sent always as "text/plain" NOT "application/json".

Payload

{
  "command":"wirelessPairingScanStart"
}
Label Type Value Description
command string wirelessPairingScanStart command name

Return value

See default return values.

Get current wireless scan results

URL

/v1/link/{linkID}

Method

POST

Caution

The SDK does not supported CORS, so when you send a request with "OPTIONS" method, the SDK returns an error because an HTTP request of "Content-Type" is always sent as "text/plain" NOT "application/json".

Payload

{
  "command":"wirelessPairingScanResults"
}
Label Type Description
command string wirelessPairingScanResults

Return value

{
    "data": [
        {
            "deviceFirmware": 18,
            "groupId": 65535,
            "isDeviceFirmwareUpdateAvailable": false,
            "isRadioFirmwareUpdateAvailable": false,
            "linkPairigingActive": true,
            "mac": "A4:E5:7C:CF:4F:66",
            "radioFirmware": 32,
            "rssi": -32.0,
            "setup": "groupMember",
            "type": "slideModuleV3"
        },
        {
            "deviceFirmware": 101,
            "groupId": 23113,
            "isDeviceFirmwareUpdateAvailable": false,
            "isRadioFirmwareUpdateAvailable": false,
            "mac": "E8:DB:84:2C:C4:76",
            "radioFirmware": 32,
            "rssi": -76.0,
            "setup": "panTilt",
            "type": "headPlusV2"
        },
        {
            "deviceFirmware": 101,
            "groupId": 65535,
            "isDeviceFirmwareUpdateAvailable": false,
            "isRadioFirmwareUpdateAvailable": false,
            "linkPairigingActive": true,
            "mac": "E8:DB:84:2C:D2:AE",
            "radioFirmware": 33,
            "rssi": -58.0,
            "setup": "panTiltAndSlide",
            "type": "headPlusV2"
        },
        {
            "deviceFirmware": 101,
            "groupId": 16519,
            "isDeviceFirmwareUpdateAvailable": false,
            "isRadioFirmwareUpdateAvailable": false,
            "mac": "98:F4:AB:21:A7:7E",
            "radioFirmware": 32,
            "rssi": -66.0,
            "setup": "panTilt",
            "type": "headPlusProV2"
        }
    ],
    "result": "ok"
}
Label Type Value Description
data device array [deviceinfo1, deviceinfo2] Array of information of devices on canbus
Label Type Value Description
deviceFirmware int Device fimrware number
groupId int Which group device is in
linkPairigingActive bool
IsTilted bool
mac string FF:FF:FF:FF:FF:FF Mac address as string, it should
be hex string
rssi int Received signal
strength indication
isDeviceFirmwareUpdateAvailable bool If there is exist a update available,
this flag will be true
isRadioFirmwareUpdateAvailable bool If there is exist a update available,
this flag will be true
radioFirmware int Radio Firmware Version
setup string If device is master device:
  • panOnly
  • tiltOnly
  • panTilt
  • slideOnly
  • dollyOnly
  • panAndSlide
  • tiltAndSlide
  • panAndDolly
  • tiltAndDolly
  • panTiltAndSlide
  • panTiltAndDolly
    • panAndJib
    • tiltAndJib
    • panTiltAndJib
    • jibOnly
    • panAndJibPlus
    • tiltAndJibPlus
    • panTiltAndJibPlus
    • jibPlusOnly
    • followFocusOnly
    • possibleCanbusMaster
    If it is only bundle member:
  • groupMember
  • If it is not paired yet:
  • none
  • Other state:
  • bootingUp
  • firmwareError
  • ignore
-
type string - Device Type
Device Type
slideModule
headPlus
headPlusPro
headOne
surfaceOne
dollyPlus
sliderOnePro
sliderOne
dollyOne
dollyPlusPro
jibOne
goldFinch
slideModuleV3
panPro
jibOneMk2
focusPlusPro
headPlusV2
headPlusProV2
slideModuleV1
none

Note

The scan wireless command should be sent before that command is sent. Otherwise, Link adapter does not return any device info.

Create Bundle

Pairs devices and joins to them.

URL

/v1/link/{linkID}

Method

POST

Caution

The SDK does not support CORS, so when you send a request with "OPTIONS" method, the SDK return a error because an HTTP request of "Content-Type" is always sent as "text/plain" NOT "application/json".

Payload

{
    "command": "wirelessPairingCreateBundle",
    "deviceCount": 1,
    "forcedMasterDevice": "none",
    "macList": [
        "E8:68:E7:2E:B5:E2"
    ]
}
Label Type Value Description
command string wirelessPairingCreateBundle command name
deviceCount integer 0 - ... Number of device to be paired
forcedMasterDevice string - Forced Device Type
macList string FF:FF:FF:FF:FF:FF Mac list of devices. Mac pattern
should be like "xx:xx:xx:xx:xx"
Forced Master Device
slideModule
headPlus
headPlusPro
headOne
surfaceOne
dollyPlus
sliderOnePro
sliderOne
dollyOne
dollyPlusPro
jibOne
goldFinch
slideModuleV3
panPro
jibOneMk2
focusPlusPro
headPlusV2
headPlusProV2
slideModuleV1
none

Return value

See default return values.

Note

The send mac addresses are reachable while creating the bundle. Otherwise, the pairing process will be crashed, in which case get pair state by using this command.

Attach to Exist Bundle

Attach to already existing paired devices.

URL

/v1/link/{linkID}

Method

POST

Caution

The SDK does not support CORS, so when you send a request with "OPTIONS" method, the SDK returns an error because an HTTP request of "Content-Type" is sent always as "text/plain" NOT "application/json".

Payload

{
    "command": "wirelessPairingAttachToBundle",
    "mac": "30:AE:A4:8F:B1:46"
}
Label Type Value Description
command string wirelessPairingAttachToBundle command name
mac string FF:FF:FF:FF:FF:FF Which device mac you want to connect.
Mac pattern should be like "xx:xx:xx:xx:xx"

Return value

See default return values.

Note

The send mac addresses are reachable while creating the bundle. Otherwise, the pairing process will be crashed, in which case get pair state by using this command.

Get Pairing Status

URL

/v1/link/{linkID}

Method

POST

Caution !!! The SDK does not support CORS, so when you send a request with "OPTIONS" method, the SDK returns an error because an HTTP request of "Content-Type" is always sent as "text/plain" NOT "application/json".

Payload

{
  "command":"wirelessPairingStatus"
}
Label Type Value Description
command string wirelessPairingStatus command name

Return value

{
    "data": {
        "lastPairError": "none",
        "wirelessPairState": "idle"
    },
    "result": "ok"
}
Label Type Value Description
lastPairError string
  • none
  • wifiChannelMismatch
  • impossibleScenario
  • radioFirmwareUpdateRequired
  • deviceFirmwareUpdateRequired
  • unknown
  • deviceSearchProblem
  • alreadyGroupMember
  • connectionProblem
  • Last pair error
    pairState string
    • idle
    • connecting
    • connectionOk
    • problem

    Disconnect from bundle

    URL

    /v1/link/{linkID}
    

    Method

    POST
    

    Caution !!! The SDK does not support CORS, so when you send a request with "OPTIONS" method, the SDK returns an error because an HTTP request of "Content-Type" is always sent as "text/plain" NOT "application/json".

    Payload

    {
      "command":"disconnect"
    }
    
    Label Type Value Description
    command string disconnect command name

    Return value

    See default return values.

    Default Return Values

    {
      "result": "ok"
    }
    

    System executed your command without any issues.

    {
      "result": "Invalid Arguments"
    }
    

    Given arguments are invalid.

    URL

    /v1/link/{linkID}
    

    Method

    POST
    

    Caution

    The SDK does not supported CORS, so when you send a request with "OPTIONS" method, the SDK return a error because of HTTP request of "Content-Type" is sent always as "text/plain" NOT "application/json".

    Payload

    {
      "command":"link2PairingScanResults"
    }
    
    Label Type Value Description
    command string link2PairingScanResults command name

    Return value

    {
        "data": [
            {
                "firmwareVersionMajor": 0,
                "firmwareVersionMinor": 18,
                "isDeviceFirmwareUpdateAvailable": false,
                "type": "slideModuleV3"
            },
            {
                "firmwareVersionMajor": 0,
                "firmwareVersionMinor": 101,
                "isDeviceFirmwareUpdateAvailable": false,
                "type": "headPlusV2"
            }
        ],
        "result": "ok"
    }
    
    Label Type Value Description
    data device array [deviceinfo1, deviceinfo2] Array of information of devices on Link
    Label Type Value Description
    type string - Device Type
    firmwareVersionMajor int - Device Firmware Major Version
    firmwareVersionMinor int - Device fimrware Minor number
    isDeviceFirmwareUpdateAvailable bool - If there is exist a update available,
    this flag will be true
    Device Type
    slideModule
    headPlus
    headPlusPro
    headOne
    surfaceOne
    dollyPlus
    sliderOnePro
    sliderOne
    dollyOne
    dollyPlusPro
    jibOne
    goldFinch
    slideModuleV3
    panPro
    jibOneMk2
    focusPlusPro
    headPlusV2
    headPlusProV2
    slideModuleV1
    none

    Connect to Bundle

    Pairs devices and joins to them.

    URL

    /v1/link/{linkID}
    

    Method

    POST
    

    Caution

    The SDK does not supported CORS, so when you send a request with the "OPTIONS" method, the SDK returns an error because of HTTP request of "Content-Type" is always sent as "text/plain" NOT "application/json".

    Payload

    {
      "command":"link2PairingConnect"
    }
    
    Label Type Value Description
    command string link2PairingConnect command name

    Return value

    See default return values.

    Get Pairing Status

    URL

    /v1/link/{linkID}
    

    Method

    POST
    

    Caution

    The SDK does not support CORS, so when you send a request with "OPTIONS" method, the SDK returns an error because of HTTP request of "Content-Type" is sent always as "text/plain" NOT "application/json".

    Payload

    {
      "command":"link2PairingStatus"
    }
    
    Label Type Value Description
    command string link2PairingStatus command name

    Return value

    {
        "data": {
            "canbusPairState": "pingReceived",
            "lastPairError": "none"
        },
        "result": "ok"
    }
    
    Label Type Value Description
    canbusPairState string
    • idle
    • pingReceived
    • connecting
    • connectionOk
    Master device state
    lastPairError string
    • none
    • imposiblleScenario
    • deviceFirmwareUpdateRequired
    • unknown
    • cantAppendDevice

    Disconnect from bundle

    URL

    /v1/link/{linkID}
    

    Method

    POST
    

    Caution !!! The SDK does not support CORS, so when you send a request with "OPTIONS" method, the SDK returns an error because an HTTP request of "Content-Type" is always sent as "text/plain" NOT "application/json".

    Payload

    {
      "command":"disconnect"
    }
    
    Label Type Value Description
    command string disconnect command name

    Return value

    See default return values.

    Default Return Values

    {
      "result": "ok"
    }
    

    System executed your command without any issues.

    {
      "result": "Invalid Arguments"
    }
    

    Given arguments are invalid.

    RJ45

    Connect to Bundle

    Pairs devices and joins to them.

    URL

    /v1/link/{linkID}
    

    Method

    POST
    

    Caution

    The SDK does not supported CORS, so when you send a request with "OPTIONS" method, the SDK return a error because of HTTP request of "Content-Type" is sent always as "text/plain" NOT "application/json".

    Payload

    {
      "command":"link1PairingConnect"
    }
    
    Label Type Value Description
    command string link1PairingConnect command name

    Return value

    See default return values.

    Default Return Values

    {
      "result": "ok"
    }
    

    System executed your command without any issues.

    {
      "result": "Invalid Arguments"
    }
    

    Given arguments are invalid.

    {
      "result": "Device is paired"
    }
    

    Pairing is complete so no longer send any movement command

    Keypose

    This commands is related to simple pose store and recall methods.

    Keypose Store Current Pose

    URL

    /v1/bundle/{linkID}
    

    Method

    POST
    

    Caution

    The SDK does not support CORS, so when you send a request with "OPTIONS" method, the SDK returns an error because an HTTP request of "Content-Type" is always sent as "text/plain" NOT "application/json".

    Payload

    {
      "command": "keyposeStoreCurrentPose",
      "index": 0,
    }
    
    Label Type Value Description
    command string keyposeStoreCurrentPose command name
    index integer 0 - 5 Keypose slot you want to store the current pose

    Return value

    See default return values.

    Note

    Use this command to store your overall pose as a keypose. You can move your system to this location later by referencing with index.

    Keypose Store by Numeric Data

    URL

    /v1/bundle/{linkID}
    

    Method

    POST
    

    Caution

    The SDK does not support CORS, so when you send a request with "OPTIONS" method, the SDK return a error because of HTTP request of "Content-Type" is sent always as "text/plain" NOT "application/json".

    Payload

    {
      "command":"keyposeStoreWithNumericData",
      "index":0,
      "{axis name}":"{setpoint value}"
    }
    
    Label Type Value Description
    command string keyposeStoreWithNumericData command name
    index integer 0 - 5 Keypose slot index you want to move
    axis name float In which axis direction you want to move
    Axis Name Type Value Range
    headPan float -180.0 - +180.0
    headTilt float -180.0 - +180.0
    slide float It depends your calibrations.
    focus float
    jibPlusPan float
    jibPlusTilt float

    Example JSON You want to send command for three axes; Head Pan, Head Tilt and Slide;

    {
      "command":"keyposeStoreWithNumericData",
      "index":0,
      "headPan":0.0,
      "headTilt":0.0,
      "slide":0.0,
    }
    

    Return value

    See default return values.

    Keypose Move with Fixed Duration

    URL

    POST /v1/bundle/{linkID}
    

    Caution !!! The SDK does not support CORS, so when you send a request with "OPTIONS" method, the SDK returns an error because an HTTP request of "Content-Type" is always sent as "text/plain" NOT "application/json".

    Payload

    {
        "command":"keyposeMoveFixedDuration",
        "index":0,
        "duration":0.5,
        "acceleration":0.0
    }
    
    Label Type Value Description
    command string keyposeMoveFixedDuration command name
    index integer 0-5 Keypose slot index you want to move
    acceleration float 0.0 - 1.0 Ease in / out amount. 0.0 is immediate move, 1.0 is most smooth
    duration float second Planned motion duration

    Note

    System doesn't guarantee that every movement will be completed as requested. If requested duration is lower than what system can achieve with 100% speed, system moves with 100% speed.

    Keypose Move with Fixed Speed

    URL

    POST /v1/bundle/{linkID}
    

    Caution !!! The SDK does not support CORS, so when you send a request with "OPTIONS" method, the SDK returns an error because an HTTP request of "Content-Type" is always sent as "text/plain" NOT "application/json".

    Method

    POST
    

    Payload

    {
      "command": "keyposeMoveFixedSpeed",
      "index": 0,
      "acceleration": 0.5,
      "speed": 8.0,
    }
    
    Label Type Value Description
    command string keyposeMoveFixedSpeed command name
    index integer 0-5 Keypose slot index you want to move
    acceleration float 0.0 - 1.0 Ease in / out amount. 0.0 is immediate move, 1.0 is most smooth
    speed float -1.0 - +1.0 Speed ratio for motion

    Note

    System doesn't guarantee that every movement will be completed as requested. If requested duration is lower than what system can achieve with 100% speed, system moves with 100% speed.

    Loop Between Keyposes with Fixed Duration

    URL

    POST /v1/bundle/{linkID}
    

    Method

    POST
    

    Caution !!! The SDK does not support CORS, so when you send a request with "OPTIONS" method, the SDK returns an error because an HTTP request of "Content-Type" is always sent as "text/plain" NOT "application/json".

    Payload

    {
        "command":"keyposeLoopFixedDuration",
        "index1":0,
        "index2":1,
        "duration":0.0,
        "acceleration":0.0
    }
    
    Label Type Value Description
    command string keyposeMoveFixedDuration command name
    index1 integer 0 - 5
    index2 integer 0 - 5
    acceleration float 0.0 - 1.0 Ease in / out amount. 0.0 is immediate move, 1.0 is most smooth
    duration float second Planned motion duration

    Note

    System doesn't guarantee that every movement will be completed as requested. If requested duration is lower than what system can achieve with 100% speed, system moves with 100% speed.

    Loop Between Keyposes with Fixed Speed

    URL

    POST /v1/bundle/{linkID}
    

    Method

    POST
    

    Caution !!! The SDK does not support CORS, so when you send a request with "OPTIONS" method, the SDK returns an error because an HTTP request of "Content-Type" is always sent as "text/plain" NOT "application/json"..

    Payload

    {
      "command": "keyposeLoopFixedSpeed",
      "index1": 0,
      "index2": 0,
      "acceleration": 0.5,
      "speed": 8.0,
    }
    
    Label Type Value Description
    command string keyposeLoopFixedSpeed command name
    index1 integer 0 - 5 Keypose slot index you want to move
    acceleartion float 0.0 - 1.0 Ease in / out amount. 0.0 is immediate move, 1.0 is most smooth
    speed float -1.0 - +1.0 Speed ratio for motion

    Note

    System doesn't guarantee to move within you ask for it. If requested duration is lower than what system can achive with %100 speed, system moves with %100 speed.

    Read Keypose Numeric Information

    URL

    POST /v1/bundle/{linkID}
    

    Method

    POST
    

    Caution !!! The SDK does not support CORS, so when you send a request with "OPTIONS" method, the SDK returns an error because an HTTP request of "Content-Type" is always sent as "text/plain" NOT "application/json".

    Payload

    {
      "command": "keyposeReadNumericValues",
      "index": 0
    }
    
    Label Type Value Description
    command string keyposeReadNumericValues command name
    index integer 0 - 5 Keypose slot index you want to get information about keypose

    Return value

    {
      "data": {
            "{axis_name}": "{set_point}",
        },
        "result": "ok"
    }
    

    Example Return

    {
        "data": {
            "focus": 0,
            "headPan": 0.0,
            "headTilt": 0.0,
            "index": 0,
            "jibPlusPan": -1.0,
            "jibPlusTilt": -1.0,
            "slide": 0.0
        },
        "result": "ok"
    }
    
    Label Type Value Description
    data string
    • none
    • running
    • error
    • multipleDevice
    • noDevice
    • finished
    Update status
    Axis Name Type Value Range
    headPan float -180.0 - +180.0
    headTilt float -180.0 - +180.0
    slide float It depends your calibrations.
    focus float
    jibPlusPan float
    jibPlusTilt float

    Delete Keypose

    TO BE FILLED

    URL

    POST /v1/bundle/{linkID}
    

    Method

    POST
    

    Caution !!! The SDK does not support CORS, so when you send a request with "OPTIONS" method, the SDK returns an error because an HTTP request of "Content-Type" is always sent as "text/plain" NOT "application/json".

    Payload

    {
      "command":"keyposeDeletePose",
      "index":1
    }
    
    Label Type Value Description
    command string keyposeDeletePose command name
    index integer 0 - 5 Keypose slot index you want to get information about keypose

    Default Return Values

    {
      "result": "ok"
    }
    

    Given arguments are invalid.

    {
      "result": "invalid setup"
    }
    

    Given device is invalid

    Move

    This command relates to move methods.

    Joystick Move

    URL

    /v1/bundle/{linkID}
    

    Method

    POST
    

    Caution !!! The SDK does not support CORS, so when you send a request with "OPTIONS" method, the SDK returns an error because an HTTP request of "Content-Type" is always sent as "text/plain" NOT "application/json".

    Payload

    {
      "command": "joystickMove",
      "{axis_name}": "{speed_ratio}"
    }
    
    Label Type Value Description
    command string joystickMove command name
    axis_name float - In which axis direction
    you want to move and
    its speed ratio.
    Axis Name Type Value Range
    headPan float -180.0 - +180.0
    headTilt float -180.0 - +180.0
    slide float It depends your calibrations.
    focus float
    jibPlusPan float
    jibPlusTilt float

    Note

    As in the example below, the desired direction to move must be given as the key and the speed value as a value.

    Caution

    The SDK does not support CORS, so when you send a request with "OPTIONS" method, the SDK returns an error because an HTTP request of "Content-Type" is always sent as "text/plain" NOT "application/json".

    Example JSON You want to send command for three axes; Head Pan, Head Tilt and Slide;

    {
      "command":"joystickMove",
      "index":0,
      "headPan":0.0,
      "headTilt":0.0,
      "slide":0.0,
    }
    

    Focus Manual Move

    URL

    /v1/bundle/{linkID}
    

    Method

    POST
    

    Caution !!! The SDK does not support CORS, so when you send a request with "OPTIONS" method, the SDK returns an error because an HTTP request of "Content-Type" is always sent as "text/plain" NOT "application/json".

    Payload

    {
      "command": "focusManualMove",
      "deltaEnc": 10
    }
    
    Label Type Value Description
    command string focusManualMove command name
    deltaEnc integer `` encoder step

    Motion Abort

    URL

    /v1/bundle/{linkID}
    

    Method

    POST
    

    Caution !!! The SDK does not support CORS, so when you send a request with "OPTIONS" method, the SDK returns an error because an HTTP request of "Content-Type" is always sent as "text/plain" NOT "application/json".

    Payload

    {
      "command": "motionAbort"
    }
    
    Label Type Value Description
    command string motionAbort command name

    Calibration

    URL

    /v1/bundle/{linkID}
    

    Method

    POST
    

    Caution !!! The SDK does not support CORS, so when you send a request with "OPTIONS" method, the SDK returns an error because an HTTP request of "Content-Type" is always sent as "text/plain" NOT "application/json".

    Payload

    {
        "command": "calibrate",
        "device": "slideModuleV3",
        "isOnGround": true,
        "isOnLeftSide" : false,
        "jibLength" = 2,
        "rodLength" = 3
    }
    

    |Label| Type | Value |Description| |:--- |:---- |:-----------| |command | string | motionAbort |calibrate name| |device| string | Each device has own configuratation | Which axis you want to calibrate it.| | jibLength | float | | length of jib| | rodLength | float | | length of camera rod of jib| | isOnGround | bool | | If slider is on tripod, it should be true| | isOnLeftSide | bool | | If slide module is left side of slider, it should be true otherwise it will be false |

    • `slideModule`
    • `headPlus`
    • `headPlusPro`
    • `headOne`
    • `surfaceOne`
    • `dollyPlus`
    • `sliderOnePro`
    • `sliderOne`
    • `dollyOne`
    • `dollyPlusPro`
    • `jibOne`
    • `goldFinch`
    • `slideModuleV3`
    • `panPro`
    • `jibOneMk2`
    • `focusPlusPro`
    • `headPlusV2`
    • `headPlusProV2`
    • `slideModuleV1`
    • `none`
    Device Type Need Parameter
    slideModule
    • isOnGround
    • isOnLeftSide
    headPlus -
    headPlusPro -
    headOne -
    surfaceOne -
    dollyPlus -
    sliderOnePro
    • isOnGround
    • isOnLeftSide
    sliderOne
    • isOnGround
    • isOnLeftSide
    dollyOne -
    dollyPlusPro -
    jibOne
    • jibLength
    • rodLength
    goldFinch -
    slideModuleV3
    • isOnGround
    • isOnLeftSide
    panPro -
    jibOneMk2 -
    focusPlusPro -
    headPlusV2 -
    headPlusProV2 -
    slideModuleV1 -
    none -

    Example JSON You may want to send command for three axes; Head Pan, Head Tilt and Slide;

    {
        "command": "calibrate",
        "device": "slideModuleV3",
        "isOnGround": true,
        "isOnLeftSide" : false
    }
    

    Numeric Limits

    Each axis has specific limit value and step value, this command returns these.

    URL

    /v1/bundle/{linkID}
    

    Method

    POST
    

    Caution !!! The SDK does not support CORS, so when you send a request with "OPTIONS" method, the SDK returns an error because an HTTP request of "Content-Type" is always sent as "text/plain" NOT "application/json".

    Payload

    {
      "command":"numericLimitValues"
    }
    
    Label Type Value Description
    command string numericLimitValues command name

    Return value

    {
        "pan_maxLimit": 36000.0,
        "pan_minLimit": -36000.0,
        "pan_step": 0.0006099999882280827,
        "result": "ok",
        "tilt_maxLimit": 89.0999984741211,
        "tilt_minLimit": -89.0999984741211,
        "tilt_step": 0.0006099999882280827
    }
    
    Label Type Value Description
    panMaxLimit float list
    panMinLimit float
    panStep float
    tiltMaxLimit float
    tiltMinLimit float
    tiltStep float
    focusMaxLimit float
    focusMinLimit float
    focusStep float
    jibPanMaxLimit float
    jibPanMinLimit float
    jibPanStep float
    jibTiltMaxLimit float
    jibTiltMinLimit float
    jibPanStep float
    isDataReady bool

    Default Return Values

    {
      "result": "ok"
    }
    

    System executed your command without any issues.

    {
      "result": "invalid setup"
    }
    

    Given device is invalid

    Status

    This command relates to move methods.

    URL

    /bundle/{linkID}/status
    

    Method

    GET
    

    Caution !!! The SDK does not support CORS, so when you send a request with "OPTIONS" method, the SDK returns an error because an HTTP request of "Content-Type" is always sent as "text/plain" NOT "application/json".

    Return value

    {
        "data": {
            "calibratedAxes": [
                {
                    "axis": "headPan",
                    "device": "headPlusV2"
                },
                {
                    "axis": "headTilt",
                    "device": "headPlusV2"
                }
            ],
            "deviceInfo": [
                {
                    "batteryLevel": 1.0,
                    "deviceFirmwareVersion": 101,
                    "type": "headPlusV2"
                }
            ],
            "deviceInfoEverythingReady": true,
            "keyposeLoopActive": false,
            "keyposeMotionAimIndex": 0,
            "keyposeMotionStartIndex": 0,
            "keyposeSlotsFilled": [
                false,
                false,
                false,
                false,
                false,
                false
            ],
            "plannedMotionProgress": 1.0,
            "plannedMotionSecs": 0.0,
            "readings": {
                "headPan": 89.95600128173828,
                "headTilt": 0.0
            },
            "realTimeSupportedAxes": [],
            "state": "idle",
            "supportedAxes": [
                {
                    "axis": "headPan",
                    "device": "headPlusV2"
                },
                {
                    "axis": "headTilt",
                    "device": "headPlusV2"
                }
            ],
            "timestampDevice": 303462,
            "timestampEpoch": 1634645133077
        },
        "result": "ok"
    }
    
    
    Label Type Value Description
    calibratedAxes string array
    • Head_Pan
    • Head_Tilt
    • Slide
    • Focus
    • Jib_Pan
    • Jib_Tilt
    Calibrated axes as string array
    deviceInfo device info array Each elements describes in below table Array of information of devices
    deviceInfoEverythingReady bool true - false It means that when it is
    true, that can get information.
    Otherwise, you can not
    get information.
    keyposeLoopActive bool true - false It means that if it is true,
    your bundle is looping between
    the specified keypose indexes.
    keyposeMotionAimIndex int 0 - 5 aim index for keypose motion.
    keyposeMotionStartIndex int 0 - 5 Index that before start
    keypose motion.
    keyposeSlotsFilled bool array true - false Array has six elements,
    each element represents that
    whether index is filled.
    plannedMotionProgress float 0.0 - 1.0 It shows the percentage of
    how many complete of
    keypose motion. It is mapped
    between 0.0 - 1.0.
    plannedMotionSecs float How many seconds
    the keypose motion will take
    readings key-value pair array Each elements describes in below table Array of information of each axis
    realTimeSupportedAxes string array
    • Head_Pan
    • Head_Tilt
    • Slide
    • Focus
    • Jib_Pan
    • Jib_Tilt
    Which axes the bundle has are
    supported in Real-Time Move.
    state string
    • Idle
    • Keypose_Move
    • RealTime_Move
    • Focus_Calibration
    • Slider_Calibration
    • Joystick_Move
    • Unsupported_Activity
    Shows state of the bundle
    movement.
    timestampDevice long int The status was generated
    at this timestamp on
    the master device.
    timestampEpoch long int The status was grabbed
    from the SDK at
    this timestamp.
    Label Type Value Description
    deviceFirmwareVersion int Device fimrware version
    batteryLevel int 0 - 100 Battery level
    type string - Device Type
    Device Type
    slideModule
    headPlus
    headPlusPro
    headOne
    surfaceOne
    dollyPlus
    sliderOnePro
    sliderOne
    dollyOne
    dollyPlusPro
    jibOne
    goldFinch
    slideModuleV3
    panPro
    jibOneMk2
    focusPlusPro
    headPlusV2
    headPlusProV2
    slideModuleV1
    none
    Label Type Value Description
    readings It may consist of one
    or more of the following:
    • Head_Pan
    • Head_Tilt
    • Slide
    • Focus
    • Jib_Pan
    • Jib_Tilt
    float
    • Head_Pan: -180 - 180
    • Head_Tilt: -180 - 180
    • Slide:
    • Focus:
    • Jib_Pan:
    • Jib_Tilt:
    In which axis direction
    you want to move and
    its speed ratio.

    Note

    You need to ask for this manually at regular intervals. Each request will return a status data without waiting for the contents to be updated. If you want to differentiate whether status is changed or not, you can use the TimestampEpoch field value.

    Other

    Details ...