Zum Hauptinhalt springen

v3.5.1

3.5.1 ist eine Version zur Stabilisierung und Qualitätsverbesserung. Die wichtigsten Neuerungen sind folgende: Automatisches Pairing von 1:1- Inverse3 - und Grip-Konfigurationen, auch wenn keine offenen WebSocket-Sitzungen vorhanden sind GET /devices/{id} Er ermöglicht den Abruf des aktuellen Bewegungsstatus, beseitigt das Quietschgeräusch, das beim Umschalten zwischen Kraft- und Positionsmodus auftrat, und verfügt über einen Service-Tick-Scheduler, der sich unter Dauerbelastung selbst anpasst.

Highlights​

  • Automatisches Pairing von 1↔1- Inverse3 s + Griff-Konfigurationen. Inverse3 Sobald ein Gerät und ein Griff bereit sind, registriert das SDK die Kopplung automatisch. Dadurch ist in einer Konfiguration mit mehreren Geräten pen_attached Die Aufhebung der Kalibrierung von „ Minverse “ wird nun nicht mehr fälschlicherweise weitergeleitet.
  • Auch ohne eine Sitzung zu öffnen, die neuesten GET /devices/{id} Snapshots können nun erstellt werden. Bei den Modellen „ Inverse3 “, „Inverse3x“ und „ Minverse “ mit Firmware-Version 7.5+ wird der Bewegungsstatus nun unabhängig vom WebSocket-Betrieb mit einer Frequenz von 20 Hz abgefragt. Bei Firmware-Versionen vor 7.5 wird die Abfrage übersprungen und es wird nur einmal eine Warnung ausgegeben.
  • Durch das Umschalten zwischen Kraft- und Positionsmodus ist das Quietschen verschwunden. set_cursor_force ↔ set_cursor_position Das Umschalten erfolgt nun slot-exklusiv, und zwischen den Ticks wird für jedes Gerät nur der aktuellste Wert beibehalten. Die inHARP beschriebene Maßnahme zur Vermeidung von 200-ms-Leerlauflücken ist nun nicht mehr erforderlich.
  • Selbstanpassender Tick-Scheduler. Da die Hauptschleife die Sendefrequenz entsprechend der Auslastung anpasst, kommt es nicht dazu, dass die Befehlswarteschlange durch langsame Ticks endlos anwächst.
  • Streaming-Antwort mit einem Eingang und einem Ausgang unter Last. WS-Streaming-Antworten pro Nachricht sind auf 1/ms pro Sitzung begrenzt. Wird eine Antwort aufgrund dieser Obergrenze abgelehnt, wird der unmittelbar vorhergehende Puffer wiedergegeben, sodass die Simulationsschleife recv() wird nicht blockiert.

Interne Verbesserungen​

Gerät​

  • Gerätespezifisches „ Inverse3 “ ↔ „VerseGrip“-Kopplungsregister. GET|POST|DELETE /devices/{sel}/paired_with ist eine 1:1-Zuordnung für jedes Gerät.POST löscht auf beiden Seiten bestehende Paarungen, die miteinander in Konflikt stehen.DELETE Löscht den ausgewählten Eintrag. Der Selektor muss auf eine ID aufgelöst werden.
  • 20-Hz-Abfrage des Bewegungsstatus bei Firmware v7.5+. GET /devices/{id} wird alle 50 ms die aktuellste cursor_position、cursor_velocity、angular_position、angular_velocity gibt zurück. Bei aktiven Sitzungen erfolgt dies transparent.
  • Der kabellose VerseGrip set_extension_data Auf Geschwindigkeitsregelung umstellen. Alte Daten werden verworfen, und die Pipeline, die im Leerlauf wiederholt Daten sendet, wird für jeden Service-Tick verarbeitet. Dadurch kommt es nicht mehr zu einer Überlastung der Funkverbindung durch übermäßige Übertragungen, und es bleiben auch keine alten Werte mehr zurück, weil zu wenig gesendet wurde.

Sitzung​

  • Für Batches, die ausschließlich der Steuerung dienen (Kraft/Position), wurde ein neuer Hochgeschwindigkeitspfad für den WS-Empfang hinzugefügt. Dieser Pfad überspringt die Pipeline, die den Befehl „configure“ berücksichtigt.configure、set_profile、Benutzerdefinierte Befehle durchlaufen weiterhin den Korrekturprozess für den Rennstatus.

Beobachtbarkeit​

  • Die Häufigkeit der Erfassungsprotokolle wird nun portweise und unter Berücksichtigung der Kontinuität gesteuert. Jeder auf der Blacklist eingetragene Port wird unabhängig gesteuert. Wiederholt ausgegeben "...blacklisted: skipping" In dieser Zeile wird die Anzahl der Ticks angegeben, bei denen die Ausgabe während der Auslösung unterdrückt wurde. (×N) wird nun angehängt.
  • Beim Testen von Nicht-WVG-Geräten kommt es nun nicht mehr zu einem Überlauf des Protokolls durch die Erkennung des drahtlosen VerseGrip.

Korrektur​

  • POST /device.config.preset de defaults oder arm_front wenn dies angegeben wirdDie Gerätebefestigung wird nun auf die werkseitigen Voreinstellungen zurückgesetzt (bisher geschah dies nicht).basis Da diese beibehalten wird, bleibt die in der App festgelegte Basis auch nach einer Änderung der Voreinstellungen für die Montage erhalten.
  • force_render_full_state aber config Es werden keine Snapshots mit fehlenden Blöcken mehr zurückgegeben.。Wenn die entsprechende „configure“-Anweisung innerhalb derselben WS-Nachricht eingeht, wird die Verarbeitung der „configure“-Anweisung synchron vor der Erstellung des Snapshots abgeschlossen.
  • Über mehrere Sitzungen hinweg force_render_full_state Nun liefert es jedoch einen vollständigen Snapshot des Ziels. Sowohl A als auch B erhalten nun die vollständige Nutzlast (bisher empfing A nur das Streaming).
  • Unbekannt target_session_id Befehle, die sich über mehrere Sitzungen erstrecken, führen nun nicht mehr dazu, dass die Anfrage-/Antwort-Schleife hängen bleibt. Der Absender der Anfrage hat seinen eigenen Snapshot undsession-command-dropped Veranstaltung (cross-session-unknown-target) erhält.
  • Minverse Die Entsperrung der Multi-Device-Kalibrierung wird nun nicht mehr fälschlicherweise weitergeleitet. Durch die Kalibrierung von „ Minverse A“ wird „ Minverse B“ nun nicht mehr entsperrt. Die Broadcast-Meldung mit der Überschrift „inkwell-success“ wurde ebenfalls korrigiert.
  • HTTP-Geräteauswahl ist als Geräte-ID #1234 und 1234 Wir akzeptieren beides. Selektor-Klasse (inverse3、verse_grip) funktioniert nun mit Indizes. In 404-Meldungen wird der ursprüngliche Selektorausdruck nun unverändert beibehalten.
  • Der kabellose VerseGrip ready Das Flag wird nun erst nach dem anfänglichen Handshake zur Erfassung der Geräteinformationen gesetzt.。Früher konnte es bei bestimmten Wiederverbindungswegen vorkommen, dass sich der Status änderte, bevor das Gerät sich vollständig angemeldet hatte.
  • Änderungen an den Einstellungen, die auf „keyed-rate-gate“ basieren, werden nun bereits beim nächsten Aufruf berücksichtigt(bisher wurden sie beim ersten Aufruf von „emplace“ festgelegt, sodass die Änderungen nur in neuen Sitzungen wirksam wurden).

Möglichkeit disruptiver Änderungen​

  • basis、preset、mount、transform、force_gate Insgesamt Die 404-Fehlermeldungen bei HTTP wurden vereinheitlicht.: "{type} device #{id} not found" を "no device matches selector '{expr}'" wurde geändert. Die 404-Fehlermeldung der Sitzung wurde ebenfalls entsprechend angepasst.
  • Kraftskalierungsverstärkung, Kraft-Gate-Verstärkung, Regel-Timeout,safeties/expose_in_snapshot Einstellung für „glob“ devices/inverse*/... von devices/*inverse/... wurde geändert。Konfigurationsdateien der Version 3.5.0, in denen die alten Literale verwendet werden, führen zu einem Fehler beim Binden.
  • Einstellungen: Globale Einstellungen zur Serialisierung session/serialization/* ist dorthin umgezogen(explicit_fields、force_complete_transforms、preview/*). Der alte Pass serialization/* wird zwar weiterhin über den nicht mehr empfohlenen Alias aufgelöst, dessen Entfernung jedoch für Version 4.0 geplant ist.
  • Verhalten: Bei Clients, die die WS-Antworten pro Nachricht als tick-synchronen Handshake verwenden, geht auch bei anhaltendem Datenverkehr maximal eine Antwort pro 1 ms und Sitzung ein. Vollständige Snapshots bei Konfigurationsänderungen sind davon nicht betroffen.

Nicht empfohlen​

In Version 3.5.1 gibt es keine Veraltungshinweise. Der Master-Schalter für die Vorschau bildet die Grundlage für die in der kommenden Version 3.6 eingeführte Übergangspipeline von „Silent“ zu „Warnung“. Die ersten Veraltungsmaßnahmen sind für Version 3.5.2 geplant.