Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Ja das war vll etwas blöd ausgedrückt. Ich meinte, dass der Stack nichts aktives macht um das zu verhindern.
Aber ja, das ist korrekt. Iwo musst du die Property mit dem Stack setzen, damit du sie per ETS auslesen kannst.
Ich suche nach einer einfachen Lösung in meiner programmierten Applikation (ESP Firmware) zu überprüfen ob das für diesen Anwendungsfall erstellte knxprod auch wirklich in das Gerät geladen wurde. Eine Überwachung in der ETS ist gar nicht nötig.
Abfangen will ich einfach nur diesen Fall:
Wenn die Firmware auf nicht konfigurierte Groupobjects zugreifen will (weil passende Applikation mit ETS noch nicht geladen), kommt es zu einem Zugriffsfehler im Stack und der Chip startet neu.
"<LdCtrlCompareProp InlineData="00FA020723" ObjIdx="4" PropId="13">"
In dieser Property ist ja die Version der Applikation gespeichert (00FA Hersteller, 0207 Applikationsnummer, 23 Version). Dieser sollte je nach Maskversion auch am Ende der Programmierung beschrieben werden.
Genau so einen Wert würde ich gerne in der Firmware abfragen.
Soweit ich gesehen habe bietet die aktuelle Implementierung aber keine Funktion dafür.
Beim starten der Applikation würde ich nun den Parameterwert im Speicher abfragen.
Wenn er den Wert 0xD3D3 hat: weiter machen.
Falls nicht wurde ne andere Applikation übertragen.
Auch das ist mit der aktuellen Implementierung und dem CreateKnxProd nicht möglich.
mach das doch so wie von mir im Post 1062 beschrieben. Typ definieren, Parameter mit dem Typ, ParameterRefRef im Dynamic-Teil und im Coding abfragen. Einfacher geht es nicht.
Dann sollten wir uns aber auf irgendein ID-Schema einigen
Du hast natürlich Recht, ich sehe aber das Problem eher bei der Applikationsnummern. Ich hab z.B. bei meinem Experimenten schon 100-110, 120, 130, 140, 150, 160 und 170 genutzt. Ist alles nicht freigegeben (außer das Sensormodul mit 106). 2 weitere hab ich in Petto, da kann ich die nummern noch anpassen. Ich wollte - solange es geht - im Bereich 100-110 bleiben.
Mein einfacher Vorschlag: Die AppID, die man vergibt, ist im ersten Byte = Applikationsnummer. Schon haben wir keine Kollisionen im Bereich der ID .
So, es ist Mittag und ich hab mal wieder eine meiner Verrückten Ideen xD
Ich hab letztens mal ausversehen eine hersteller ID von 0xFFFFFFFF angegeben. Lustiger weiße ging das durch den Converter der ETS.
Ich hab es noch nicht in die ETS importiert. Aber vll mag das mal einer Testen?
Dann könnte man auch eine eigene knx_master.xml anlegen und neue Hersteller IDs die größer als 0xFFFF sind vergeben.
Das würde viele Probleme lösen.
jetzt habe ich es geschafft, funktionierende .knxprod-Dateien mit Createknxprod zu generieren.
Ich ging zurück zu Thelsings Beispieldatei "knx-demo.ino", um sie auf eine ESP8266 NodeMCU herunterzuladen, die ich als Test verwendet habe, bevor ich mit den .knxprod-Dateien hängen blieb.
Leider kann ich den Download aus der ETS5 nicht mehr abschließen.
Was soll ich tun, wenn mein ESP8266 NodeMCU geflasht und mit meinem WIFI-Netzwerk verbunden ist.
Was soll ich tun, wenn die ETS5 mich auffordert, ihre Programmiertaste zu drücken?
Grüße
Zuletzt geändert von richardpub; 30.11.2021, 11:53.
Sorry for the translation problems from French to German, so I will double this post by its English version for a better understanding:
now I have managed to generate working .knxprod files with Createknxprod.
I went back to Thelsing's example file "knx-demo.ino" to download it to an ESP8266 NodeMCU that I used as a test before I got stuck with the .knxprod files.
Unfortunately, I am no longer able to complete the download from ETS5.
What should I do once my ESP8266 NodeMCU is flashed and connected to my WIFI network.
What should I do when ETS5 asks me to press its programming button
Nein es geht jede meine ich.
hab mir mal ein Programm geschrieben, dass den Hersteller in Produktdatenbanken austauscht.
Da mein Jung Taster immer als andere Hersteller erkannt wurde. Da hab ich die dazugehörige Applikation umgeändert und es wurde wunderbar importiert.
Hab grad keine ETS da, sonst würde ich das kurz mit ner eigenen Produktdatenbank testen.
uint16_t _manufacturerId = 0xfa; //Default to KNXA
Ich hab keine Ahnung, ob das irgendwie verifiziert wird. Und noch weniger Ahnung, ob man sich wirklich als "fremde" Hersteller ausgeben sollte.
Gruß, Waldemar
AFAIK muss das nur zu dem Hersteller in der Produktdatenbank passen. Sonst nichts. Sich als anderer bestehender Hersteller auszugeben mach IMO Sinn wenn man eine bestehende Produktdatenbank benutzen will. Dann baut man quasi ein Gerät nach. So funktionieren die Geräte von Selfbus größtenteils.
Sorry for the translation problems from French to German, so I will double this post by its English version for a better understanding:
now I have managed to generate working .knxprod files with Createknxprod.
I went back to Thelsing's example file "knx-demo.ino" to download it to an ESP8266 NodeMCU that I used as a test before I got stuck with the .knxprod files.
Unfortunately, I am no longer able to complete the download from ETS5.
What should I do once my ESP8266 NodeMCU is flashed and connected to my WIFI network.
What should I do when ETS5 asks me to press its programming button
Regards
Just press the non-reset button off the NodeMCU. It works as the programming button in knx-demo.
Just press the non-reset button off the NodeMCU. It works as the programming button in knx-demo.
what do you mean by the non-reset button ??
on the left of the usb socket I have a button noted RST and on the right the Flash button.
is the non-reset button the programming button for ETS5?
If so, is there a specific way to use it ????
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar