v3.5.3
La version 3.5.3 est une version corrective. Les principales modifications sont les suivantes : un appairage automatique plus intelligent ; un réappairage automatique en cas de remplacement d’un des appareils de l’ensemble « Inverse3 + poignée » déjà appairé ; correction d’un avertissement d’autonomie erroné sur la poignée Verse Grip filaire ; une vérification plus précise des capacités du micrologiciel, qui ne rejette plus silencieusement les commandes non prises en charge ; un comportement plus stable de la LED d’état lors de la connexion ; l’arrêt et le redémarrage du service ne provoquent plus de plantage.De plus, plusieurs corrections liées aux appareils et aux numéros de série ont été intégrées, ainsi que quelques précisions au niveau des octets concernant la communication « wire ».
Points forts
- Appairage automatique : réappairage en cas de remplacement d’une moitié de l’ensemble. Lorsqu’un des appareils de l’ensemble « Inverse3 + Verse Grip » configuré en appairage automatique est remplacé, le SDK supprime désormais la relation d’appairage obsolète et procède à un réappairage avec le nouvel appareil connecté. L’appairage manuel n’est pas affecté.
- Le Verse Grip filaire ne génère plus de fausses alertes de niveau de batterie. Les alertes de niveau de batterie faible et très faible ne se déclenchent désormais que pour les Verse Grip connectés sans fil ; le Verse Grip filaire ne génère plus de fausses alertes de niveau de batterie faible ou très faible.
- Une vérification plus précise des capacités du micrologiciel. Lorsqu'on demande à un appareil d'exécuter une fonction tactile qu'il ne peut pas prendre en charge en raison d'une version de micrologiciel trop ancienne (par exemple, l'amortissement uniforme ou l'amortissement directionnel lorsque la version du micrologiciel est inférieure à 7.5, ainsi que la fonction de retour à la position d'origine (return-to-home) lorsque la version du micrologiciel est inférieure à 7.4), un code d'erreur HTTP 422 est désormais renvoyé, accompagné de
device-protocol-unsupportedl'événement, au lieu de renvoyer un code d'erreur trompeur de 200 et de rejeter la requête sans avertissement. - Le voyant d'état est désormais plus stable lors de la connexion. Le voyant d'état de la carte « Inverse3 » ne clignote plus en rouge à chaque connexion ou reconnexion : la connexion reste active pendant une période de stabilisation d'environ 5 secondes après la réactivation, ce qui empêche le déclenchement du « watchdog » de connexion du micrologiciel.
- L'arrêt et le redémarrage du service ne provoquent plus de plantage. L'arrêt et le redémarrage du service ne provoquent plus de plantage ni de blocage ; le processus d'arrêt et de redémarrage a été repensé, ce qui a permis d'éliminer les problèmes de « panic » et de blocage survenant lors de l'arrêt et du redémarrage répétés du service.
Améliorations internes
- Mode de navigation « Clutch » (fonctionnalité expérimentale, désactivée par défaut). Un nouveau mode de navigation permettant à l'opérateur de réduire ou de geler complètement les mouvements exportés par le service vers la scène, tout en continuant à déplacer physiquement l'appareil. Ce mode comprend un mode « Précis » à demi-vitesse pour un positionnement fin, ainsi qu'un mode de gel complet pour repositionner l'espace de travail.Une fois relâché, le décalage cumulé est intégré à la zone de travail, ce qui empêche le curseur de la scène de sauter. Le retour de force est maintenu à tous les niveaux d'échelle. Dans cette version, cette fonctionnalité doit être activée manuellement ; le format « wire » par défaut reste inchangé.
- Mise à l'échelle de la force au niveau de la session (version préliminaire). Le client peut atténuer la sortie tactile d'une session de simulation jusqu'à un niveau proche de zéro (par exemple lors de l'ouverture d'un menu circulaire) et confier le périphérique au Hub afin que la sensation tactile du menu soit restituée via le chemin de contrôle habituel ; le retour à la normale s'effectue automatiquement lorsque la session est fermée ou que le menu est fermé. Dans cette version, cette fonctionnalité doit être activée via le commutateur « Aperçu » ; le format « wire » par défaut reste inchangé.
- Zoom de l'espace de travail autour d'un point de pivot (fonctionnalité expérimentale). Lors de la mise à jour de la transformation de l'espace de travail, si un point de pivot est fourni (par exemple, la position du curseur en temps réel), la vue effectuera un zoom autour de ce point afin que la position du point de pivot reste fixe à l'écran, ce qui correspond à un zoom instantané du curseur. Cette fonctionnalité s'applique uniquement à Inverse3; dans cette version, il s'agit d'une fonctionnalité expérimentale, le format « wire » reste donc inchangé par défaut.
- Mise à jour du moteur de sérialisation JSON (glaze) vers la version 7.8.4. Cette mise à jour concerne uniquement l'infrastructure et n'entraîne aucune modification de l'API publique ni du comportement. Elle s'accompagne également d'un ajustement du format de transmission des nombres à virgule flottante sous forme de chaîne de caractères, qui permet de préserver la valeur des nombres ; pour plus de détails, voir la section « Modifications potentiellement incompatibles » ci-dessous.
Réparation
- La modification ou la réinitialisation des transformations d'installation de l'appareil ne présente plus de risque de plantage. Un chemin de code prototype hérité repoussait les limites de l'espace de travail du micrologiciel à chaque modification des transformations d'installation ; ce chemin a désormais été supprimé.
- Une fois le socle Inkwell recalibré, l'attitude du corps est actualisée. Après un nouvel accostage et un recalibrage dans Inkwell, l'attitude du corps transmise en continu est désormais actualisée à partir de l'appareil et ne renvoie plus les valeurs d'avant le calibrage jusqu'à la prochaine reconnexion. La version actuelle du micrologiciel de l'appareil est requise ; le format de transmission reste inchangé.
- Minverse Les étalonnages bloqués seront toujours signalés. Dès que le firmware signale que l'étalonnage a été bloqué,Minverse envoie immédiatement un message.
device-calibration-failedCes incidents, y compris les cas limites d'oscillation de Hall qui étaient auparavant ignorés, font que le Gestionnaire de périphériques affiche désormais systématiquement le message « Échec de l'étalonnage ». - Le préréglage « Centrer » place le point d'origine au centre effectivement accessible de l'espace de travail.
arm_front_centeredetled_front_centered(Inverse3 / Inverse3x) À l'origine, l'alignement s'effectuait selon l'axe de l'articulation du bras, or cet axe ne se situait pas au centre de l'enveloppe d'accessibilité ; par conséquent, à l'origine{0, 0, 0}Appel de fonctionset_cursor_positionIl peut y avoir un décalage par rapport au centre ; le point d'origine deMinverse a également été décalé d'environ 10 mm vers la droite. Désormais, le décalage sur chaque axe correspond à la moitié de la plage accessible ; lors du calcul, on exclut la zone de butée de sécurité du ressort intégrée au micrologiciel, et non la plage mécaniquement accessible. (Voir les explications sur le décalage du point d'origine dans la section « Modifications potentiellement destructrices ».)
Modifications potentiellement perturbatrices
- Sur les versions de firmware antérieures à la version 7.5,
POST/DELETE /config/filters/dampingRenvoie maintenant le code HTTP 422, et accompagné dedevice-protocol-unsupportedEn cas d'incident, le code 200 n'est plus renvoyé et les données écrites sont ignorées de manière silencieuse. Les versions 7.5 et ultérieures du micrologiciel ne sont pas concernées (elles renvoient toujours le code 200). Solution : mettez à jour le micrologiciel de l'appareil vers la version 7.5 ou une version ultérieure, ou traitez la réponse 422. - Sur les versions de firmware ne prenant pas en charge cette commande (antérieures à la version 7.4),
POST/DELETE /home_returnRenvoie maintenant le code HTTP 422, et ne renvoie plus systématiquement le code 200. Seuls les appareils équipés d'une ancienne version du micrologiciel sont concernés. Solution : mettez à jour le micrologiciel vers la version 7.4 ou une version plus récente, ou traitez la réponse 422. config/mountetstate/transformLes réponses aux requêtes (GET/POST/PATCH/DELETE) s'affichent désormais sous la forme{w,x,y,z}Sérialisation de la séquence des cléstransform.rotation, et non plus{x,y,z,w}, afin de s'adapter au fluxstateL'ordre de rotation des instantanés reste le même. Cela n'affecte que le niveau des octets : les valeurs et les noms des clés restent inchangés, seul l'ordre des clés est modifié ; les trois composantes sont toujours affichées dans leur intégralité. Les clients JSON accédant aux champs par leur nom ne nécessitent aucune action particulière ; ceux effectuant des comparaisons strictes au niveau des octets ou de l'ordre doivent revérifier leur référence.- Nom du périmètre de notification des modifications lors de la configuration d'une application sur un seul appareil. Lors de l'application de la configuration d'un appareil individuel, les événements de notification de modification de la mise à jour de session indiquent désormais le nom de la portée de configuration (
config.mount,config.basis,config.preset), et non plus en utilisant des noms bruts (mount,basis,preset). Les clients qui effectuent un filtrage en fonction de ces chaînes de portée d'événements doivent mettre à jour leurs règles de correspondance. - Reformatage du texte en virgule flottante Glaze pour tous les champs de transmission de valeurs, couvrant les versions v3.0 et v3.1(par exemple
1.0E-7->1E-7,16777216->1.6777216E7,-1.0E-37->-1E-37). Cela n'a d'incidence qu'au niveau des octets : la valeur lue par l'analyseur numérique reste la même, seule la forme textuelle change. Les utilisateurs effectuant des comparaisons d'égalité sur des chaînes de caractères doivent revérifier leurs tests. - Décalage par défaut par rapport à l'origine pour le centrage. Étant donné que les préréglages de centrage visent désormais le centre effectivement accessible, leur point d'origine a été déplacé par rapport à la version 3.5.2 :
arm_front_centered/led_front_centeredDécalage de 25 mm le long de l'axe de profondeur de l'équipement ;Minverse : décalage par défaut pour le centrage de 10 mm dans la direction X, de 20 mm dans la direction Y et de 20 mm dans la direction Z,minverse_zupDécalage de 20 mm dans l'axe X et de 30 mm dans l'axe Y. Cette option est activée par défaut et s'applique automatiquement lorsqu'une session Freeform est détectée.minverse_zup. Portée : lorsque le préréglage de centrage est activé, le contenu placé au point d'origine, ou les formes géométriques positionnées par rapport à celui-ci, se déplacent avec le point d'origine. Solution : vérifiez à nouveau les formes géométriques ancrées au point d'origine, ou définissez explicitement le décalage précédent sous forme de transformation d'installation personnalisée. Préréglage de décentrage (device_defaults,arm_front,led_front) est une transformation identitaire et n'est donc pas affectée.
Obsolète
- inverse3 Ancienne version des commandes de contrôle
valuesCette entrée est désormais obsolète et accompagnée d'un avertissement. VavaluesEnvoi d'un tableau àset_cursor_force,set_cursor_position,set_angular_positionouset_angular_torques(champ de nom non impératif)vector/position/angles/torques) continue de fonctionner normalement, mais déclenche désormaiscommand-deprecatedLes incidents (limitation à une fois toutes les 30 secondes par commande) ne seront plus acceptés tacitement. VeuillezvaluesMigration vers le champ « Nom » ; l'ancienne méthode de saisie sera supprimée dans la version 4.0. - Les autres aspects de ce cycle n'ont aucune incidence sur les interfaces de transmission publiques.