Skip to main content
Version : 3.5.x

Référence des paramètres

Ce document répertorie tous les paramètres renvoyés par le /settings/ point de terminaison avec leur clé, type (tiré de type_hint), et contraintes (tiré de metadata.constraint.range + locked le cas échéant).

A locked le réglage est en lecture seule lors de l'exécution. Il peut être modifié via le fichier de configuration ou via le Hub Haply page des paramètres, mais un redémarrage complet du système est nécessaire pour que les modifications prennent effet. Celles-ci sont indiquées démarrer dans les tableaux ci-dessous.

Configuration

Le fichier de configuration permettant de remplacer les paramètres lors du démarrage du service se trouve ici :

PlateformeLieu
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

Le fichier de configuration est un objet JSON plat mappage des clés de paramètres pour remplacer les valeurs. Les clés doivent être des clés de paramètres valides renvoyées par le /settings/ Route HTTP (voir Référence API). Toute clé non spécifiée utilise la valeur par défaut du service.

Par exemple, une modification de la configuration réseau :

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

Visibilité et filtrage

Les /settings liste des points de terminaison (GET /settings, GET /settings/) renvoie uniquement de base paramètres par défaut. Passer ?advanced=true pour inclure les paramètres marqués comme « avancés », ?deprecated=true pour inclure les alias obsolètes. Les paramètres masqués sont réservés à un usage interne ; ils n'apparaissent que lorsque misc/hidden_settings est défini via POST /settings/misc/hidden_settings (pas d'équivalent pour le paramètre de requête). Filtrer les indicateurs ET ensemble — une clé marquée à la fois advanced et hidden Les deux portes doivent être ouvertes. Les commandes POST et DELETE sur une clé connue ne sont pas soumises à ces conditions.

Lectures à clé unique (GET /settings/<key>) contourner le filtre « avancé/obsolète » lorsque vous utilisez la clé canonique exacte — ce qui est utile pour les clients disposant d'informations préalables. Les clés masquées restent soumises au filtre.

Trois commutateurs d'exécution initialisent les portes ; leurs valeurs sont conservées pendant toute la durée de vie du service :

CléTypeContraintesDescription
misc/advanced_settingsboolInclure advancedles paramètres marqués d'un drapeau dans GET /settings annonces (par défaut) false). Équivalent à « passer » ?advanced=true à chaque demande.
misc/deprecated_settingsboolInclure deprecatedles paramètres marqués d'un drapeau dans GET /settings annonces (par défaut) false). Équivalent à « passer » ?deprecated=true à chaque demande.

Mappage de types

Les indications de type renvoyées par l'API correspondent aux structures JSON suivantes :

  • STRINGstring
  • BOOLbool
  • INTint
  • FLOATfloat
  • ARR_STRINGstring[]
  • VEC3vec3 (objet avec {x, y, z})
  • GENERICjson (valeur structurée arbitraire)

communication/…

Ports réseau et adresses de liaison pour les serveurs HTTP, WebSocket et event-stream. La plupart des entrées ne sont actives qu'au démarrage.

CléTypeContraintesDescription
communication/serial/enabledboolActiver ou désactiver la communication avec les périphériques série.
communication/bind_addressstringdémarrerAdresse IP à laquelle les serveurs HTTP et WebSocket se connectent.
communication/bind_all_interfacesbooldémarrerLier les serveurs à 0.0.0.0 au lieu de localhost.
communication/http/portintdémarrerPort de l'API REST HTTP (par défaut 10000).
communication/websocket/portintdémarrerPort WebSocket principal v3.1 (par défaut) 10001).
communication/websocket/legacy_portintdémarrerPort WebSocket Legacy v3.0 (par défaut) 10000).
communication/events/portintdémarrerPort WebSocket pour le flux d'événements (par défaut) 10020).

devices/…

devices/detection/…

Politique de balayage des ports série. Toutes les entrées sont avancées.

CléTypeContraintesDescription
devices/detection/scan_period_msintplage 100–10 000 ; démarrageIntervalle entre les analyses du port série (ms).
devices/detection/handshake_timeout_sintintervalle 1–15Délai d'expiration de la poignée de main par port (en secondes).
devices/detection/max_retriesintintervalle de 1 à 10Nombre maximal de tentatives de reconnexion par port.
devices/detection/failure_log_delay_sintintervalle 1–60Délai avant la nouvelle enregistrement d'un échec de détection (en secondes).
devices/detection/block_looping_portsboolSuspendre la disponibilité du périphérique bloc lorsqu'un port en boucle est détecté.
devices/detection/excluded_portsjsonChemins d'accès aux ports série à ignorer lors de la détection.
devices/detection/additional_portsstring[]Chemins d'accès supplémentaires vers les ports série à analyser sans condition.
devices/detection/allowed_vendor_id_filterstring[]Identifiants de fournisseur USB autorisés lors de l'énumération des ports.
devices/detection/port_name_substring_filterstring[]Sous-chaînes de nom de port spécifiques à la plateforme à rechercher.
devices/detection/wireless_verse_grip_description_filterstring[]Sous-chaînes de description des ports pour la détection sans fil du VerseGrip.
devices/detection/inverse3x_description_filterstring[]Sous-chaînes de description des ports pour la détection Inverse3x.
devices/detection/extra_ports (obsolète)string[]Utilisation devices/detection/additional_ports à la place. Les opérations de lecture et d'écriture sont transmises de manière transparente à la clé canonique.

devices/*inverse/…

Paramètres par défaut globaux appliqués à tous les appareils Inverse3. Les modifications par session ont la priorité.

Renommé dans la version 3.5.1

La boule était devices/inverse*/… dans la version 3.5.0 ; le caractère de début * se trouve désormais devant inverse. Les fichiers de configuration utilisant l'ancienne valeur littérale ne pourront pas être chargés sous la version 3.5.1 — veuillez les mettre à jour. Les clés elles-mêmes restent inchangées.

CléTypeContraintesDescription
devices/*inverse/filters/force_scale/gainfloatintervalle 0,0–2,0Multiplicateur de force global appliqué à tous les appareils.
devices/*inverse/filters/force_gate/gainfloatintervalle 0,0–1,0Gain par défaut de la fonction « force-gate » pour les nouvelles sessions.
devices/*inverse/control_timeout_msintplage de 50 à 10 000Délai d'expiration avant la levée du verrouillage de contrôle de l'appareil (en ms).
devices/*inverse/query_orientation_on_idleboolDemander l'orientation du corps de l'appareil au micrologiciel lorsque celui-ci est en veille.
devices/*inverse/safeties/expose_in_snapshotboolInclure des indicateurs de sécurité par appareil dans GET /devices/{id} instantanés.

devices/presets

CléTypeContraintesDescription
devices/presetsjsonPréréglages de configuration par défaut par type d'appareil (transformation de montage, base, etc. pour inverse_arm_front_*, inverse_led_front_*, minverse_*, verse_grip_default, wireless_verse_grip_default, custom_verse_grip_default).

devices/wireless_verse_grip/…

CléTypeContraintesDescription
devices/wireless_verse_grip/battery/low_thresholdintPourcentage de batterie en dessous duquel un avertissement de batterie faible se déclenche.
devices/wireless_verse_grip/battery/critical_thresholdintPourcentage de charge de la batterie en dessous duquel une alerte de batterie faible se déclenche.
devices/wireless_verse_grip/battery/reset_marginintMarge d'hystérésis avant la désactivation d'un avertissement concernant la batterie.
devices/wireless_verse_grip/filters/orientation_filterjsondémarrerUne configuration de filtre « One Euro » pour l'orientation sans fil du VerseGrip.

features/…

features/calibration/…

CléTypeContraintesDescription
features/calibration/hall_thresholdintplage de 1 à 32Niveau du capteur à effet Hall à partir duquel le stylet est considéré comme connecté pendant l'étalonnage.

features/grip_hook/…

Comportement automatique du crochet de sélection — verrouille le curseur tant que le crochet est maintenu à la verticale.

CléTypeContraintesDescription
features/grip_hook/enabledboolActiver le verrouillage automatique du crochet de la poignée lorsque celle-ci est maintenue en position verticale.
features/grip_hook/use_hallboolUtilisez le seuil du capteur à effet Hall plutôt que l'orientation pour détecter l'adhérence.
features/grip_hook/hallintplage de 1 à 32Seuil de la valeur du capteur à effet Hall pour déclencher le verrouillage de la poignée.
features/grip_hook/hold_durationintplage de 10 à 1 000Durée de maintien du verrouillage après le déclenchement (ms).

features/navigation/bubble/…

Paramètres par défaut du module de navigation par bulles — transmis à la session lorsqu'un bubble le comportement est d'abord activé. Voir le Module de navigation page consacrée à la sémantique d'exécution de chaque champ.

CléTypeContraintesDescription
features/navigation/bubble/centervec3Position par défaut du centre de la bulle.
features/navigation/bubble/center_enabledboolAppliquez la configuration center lorsqu'un comportement de bulle est activé pour la première fois.
features/navigation/bubble/rotation_enabledboolAppliquer la rotation de l'espace de travail à la direction de navigation.
features/navigation/bubble/scale_enabledboolAppliquer l'échelle de l'espace de travail à la vitesse de navigation.
features/navigation/bubble/center_drift_speedfloat≥ 0Vitesse de dérive (m/s) en auto_follow mode centré.
features/navigation/bubble/max_velocityfloatVitesse maximale de navigation dans la zone de vitesse (m/s).
features/navigation/bubble/velocity_zone_widthfloatLargeur de la zone de vitesse à l'extérieur de la surface de la bulle (m).
features/navigation/bubble/reset_velocity_on_entryboolRéinitialiser la vitesse à zéro lorsque le curseur entre dans la bulle.
features/navigation/bubble/spring_innerfloatCoefficient de ressort au centre de la bulle (N/m).
features/navigation/bubble/spring_surfacefloatCoefficient de ressort à la surface de la bulle (N/m).
features/navigation/bubble/spring_outerfloatCoefficient de ressort à la limite extérieure (N/m).
features/navigation/bubble/damping_innerfloatCoefficient d'amortissement au centre de la bulle (Ns/m).
features/navigation/bubble/damping_surfacefloatCoefficient d'amortissement à la surface de la bulle (Ns/m).
features/navigation/bubble/damping_outerfloatCoefficient d'amortissement à la limite extérieure (Ns/m).
features/navigation/bubble/wall_stiffnessfloatRigidité de la paroi rigide au niveau de la limite extérieure (N/m).
features/navigation/bubble/bump_widthfloatLargeur de la protubérance tactile à la surface de la bulle (m).
features/navigation/bubble/bump_stiffnessfloatRigidité de la protubérance tactile à la surface de la bulle (N/m).
features/navigation/bubble/stop_at_collisionboolEmpêcher le centre de la bulle de se déplacer dans la direction de la collision lorsqu'une collision est en cours.
features/navigation/bubble/collision_thresholdfloat> 0Intensité de la force externe (N) à laquelle une collision est détectée.
features/navigation/bubble/collision_inflate_scalefloat≥ 1Multiplicateur appliqué à velocity_zone_width tant qu'une collision est active.
features/navigation/bubble/collision_exit_ratiofloatintervalle (0,1]Rapport d'hystérésis — sortir de la collision lorsque |ext_force| passe en dessous de collision_threshold × this. 1.0 désactive l'hystérésis.
features/navigation/bubble/avatar_boundary_enabledboolFixer la position de l'avatar dans le monde à la valeur configurée avatar_boundary Forme SDF.

features/safe_trajectory/…

Limiteur de vitesse pour le mouvement de l'effecteur terminal.

CléTypeContraintesDescription
features/safe_trajectory/enabledboolActiver le limiteur de vitesse de trajectoire sécurisée.
features/safe_trajectory/max_velfloatintervalle 0,01–2,0Vitesse maximale autorisée de l'effecteur terminal (m/s).

features/screensaver/…

Animation d'inactivité diffusée sur Inverse3 lorsqu'aucune session ne les pilote.

CléTypeContraintesDescription
features/screensaver/enabledboolActiver l'animation de l'économiseur d'écran en mode veille sur Inverse3 .
features/screensaver/speedfloatintervalle 0,001–0,2Vitesse d'animation de l'économiseur d'écran.
features/screensaver/distracted_speedfloatintervalle 0,001–0,2Vitesse de l'animation lorsque l'utilisateur est à proximité mais n'interagit pas.

features/sdf/…

Module d'effets haptiques pour champs de distance signés (SDF HFX).

CléTypeContraintesDescription
features/sdf/enabledboolActiver ou désactiver le module d'effets haptiques SDF.
features/sdf/state_outputboolInclure par défaut l'état SDF dans les données de sortie des périphériques.
features/sdf/max_countintplage de 0 à 128Nombre maximal d'effets SDF actifs (0 = illimité).
features/sdf/events/createdboolDéclencher un événement lorsqu'un nouvel effet SDF est créé.
features/sdf/events/deletedboolDéclencher un événement lorsqu'un effet SDF est supprimé.
features/sdf/events/updatedboolDéclencher un événement lorsqu'un effet SDF est mis à jour.
features/sdf/probe_on_zero_force/enabledboolAnalyser automatiquement les champs SDF lorsque la force appliquée est proche de zéro.
features/sdf/probe_on_zero_force/delayfloatplage de 0,001 à 60,0Délai avant le démarrage de la détection automatique après que la force est tombée à zéro (s).

features/verse_grip_pairing/…

Activer/désactiver le suivi entre un Inverse3 un Verse Grip (avec ou sans fil). Permet d'utiliser l'interface utilisateur de couplage du Haply .

CléTypeContraintesDescription
features/verse_grip_pairing/enabledboolActiver le suivi des appariements / des connexions et déconnexions.
features/verse_grip_pairing/hall_threshold_vgintplage de 1 à 32Niveau de hall à partir duquel un VerseGrip filaire est considéré comme connecté.
features/verse_grip_pairing/hall_threshold_wvgintplage de 1 à 32Niveau de signal à partir duquel un VerseGrip sans fil est considéré comme connecté.
features/verse_grip_pairing/detach_debounce_msintplage de 0 à 1 000Délai d'attente avant de valider une déconnexion (en ms).
features/verse_grip_pairing/heartbeat_msintplage de 100 à 10 000Intervalle entre les renotifications forcées (ms).
features/verse_grip_pairing/force_attachedboolForcer définitivement l'état associé à true, en contournant le capteur à effet Hall (solution de contournement en cas de défaillance matérielle).

session/serialization/…

Mise en forme de la sortie de transformation — concerne les charges utiles JSON WebSocket et HTTP. Ces clés ont été déplacées depuis serialization/* à session/serialization/* dans la version 3.5.1 afin de refléter leur portée par session. Les anciens chemins d'accès sont toujours accessibles via des alias obsolètes.

CléTypeContraintesDescription
session/serialization/explicit_fieldsboolInclure les champs de transformation dont la valeur est égale à leur valeur par défaut dans la sortie sérialisée (par exemple : position: {0,0,0}, rotation: {w:1,…}). Utile lorsque votre client exige que chaque champ soit explicitement présent. Par défaut : false.
session/serialization/force_complete_transformsboolToujours émettre position, rotation, et scale dans chaque sortie de transformation, y compris les appareils dédiés à l'orientation (Verse Grip, Wireless Verse Grip) qui, autrement, n'émettent que rotation. Englobe session/serialization/explicit_fields. Par défaut : false.
serialization/explicit_fields (obsolète)boolUtilisation session/serialization/explicit_fields à la place. Les opérations de lecture et d'écriture sont transmises de manière transparente à la clé canonique.
serialization/force_complete_transforms (obsolète)boolUtilisation session/serialization/force_complete_transforms à la place. Les opérations de lecture et d'écriture sont transmises de manière transparente à la clé canonique.

session/…

Planificateur de sessions.

CléTypeContraintesDescription
session/min_simulation_rate_hzintplage de 20 à 500Fréquence minimale acceptable de simulation de l'appareil (Hz) avant le déclenchement d'un avertissement.

rate/…

Rythme de service. Introduit dans la version 3.5.1 — les quatre rate/websocket/* Les touches ci-dessous se trouvaient auparavant sous session/commands/*; les anciens chemins d'accès sont toujours résolus via des alias obsolètes.

CléTypeContraintesDescription
rate/websocket/zoh_window_msintFenêtre de retenue d'ordre zéro — supprime les sondes reçues pendant cette fenêtre (en ms).
rate/websocket/drop_warning_thresholdintNombre de commandes ignorées dans la fenêtre avant l'affichage d'un avertissement.
rate/websocket/drop_warning_window_msintDurée de la fenêtre glissante pour le comptage des commandes perdues (ms).
rate/websocket/tick_on_empty_batchboolavancéPrendre rendez-vous main_loop s'affiche même lorsqu'un lot entier de WebSockets a été perdu.
session/commands/zoh_window_ms (obsolète)intUtilisation rate/websocket/zoh_window_ms à la place. Les opérations de lecture et d'écriture sont transmises de manière transparente.
session/commands/drop_warning_threshold (obsolète)intUtilisation rate/websocket/drop_warning_threshold à la place. Les opérations de lecture et d'écriture sont transmises de manière transparente.
session/commands/drop_warning_window_ms (obsolète)intUtilisation rate/websocket/drop_warning_window_ms à la place. Les opérations de lecture et d'écriture sont transmises de manière transparente.
session/commands/tick_on_empty_batch (obsolète)boolUtilisation rate/websocket/tick_on_empty_batch à la place. Les opérations de lecture et d'écriture sont transmises de manière transparente.

Paramètres réservés à l'usage interne

Plusieurs familles de paramètres sont fournies hidden dans la section 3.5.1 et sont réservées à un usage interne — rate/dispatch/* (Limite de fréquence d'émission et seuils de contre-pression de l'AIMD), session/freeform/* (empreinte comportementale), et session/serialization/preview/* (expériences de pré-lancement telles que la sortie de quaternions d'Euler et le routage Wireless VerseGrip). Elles sont accessibles via misc/hidden_settings à des fins de débogage, mais attendez-vous à ce qu'elles soient promues, renommées ou supprimées dans une version mineure ultérieure — ne basez pas le comportement du client sur elles.