Aller directement au corps du texte

v3.5.3

La version 3.5.3 est une mise à jour corrective. Les principales modifications concernent un appairage automatique plus intelligent qui permet de réappairer les deux éléments d’un ensemble « Inverse3 + Grip » lorsqu’on remplace l’un des deux, la suppression des fausses alertes de batterie qui se produisaient sur le Verse Grip filaire, une vérification des fonctionnalités du micrologiciel plus claire qui n’ignore plus silencieusement les commandes non prises en charge, un voyant d’état plus stable lors de la connexion, ainsi qu’un arrêt et un redémarrage des services sans conflit. Elle comprend également plusieurs corrections concernant les périphériques et la sérialisation, ainsi que quelques remarques relatives au format de câblage au niveau des octets.

Points clés​

  • Le remplacement d'un des éléments de l'ensemble déclenche un nouvel appairage automatique. Dans le cas d'un ensemble « Inverse3 + Verse Grip » appairé automatiquement, si l'un des appareils est remplacé, le SDK supprime l'ancien appairage et procède à un nouvel appairage avec l'appareil nouvellement connecté. L'appairage manuel reste inchangé.
  • Le Verse Grip filaire ne génère plus de fausses alertes concernant la batterie. Les notifications de batterie faible et de danger lié à la batterie ne s'affichent désormais que sur les Verse Grip connectés sans fil. Le Verse Grip filaire ne génère plus de fausses alertes de batterie faible ou de danger lié à la batterie.
  • Les tests de fonctionnement du micrologiciel sont désormais plus clairs. Si l'appareil reçoit une requête concernant une fonctionnalité haptique qui ne peut pas être exécutée en raison d'un firmware trop ancien — amortissement uniforme ou directionnel pour les firmwares antérieurs à la version 7.5, retour à la position d'origine pour les firmwares antérieurs à la version 7.4 —, au lieu d'ignorer discrètement la requête et de renvoyer la valeur 200, il renvoie désormais une réponse HTTP 422 accompagnée de device-protocol-unsupported Un événement se produit.
  • La LED d'état est plus stable lors de la connexion. Inverse3 La LED d'état ne clignote plus en rouge à chaque connexion ou reconnexion. La connexion étant maintenue pendant une phase de stabilisation d'environ 5 secondes après le réveil, le watchdog de connexion du micrologiciel ne se déclenche plus.
  • Il n'y a plus de conflits lors de l'arrêt et du redémarrage du service. Même après avoir arrêté puis redémarré le service, celui-ci ne plante plus et ne se bloque plus. Nous avons remanié les procédures d'arrêt et de redémarrage afin d'éliminer les paniques et les blocages qui se produisaient lors de l'activation et de la désactivation du service.

Améliorations internes​

  • Mode de navigation « Clutch » (expérimental, désactivé par défaut). Il s’agit d’un nouveau mode de navigation permettant à l’opérateur de réduire ou de figer complètement les mouvements générés par le service vers la scène, tandis que l’appareil physique continue de se déplacer. Il propose un mode « Précision » à demi-vitesse pour le positionnement fin, ainsi qu’un mode de fixation totale pour le réagencement de l’espace de travail ; lorsqu’il est désactivé, il répercute le décalage cumulé sur l’espace de travail afin d’éviter tout saut du curseur de scène. Le retour de force continue d'être transmis à tous les rapports. Dans cette version, cette fonctionnalité est proposée uniquement sur option, et le format de câblage par défaut n'a pas été modifié.
  • Mise à l'échelle de la force par session (aperçu). Le client peut, par exemple, réduire la sortie haptique d'une session de simulation à une valeur proche de zéro tant que le menu « Pi » est ouvert, puis transférer l'appareil au Hub afin que les retours haptiques du menu soient générés via le chemin de contrôle standard. La configuration est automatiquement rétablie lorsque la session ou le menu est fermé. Dans cette version, cette fonctionnalité est limitée à un statut de préversion et le format de câblage par défaut n'a pas été modifié.
  • Zoom avant/arrière de l'espace de travail par rapport à un point de pivot (fonctionnalité expérimentale). Lorsque vous mettez à jour la transformation de l'espace de travail en spécifiant un point de pivot (par exemple, le curseur en temps réel), la vue est agrandie ou réduite autour de ce point, ce qui permet de conserver la position à l'écran du pivot. En d'autres termes, l'agrandissement ou la réduction s'effectue immédiatement à partir de la position du curseur. Cette fonctionnalité n'est prise en charge que par Inverse3 et, comme il s'agit d'une fonctionnalité expérimentale dans cette version, le format de câblage par défaut n'a pas été modifié.
  • Le moteur de sérialisation JSON (glaze) a été mis à jour vers la version 7.8.4. Cette mise à jour ne concerne que des modifications d'infrastructure ; ni l'API publique ni le comportement n'ont été modifiés. Elle inclut également un reformatage du flux de texte en virgule flottante qui préserve les valeurs. Veuillez consulter ci-dessous les modifications susceptibles d'entraîner des problèmes de compatibilité.

Modifications apportées​

  • Il n'y a plus de risque de conflit, même si vous modifiez ou réinitialisez la conversion de montage de l'appareil. Il restait une partie du code prototype qui transmettait les limites de l'espace de travail au micrologiciel à chaque changement de montage ; cette partie du code a été supprimée.
  • L'orientation du corps est mise à jour après le recalibrage de la station d'accueil Inkwell. Une fois le réancrage et le recalibrage terminés sur la station d'accueil Inkwell, la valeur d'orientation du corps transmise en continu est mise à jour avec la valeur la plus récente de l'appareil, au lieu de renvoyer la valeur d'avant le recalibrage jusqu'à la prochaine reconnexion. La dernière version du micrologiciel de l'appareil est requise ; le format de transmission n'a pas changé.
  • Minverse signale systématiquement les corrections bloquées. À chaque fois qu'un ajustement dont le micrologiciel a été bloqué est signalé, Minverse fait désormais device-calibration-failed Cela déclenche un événement. Étant donné que cela inclut désormais les cas limites liés à l’effet Hall oscillant (oscillating-hall), qui auparavant étaient ignorés en cas d’échec, le Gestionnaire de périphériques affiche désormais systématiquement le message « Échec de l’étalonnage ».
  • Le préréglage « Central » place le point d'origine au centre réel accessible de l'espace de travail. arm_front_centeredWa led_front_centered(Inverse3 / Inverse3x) était aligné par rapport à l'axe de l'articulation du bras, mais cet axe ne correspond pas au centre de la zone d'atteinte. Par conséquent, le point d'origine {0, 0, 0}de set_cursor_positionLors de l'appel de cette fonction, une position décentrée a été atteinte. Minverse Le point d'origine central était également décalé d'environ 10 mm vers la droite. Désormais, chaque décalage correspond à la moitié de la plage accessible pour chaque axe ; cette mesure ne tient pas compte de la plage mécaniquement accessible, mais exclut la zone de limitation de sécurité définie par le micrologiciel. (Veuillez vous reporter aux instructions de déplacement du point d'origine dans la section « Modifications potentielles de compatibilité » ci-dessous.)

Modifications potentielles en matière de compatibilité​

  • POST/DELETE /config/filters/dampingSi cette fonction est appelée avec une version de firmware antérieure à la version 7.5, elle renvoie désormais le code d'erreur HTTP 422. À ce moment-là device-protocol-unsupported Ces événements se produisent simultanément. Auparavant, l'opération d'écriture était ignorée en silence, mais renvoyait tout de même le code 200. Les versions de micrologiciel 7.5 et supérieures ne sont pas concernées et continuent de renvoyer le code 200. Migration : mettez à jour le micrologiciel de l'appareil vers la version 7.5 ou supérieure, ou gérez la réponse 422.
  • Dans les versions de firmware ne disposant pas de cette commande (antérieures à la version 7.4), POST/DELETE /home_returnLorsqu'on l'appelle, il renvoie désormais un code HTTP 422. Auparavant, la fonction renvoyait systématiquement la valeur 200. Seuls les appareils utilisant une ancienne version du micrologiciel sont concernés. Migration : mettez à jour le micrologiciel vers la version 7.4 ou supérieure, ou gérez la réponse 422.
  • config/mount et state/transformDans l'écho des requêtes (GET/POST/PATCH/DELETE), il est désormais possible de transform.rotationce {x,y,z,w}et non pas {w,x,y,z} Ils sont sérialisés par ordre alphabétique. Il s'agit du contenu diffusé en streaming state Il s'agit d'une modification visant à harmoniser l'ordre des rotations avec celui des instantanés. La modification n'intervient qu'au niveau des octets : les valeurs et les noms de clés restent identiques, seul l'ordre des clés est modifié. Les trois composants continuent d'être répercutés. Les clients JSON accédant aux données via les noms de clés n'ont aucune action à entreprendre. En cas d'utilisation de comparaisons strictes au niveau des octets ou de l'ordre, il est nécessaire de régénérer les données de référence.
  • Lors de l'application d'une configuration à un seul appareil, le nom de la portée des notifications de modification change. Une fois la configuration d'un seul appareil appliquée, les événements de notification des modifications apportées aux mises à jour de session portent désormais un nom sans préfixe (mount, basis, preset) à la place du nom de la portée de configuration (config.mount, config.basis, config.preset) est signalé. Les clients qui filtrent les chaînes de caractères de cette portée doivent mettre à jour leur logique de correspondance.
  • Reformatage du texte en virgule flottante Glaze pour toutes les valeurs numériques des fils dans les versions v3.0 et v3.1 (par exemple : 1.0E-7 -> 1E-7, 16777216 -> 1.6777216E7, -1.0E-37 -> -1E-37). Seules des modifications au niveau des octets ont été apportées ; l'analyseur numérique lit toujours la même valeur. Seul le format textuel a été modifié. Les utilisateurs qui recourent à la comparaison d'égalité des chaînes de caractères doivent recréer leurs données de référence (fixtures).
  • Déplacement du point d'origine du préréglage central. Étant donné que le préréglage central cible désormais le centre réellement accessible, le point d'origine défini est décalé par rapport à la version 3.5.2. arm_front_centered / led_front_centeredL'appareil se déplace de 25 mm le long de l'axe de profondeur, Minverse ; le préréglage central correspond à un déplacement de 10 mm sur l'axe X, 20 mm sur l'axe Y et 20 mm sur l'axe Z, et minverse_zupIl se déplace de 20 mm sur l'axe X et de 30 mm sur l'axe Y. Il s'agit d'une zone activée par défaut, et minverse_zupest automatiquement appliqué à la session Freeform détectée. Portée de l'effet : lorsque le préréglage « Centré » est activé, le contenu placé au point d'origine ou la géométrie dont la position est définie par rapport à ce point se déplace avec celui-ci. Migration : vérifiez à nouveau la géométrie ancrée au point d'origine ou indiquez explicitement le décalage précédent à l'aide d'une transformation de montage personnalisée. Préréglage autre que « Centré » (device_defaults, arm_front, led_front) est l'identité, il n'est donc pas affecté.

Éléments dont l'utilisation sera interrompue​

  • inverse3 L'héritage des commandes de contrôle values Cette entrée fait désormais partie des éléments obsolètes pour lesquels un avertissement s'affiche. set_cursor_force, set_cursor_position, set_angular_position, set_angular_torquesle champ dans lequel le nom de la commande est spécifié (vector / position / angles / torques) au lieu de values La méthode d'envoi des tableaux fonctionne toujours. Cependant, désormais, ils ne sont plus acceptés en silence, mais command-deprecated Un événement se produit (limité à une fois toutes les 30 secondes par commande). valuesVeuillez migrer ces données vers les champs désignés. Les entrées héritées seront supprimées dans la version 4.0.
  • Cette version ne comporte aucune autre modification ayant une incidence sur OpenWire.