Zum Hauptinhalt springen
Version: 3.5.x

v3.5.3

3.5.3 ist ein Patch-Release. Zu den wichtigsten Änderungen zählen eine intelligentere automatische Kopplung, die die Verbindung neu herstellt, wenn eine Hälfte eines gekoppelten „ Inverse3 “- und „Grip“-Sets ausgetauscht wird, die Beseitigung falscher Akkuwarnungen bei kabelgebundenen „Verse Grips“, zuverlässige Firmware-Fähigkeitsprüfungen, die nicht mehr stillschweigend nicht unterstützte Befehle ignorieren, eine gleichmäßigere Status-LED beim Verbinden sowie ein absturzfreier Dienststopp und -neustart. Außerdem enthält das Release mehrere Korrekturen für Geräte und Seriennummern sowie einige Hinweise auf Änderungen auf Byte-Ebene.

Highlights

  • Bei der automatischen Kopplung wird die Kopplung neu hergestellt, wenn Sie ein Teil eines Sets austauschen. Wenn ein Gerät eines automatisch gekoppelten Sets aus „ Inverse3 “ und „Verse Grip“ ausgetauscht wird, löst das SDK nun die veraltete Kopplung auf und stellt eine neue Kopplung mit dem neu verbundenen Gerät her. Manuell vorgenommene Kopplungen bleiben davon unberührt.
  • Keine falschen Akkuwarnungen mehr bei kabelgebundenen Verse Grips. Warnungen bei niedrigem oder kritischem Akkustand werden nun nur noch bei drahtlos verbundenen Verse Grips ausgegeben; ein kabelgebundener Verse Grip löst keine falschen Warnungen mehr wegen eines niedrigen oder kritischen Akkustands aus.
  • Zuverlässige Überprüfung der Firmware-Kompatibilität. Die Abfrage einer haptischen Funktion bei einem Gerät, dessen Firmware zu alt ist, um diese auszuführen – gleichmäßige oder gerichtete Dämpfung bei Firmware-Versionen älter als 7.5, „Return-to-Home“ bei Firmware-Versionen älter als 7.4 –, führt nun zu einem HTTP-422-Fehler mit einem device-protocol-unsupported Ereignis, anstatt eines irreführenden 200, das die Anfrage stillschweigend verworfen hat.
  • Stabilere Status-LED beim Verbindungsaufbau. Die Status-LED von „ Inverse3 “ blinkt nicht mehr bei jedem Verbindungsaufbau oder jeder Wiederverbindung rot: Die Verbindung bleibt während des etwa 5 Sekunden langen Stabilisierungsfensters nach dem Aufwachen aufrechterhalten, sodass der Verbindungs-Watchdog der Firmware nicht mehr ausgelöst wird.
  • Absturzfreies Beenden und Neustarten des Dienstes. Das Beenden und Neustarten des Dienstes führt nun nicht mehr zu Abstürzen oder Hängern; der Ablauf zum Beenden und Neustarten wurde überarbeitet, um die Panikfehler und Hänger zu beseitigen, die beim Ein- und Ausschalten des Dienstes auftraten.

Innenausbau

  • Clutch-Navigationsmodus (experimentell, standardmäßig deaktiviert). Ein neuer Navigationsmodus, der es dem Bediener ermöglicht, die vom Dienst in die Szene exportierte Bewegung zu verlangsamen oder vollständig anzuhalten, während sich das physische Gerät weiterbewegt – ein „präziser“ Modus mit halber Geschwindigkeit für die Feinpositionierung und ein vollständiger Stillstand zum Neupositionieren des Arbeitsbereichs –, wobei der kumulierte Versatz beim Loslassen in den Arbeitsbereich eingearbeitet wird, sodass der Szenencursor niemals springt. Das Force-Feedback bleibt bei jedem Verhältnis aktiv. Aktivieren Sie diese Funktion in diesem Zyklus; die Standardverbindung bleibt unverändert.
  • Kraftskalierung im Rahmen einer Sitzung (Vorschau). Ein Client kann die haptische Ausgabe einer Simulationssitzung auf nahezu Null reduzieren – beispielsweise während ein Kreismenü geöffnet ist – und das Gerät an den Hub übergeben, sodass die haptischen Rückmeldungen des Menüs über den normalen Steuerpfad wiedergegeben werden, mit automatischer Wiederherstellung, sobald die Sitzung beendet oder das Menü geschlossen wird. Diese Funktion ist in diesem Zyklus als Vorschau verfügbar; die Standardverbindung bleibt unverändert.
  • Zoom des Arbeitsbereichs um einen Drehpunkt (experimentell). Übergeben Sie einen Drehpunkt (z. B. den Live-Cursor), wenn Sie die Transformation des Arbeitsbereichs aktualisieren, und die Ansicht wird um diesen Punkt herum skaliert, sodass der Bildschirmpunkt des Drehpunkts an Ort und Stelle bleibt – ein sofortiger Zoom auf den Cursor. Nur „ Inverse3 “; in diesem Zyklus experimentell, daher bleibt die Standardverbindung unverändert.
  • Die JSON-Serialisierungs-Engine (glaze) wurde auf Version 7.8.4 aktualisiert. Dies betrifft ausschließlich die Infrastruktur – es gibt keine Änderungen an der öffentlichen API oder am Verhalten. Im Zuge dieser Aktualisierung erfolgt eine Umformatierung der wertkonservierenden Float-Text-Datenübertragung; siehe „Mögliche Kompatibilitätsänderungen“ weiter unten.

Korrekturen

  • Das Ändern oder Zurücksetzen der Einbautransformation eines Geräts führt nun nicht mehr zu einem Absturz. Ein übrig gebliebener Prototyp-Codepfad verschob bei jeder Änderung der Einbaulage eine an die Grenzen des Firmware-Arbeitsbereichs gebundene Box; dieser wurde entfernt.
  • Die Körperausrichtung wird nach einer Neukalibrierung im Inkwell-Dock aktualisiert. Nach dem erneuten Andocken und der Neukalibrierung im Inkwell werden nun die gestreamten Körperausrichtungsdaten direkt vom Gerät abgerufen, anstatt bis zur nächsten Wiederverbindung die Werte vor der Kalibrierung zu melden. Dies setzt eine aktuelle Geräte-Firmware voraus; das Datenformat bleibt unverändert.
  • Minverse meldet stets eine blockierte Kalibrierung. Minverse gibt nun ein device-calibration-failed Ereignis, sobald die Firmware eine blockierte Kalibrierung meldet – einschließlich eines Randfalls mit oszillierendem Hall-Effekt, bei dem der Fehler zuvor stillschweigend ignoriert wurde –, sodass im Gerätemanager stets die Meldung „Kalibrierung fehlgeschlagen“ angezeigt wird.
  • Bei zentrierten Voreinstellungen wird der Ursprung auf die tatsächlich erreichbare Mitte des Arbeitsbereichs gesetzt. arm_front_centered und led_front_centered (Inverse3 / Inverse3x) wurden auf die Armgelenksachse ausgerichtet, die nicht in der Reichweite liegt, sodass set_cursor_position am Ursprung {0, 0, 0} Die Landung erfolgte nicht mittig; auch der Ursprung von „ Minverse “ lag etwa 10 mm zu weit rechts. Jeder Versatz beträgt nun die Hälfte des erreichbaren Bereichs auf jeder Achse, gemessen unter Ausschluss der durch die Firmware festgelegten Sicherheitsbereichsgrenzen und nicht des mechanisch möglichen Bereichs. (Siehe den Hinweis zur Ursprungsverschiebung unter „Mögliche bruchbedingte Änderungen“.)

Mögliche Kompatibilitätsprobleme

  • POST/DELETE /config/filters/damping Bei Firmware-Versionen älter als 7.5 wird nun der HTTP-Status 422 zurückgegeben. mit einem device-protocol-unsupported Ereignis, anstatt eines 200, bei dem der Schreibvorgang stillschweigend abgebrochen wurde. Firmware 7.5 und höher ist davon nicht betroffen (weiterhin 200). Migration: Aktualisieren Sie die Geräte-Firmware auf 7.5 oder höher oder behandeln Sie den Fehler 422 entsprechend.
  • POST/DELETE /home_return auf Firmware-Versionen, bei denen dieser Befehl fehlt (älter als 7.4), wird nun der HTTP-Status 422 zurückgegeben anstelle eines bedingungslosen 200. Betroffen sind nur Geräte mit alter Firmware. Behebung: Firmware auf Version 7.4 oder höher aktualisieren oder den Fehler 422 beheben.
  • Befehl wird wiederholt config/mount und state/transform (GET/POST/PATCH/DELETE) werden nun serialisiert transform.rotation in {w,x,y,z} Schlüsselreihenfolge statt {x,y,z,w}, passend zum Streaming state Rotationsreihenfolge von „snapshot“. Nur auf Byte-Ebene – gleiche Werte und gleiche Schlüsselnamen, lediglich die Reihenfolge der Schlüssel ändert sich; alle drei Komponenten werden weiterhin ausgegeben. JSON-Clients, die nach Namen sortieren, müssen keine Maßnahmen ergreifen; strenge Byte-/Reihenfolgevergleiche sollten eine erneute Segnung vornehmen.
  • Es gelten die Namen der Änderungsbenachrichtigungsbereiche für die Konfiguration einzelner Geräte. Das bei jeder Sitzung aktualisierte Änderungsbenachrichtigungsereignis meldet nun Namen im Konfigurationsbereich (config.mount, config.basis, config.preset) anstelle der bloßen Namen (mount, basis, preset), wenn die Konfiguration eines einzelnen Geräts angewendet wird. Clients, die diese Ereignisbereichszeichenfolgen filtern, müssen ihre Abgleichregeln entsprechend anpassen.
  • Neuformatierung von „Glaze“-Float-Text für alle numerischen Wire-Werte, v3.0 und v3.1 (zum Beispiel 1.0E-7 -> 1E-7, 16777216 -> 1.6777216E7, -1.0E-37 -> -1E-37). Nur auf Byte-Ebene – numerische Parser lesen identische Werte aus; lediglich die Textdarstellung hat sich geändert. Nutzer, die die Gleichheit von Zeichenketten prüfen, sollten ihre Fixtures erneut mit „bless“ versehen.
  • Voreingestellte Verschiebung des Ursprungs zur Mitte. Da die zentrierten Voreinstellungen nun auf die tatsächlich erreichbare Mitte abzielen, verschiebt sich der von ihnen festgelegte Ursprung im Vergleich zu Version 3.5.2: arm_front_centered / led_front_centered bei einer Verschiebung um 25 mm entlang der Tiefenachse des Geräts verschiebt sich die zentrierte Voreinstellung „ Minverse “ um 10 mm in X-, 20 mm in Y- und 20 mm in Z-Richtung, und minverse_zup verschiebt sich um 20 mm in X-Richtung und um 30 mm in Y-Richtung. Dies ist eine „Standard-Ein“-Fläche, und minverse_zup wird automatisch auf erkannte Freeform-Sitzungen angewendet. Explosionsradius: Inhalte, die am Ursprung platziert sind, oder Geometrie, die relativ dazu positioniert ist, während eine zentrierte Voreinstellung aktiv ist – sie bewegt sich mit dem Ursprung mit. Migration: Am Ursprung verankerte Geometrie erneut überprüfen oder den vorherigen Versatz explizit als benutzerdefinierte Montage-Transformation festlegen. Die nicht zentrierten Voreinstellungen (device_defaults, arm_front, led_front) sind identisch und unverändert.

Verwerfungen

  • Vermächtnis values Die Eingabe über die Steuerbefehle „ inverse3 “ ist nun als veraltet gekennzeichnet und es wird eine Warnung ausgegeben. Das Senden der values Array zu set_cursor_force, set_cursor_position, set_angular_position, oder set_angular_torques anstelle des benannten Feldes des Befehls (vector / position / angles / torques) funktioniert zwar noch, löst aber nun einen command-deprecated Ereignis (begrenzt auf eines pro 30 Sekunden pro Befehl), anstatt stillschweigend akzeptiert zu werden. Migrieren values in das genannte Feld; die alte Eingabe soll in Version 4.0 entfernt werden.
  • Ansonsten gibt es in diesem Zyklus keine Auswirkungen auf das öffentliche Netz.