v3.5.3
3.5.3 ist ein Patch-Release. Zu den wichtigsten Änderungen gehören eine intelligentere automatische Kopplung, bei der sich das Paar „ Inverse3 “ + „Verse Grip“ beim Austausch eines der beiden Teile erneut koppelt, die Beseitigung falscher Akkuwarnungen beim kabelgebundenen „Verse Grip“, eine klarere Überprüfung der Firmware-Funktionen, bei der nicht unterstützte Befehle nicht mehr stillschweigend ignoriert werden, eine stabilere Status-LED bei der Verbindung sowie ein konfliktfreies Beenden und Neustarten des Dienstes. Darüber hinaus sind verschiedene Korrekturen in Bezug auf Geräte und Serialisierung sowie einige Hinweise zur Byte-Ebene-Datenübertragung enthalten.
Kernpunkte
- Wird ein Teil des Sets ausgetauscht, wird die automatische Kopplung erneut durchgeführt. Wird bei einem automatisch gekoppelten Set aus „ Inverse3 “ und „Verse Grip“ ein Gerät ausgetauscht, löscht das SDK die alte Kopplung und führt eine neue Kopplung mit dem neu verbundenen Gerät durch. Die manuelle Kopplung bleibt davon unberührt.
- Beim kabelgebundenen Verse Grip treten keine falschen Akkuwarnungen mehr auf. Warnmeldungen wegen niedrigem Akkustand und gefährlichem Akkustand werden nun nur noch bei drahtlos verbundenen Verse Grips angezeigt. Der kabelgebundene Verse Grip löst keine falschen Warnmeldungen wegen niedrigem Akkustand oder gefährlichem Akkustand mehr aus.
- Die Überprüfung der Firmware-Funktionen ist nun klarer geworden. Wenn das Gerät aufgrund einer veralteten Firmware aufgefordert wird, haptische Funktionen auszuführen, die nicht mehr unterstützt werden – wie z. B. gleichmäßige oder gerichtete Dämpfung bei Firmware-Versionen vor 7.5 oder die Rückkehr zur Ausgangsposition bei Firmware-Versionen vor 7.4 –, wird die Anfrage nun nicht mehr stillschweigend ignoriert und der Wert 200 zurückgegeben, sondern es wird eine HTTP-422-Antwort mit
device-protocol-unsupportedEs wird ein Ereignis ausgelöst. - Die Status-LED verhält sich beim Verbindungsaufbau stabiler. Inverse3 Die Status-LED blinkt nicht mehr rot, wenn eine Verbindung hergestellt oder wiederhergestellt wird. Da die Verbindung während einer Stabilisierungsphase von etwa 5 Sekunden nach dem Aufwachen aufrechterhalten bleibt, wird der Verbindungs-Watchdog der Firmware nicht mehr ausgelöst.
- Beim Beenden und Neustarten des Dienstes treten keine Konflikte mehr auf. Auch wenn der Dienst beendet und neu gestartet wird, kommt es nicht mehr zu Konflikten oder zum Absturz. Um die Panik- und Absturzprobleme zu beheben, die beim Ein- und Ausschalten des Dienstes auftraten, wurde der Ablauf für das Beenden und Neustarten überarbeitet.
Interne Verbesserungen
- Clutch-Navigationsmodus (experimentell, standardmäßig deaktiviert). Dies ist ein neuer Navigationsmodus, mit dem der Bediener die vom Dienst in die Szene ausgegebenen Bewegungen reduzieren oder vollständig fixieren kann, während sich das physische Gerät weiterbewegt. Er bietet einen „Präzisionsmodus“ mit halber Geschwindigkeit für die Feinpositionierung sowie einen vollständig fixierten Modus zur Neuanordnung des Arbeitsbereichs. Beim Deaktivieren wird der kumulierte Versatz im Arbeitsbereich berücksichtigt, um zu verhindern, dass der Szenen-Cursor springt. Die Kraftrückmeldung wird weiterhin in allen Verhältnissen übertragen. In dieser Version wird diese Funktion nur auf Opt-in-Basis bereitgestellt; das Standard-Wire-Format wurde nicht geändert.
- Kraftskalierung auf Sitzungsebene (Vorschau). Der Client kann beispielsweise die haptische Ausgabe einer einzelnen Simulationssitzung auf einen Wert nahe Null reduzieren, solange das Pi-Menü geöffnet ist, und das Gerät an den Hub übergeben, damit die haptischen Rückmeldungen des Menüs über den normalen Steuerpfad gerendert werden. Sobald die Sitzung oder das Menü geschlossen wird, wird der ursprüngliche Zustand automatisch wiederhergestellt. In dieser Version ist diese Funktion auf die Vorschau beschränkt; das Standard-Wire-Format wurde nicht geändert.
- Vergrößern/Verkleinern des Arbeitsbereichs anhand eines Drehpunkts (experimentell). Wenn beim Aktualisieren der Arbeitsbereichstransformation ein Drehpunkt (z. B. der Echtzeit-Cursor) übergeben wird, wird die Ansicht um diesen Punkt herum vergrößert oder verkleinert, sodass die Position des Drehpunkts auf dem Bildschirm unverändert bleibt. Das heißt, die Ansicht wird sofort auf die Cursorposition vergrößert oder verkleinert. Diese Funktion wird nur in Inverse3 unterstützt und ist in dieser Version noch experimentell, sodass das Standard-Wire-Format unverändert bleibt.
- Die JSON-Serialisierungs-Engine (glaze) wurde auf Version 7.8.4 aktualisiert. Diese Aktualisierung umfasst ausschließlich Änderungen an der Infrastruktur; die öffentliche API und das Verhalten bleiben unverändert. Sie beinhaltet eine Neuformatierung von Gleitkomma-Text-Wires, bei der die Werte erhalten bleiben. Bitte beachten Sie die unten aufgeführten Änderungen, die möglicherweise zu Kompatibilitätsproblemen führen können.
Änderungen
- Auch wenn die Mount-Konvertierung des Geräts geändert oder zurückgesetzt wird, besteht kein Konfliktrisiko mehr. Es war noch ein Prototyp-Codepfad vorhanden, der bei jeder Änderung des Mounts die Arbeitsbereichsbegrenzungsbox an die Firmware übermittelte; dieser Codepfad wurde nun entfernt.
- Nach der Neukalibrierung am Inkwell-Dock wird die Ausrichtung des Hauptgeräts aktualisiert. Nach Abschluss des erneuten Andockens und der Neukalibrierung am Inkwell wird der gestreamte Wert für die Ausrichtung des Hauptgeräts bis zur nächsten Wiederverbindung nicht mehr auf den Wert vor der Kalibrierung gesetzt, sondern auf den aktuellen Wert des Geräts aktualisiert. Dazu ist die neueste Geräte-Firmware erforderlich; das Wire-Format hat sich nicht geändert.
- Minverse meldet stets blockierte Kalibrierungen. Jedes Mal, wenn eine durch die Firmware blockierte Kalibrierung gemeldet wird, führt Minverse nun
device-calibration-failedLöst ein Ereignis aus. Da nun auch Randfälle mit dem „Oscillating-Hall“-Effekt berücksichtigt werden, die zuvor stillschweigend ignoriert wurden, wird im Geräte-Manager nun immer die Meldung „Kalibrierung fehlgeschlagen“ angezeigt. - Die Voreinstellung „Mitte“ legt den Ursprung auf den tatsächlich erreichbaren Mittelpunkt des Arbeitsbereichs fest.
arm_front_centeredWowled_front_centered(Inverse3 / Inverse3x) war zwar entlang der Achse des Armgelenks ausgerichtet, doch diese Achse ist nicht der Mittelpunkt des erreichbaren Bereichs. Daher ist der Ursprung{0, 0, 0}ausset_cursor_positionBeim Aufruf wurde eine vom Mittelpunkt abweichende Position erreicht. Minverse Der zentrale Nullpunkt lag ebenfalls etwa 10 mm zu weit rechts. Nun beträgt jeder Versatz die Hälfte des erreichbaren Bereichs pro Achse, wobei nicht der mechanisch mögliche Bereich gemessen wird, sondern der Bereich unter Ausschluss der durch die Firmware festgelegten Sicherheitsgrenzen. (Siehe die Anleitung zur Nullpunktverschiebung unter „Mögliche Kompatibilitätsänderungen“ weiter unten.)
Mögliche Änderungen hinsichtlich der Kompatibilität
POST/DELETE /config/filters/dampingWird diese Funktion in einer Firmware-Version vor 7.5 aufgerufen, wird nun der HTTP-Status 422 zurückgegeben. Zu diesem Zeitpunktdevice-protocol-unsupportedEs treten folgende Ereignisse gleichzeitig auf. Zuvor wurde der Schreibvorgang stillschweigend übersprungen, es wurde jedoch weiterhin der Status 200 zurückgegeben. Firmware-Versionen ab 7.5 sind davon nicht betroffen und geben weiterhin den Status 200 zurück. Migration: Aktualisieren Sie die Geräte-Firmware auf Version 7.5 oder höher oder verarbeiten Sie die Antwort 422.- In Firmware-Versionen ohne diesen Befehl (vor 7.4)
POST/DELETE /home_returnWenn man diese Funktion aufruft, wird nun der HTTP-Status 422 zurückgegeben. Zuvor wurde immer der Wert 200 zurückgegeben. Dies betrifft nur Geräte, auf denen eine ältere Firmware-Version installiert ist. Migration: Führen Sie ein Firmware-Update auf Version 7.4 oder höher durch oder verarbeiten Sie die Antwort 422. config/mountsowiestate/transformIn der Befehlsausgabe von (GET/POST/PATCH/DELETE) wird nuntransform.rotationdies{x,y,z,w}nicht{w,x,y,z}Die Serialisierung erfolgt in der Reihenfolge der Schlüssel. Dies ist das gestreamtestateDiese Änderung dient der Anpassung an die Reihenfolge der Snapshots. Die Änderung erfolgt ausschließlich auf Byte-Ebene; die Werte und Schlüsselnamen bleiben unverändert, lediglich die Reihenfolge der Schlüssel ändert sich. Alle drei Komponenten werden weiterhin ausgegeben. Für JSON-Clients, die über Schlüsselnamen auf die Daten zugreifen, sind keine Maßnahmen erforderlich. Bei strengen Byte- oder Reihenfolgevergleichen müssen die Referenzdaten neu generiert werden.- Bei der Anwendung einer Einzelgerätekonfiguration ändert sich der Name des Benachrichtigungsbereichs. Sobald die Konfiguration für ein einzelnes Gerät angewendet wird, tragen die Benachrichtigungsereignisse zu Änderungen an der Sitzungsaktualisierung nun einen Namen ohne Präfix (
mount,basis,preset) stattdessen den Namen des Konfigurationsbereichs (config.mount,config.basis,config.preset) wird gemeldet. Clients, die die Bereichszeichenfolge dieses Ereignisses filtern, müssen ihre Abgleichlogik aktualisieren. - Neuformatierung des Glaze-Gleitkomma-Texts für alle numerischen Wire-Werte in v3.0 und v3.1 (Beispiel:
1.0E-7->1E-7,16777216->1.6777216E7,-1.0E-37->-1E-37). Es handelt sich lediglich um Änderungen auf Byte-Ebene; der Zahlenparser liest weiterhin denselben Wert. Lediglich das Textformat wurde geändert. Anwender, die Zeichenfolgenvergleiche nutzen, müssen die Referenzdaten (Fixtures) neu erstellen. - Verschiebung des Ursprungs der zentralen Voreinstellung. Da die zentrale Voreinstellung nun auf den tatsächlich erreichbaren Mittelpunkt ausgerichtet ist, verschiebt sich der festgelegte Nullpunkt gegenüber Version 3.5.2.
arm_front_centered/led_front_centeredDas Gerät bewegt sich entlang der Tiefenachse um 25 mm, Minverse die mittlere Voreinstellung erfolgt bei einer Verschiebung um 10 mm auf der X-Achse, 20 mm auf der Y-Achse und 20 mm auf der Z-Achse, undminverse_zupbewegt sich um 20 mm auf der X-Achse und um 30 mm auf der Y-Achse. Dies ist der standardmäßig aktivierte Bereich, undminverse_zupwird automatisch auf die erkannte Freeform-Sitzung angewendet. Wirkungsbereich: Inhalte, die am Ursprung platziert wurden, oder Geometrien, deren Position relativ zum Ursprung festgelegt wurde, während die Voreinstellung „Zentriert“ aktiviert ist, werden zusammen mit dem Ursprung verschoben. Migration: Überprüfen Sie die am Ursprung verankerten Geometrien erneut oder geben Sie den bisherigen Versatz explizit über eine benutzerdefinierte Befestigungstransformation an. Nicht zentrierte Voreinstellungen (device_defaults,arm_front,led_front) ist eine Identität und bleibt daher unberührt.
Artikel, deren Verkauf eingestellt werden soll
- inverse3 Das Erbe der Steuerbefehle
valuesDie Eingabe ist nun eine veraltete Funktion, für die eine Warnung angezeigt wird.set_cursor_force,set_cursor_position,set_angular_position,set_angular_torquesdas Feld, in dem der Name des Befehls angegeben ist (vector/position/angles/torques) stattdessenvaluesDie Methode zum Senden von Arrays funktioniert weiterhin. Allerdings werden sie nun nicht mehr stillschweigend akzeptiert, sonderncommand-deprecatedEs wird ein Ereignis ausgelöst (mit einer Begrenzung auf einmal alle 30 Sekunden pro Befehl).valuesMigrieren Sie diese in das entsprechend benannte Feld. Die alte Eingabeform wird in Version 4.0 entfernt. - In dieser Version gibt es keine weiteren Änderungen, die sich auf Open Wire auswirken.