Zum Hauptinhalt springen

Parameterübersicht

Dieses Dokument listet alle vom Endpunkt zurückgegebenen Parameter auf /settings/, mit ihren Schlüssel, ihre Typ (aus type_hint) und deren Einschränkungen (entnommen aus metadata.constraint.range und von locked, falls zutreffend).

Ein Parameter locked est wird bei der Ausführung nur gelesen. Er kann über die Konfigurationsdatei oder auf der Einstellungsseite von Haply Hub, aber Ein vollständiger Neustart des Dienstes ist erforderlich damit die Änderungen wirksam werden. Diese Einstellungen sind gekennzeichnet Start in den folgenden Tabellen.

Konfiguration​

Die Konfigurationsdatei, mit der die Parameter beim Start des Dienstes geändert werden können, befindet sich hier:

PlattformStandort
WindowsC:\ProgramData\Haply\Inverse\haply-inverse-service-config.json
macOS/Library/Application Support/Haply/Inverse/haply-inverse-service-config.json
Linux/etc/haply-inverse-service/haply-inverse-service-config.json

Die Konfigurationsdatei ist eine flaches JSON-Objekt das Parameterschlüssel mit Ersatzwerten verknüpft. Die Schlüssel müssen gültige Parameterschlüssel sein, die von der Route zurückgegeben werden /settings/ HTTP (siehe API-Referenz). Für jeden nicht angegebenen Schlüssel wird der Standardwert des Dienstes verwendet.

Beispielsweise eine Änderung der Netzwerkkonfiguration:

{
"communication/http/port": 8400,
"communication/websocket/port": 8500,
"communication/events/port": 9000,
"communication/bind_all_interfaces": true
}

Sichtbarkeit und Filterung​

Die Endpunkte der Auflistung /settings (GET /settings, GET /settings/) geben nur die Parameter zurück Grundlegendes Standardmäßig. Weiterleiten ?advanced=true um die als „erweitert“ gekennzeichneten Einstellungen einzubeziehen, und ?deprecated=true um veraltete Aliase einzubeziehen. Die ausgeblendeten Parameter sind für den internen Gebrauch reserviert; sie werden nur angezeigt, wenn misc/hidden_settings wird definiert mittels POST /settings/misc/hidden_settings (Es gibt keine Entsprechung in Form eines Abfrageparameters). Die Filterkriterien werden durch ein logisches „UND“ verknüpft: jeweils ein Schlüssel wird angegeben advanced et hidden erfordert, dass beide Filter aufgehoben werden. POST- und DELETE-Anfragen für einen bekannten Schlüssel unterliegen diesen Filtern nicht.

Die Lesevorgänge eines einzelnen Schlüssels (GET /settings/<key>) umgehen den Filter „advanced/deprecated“, wenn Sie den exakten kanonischen Schlüssel verwenden, was für Kunden praktisch ist, die den Schlüssel bereits kennen. Versteckte Schlüssel unterliegen weiterhin dem Filter.

Drei Ausführungsschalter versorgen die Filter; ihre Werte bleiben während der gesamten Laufzeit des Dienstes erhalten:

CléTypEinschränkungenBeschreibung
misc/advanced_settingsbool—Beinhaltet die angegebenen Parameter advanced in den Auflistungen GET /settings (Standardwert: false). Entspricht der Übermittlung ?advanced=true bei jeder Anfrage.
misc/deprecated_settingsbool—Beinhaltet die angegebenen Parameter deprecated in den Auflistungen GET /settings (Standardwert: false). Entspricht der Übermittlung ?deprecated=true bei jeder Anfrage.

Typenübereinstimmung​

Die von der API zurückgegebenen Typangaben entsprechen den folgenden JSON-Strukturen:

  • STRING → string
  • BOOL → bool
  • INT → int
  • FLOAT → float
  • ARR_STRING → string[]
  • VEC3 → vec3 (Objekt mit {x, y, z})
  • GENERIC → json (beliebiger strukturierter Wert)

communication/…​

Netzwerkports und Verbindungsadressen für HTTP-, WebSocket- und Event-Stream-Server. Die meisten Einträge können nur beim Systemstart geändert werden.

CléTypEinschränkungenBeschreibung
communication/serial/enabledbool—Die Kommunikation mit seriellen Geräten aktivieren oder deaktivieren.
communication/bind_addressstringStartIP-Adresse, mit der sich die HTTP- und WebSocket-Server verbinden.
communication/bind_all_interfacesboolStartDie Server mit … verbinden 0.0.0.0 anstatt auf „localhost“.
communication/http/portintStartHTTP-Port der REST-API (Standardwert: 10000).
communication/websocket/portintStartWebSocket-Port der Version 3.1 (Standardwert: 10001).
communication/websocket/legacy_portintStartWebSocket-Port aus Version 3.0 (Standardwert: 10000).
communication/events/portintStartWebSocket-Port des Ereignisstroms (Standardwert: 10020).

devices/…​

devices/detection/…​

Richtlinie zum Scannen serieller Anschlüsse. Alle Einträge sind verschoben.

CléTypEinschränkungenBeschreibung
devices/detection/scan_period_msintBereich 100–10.000; StartIntervall zwischen den Überprüfungen der seriellen Schnittstellen (ms).
devices/detection/handshake_timeout_sintSeite 1–15Ablaufzeit des Handshakes pro Port (s).
devices/detection/max_retriesintSeite 1–10Maximale Anzahl von Handschlagversuchen pro Port.
devices/detection/failure_log_delay_sintBereich 1–60Zeitintervall, bevor ein Erkennungsfehler erneut protokolliert wird (s).
devices/detection/block_looping_portsbool—Die Verfügbarkeit des Geräts sperren, wenn ein Durchschleifanschluss erkannt wird.
devices/detection/excluded_portsjson—Port-Pfade, die bei der Erkennung ignoriert werden sollen.
devices/detection/additional_portsstring[]—Zusätzliche serielle Schnittstellen, die systematisch analysiert werden müssen.
devices/detection/allowed_vendor_id_filterstring[]—Zulässige USB-Anbieter-IDs bei der Port-Auflistung.
devices/detection/port_name_substring_filterstring[]—Plattformspezifische Teilzeichenfolgen von Portnamen, nach denen gesucht werden soll.
devices/detection/wireless_verse_grip_description_filterstring[]—Portbeschreibungs-Substrings für die drahtlose Erkennung von VerseGrip.
devices/detection/inverse3x_description_filterstring[]—Portbeschreibungs-Substrings zur Erkennung von Inverse3x.
devices/detection/extra_ports (veraltet)string[]—Verwenden Sie stattdessen devices/detection/additional_ports. Die Lese- und Schreibvorgänge werden nahtlos an den kanonischen Schlüssel weitergeleitet.

devices/*inverse/…​

Globale Standardeinstellungen, die auf jedes Gerät der Produktfamilie „ Inverse3 “ angewendet werden. Sitzungsspezifische Überschreibungen haben Vorrang.

Renommé in Version 3.5.1

Der Globus war devices/inverse*/… in Version 3.5.0; das * Das „se“ steht nun am Anfang inverse. Konfigurationsdateien, die die alte literale Syntax verwenden, werden in Version 3.5.1 nicht berücksichtigt – bitte aktualisieren Sie diese. Die Schlüssel selbst bleiben ansonsten unverändert.

CléTypEinschränkungenBeschreibung
devices/*inverse/filters/force_scale/gainfloatBereich 0,0–2,0Allgemeiner Multiplikator für die Ausgangsleistung, der auf alle Geräte angewendet wird.
devices/*inverse/filters/force_gate/gainfloatBereich 0,0–1,0Standardverstärkung des Kraftschwellenwertfilters für neue Sitzungen.
devices/*inverse/control_timeout_msintBereich 50–10.000Verzögerungszeit bis zur Freigabe der Gerätesperre (ms).
devices/*inverse/query_orientation_on_idlebool—Die Firmware nach der Ausrichtung des Gehäuses abfragen, wenn das Gerät inaktiv ist.
devices/*inverse/safeties/expose_in_snapshotbool—Gerätespezifische Sicherheitsindikatoren in die Snapshots einbeziehen GET /devices/{id}.

devices/presets​

CléTypEinschränkungenBeschreibung
devices/presetsjson—Standardkonfigurationseinstellungen für jeden Gerätetyp (Montageumwandlung, Basis usw. für inverse_arm_front_*, inverse_led_front_*, minverse_*, verse_grip_default, wireless_verse_grip_default, custom_verse_grip_default).

devices/wireless_verse_grip/…​

CléTypEinschränkungenBeschreibung
devices/wireless_verse_grip/battery/low_thresholdint—Akkuladestand in Prozent, bei dessen Unterschreitung eine Warnung wegen niedrigen Akkustands ausgelöst wird.
devices/wireless_verse_grip/battery/critical_thresholdint—Akkuladestand, bei dessen Unterschreitung eine Warnung wegen kritischem Akkustand ausgelöst wird.
devices/wireless_verse_grip/battery/reset_marginint—Hysterese-Spanne vor dem Löschen einer Batterie-Warnmeldung.
devices/wireless_verse_grip/filters/orientation_filterjsonStartKonfiguration des „One Euro“-Filters für die drahtlose Ausrichtung des VerseGrip.

features/…​

features/calibration/…​

CléTypEinschränkungenBeschreibung
features/calibration/hall_thresholdintSeite 1–32Pegel des Hall-Sensors, ab dem der Stift während der Kalibrierung als befestigt gilt.

features/grip_hook/…​

Automatisches Verhalten der Greifvorrichtung – arretiert den Schieber, solange der Griff senkrecht gehalten wird.

CléTypEinschränkungenBeschreibung
features/grip_hook/enabledbool—Die automatische Verriegelung des Hakenmechanismus aktivieren, wenn der Griff senkrecht gehalten wird.
features/grip_hook/use_hallbool—Zur Erkennung des Greifvorgangs sollte der Schwellenwert des Hall-Sensors anstelle der Ausrichtung verwendet werden.
features/grip_hook/hallintSeite 1–32Schwellwert des Hall-Sensors, der die Verriegelung der Halterung auslöst.
features/grip_hook/hold_durationintBereich 10–1000Haltedauer der Verriegelung nach der Auslösung (ms).

features/navigation/bubble/…​

Standardwerte des Bubble-Navigationsmoduls – werden an die Sitzung übergeben, wenn das Verhalten bubble wird zum ersten Mal aktiviert. Weitere Informationen finden Sie auf der Seite Navigationsmodul für die Ausführungssemantik jedes Feldes.

CléTypEinschränkungenBeschreibung
features/navigation/bubble/centervec3—Standardposition des Mittelpunkts der Blase.
features/navigation/bubble/center_enabledbool—Auftragen center wird bei der ersten Aktivierung eines Bubble-Verhaltens konfiguriert.
features/navigation/bubble/rotation_enabledbool—Die Drehung des Arbeitsbereichs auf die Navigationsrichtung anwenden.
features/navigation/bubble/scale_enabledbool—Den Maßstab des Arbeitsbereichs auf die Navigationsgeschwindigkeit anwenden.
features/navigation/bubble/center_drift_speedfloat≥ 0Driftgeschwindigkeit (m/s) im Zentrumsmodus auto_follow.
features/navigation/bubble/max_velocityfloat—Maximale Fahrgeschwindigkeit in der Geschwindigkeitszone (m/s).
features/navigation/bubble/velocity_zone_widthfloat—Breite des Geschwindigkeitsbereichs außerhalb der Blasenoberfläche (m).
features/navigation/bubble/reset_velocity_on_entrybool—Die Geschwindigkeit auf Null zurücksetzen, sobald der Cursor in die Blase eintritt.
features/navigation/bubble/spring_innerfloat—Steifigkeitskoeffizient in der Mitte der Blase (N/m).
features/navigation/bubble/spring_surfacefloat—Steifigkeitskoeffizient an der Oberfläche der Blase (N/m).
features/navigation/bubble/spring_outerfloat—Steifigkeitskoeffizient am äußeren Rand (N/m).
features/navigation/bubble/damping_innerfloat—Dämpfungskoeffizient im Zentrum der Blase (Ns/m).
features/navigation/bubble/damping_surfacefloat—Dämpfungskoeffizient an der Oberfläche der Blase (Ns/m).
features/navigation/bubble/damping_outerfloat—Dämpfungskoeffizient am äußeren Rand (Ns/m).
features/navigation/bubble/wall_stiffnessfloat—Steifigkeit der starren Wand am äußeren Rand (N/m).
features/navigation/bubble/bump_widthfloat—Breite der taktilen Erhebung auf der Oberfläche der Blase (m).
features/navigation/bubble/bump_stiffnessfloat—Steifigkeit der taktilen Erhebung auf der Oberfläche der Blase (N/m).
features/navigation/bubble/stop_at_collisionbool—Verhindern, dass der Mittelpunkt der Blase bei einer aktiven Kollision in Richtung der Kollision abdriftet.
features/navigation/bubble/collision_thresholdfloat> 0Stärke der äußeren Kraft (N), ab der eine Kollision erkannt wird.
features/navigation/bubble/collision_inflate_scalefloat≥ 1Multiplikator angewendet auf velocity_zone_width solange eine Kollision aktiv ist.
features/navigation/bubble/collision_exit_ratiofloatIntervall (0,1]Hysteresebericht: Die Kollision endet, wenn |ext_force| nach unten gehen collision_threshold × this. 1.0 deaktiviert die Hysterese.
features/navigation/bubble/avatar_boundary_enabledbool—Die globale Position des Avatars auf die SDF-Form beschränken avatar_boundary konfiguriert.

features/safe_trajectory/…​

Geschwindigkeitsbegrenzer für die Bewegung des Endeffektors.

CléTypEinschränkungenBeschreibung
features/safe_trajectory/enabledbool—Den Geschwindigkeitsbegrenzer für die sichere Fahrbahn aktivieren.
features/safe_trajectory/max_velfloatBereich 0,01–2,0Zulässige Höchstgeschwindigkeit des Endeffektors (m/s).

features/screensaver/…​

Animation des Bildschirmschoners, die auf den Geräten „ Inverse3 “ abgespielt wird, wenn keine Sitzung auf diesen Geräten läuft.

CléTypEinschränkungenBeschreibung
features/screensaver/enabledbool—Aktivieren Sie die Standby-Animation des Bildschirmschoners auf Geräten mit „ Inverse3 “.
features/screensaver/speedfloatBereich 0,001–0,2Geschwindigkeit der Animation des Bildschirmschoners.
features/screensaver/distracted_speedfloatBereich 0,001–0,2Geschwindigkeit der Animation, wenn sich der Benutzer in der Nähe befindet, ohne zu interagieren.

features/sdf/…​

Modul für haptische Effekte mit vorzeichenbehaftetem Entfernungsfeld (SDF HFX).

CléTypEinschränkungenBeschreibung
features/sdf/enabledbool—Das SDF-Modul für haptische Effekte aktivieren oder deaktivieren.
features/sdf/state_outputbool—Den SDF-Status standardmäßig in die Ausgangsdaten des Geräts aufnehmen.
features/sdf/max_countintBereich 0–128Maximale Anzahl aktiver SDF-Effekte (0 = unbegrenzt).
features/sdf/events/createdbool—Ein Ereignis auslösen, wenn ein neuer SDF-Effekt erstellt wird.
features/sdf/events/deletedbool—Ein Ereignis auslösen, wenn ein SDF-Effekt entfernt wird.
features/sdf/events/updatedbool—Ein Ereignis auslösen, wenn ein SDF-Effekt aktualisiert wird.
features/sdf/probe_on_zero_force/enabledbool—Die SDF-Felder werden automatisch getrennt, wenn die ausgeübte Kraft nahe Null ist.
features/sdf/probe_on_zero_force/delayfloatBereich 0,001–60,0Verzögerung bis zur automatischen Abfrage, nachdem die Kraft auf Null gesunken ist (s).

features/verse_grip_pairing/…​

Überwachung des Anbringens und Abnehmens zwischen dem „ Inverse3 “ und einem „Verse Grip“ (mit Kabel oder kabellos). Versorgt die Kopplungsschnittstelle des „ Haply Hub“ mit Strom.

CléTypEinschränkungenBeschreibung
features/verse_grip_pairing/enabledbool—Kopplung sowie Überwachung des Anbringens und Entfernens aktivieren.
features/verse_grip_pairing/hall_threshold_vgintSeite 1–32Hall-Effekt-Schwellenwert, ab dem ein kabelgebundener VerseGrip als befestigt gilt.
features/verse_grip_pairing/hall_threshold_wvgintSeite 1–32Hall-Effekt-Schwellenwert, ab dem ein kabelloser VerseGrip als befestigt gilt.
features/verse_grip_pairing/detach_debounce_msintBereich 0–1000Wartezeit vor der Bestätigung einer Auszahlung (ms).
features/verse_grip_pairing/heartbeat_msintBereich 100–10.000Intervall zwischen den erzwungenen erneuten Meldungen (ms).
features/verse_grip_pairing/force_attachedbool—Den festgelegten Zustand dauerhaft erzwingen true, wobei der Hall-Sensor umgangen wird (Ausweichlösung bei einem Hardware-Ausfall).

session/serialization/…​

Formatierung der Transformationsausgabe – betrifft WebSocket- und HTTP-JSON-Nutzdaten. Diese Schlüssel wurden aus serialization/* vers session/serialization/* in Version 3.5.1, um deren Gültigkeit pro Sitzung widerzuspiegeln. Die alten Pfade funktionieren weiterhin über veraltete Aliase.

CléTypEinschränkungenBeschreibung
session/serialization/explicit_fieldsbool—Die Transformationsfelder, deren Standardwert der Identitätswert ist, in die serialisierte Ausgabe aufnehmen (z. B. position: {0,0,0}, rotation: {w:1,…}). Nützlich, wenn Ihr Kunde verlangt, dass jedes Feld ausdrücklich vorhanden sein muss. Standard: false.
session/serialization/force_complete_transformsbool—Immer senden position, rotation et scale an jedem Transformationsausgang, einschließlich der Geräte mit einseitiger Ausrichtung (Verse Grip, Wireless Verse Grip), die ansonsten nur rotation. Enthält session/serialization/explicit_fields. Standard: false.
serialization/explicit_fields (abgewertet)bool—Verwenden Sie stattdessen session/serialization/explicit_fields. Lese- und Schreibvorgänge werden transparent auf den kanonischen Schlüssel umgeleitet.
serialization/force_complete_transforms (abgewertet)bool—Verwenden Sie stattdessen session/serialization/force_complete_transforms. Lese- und Schreibvorgänge werden transparent auf den kanonischen Schlüssel umgeleitet.

session/…​

Sitzungsplaner.

CléTypEinschränkungenBeschreibung
session/min_simulation_rate_hzintBereich 20–500Mindestfrequenz (Hz), bei der das Gerät eine Simulation erkennen kann, bevor eine Warnung ausgelöst wird.

rate/…​

Rhythmus des Dienstes. Eingeführt in Version 3.5.1 – die vier Schlüssel rate/websocket/* Die folgenden Inhalte befanden sich zuvor unter session/commands/*; die alten Pfade funktionieren weiterhin dank veralteter Aliase.

CléTypEinschränkungenBeschreibung
rate/websocket/zoh_window_msint—Fenster für die Null-Ordnungserhaltung – löscht die in diesem Fenster (ms) empfangenen Messwerte.
rate/websocket/drop_warning_thresholdint—Anzahl der im Fenster verlorenen Befehle vor der Ausgabe einer Warnung.
rate/websocket/drop_warning_window_msint—Größe des Gleitfensters, das zur Ermittlung der verlorenen Befehle verwendet wird (ms).
rate/websocket/tick_on_empty_batchboolfortgeschrittenEinen Termin planen für main_loop selbst wenn ein gesamter WebSocket-Batch verloren gegangen ist.
session/commands/zoh_window_ms (abgewertet)int—Verwenden Sie stattdessen rate/websocket/zoh_window_ms. Lese- und Schreibvorgänge werden transparent umgeleitet.
session/commands/drop_warning_threshold (abgewertet)int—Verwenden Sie stattdessen rate/websocket/drop_warning_threshold. Lese- und Schreibvorgänge werden transparent umgeleitet.
session/commands/drop_warning_window_ms (abgewertet)int—Verwenden Sie stattdessen rate/websocket/drop_warning_window_ms. Lese- und Schreibvorgänge werden transparent umgeleitet.
session/commands/tick_on_empty_batch (abgewertet)bool—Verwenden Sie stattdessen rate/websocket/tick_on_empty_batch. Lese- und Schreibvorgänge werden transparent umgeleitet.

Parameter, die für den internen Gebrauch reserviert sind​

Mehrere Parameterfamilien sind markiert hidden in Version 3.5.1 und sind für den internen Gebrauch bestimmt — rate/dispatch/* (Obergrenze für den AIMD-Sendestrom und Gegendruckschwellenwerte), session/freeform/* (Verhaltensmuster) und session/serialization/preview/* (Serialisierungsversuche in der Vorabversion, wie beispielsweise die Ausgabe in Euler-Quaternionen und das Wireless-VerseGrip-Routing). Sie sind zugänglich über misc/hidden_settings zu Debugging-Zwecken, aber rechnen Sie damit, dass sie in einer zukünftigen Nebenversion hochgestuft, umbenannt oder entfernt werden – machen Sie das Verhalten Ihres Clients nicht von diesen Einstellungen abhängig.