Zum Hauptinhalt springen
Version: 3.5.x

v3.5.1

3.5.1 ist eine Stabilisierungs- und Qualitätsversion. Wichtigste Neuerungen: Automatische Paarung für 1↔1 Inverse3 Grip-Konfigurationen, neue GET /devices/{id} Bewegungsstatus ohne offene WebSocket-Sitzung, die Beseitigung des Quietschgeräuschs beim Wechsel zwischen Kraft- und Positionsmodus sowie ein sich selbst optimierender Dienst-Tick-Scheduler unter Dauerbelastung.

Highlights

  • Automatische Paarung für 1↔1 Inverse3 -Montagen Inverse3 Griff. Sobald ein Inverse3 ein Griff bereit sind, registriert das SDK automatisch eine Kopplung — pen_attached und Minverse verhindert Fehlleitungen in Konfigurationen mit mehreren Geräten.
  • Frisch GET /devices/{id} Snapshots ohne geöffnete Sitzung. Minverse Inverse3 Inverse3x / Minverse Firmware-Version 7.5+ wird der Bewegungsstatus nun unabhängig von der WebSocket-Aktivität alle 20 Hz abgefragt. Bei Firmware-Versionen vor 7.5 wird die Abfrage übersprungen und es wird einmalig eine Warnung ausgegeben.
  • Der Wechsel zwischen Kraft und Position verursacht keine Quietschgeräusche mehr. Umschalten set_cursor_forceset_cursor_position ist slot-exklusiv – nur der aktuellste Slot pro Gerät bleibt zwischen den Ticks erhalten. Die 200-ms-Leerlauf-Lücke-Umgehungslösung HARP ist überholt.
  • Selbstoptimierender Tick-Scheduler. Die Hauptschleife passt ihre Ausführungsrate an die Auslastung an, sodass ein langsamer Tick die Befehlswarteschlange nicht unbegrenzt anwachsen lassen kann.
  • 1-in-1-out-Streaming-Antworten unter Last. Die Anzahl der Streaming-Antworten pro WS-Nachricht ist auf 1 pro Millisekunde und Sitzung begrenzt; bei Erreichen dieser Obergrenze wird der vorherige Puffer erneut abgespielt, sodass Simulationsschleifen niemals blockieren. recv().

Innenausbau

Geräte

  • Gerätebezogene Registrierung der Paarung von Inverse3 VerseGrip. GET|POST|DELETE /devices/{sel}/paired_with ist eine 1:1-Zuordnung pro Gerät. POST beseitigt Konflikte auf beiden Seiten; DELETE Löscht den ausgewählten Eintrag; der Selektor muss auf eine ID verweisen.
  • Abfrage des Bewegungsstatus bei 20 Hz unter Firmware-Version 7.5 und höher. GET /devices/{id} wird frisch geliefert cursor_position, cursor_velocity, angular_position, angular_velocity alle 50 ms; für aktive Sitzungen nicht wahrnehmbar.
  • Kabelloser VerseGrip set_extension_data drehzahlgeregelt. Die „Drop-older/repeat-on-idle“-Pipeline wird beim Service-Tick geleert – ein Übermaß an Daten überlastet die Funkverbindung nicht mehr, und ein Mangel an Daten führt nicht mehr zu veralteten Werten.

Sitzungen

  • Der neue WS-Receive-Fast-Path für reine Steuerungs-Batches (Kraft/Position) umgeht die konfigurationsabhängige Pipeline; configure / set_profile / Benutzerdefinierte Befehle durchlaufen weiterhin den Race-Fix.

Beobachtbarkeit

  • Die Häufigkeit der Erfassungsprotokolle ist portabhängig und berücksichtigt die Dauerhaftigkeit. Jeder auf der Sperrliste stehende Port wird unabhängig gesteuert; die wiederkehrende "...blacklisted: skipping" Das Sortiment umfasst nun (×N) für Zecken, die zwischen den Bränden verstummt sind.
  • Die Erkennung des drahtlosen VerseGrip überflutet das Protokoll nicht mehr, wenn ein Gerät geprüft wird, das kein WVG ist.

Korrekturen

  • POST /device.config.preset mit defaults oder arm_front setzt nun die Mount-Einstellung des Geräts auf die Werkseinstellung zurück (war zuvor eine stille No-Op). basis wird beibehalten, sodass in der App konfigurierte Basisdaten Änderungen an den Mount-Voreinstellungen überstehen.
  • force_render_full_state gibt keinen Snapshot mehr zurück, bei dem config Block Wenn die entsprechende Konfiguration in derselben WS-Nachricht enthalten ist, wird der Konfigurationspfad vor dem Snapshot synchron geleert.
  • sitzungsübergreifend force_render_full_state gibt den vollständigen Snapshot des Ziels zurück. Sowohl A als auch B sehen nun die vollständige Nutzlast (zuvor: A empfing nur das Streaming).
  • Sitzungsübergreifende Befehle mit einem unbekannten target_session_id Die Anfrage-Antwort-Schleife hängt sich nicht mehr auf. Der Anfragende erhält einen eigenen Snapshot + einen session-command-dropped Veranstaltung (cross-session-unknown-target).
  • Durch die KalibrierungMinverse kommt es nicht mehr zu Fehlleitungen. Die Kalibrierung Minverse führt nicht mehr zur Entsperrung von Minverse ; dieselbe Korrektur gilt für die Übertragung der Überschrift „inkwell-success“.
  • HTTP-Geräteauswahl akzeptiert #1234 und 1234 als Geräte-ID; Selektor-Klassen (inverse3, verse_grip) arbeiten mit dem Index zusammen; 404-Meldungen behalten den ursprünglichen Selektorausdruck bei.
  • Kabelloser VerseGrip ready Das Flag wird nun beim anfänglichen Handshake zur Geräteerkennung gesetzt — zuvor war es möglich, dass das Gerät bei bestimmten Wiederanschlusswegen umschaltete, bevor es sich vollständig angemeldet hatte.
  • Änderungen an den durch „Keyed-Rate-Gate“ unterstützten Einstellungen werden nun beim nächsten Hit wirksam (bisher: wurden beim ersten Einrichten festgeschrieben; nur neue Sitzungen übernahmen die Änderung).

Mögliche Kompatibilitätsprobleme

  • Vereinheitlichung der HTTP-404-Meldungen über basis, preset, mount, transform, force_gate: "{type} device #{id} not found""no device matches selector '{expr}'". Das Gleiche gilt für Sitzung 404.
  • Einstellungen-Glob devices/inverse*/...devices/*inverse/... für die Verstärkung der Kraftskala, die Verstärkung des Kraft-Gate, das Zeitlimit der Steuerung, safeties/expose_in_snapshot. Konfigurationsdateien der Version 3.5.0, die das alte Literal verwenden, können nicht eingebunden werden.
  • Einstellungen: Globale Serialisierungsvariablen wurden verschoben nach session/serialization/* (explicit_fields, force_complete_transforms, preview/*). Alt serialization/* Pfade werden weiterhin über veraltete Aliase aufgelöst; Entfernung in Version 4.0.
  • Verhalten: Clients, die die WS-Antwort pro Nachricht als Tick-Sync-Handshake verwenden, erhalten bei anhaltendem Datenverkehr höchstens eine Antwort pro Millisekunde und Sitzung. Vollständige Snapshots bei Konfigurationsänderungen sind davon nicht betroffen.

Verwerfungen

Keine in 3.5.1. Der Master-Schalter für die Vorschau dient als Vorbereitung für die in 3.6 geplante Umstellung von „silent“ auf „warn“; der erste Schritt zur Auslaufphase ist für 3.5.2 geplant.