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_attachedDie 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_positionDas 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_withist eine 1:1-Zuordnung für jedes Gerät.POSTlöscht auf beiden Seiten bestehende Paarungen, die miteinander in Konflikt stehen.DELETELö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 aktuellstecursor_position、cursor_velocity、angular_position、angular_velocitygibt zurück. Bei aktiven Sitzungen erfolgt dies transparent. - Der kabellose VerseGrip
set_extension_dataAuf 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.presetdedefaultsoderarm_frontwenn dies angegeben wirdDie Gerätebefestigung wird nun auf die werkseitigen Voreinstellungen zurückgesetzt (bisher geschah dies nicht).basisDa diese beibehalten wird, bleibt die in der App festgelegte Basis auch nach einer Änderung der Voreinstellungen für die Montage erhalten.force_render_full_stateaberconfigEs 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_stateNun 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_idBefehle, 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-droppedVeranstaltung (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
#1234und1234Wir 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
readyDas 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_gateInsgesamt 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_snapshotEinstellung für „glob“devices/inverse*/...vondevices/*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 Passserialization/*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.