Kernpunkte
Die Konfigurationsdaten eines Geräts gelten nun für jede Clientsitzung, in der dieses Gerät verwendet wird, und nichtnur diejenige, die den Eintrag vorgenommen hat. Ein zweiter Betrachter aktualisiert sich automatisch, sobald sein Ereignis eingeht In dieser Sitzung aktualisiert, anstatt den Dienst in regelmäßigen Abständen abzufragen – genau ein Ereignis pro Inhaber-Sitzung und niemals zwei für den Autor des Eintrags.
Der physische Einbauort eines Geräts kann nun an einen Kunden übermittelt werden, anstatt dass der Dienst systematisch die in der Sitzung konfigurierte Montage zurückgibt. Die Kennzeichnung, die angibt, welche der beiden Optionen Sie gerade einsehen, ist nun konstruktionsbedingt in allen Ausgabeformen korrekt.Wenn ein Gerät seine eigene Einbaureferenz beibehält, folgt der Dienst dieser. Bisher gab der Dienst einen beim Start des Geräts erfassten Wert zurück, ohne diesen jemals erneut zu überprüfen. Nun kann er diese Referenz auf Anfrage aktualisieren, und zwar im für den Kunden spezifischen Aktualisierungsrhythmus – mit einer dienstseitigen Durchsatzbegrenzung, damit ein schneller Kunde die Verbindung zum Gerät nicht überlasten kann – und die Änderung melden, sobald sich die Montage tatsächlich gedreht hat.Interne Verbesserungen
Experimentelle automatische Korrektur der Gierdrift des Griffs. Ein neues Servicemodul schließt den Regelkreis für die trägheitsbedingte Gierabweichung des kabellosen VerseGrip: Es passt die absolute Gierlage des Handgriffs entsprechend der Bewegung des gekoppelten „ Inverse3 “ oder des Minverse an, an dem er befestigt ist; sobald alle Qualitätsbedingungen erfüllt sind, schreibt es eine einmalige Korrektur in die Firmware des Handgriffs. Es wird deaktiviert ausgeliefert, ist nur zugänglich, wenn der Schalter für den experimentellen Modus aktiviert ist, und verfügt über einen Ausführungsschalter, der jeden aktiven Griff sofort in den deaktivierten Zustand zurückversetzt, sobald er umgelegt wird – was für eine Komponente, die in die Firmware eines Geräts schreibt, nicht optional ist.Eine Konfigurationsdatei, die alle Geräte gleichzeitig betrifft, funktioniert nun nach dem Alles-oder-Nichts-Prinzip. Die gesamte Auswahl wird überprüft (Firmware-Kapazität und Verfügbarkeit jedes einzelnen Geräts), bevor auch nur ein einziges Gerät geändert wird; so kann es nicht mehr vorkommen, dass ein Gerätepark mit heterogener Firmware aufgrund eines Fehlers beim zweiten Gerät nur zur Hälfte umgestellt wird.Die Empfangsbestätigungen der Firmware der Griffe werden nun pro Anfrage nachverfolgt. Durch einen einzigen gemeinsamen Speicherort für Ergebnisse konnte es vorkommen, dass zwei gleichzeitige Anfragende die Antwort des jeweils anderen verpassten, und ein und derselbe mehrdeutige Wert bedeutete sowohl „abgelehnt“ als auch „derzeit nichts“ – was eine Ablehnung in eine Lawine von Versuchen verwandeln konnte. Jede Anfrage verfügt nun über ein eigenes Token; eine nie übermittelte Anfrage hinterlässt keine Spuren, und eine verlorene Antwort führt zu einem Fehlschlag, anstatt das System zu blockieren. Der Scan, der diese Nachverfolgung durchführt, verursacht keine Kosten, solange keine Anfragen ausstehen.Die Kalibrierung der Inkwell-Dockingstation wird von den neuen Kapazitätsprüfungen der Firmware der Stifte nicht beeinflusst. Das Andocken eines Stifts führt eine vollständige Neukalibrierung der Positionierung durch, was für jeden ausgelieferten Stift unabhängig von der Firmware-Version korrekt ist; dieser Vorgang ist ausdrücklich von dem für berechnete Kurskorrekturen eingeführten Mindestkapazitätsschwellenwert ausgenommen, und diese Ausnahme wird am Aufrufpunkt ausdrücklich angegeben und nicht abgeleitet.Korrekturen
Durch das Zurücksetzen der Schwerkraftkompensation wird nun der tatsächliche Standardwert wiederhergestellt, anstatt eine Überkompensation vorzunehmen.Trotz seines Namens ist das Feld Skalierungsfaktor de config/Schwerkraftkompensation ist kein Multiplikator: Es handelt sich um die zusätzliche Nutzlastmasse des Endeffektors in Kilogramm, die das Gerät zusätzlich zu seinem eigenen Gewicht ausgleicht. Die Rücksetzung nahm diesen Namen wörtlich und stellte den „neutralen“ Faktor wieder her. 1, also eine Scheinslast von einem Kilogramm; nach einem Reset drückte das Gerät den Griff daher nach oben, was nicht dem Verhalten eines gerade angeschlossenen Geräts entspricht. Der Reset setzt nun den tatsächlichen Standardwert zurück: Kompensation aktiviert mit Skalierungsfaktor à 0, was bedeutet, dass das Gerät sein eigenes Gewicht trägt und keine Nutzlast voraussetzt. Falls Ihre Anwendung das Zurücksetzen genutzt hat, um die Stärke der Kompensation zu erhöhen, legen Sie stattdessen den gewünschten Wert explizit fest.
Durch das Zurücksetzen der „Zurück zum Ursprung“-Funktion wird diese nun tatsächlich wieder aktiviert. Das Zurücksetzen von config/home_return hatte letztendlich die Rückkehr zum Ausgangszustand deaktiviert, dem Anrufer jedoch mitgeteilt, dass sie aktiviert sei; ein Reset stellt nun tatsächlich die Werkseinstellung (aktiviert) wieder her, und der Wert, den Ihre Anwendung anschließend ausliest, entspricht dem Wert, den das Gerät tatsächlich verwendet.Ein Schreibvorgang zur Konfiguration oder Ausrichtung auf Geräteebene führt nun nicht mehr dazu, dass andere Clients veraltete Daten erhalten. Vor Version 3.5.6 führte ein Schreibvorgang, der das Gerät selbst betraf – und von jeder Sitzung, die dieses Gerät verwaltet, gemeinsam genutzt wurde –, lediglich zu einer Aktualisierung der Konfiguration des Clients, der den Schreibvorgang durchgeführt hatte, während die geräteweiten Routen für niemanden aktualisiert wurden. Jeder andere Client auf demselben Gerät zeigte weiterhin den alten Wert an, bis er den Dienst abfragte. Jede Sitzung, die das Gerät verwaltet, wird nun benachrichtigt.Ein wiederholter Andockversuch an die Station „Inkwell“ wird nun nicht mehr nach einer einzigen Ablehnung abgebrochen. Der Status eines vorherigen Andockversuchs wurde von einem Andockversuch zum nächsten beibehalten, sodass der zweite Andockversuch die erste Ablehnung als Ende seines Zeitfensters für weitere Versuche wertete. Das Zeitfenster für weitere Versuche wird nun bei jedem Andockversuch zurückgesetzt.Behebung eines Datenkonflikts während des Aktualisierungszyklus des drahtlosen VerseGrip-Geräts. Die Gerätekennung konnte vom Verbindungs-Ausführungsthread neu zugewiesen werden, während ein Vorbereitungs-Pfad sie unter einer anderen Sperre auslas. Die ID wird nun nur einmal unter der richtigen Sperre erfasst, und alle nachfolgenden Pfade – einschließlich der Ablehnungen – arbeiten mit dieser Kopie.Behebung des Problems der nicht synchronisierten Vorbereitung von Nachrichten auf vier drahtlosen VerseGrip-Sendern. Vier Nachrichtenübertragungswege fügten ihre Nutzdaten und ihre Prüfsummen zusammen und forderten anschließend den Versand an, ohne die Schreibsperre zu erwerben; daher konnten sich zwei Sender im gemeinsam genutzten Puffer überlagern.Möglicherweise inkompatible Änderungen
Es gibt keine Änderungen an der API, am Übertragungsformat oder an den Parametern. Die Standardausgabe entspricht Byte für Byte der Version 3.5.5, es wurden keine Routen entfernt oder verschoben, die öffentliche C-API blieb unverändert, und kein Parameterschlüssel wurde umbenannt, entfernt oder mit einem neuen Standardwert versehen. Anwendungen, die bewusst die Vorschau- oder experimentellen Oberflächen des SDK aktivieren, müssen in diesem Zyklus jedoch Migrationsarbeiten durchführen, darunter eine Änderung der Schalterebene und die Entfernung einer Reihe von Tokens; jeder Schritt ist im begleitenden technischen Änderungsprotokoll dokumentiert.Beim Zurücksetzen der Schwerkraftkompensation wird ein anderer Wert zurückgegeben als in Version 3.5.5. Es hat sich weder ein Feld noch ein Pfad noch die Art der Antwort geändert, aber eine Anwendung, die darauf angewiesen war, durch das Zurücksetzen einen Skalierungsfaktor de 1 nimmt nun den Werkseinstellungswert an 0; die Kompensation selbst bleibt in beiden Fällen aktiviert. Legen Sie den Wert explizit fest, anstatt sich auf das Zurücksetzen zu verlassen; siehe die Korrektur oben.Durch das Zurücksetzen der „Zurück zum Ursprung“-Funktion bleibt diese nun aktiviert und wird nicht deaktiviert. Es haben sich weder Felder noch Routen noch die Art der Antwort geändert, aber eine Anwendung, die sich darauf verlassen hat, dass die „Zurück zum Ursprung“-Funktion durch das Zurücksetzen deaktiviert wird, findet diese nun aktiviert vor. Wenn Sie dies wünschen, deaktivieren Sie die Funktion nach einem Zurücksetzen explizit; siehe den obigen Hinweis.Die Kunden erhalten zusätzliche Konfigurationsereignisse. Eine Anwendung, die davon ausging, dass ein Ereignis In dieser Sitzung aktualisiert Erhielt er bisher nur aufgrund seiner eigenen Schreibaktion eine Benachrichtigung, so erhält er diese nun auch, wenn ein anderer Client ein Gerät ändert, das beide besitzen, gefolgt von einer vollständigen Darstellung der Konfiguration. Dies ist die beabsichtigte Folge der oben beschriebenen Verbreitung; ein Client, der die Daten beim Empfang des Ereignisses lediglich ausliest, benötigt keinerlei Änderung.