Hi MO,
moritzw hat geschrieben: ↑So Jul 28, 2024 10:48 amUnd dann kann man gemäß der
API-Beschreibung von JUDO die Ressourcen hinzufügen.
Wobei ich diese "API-Beschreibung" von Judo recht dürftig und wenig aussagend finde. Das hätte man schon besser machen können.
Anhand Deiner Beispiele ist die Interpretation aber gleich viel einfacher, danke dafür.
Spoiler: Wir arbeiten daran, dass sich solche Geräte-API-Definitionen per json zwischen TWS austauschen lassen. So wie bei Modbus. Damit hat dann nur noch einer die Arbeit, solche Definitionen einzutippen (sofern derjenige das dann im Forum bereit stellt, so wie jetzt bei Logiken oder Modbus-Profilen)
moritzw hat geschrieben: ↑So Jul 28, 2024 10:48 amLittle Endian ist hier das Stichwort... und ganz dunkel kommen da Erinnerungen aus dem E-Technikstudium hoch, aber ich brauche dieses Wissen schon seit Jahrzehnten nicht mehr im Alltag...)
Nun, das Thema Litte vs. Big Endian ist bei uns tägliche Praxis. Z.B. handhaben die ARM-basierten Timberwolf Server Modelle das genau anders herum als die AMD64 Modelle. War eine Herausforderung bei Restore auf einer anderen TWS-Plattform als diejenigen von der die Sicherung stammte. Weil Bytes bei diesen Plattformen in anderer Reihenfolge gespeichert werden bei den jeweiligen Architekturen.
Auch bei Modbus haben wir das Thema (und eigentlich auch bei KNX), also allen Protokollen, die binär codiert sind.
Noch eine Anmerkung. Die Aussage "Big Endian" oder "Little Endian" ist nur für 16 Bit (= Wort) eindeutig. Weil hier die beiden Bytes vertauscht werden oder nicht.
Bei 32 Bit (Long-Word) ist die Sache nicht eindeutig, weil hier vier Varianten auftreten können:
1. Nix zu vertauschen
2. Nur die beiden Wörter (16 Bit) miteinander vertauschen vor dem Dekodieren (die enthaltenen Bytes aber so lassen)
3. Nur die jeweiligen Bytes in den beiden Wörtern vertauschen (aber die Reihenfolge der Wörter so belassen)
4. Sowohl die Bytes in den Wörtern, als dann auch die Wörter miteinander vertauschen.
In Deinem Fall wirst Du Variante 4 benötigen (Byte- und Word-Swap).
moritzw hat geschrieben: ↑So Jul 28, 2024 10:48 amEin Logikmodul, dass dies umrechnen kann, wird wohl in einer der nächsten Updates kommen.
Richtig. Es werden mit der kommenden Firmware V 4.1 (diese Logiken sind bereits bei Dev-Testern und werden demnächst auch in der IP1 zur V 4.1) dann auch VIER Logikmodule erscheinen, um diese vier Varianten abzudecken (hier blau umrahmt):
HInweis: Beim dritten Mal draufsehen, meine ich, dass die in den Symbolbildern zu den neuen Modulen abgebildeten "Beispiel" falsch sind, wir besprechen das nochmal intern....
Die Beschreibung des dafür genutzten Modulbausteines im Wiki ist hier: https://elabnet.atlassian.net/l/cp/Nx2xp1SR
moritzw hat geschrieben: ↑So Jul 28, 2024 10:48 amDa geht mein Dank wieder mal an Elabnet dass ihr euch darum kümmert mir das Leben leichter zu machen!
Danke sehr. Gehört zum Service für Insider. Wenn sich ein Datenformat mit den bestehenden Mitteln nicht vernünftig dekodieren lässt, dann bauen wir das eben so zeitnah wie das möglich ist und stellen es mit der nächsten Insider Preview zur Verfügung.
lg
Stefan