Aller directement au corps du texte

Voir les paramètres

Ce document est /settings/ Tous les paramètres renvoyés par le point de terminaison clé, Type(type_hint (critère), Conditions restrictives(metadata.constraint.range et, le cas échéant, locked (critères) sont répertoriés ci-dessous.

locked Les paramètres sont En lecture seule à l'exécutionC'est-à-dire le fichier de configuration ou Hub Haply Vous pouvez modifier ces paramètres via la page des paramètres, mais pour que les modifications prennent effet, Il faut redémarrer complètement le service.. Ces paramètres figurent dans le tableau ci-dessous : démarrerest indiqué par .

Composition​

Le fichier de configuration permettant de redéfinir les paramètres au démarrage du service se trouve à l'emplacement suivant :

plateformeEmplacement
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

Les fichiers de configuration établissent une correspondance entre les clés de configuration et leurs valeurs de remplacement Objet JSON platC'est ça. La clé est /settings/ Il doit s'agir d'une clé de configuration valide renvoyée par la route HTTP (Référence de l'API (Remarque) Les clés non spécifiées utilisent les valeurs par défaut du service.

Par exemple, la redéfinition de la configuration réseau se présente comme suit :

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

Affichage et filtrage​

/settings Point de terminaison de la liste (GET /settings, GET /settings/) est, par défaut, De base (basic) Ne renvoie que les paramètres. Pour inclure les paramètres pour lesquels le drapeau « advanced » a été spécifié, ?advanced=truePour inclure des alias marqués comme obsolètes, ?deprecated=trueVeuillez transmettre ceci. Le paramètre « masqué » est réservé à un usage interne, et POST /settings/misc/hidden_settingspar le biais de misc/hidden_settingsS'affiche uniquement si cette option est activée (il n'existe aucun paramètre de requête correspondant). Les filtres sont combinés avec l'opérateur « ET ». advancedWa hidden Pour une clé dont tous les indicateurs sont activés, les deux portes doivent être ouvertes. Les requêtes POST et DELETE concernant des clés connues ne sont pas soumises aux restrictions liées aux portes.

Si l'on utilise correctement la clé canonique (canonical key), la recherche par clé unique (GET /settings/<key>) contourne les filtres « advanced » et « deprecated ». Utile pour les clients disposant de connaissances préalables. Les clés cachées restent soumises aux restrictions de ces filtres.

Trois commutateurs d'exécution définissent la valeur initiale de la porte, qui est conservée pendant toute la durée de vie du service :

cléTypeConditions restrictivesDescription
misc/advanced_settingsbool—GET /settings Dans la liste advanced Contient les paramètres marqués d'un indicateur (valeur par défaut false). Pour chaque requête, ?advanced=trueC'est comme si on transmettait…
misc/deprecated_settingsbool—GET /settings Dans la liste deprecated Contient les paramètres marqués d'un indicateur (valeur par défaut false). Pour chaque requête, ?deprecated=trueC'est comme si on transmettait…

Mappage des types​

Les indications de type renvoyées par l'API correspondent au format JSON suivant :

  • STRING → string
  • BOOL → bool
  • INT → int
  • FLOAT → float
  • ARR_STRING → string[]
  • VEC3 → vec3 ({x, y, z} (objet doté de propriétés)
  • GENERIC → json (valeur structurée arbitraire)

communication/…​

Il s'agit des ports réseau et des adresses de liaison des serveurs HTTP, WebSocket et de flux d'événements. La plupart de ces éléments sont réservés au démarrage.

cléTypeConditions restrictivesDescription
communication/serial/enabledbool—Active ou désactive la communication par port série.
communication/bind_addressstringdémarrerIl s'agit de l'adresse IP à laquelle les serveurs HTTP et WebSocket doivent se lier.
communication/bind_all_interfacesbooldémarrerle serveur à la place de « localhost » 0.0.0.0se lie à.
communication/http/portintdémarrerPort de l'API REST HTTP (valeur par défaut 10000).
communication/websocket/portintdémarrerPort WebSocket par défaut de la version 3.1 (valeur par défaut 10001).
communication/websocket/legacy_portintdémarrerPort WebSocket Legacy v3.0 (valeur par défaut 10000).
communication/events/portintdémarrerPort WebSocket du flux d'événements (valeur par défaut 10020).

devices/…​

devices/detection/…​

Il s'agit de la politique de balayage des ports série. Tous les éléments relèvent des paramètres avancés (advanced).

cléTypeConditions restrictivesDescription
devices/detection/scan_period_msintPlage : 100–10 000 ; au démarrageIntervalle de balayage du port série (ms).
devices/detection/handshake_timeout_sintPlage 1–15Délai d'attente de la poignée de main par port (en secondes).
devices/detection/max_retriesintPlage : 1 à 10Nombre maximal de tentatives de handshake par port.
devices/detection/failure_log_delay_sintPlage : 1 à 60Temps de latence (en secondes) avant l'enregistrement d'un nouvel échec de détection.
devices/detection/block_looping_portsbool—Si un port en boucle est détecté, l'état de préparation de l'appareil est désactivé.
devices/detection/excluded_portsjson—Chemin d'accès au port série à ignorer lors de la détection.
devices/detection/additional_portsstring[]—Chemin d'accès à un port série supplémentaire à analyser sans condition.
devices/detection/allowed_vendor_id_filterstring[]—ID de fournisseur USB autorisés lors de l'énumération des ports.
devices/detection/port_name_substring_filterstring[]—Sous-chaîne du nom de port spécifique à chaque plateforme avec laquelle effectuer la mise en correspondance.
devices/detection/wireless_verse_grip_description_filterstring[]—Extrait de la description du port de détection sans fil VerseGrip.
devices/detection/inverse3x_description_filterstring[]—Extrait de la description du port de détection Inverse3x.
devices/detection/extra_ports (Obsolète)string[]—au lieu de cela devices/detection/additional_portsest utilisé. Les opérations de lecture et d'écriture sont transmises de manière transparente via la clé officielle.

devices/*inverse/…​

Il s'agit d'une valeur par défaut globale applicable à tous les appareils de la gamme Inverse3 . Les modifications définies au niveau de la session prévalent.

Son nom a été modifié dans la version 3.5.1

Dans la version 3.5.0, les motifs globaux sont devices/inverse*/…et, auparavant *C'est maintenant inverse Elle se trouve au début. Les fichiers de configuration utilisant l'ancienne notation littérale échoueront lors de la liaison dans la version 3.5.1 ; veuillez donc les mettre à jour. La clé elle-même n'a pas subi d'autres modifications.

cléTypeConditions restrictivesDescription
devices/*inverse/filters/force_scale/gainfloatPlage : 0,0–2,0Facteur de puissance de sortie global applicable à tous les appareils.
devices/*inverse/filters/force_gate/gainfloatIntervalle : 0,0–1,0Gain par défaut de la porte de puissance pour une nouvelle session.
devices/*inverse/control_timeout_msintPlage : 50–10 000Délai d'expiration (en ms) avant le déverrouillage du contrôle du périphérique.
devices/*inverse/query_orientation_on_idlebool—Lorsque l'appareil est inactif, le micrologiciel vérifie l'orientation de l'appareil.
devices/*inverse/safeties/expose_in_snapshotbool—GET /devices/{id} Les instantanés contiennent des indicateurs de sécurité spécifiques à chaque appareil.

devices/presets​

cléTypeConditions restrictivesDescription
devices/presetsjson—Préréglages de configuration par défaut par type d'appareil (inverse_arm_front_*, inverse_led_front_*, minverse_*, verse_grip_default, wireless_verse_grip_default, custom_verse_grip_default(conversion de montage, base, etc.).

devices/wireless_verse_grip/…​

cléTypeConditions restrictivesDescription
devices/wireless_verse_grip/battery/low_thresholdint—Seuil de niveau de charge de la batterie (en %) déclenchant l'alerte de faible autonomie.
devices/wireless_verse_grip/battery/critical_thresholdint—Seuil de niveau de charge de la batterie (en %) à partir duquel un avertissement de danger lié à la batterie s'affiche.
devices/wireless_verse_grip/battery/reset_marginint—Marge d'hystérésis avant le désactivation de l'alerte de batterie.
devices/wireless_verse_grip/filters/orientation_filterjsonAu démarrageConfiguration du filtre One Euro pour la version sans fil du VerseGrip.

features/…​

features/calibration/…​

cléTypeConditions restrictivesDescription
features/calibration/hall_thresholdintPlage 1–32Niveau du capteur à trou indiquant que le stylet est vraisemblablement monté pendant l'étalonnage.

features/grip_hook/…​

Il s'agit d'une fonction de verrouillage automatique du curseur qui maintient celui-ci en place tant que la poignée est tenue à la verticale.

cléTypeConditions restrictivesDescription
features/grip_hook/enabledbool—Cela active le verrouillage automatique du crochet de poignée lorsque vous tenez la poignée bien droite.
features/grip_hook/use_hallbool—Pour la détection de la prise en main, on utilise le seuil du capteur de trou plutôt que la direction.
features/grip_hook/hallintPlage 1–32Seuil de la valeur du capteur à fente déclenchant le verrouillage de la poignée.
features/grip_hook/hold_durationintPlage : 10–1 000Durée (en ms) pendant laquelle le verrouillage est maintenu après le déclenchement.

features/navigation/bubble/…​

Il s'agit des valeurs par défaut du module de navigation par bulles. bubble Il est transmis à la session lors de la première activation de l'action. Le comportement d'exécution de chaque champ est Module de navigation Veuillez consulter la page.

cléTypeConditions restrictivesDescription
features/navigation/bubble/centervec3—Il s'agit de la position centrale par défaut de la bulle.
features/navigation/bubble/center_enabledbool—La valeur définie lors de la première activation de la fonctionnalité « bulles » centerest appliqué.
features/navigation/bubble/rotation_enabledbool—La rotation de l'espace de travail est appliquée au sens de la navigation.
features/navigation/bubble/scale_enabledbool—Appliquer l'échelle de l'espace de travail à la vitesse de navigation.
features/navigation/bubble/center_drift_speedfloat≥ 0auto_follow Il s'agit de la vitesse de dérive (en m/s) en mode central.
features/navigation/bubble/max_velocityfloat—Il s'agit de la vitesse maximale de navigation (en m/s) dans cette plage de vitesse.
features/navigation/bubble/velocity_zone_widthfloat—Il s'agit de la largeur (en mètres) de la zone de vitesse située à l'extérieur de la surface de la bulle.
features/navigation/bubble/reset_velocity_on_entrybool—La vitesse est réinitialisée à 0 lorsque le curseur pénètre dans la bulle.
features/navigation/bubble/spring_innerfloat—Il s'agit du coefficient de ressort (N/m) au centre de la bulle.
features/navigation/bubble/spring_surfacefloat—Il s'agit du coefficient de ressort (N/m) à la surface de la bulle.
features/navigation/bubble/spring_outerfloat—Il s'agit du coefficient de ressort (N/m) au niveau de la limite extérieure.
features/navigation/bubble/damping_innerfloat—Il s'agit du coefficient d'atténuation (Ns/m) au centre de la bulle.
features/navigation/bubble/damping_surfacefloat—Il s'agit du coefficient d'atténuation (Ns/m) à la surface d'une bulle.
features/navigation/bubble/damping_outerfloat—Il s'agit du coefficient d'atténuation (Ns/m) à la limite extérieure.
features/navigation/bubble/wall_stiffnessfloat—Il s'agit de la rigidité (N/m) du mur rigide situé à la limite extérieure.
features/navigation/bubble/bump_widthfloat—Il s'agit de la largeur (en m) des protubérances tactiles situées à la surface de la bulle.
features/navigation/bubble/bump_stiffnessfloat—Il s'agit de la rigidité (N/m) des reliefs tactiles présents à la surface de la bulle.
features/navigation/bubble/stop_at_collisionbool—Empêche le centre de la bulle de dériver dans la direction de la collision lorsque celle-ci est active.
features/navigation/bubble/collision_thresholdfloat> 0Il s'agit de l'intensité de la force extérieure (en N) permettant de détecter une collision.
features/navigation/bubble/collision_inflate_scalefloat≥ 1Tant que le conflit est actif, velocity_zone_widthC'est le facteur d'agrandissement.
features/navigation/bubble/collision_exit_ratiofloatIntervalle (0,1]Il s'agit du coefficient d'hystérésis. |ext_force|a collision_threshold × this Si l'objet tombe, l'état de collision est désactivé. 1.0Cela désactive l'hystérésis.
features/navigation/bubble/avatar_boundary_enabledbool—La position de l'avatar dans le monde a été définie avatar_boundary Limite-le à la forme SDF.

features/safe_trajectory/…​

Il s'agit d'un limiteur de vitesse destiné au fonctionnement de l'effecteur terminal.

cléTypeConditions restrictivesDescription
features/safe_trajectory/enabledbool—Active le limiteur de vitesse « trajectoire de sécurité » (safe-trajectory).
features/safe_trajectory/max_velfloatPlage : 0,01–2,0Il s'agit de la vitesse maximale autorisée de l'effecteur terminal (en m/s).

features/screensaver/…​

Il s'agit d'une animation d'inactivité qui s'affiche sur les appareils Inverse3 lorsque la session n'est pas active.

cléTypeConditions restrictivesDescription
features/screensaver/enabledbool—Inverse3 Active l'animation de l'économiseur d'écran lorsque l'appareil est inactif.
features/screensaver/speedfloatPlage : 0,001 – 0,2Il s'agit de la vitesse d'animation de l'économiseur d'écran.
features/screensaver/distracted_speedfloatPlage : 0,001 – 0,2Il s'agit de la vitesse d'animation lorsque l'utilisateur se trouve à proximité mais n'interagit pas.

features/sdf/…​

Il s'agit du module d'effets haptiques (SDF HFX) basé sur le champ de distance signé (SDF).

cléTypeConditions restrictivesDescription
features/sdf/enabledbool—Active ou désactive le module d'effets haptiques SDF.
features/sdf/state_outputbool—Par défaut, la charge utile de sortie de l'appareil inclut l'état SDF.
features/sdf/max_countintPlage : 0 à 128Nombre maximal d'effets SDF actifs (0 = (illimité).
features/sdf/events/createdbool—Déclenche un événement lorsqu'un nouvel effet SDF est créé.
features/sdf/events/deletedbool—Déclenche un événement lorsque l'effet SDF est supprimé.
features/sdf/events/updatedbool—Déclenche un événement lorsque l'effet SDF est mis à jour.
features/sdf/probe_on_zero_force/enabledbool—Le champ SDF est automatiquement sondé lorsque la force appliquée est proche de zéro.
features/sdf/probe_on_zero_force/delayfloatPlage : 0,001–60,0Il s'agit du temps de latence (en secondes) entre le moment où la puissance tombe à 0 et le début de la sonde automatique.

features/verse_grip_pairing/…​

Inverse3 Il s'agit d'une fonctionnalité permettant de suivre la connexion et la déconnexion entre l'appareil et le Verse Grip (avec ou sans fil). Elle sert de base à l'interface utilisateur de couplage du Hub « Haply ».

cléTypeConditions restrictivesDescription
features/verse_grip_pairing/enabledbool—Active le suivi de l'appairage et de la connexion/déconnexion.
features/verse_grip_pairing/hall_threshold_vgintPlage 1–32Il s'agit du niveau de la prise correspondant à une connexion VerseGrip filaire.
features/verse_grip_pairing/hall_threshold_wvgintPlage 1–32Il s'agit du niveau de trou déterminé par la connexion sans fil VerseGrip.
features/verse_grip_pairing/detach_debounce_msintPlage : 0–1 000Il s'agit de la période de rebond (en ms) avant la confirmation de la séparation.
features/verse_grip_pairing/heartbeat_msintPlage : 100–10 000Il s'agit de l'intervalle (en ms) entre deux rappels forcés.
features/verse_grip_pairing/force_attachedbool—Contourner le capteur de trou pour vérifier l'état de la connexion truepour le verrouiller de manière permanente (afin de contourner les pannes matérielles).

session/serialization/…​

Format de sortie « Transform » — Affecte les charges utiles JSON WebSocket et HTTP. Ces clés ont été introduites dans la version 3.5.1 afin de refléter la portée par session. serialization/*de session/serialization/*A été déplacé. L'ancienne URL est toujours résolvée via un alias « obsolète » (deprecated).

cléTypeConditions restrictivesDescription
session/serialization/explicit_fieldsbool—La sortie sérialisée contient un champ « transform » dont la valeur par défaut est identique à la valeur d'identité (par exemple : position: {0,0,0}, rotation: {w:1,…}). Cette option est utile lorsque le client exige que tous les champs soient explicitement présents. Valeur par défaut : false.
session/serialization/force_complete_transformsbool—Toutes les sorties « transform », y compris les accessoires dédiés à l'orientation (Verse Grip, Wireless Verse Grip), position, rotation, Et puis scaleaffiche toujours. Ces appareils, sinon, rotationAffiche uniquement. session/serialization/explicit_fieldscouvre. Valeur par défaut : false.
serialization/explicit_fields (Fin du soutien)bool—au lieu de cela session/serialization/explicit_fieldsest utilisé. Les opérations de lecture et d'écriture sont transmises de manière transparente via la clé officielle.
serialization/force_complete_transforms (Fin du soutien)bool—au lieu de cela session/serialization/force_complete_transformsest utilisé. Les opérations de lecture et d'écriture sont transmises de manière transparente via la clé officielle.

session/…​

Il s'agit du planificateur de sessions.

cléTypeConditions restrictivesDescription
session/min_simulation_rate_hzintPlage : 20–500Il s'agit de la fréquence minimale admissible de simulation de l'appareil (Hz) avant le déclenchement d'un avertissement.

rate/…​

Il s'agit du « service pacing ». Cette fonctionnalité a été introduite dans la version 3.5.1 — les quatre éléments ci-dessous rate/websocket/* La clé, auparavant, session/commands/* Elle se trouvait ci-dessous, et l'ancienne URL est toujours résolue via un alias « obsolète » (deprecated).

cléTypeConditions restrictivesDescription
rate/websocket/zoh_window_msint—Fenêtre de maintien d'ordre zéro (zero-order-hold) — Supprime les impulsions reçues pendant la durée de cette fenêtre (ms).
rate/websocket/drop_warning_thresholdint—Il s'agit du nombre de commandes déposées dans la fenêtre avant l'apparition de l'avertissement.
rate/websocket/drop_warning_window_msint—Taille de la fenêtre glissante (en ms) utilisée pour agréger les commandes perdues.
rate/websocket/tick_on_empty_batchboolhaut de gammeMême si l'ensemble de la session WebSocket a été interrompu, main_loop Je prends rendez-vous pour une séance de tique.
session/commands/zoh_window_ms (Fin du soutien)int—au lieu de cela rate/websocket/zoh_window_msest utilisé. Les opérations de lecture et d'écriture sont transmises de manière transparente.
session/commands/drop_warning_threshold (Fin du soutien)int—au lieu de cela rate/websocket/drop_warning_thresholdest utilisé. Les opérations de lecture et d'écriture sont transmises de manière transparente.
session/commands/drop_warning_window_ms (Fin du soutien)int—au lieu de cela rate/websocket/drop_warning_window_msest utilisé. Les opérations de lecture et d'écriture sont transmises de manière transparente.
session/commands/tick_on_empty_batch (Fin du soutien)bool—au lieu de cela rate/websocket/tick_on_empty_batchest utilisé. Les opérations de lecture et d'écriture sont transmises de manière transparente.

Paramètres réservés à un usage interne​

Dans la version 3.5.1, plusieurs séries de paramètres hiddenest fourni et réservé à un usage interne — rate/dispatch/*(Limite supérieure de la vitesse de transmission AIMD et seuil de contre-pression), session/freeform/*(empreinte digitale basée sur le comportement), session/serialization/preview/*(Tests de sérialisation avant la sortie, notamment la sortie des quaternions d'Euler et le routage du Wireless VerseGrip). À des fins de débogage, misc/hidden_settingsIl est possible d'y accéder via [...], mais comme cette option peut être promue, renommée ou supprimée dans une version mineure ultérieure, ne basez pas le comportement du client sur ce paramètre.