v3.5.1
Die Version 3.5.1 ist eine Stabilisierungs- und Qualitätsversion. Hauptthemen: Automatische Paarung für 1↔1-Konfigurationen von „ Inverse3 “ + Griff, Bewegungsstatus GET /devices/{id} Aktualisierung ohne offene WebSocket-Sitzung, Behebung des Knackgeräuschs beim Wechsel zwischen den Modi „Force“ und „Position“ sowie ein sich unter Dauerlast automatisch anpassender Service-Tick-Scheduler.
Highlights
- Automatische Kupplung für 1↔1-Anlagen von „ Inverse3 “ + Griff. Sobald ein „ Inverse3 “ und ein Griff bereit sind, registriert das SDK automatisch eine Kopplung; das Entsperren, das durch
pen_attachedund durch die Kalibrierung „ Minverse “ werden in Konfigurationen mit mehreren Geräten nicht mehr falsch weitergeleitet. - Schnappschüsse
GET /devices/{id}Aktualisiert, ohne dass eine Sitzung geöffnet ist. Inverse3 / Inverse3x / Minverse mit Firmware-Version v7.5+ lassen nun ihren Bewegungsstatus mit einer Frequenz von 20 Hz abfragen, unabhängig von der WebSocket-Aktivität. Firmware-Versionen vor v7.5 ignorieren diese Abfrage und geben lediglich eine einzige Warnmeldung aus. - Der Umschalter „Kraft/Position“ quietscht nicht mehr. Der Übergang von
set_cursor_force↔set_cursor_positionNutzen Sie ein exklusives Zeitfenster: Zwischen zwei Ticks wird nur der letzte Wert pro Gerät gespeichert. Die 200-ms-Workaround-Lösung für Inaktivitätsintervalle von HARP ist mittlerweile veraltet. - Selbstanpassender Tick-Scheduler. Die Hauptschleife passt ihre Sendefrequenz unter Last an, sodass ein langsamer Tick die Befehlswarteschlange nicht unbegrenzt anwachsen lassen kann.
- Antworten im 1:1-Modus unter Last. Die Antworten im WS-Nachrichten-Stream sind auf eine pro Millisekunde und pro Sitzung begrenzt; wenn die Obergrenze den Versand verhindert, wird der vorherige Puffer erneut gesendet, sodass die Simulationsschleifen niemals bei
recv().
Interne Verbesserungen
Geräte
- Kopplungsprotokoll „ Inverse3 “ ↔ „VerseGrip“ pro Gerät.
GET|POST|DELETE /devices/{sel}/paired_withist eine 1:1-Zuordnung pro Gerät.POSTbeseitigt Konflikte auf beiden Seiten;DELETELöscht den ausgewählten Eintrag; die Auswahl muss einer einzigen Kennung entsprechen. - Abfrage des Bewegungsstatus mit 20 Hz bei Firmware-Version 7.5+.
GET /devices/{id}gibt neue Werte voncursor_position,cursor_velocity,angular_position,angular_velocityalle 50 ms; transparent für aktive Sitzungen. - Geregelter Durchfluss für
set_extension_dataVerseGrip-Funkgerät. Pipeline „Abandon der ältesten Einträge / Wiederholung bei Inaktivität“, die bei jedem Tick des Dienstes geleert wird – eine übermäßige Übermittlung überlastet die Funkverbindung nicht mehr, eine unzureichende Übermittlung hinterlässt keine veralteten Werte mehr.
Sitzungen
- Neuer schneller WS-Empfangsweg ausschließlich für Kontrollchargen (Kraft/Position), der die konfigurationsabhängige Pipeline umgeht;
configure/set_profile/ Benutzerdefinierte Befehle durchlaufen immer den Mechanismus zur Vermeidung von Parallelitätskonflikten.
Beobachtbarkeit
- Die Häufigkeit der Erkennungsprotokolle hängt vom Port ab und berücksichtigt die Wiederholungsrate. Jeder Port auf der Sperrliste wird unabhängig geprüft; die wiederkehrende Zeile
"...blacklisted: skipping"wird nun angezeigt(×N)für die Ticks, die zwischen zwei Auslösungen unterdrückt wurden. - Die drahtlose Erkennung von VerseGrip überflutet das Protokoll nicht mehr, wenn ein anderes Gerät als WVG abgefragt wird.
Korrekturen
POST /device.config.presetavecdefaultsouarm_frontSetzt nun die Konfiguration des Geräts auf die Werkseinstellungen zurück (zuvor ohne Wirkung und ohne Fehlermeldung).basiswird beibehalten, damit die in der Anwendung konfigurierten Datenbanken auch bei Änderungen der Einstellungsvorgaben für die Montage erhalten bleiben.force_render_full_stategibt keine Momentaufnahmen mehr ohne Block zurückconfigWenn die entsprechende Konfiguration in derselben WS-Nachricht eintrifft, wird der Konfigurationspfad vor der Momentaufnahme synchron geleert.force_render_full_state„inter-sessions“ gibt die vollständige Momentaufnahme des Ziels zurück. A und B sehen nun die gesamte Nutzlast (zuvor erhielt A nur den Gleichstrom).- Sitzungsübergreifende Befehle, deren
target_session_id… sind unbekannt und blockieren den Anfrage-Antwort-Zyklus nicht mehr. Der Antragsteller erhält seinen eigenen Screenshot sowie eine Benachrichtigungsession-command-dropped(cross-session-unknown-target). - Die Kalibrierungsfreischaltungen für mehrere Geräte „ Minverse “ werden nicht mehr falsch weitergeleitet. Die Kalibrierung von „ Minverse A“ schaltet „ Minverse B“ nicht mehr frei; dasselbe gilt für die Freigabe des „Inkwell“-Erfolgssymbols.
- Die HTTP-Geräteauswahl akzeptiert
#1234et1234als Gerätekennung; die Selektor-Klassen (inverse3,verse_grip) funktionieren auch mit dem Index; die 404-Meldungen behalten den ursprünglichen Selektorausdruck bei. - Der Indikator
readyDie drahtlose Verbindung von VerseGrip hängt nun von der anfänglichen Übertragung der Geräteinformationen ab. — Früher konnte es bei bestimmten Verbindungsaufbauten zu einem Umschalten kommen, bevor das Gerät vollständig erkannt worden war. - Änderungen an der Ausführung von Parametern, die auf einem schlüsselgesteuerten Timing-Port basieren, werden nun beim nächsten Trigger wirksam (bisher war der Wert beim ersten Setzen festgeschrieben; nur neue Sitzungen berücksichtigten die Änderung).
Möglicherweise inkompatible Änderungen
- Vereinheitlichte HTTP-404-Fehlermeldungen dans
basis,preset,mount,transform,force_gate:"{type} device #{id} not found"→"no device matches selector '{expr}'". 404-Fehler der Sitzung werden auf dieselbe Weise behandelt. - Motivkugel
devices/inverse*/...→devices/*inverse/...für die Kraftverstärkung, die Krafttorverstärkung, die Ablaufzeit der Steuerung undsafeties/expose_in_snapshot. Einstellungsdateien der Version 3.5.0, die die alte Literalform verwenden, können nicht eingebunden werden. - Einstellungen: Die globalen Serialisierungsvariablen wurden verschoben nach
session/serialization/*(explicit_fields,force_complete_transforms,preview/*). Die alten Wegeserialization/*werden immer noch durch veraltete Aliase aufgelöst; sie werden in Version 4.0 entfernt. - Verhalten: Kunden, die die WS-Antwort pro Nachricht als „Handshake“ zur Tick-Synchronisation verwenden, erhalten bei anhaltendem Datenverkehr höchstens eine Antwort pro Millisekunde und Sitzung. Vollständige Snapshots bei einer Konfigurationsänderung sind davon nicht betroffen.
Veraltete Funktionen
Keine in Version 3.5.1. Der Hauptschalter in der Vorschau dient als Auslaufmechanismus für die künftige Umstellung der Pipeline von „Silent Mode“ auf „Warn Mode“ in Version 3.6; die erste Auslaufphase ist für Version 3.5.2 vorgesehen.