Chargement...

Le Service Runtime et le SDK Runtime pour les appareils Haply. Regroupés dans un programme d'installation pratique. Aussi connu sous le nom de Service « externe ».
state.body_orientation suit l'appareil à 20 Hz au lieu de se figer dès qu'une application commence à le piloter (Inverse3 / micrologiciel Minverse 7.9 ou plus récent, activé par défaut).DELETE sur config/torque_scaling, config/gravity_compensation et config/handedness renvoie la valeur qu'il possède à la mise sous tension, au lieu d'une constante d'usine compilée dans le service. Ainsi, un appareil enregistré comme gaucher ne se réinitialise plus à droitier.session-updated pour chaque session détenant l'appareil, sans qu'aucun ne désigne l'appareil ; chaque session détenant l'appareil continue néanmoins d'être actualisée à partir de son prochain instantané.devices/*inverse/body_orientation_poll_interval_ms (valeur par défaut 50 ms, 0 le désactive, plage 0–5000) qui règle la lecture de l'orientation en temps réel ; la minuterie de mouvement de l'appareil, à 50 ms, constitue un plancher effectif.devices/*inverse/query_orientation_on_idle sur un ancien micrologiciel vous indique que ce réglage est sans effet, au lieu de rester silencieux.config/mount ou de config/body_orientation à portée de session continue d'être annoncée sur le canal d'événements par défaut, exactement comme auparavant ; seule la cause à portée d'appareil a été retirée, et handedness, torque_scaling et gravity_compensation conservent leurs annonces par session.devices/*inverse/inkwell/dock_heading_deg. Mesures effectuées le 2026-09-22 sur un Minverse avec un stylet dont le micrologiciel de la poignée est en version 1.3.1 : l'ancienne valeur de 135 degrés laissait le stylo en station d'accueil 45 degrés en retrait ; l'estimateur de lacet devait donc le ramener progressivement (+42 à +50 degrés observés). L'écart résiduel est maintenant d'environ 5 degrés. Non conditionné par le stade de publication : le chemin de calibration de la station d'accueil s'exécute toujours. L'orientation publiée d'un stylo en station d'accueil change donc de 45 degrés pour tous les utilisateurs dont le micrologiciel de la poignée est en version 1.3.1 ou supérieure. En dessous de ce seuil, le micrologiciel ignore la valeur et applique directement la pose complète ; ces utilisateurs ne constatent donc aucun changement.state.body_orientation n'était actualisé que lorsque l'appareil était au repos ; il se figeait dès qu'une application commençait à transmettre des forces, et chaque consommateur lisait un instantané périmé issu de la négociation initiale. Il est désormais interrogé par la minuterie de mouvement existante et reste à jour pendant la session.DELETE sur config/torque_scaling, config/gravity_compensation et config/handedness écrivait une constante d'usine intégrée par-dessus la configuration stockée propre à l'appareil ; ainsi, « réinitialiser par défaut » et l'état réel de mise sous tension divergeaient. config/handedness revenait systématiquement à right, quelle que soit la valeur enregistrée sur l'appareil. Les trois restaurent désormais la valeur stockée et ne reviennent à l'ancienne constante que pour un champ qui n'a jamais été lu depuis l'appareil.session_id, profile et scope, sans identifiant d'appareil. Un abonné ne pouvait donc ni attribuer une copie à un appareil ni dédupliquer l'ensemble. L'annonce à portée d'appareil est suspendue en attendant un remplacement adressé à l'appareil ; l'actualisation par session demeure inchangée.DELETE config/torque_scaling, config/gravity_compensation et config/handedness modifient la signification d'une réinitialisation : la réponse et la valeur écrite correspondent désormais à la configuration stockée de l'appareil, et non plus à une constante fixe côté service. La structure des réponses est inchangée, et les valeurs ne diffèrent que pour un appareil dont la configuration stockée diffère de la constante d'usine. Toutefois, une intégration qui supposait les constantes littérales (false / {enabled: true, scaling_factor: 0.0} / right) observera des valeurs différentes.state.body_orientation conserve sa forme exacte et son niveau, mais sa sémantique des valeurs change : un champ effectivement statique pour un client en diffusion continue évolue maintenant à 20 Hz. Un consommateur qui le traitait comme une constante après l'attachement observe désormais un comportement nouveau, sans activation explicite.body_orientation, dépréciée, suit désormais la même voie plutôt que de se retrouver sur le canal par défaut. Migration : cessez de considérer l'événement comme le déclencheur d'actualisation, et lisez plutôt la valeur dans l'instantané de session, lequel continue d'être actualisé pour chaque session détenant l'appareil, sans aucune activation explicite. Les événements équivalents à portée de session, ainsi que les annonces handedness / torque_scaling / gravity_compensation, ne sont pas touchés.devices/*inverse/query_orientation_on_idle devient redondant dès que le nouvel intervalle d'interrogation est non nul, mais il n'est volontairement pas marqué deprecated dans la 3.5.7 — cette dépréciation est prévue pour la 3.6.Tous les téléchargements disponibles pour cette version :