Skip to main content
Version: 3.5.x

Device Configuration

Device configuration is sent under each device's configure map (WebSocket) or via /{device_type}/{id}/config/{key} HTTP routes. All entries are persistent — set once, stays until changed.

Configuration availability matrix

KeyWS configureHTTP config/Session-scopedNotes
presetMutually exclusive with mount
basisSession-level and per-device
mountMutually exclusive with preset
dampingScalar and/or directional
force_gateOscillation guard
handednessDevice-global (right/left)
torque_scalingDevice-global
gravity_compensationDevice-global
home_returnFirmware not yet active
navigationModule → see dedicated page

preset

Selects a named factory configuration that sets mount, basis, and workspace origin in one shot. See Mount & Workspace (presets) for the full list.

{ "inverse3": [{ "device_id": "049D", "configure": { "preset": { "preset": "arm_front_centered" } } }] }

basis

Sets the coordinate-axis remapping. See Basis Permutation for conventions and migration notes.

{ "session": { "configure": { "basis": { "permutation": "XZY" } } } }

Per-device basis is also supported:

{ "inverse3": [{ "device_id": "049D", "configure": { "basis": { "permutation": "XZY" } } }] }

mount

Overrides the physical mount transform. See Mount & Workspace for the coordinate pipeline.

{
"inverse3": [{
"device_id": "049D",
"configure": {
"mount": {
"transform": {
"position": { "x": 0.0, "y": 0.0, "z": 0.0 },
"rotation": { "w": 1.0, "x": 0.0, "y": 0.0, "z": 0.0 },
"scale": { "x": 1.0, "y": 1.0, "z": 1.0 }
}
}
}
}]
}
mount and preset are mutually exclusive

Don't send both in the same message — the service rejects it as ambiguous.


damping

Controls both uniform and directional damping. At least one field must be present.

{ "inverse3": [{ "device_id": "049D", "configure": { "damping": { "scalar": 0.5 } } }] }

Directional:

{ "inverse3": [{ "device_id": "049D", "configure": { "damping": { "vector": { "x": 0.0, "y": 1.0, "z": 0.0 } } } }] }

force_gate

Oscillation guard — attenuates force output when oscillation is detected.

ValueEffect
gain = 0.0Disabled — force passes at full magnitude
gain = 1.0Maximum attenuation during oscillation
{ "inverse3": [{ "device_id": "049D", "configure": { "force_gate": { "gain": 0.5 } } }] }

HTTP-only device configuration

The following settings are device-global (not session-scoped) and can only be set via HTTP:

EndpointBodyDescription
POST /{type}/{id}/config/handedness"left" or "right"Inverse3 handedness
POST /{type}/{id}/config/torque_scaling{ "enabled": bool }Enable/disable torque scaling
POST /{type}/{id}/config/gravity_compensation{ "enabled": bool, "scaling_factor": float }Gravity compensation
POST /{type}/{id}/config/home_return{ "enabled": bool }Return-home (firmware not yet active)

All support GET (read current), POST (set), and DELETE (reset to default).