Skip to main content

Camera Controller Widget

Widget Type: rc-camera-controller

Camera Controller Widget

Configuration

warning

Note: setPosition, zoomIn, zoomOut, captureDataAndSave are deprecated and should be added as buttons instead, see example

Available Keys up, down, right, left

Each with either service or commandId.

service Service call when button in pressed payload - The payload sent for the service call

commandId The commandId for the command to call when button in pressed payload - The payload for the command

ptzAutofireInterval The number of ms between auto-fire when any button is held down.

buttons

An array of button configurations with icon, tooltip and service call.

  • tooltip - any string
  • icon - any icon currently available in the Widgets library. See Storybook.
  • color - any color currently available in the Widgets library, but don't go bonkers. This is not clown software!
  • execution - service endpoint and it's payload or commandId and its payload (Same as up, down, right, left)
  "buttons": [
{
"tooltip": "Your tooltip",
"icon": "eye",
"color": "blue",
"execution": {
"service": "some/service/endpoint",
"payload": {
"zoom": {
"value": -1
}
}
}
}
],

Example

{
"up": {
"service": "/spot/spotcam/ptz/movePositionByFoVPercentage",
"payload": {
"vfovPercentage": 15
}
},
"down": {
"service": "/spot/spotcam/ptz/movePositionByFoVPercentage",
"payload": {
"vfovPercentage": -15
}
},
"right": {
"service": "/spot/spotcam/ptz/movePositionByFoVPercentage",
"payload": {
"hfovPercentage": 20
}
},
"left": {
"service": "/spot/spotcam/ptz/movePositionByFoVPercentage",
"payload": {
"hfovPercentage": -20
}
},
"ptzAutofireInterval": 1000,
"buttons": [
{
"icon": "zoom-in",
"tooltip": "Zoom In",
"execution": {
"service": "/spot/spotcam/ptz/movePositionByRadian",
"payload": {
"zoom": {
"value": 1,
},
},
},
},
{
"icon": "zoom-out",
"tooltip": "Zoom Out",
"execution": {
"service": "/spot/spotcam/ptz/movePositionByRadian",
"payload": {
"zoom": {
"value": -1,
},
},
},
},
{
"icon": "camera-home",
"tooltip": "Reset Camera Position",
"execution": {
"service": "/spot/spotcam/ptz/setPositionByRadian",
"payload": {
"pan": {
"value": 0,
},
"tilt": {
"value": 0,
},
"zoom": {
"value": 0,
},
},
},
},
{
"icon": "camera",
"tooltip": "Capture",
"color": "red",
"execution": {
"service": "/spot/data/captureDataAndSaveToSpotStorage",
"payload": {
"name": "spot-cam-ptz",
}
}
}
]
}