Das mit der eigenen PA geht hier:
https://github.com/thelsing/knx/blob...e_object.h#L42
Bei mir hat die 0 aber immer funktioniert. Trotzdem hab ich das auf 0xFFFF gesetzt, weil es andere Geräte auch so machen.
Zur EEPROM-Größe kann ich nichts sagen, das hab ich nie gebraucht.
Gruß, Waldemar
P.S.: Arbeitest Du mit der Arduino-IDE oder mit PlatformIO?
Ankündigung
Einklappen
Keine Ankündigung bisher.
ESP8266 KNX mit ETS
Einklappen
X
-
Hi,
wenn es eher 5 Hz sind, dann bist Du wohl hier gelandet:
Die Frage ist, warum... Dab den aktuellen Stack lange nicht mehr "angefasst", da ich (leider immer noch aus Zeitgründen) auf einem fork arbeite. Da hat sich ne Menge getan, das erinnert mich wieder daran, dass ich da ran muss, aber das ist nicht das Thema hier.Code:void ArduinoPlatform::fatalError() { const int period = 200; while (true) { #ifdef LED_BUILTIN if ((millis() % period) > (period / 2)) digitalWrite(LED_BUILTIN, HIGH); else digitalWrite(LED_BUILTIN, LOW); #endif } }- Damals hat sich ein neues Modul immer mit 0.0.0 und nicht mit 15.15.255 gemeldet.
- Du musst in der Demo darauf achten, dass ArduinoPlatform::SerialDebug = &Serial; auch das richtige Serial adressiert (also passend zum Board auf die USB-Schnittstelle geht), beim Board von Masifi ist das z.B. "SerialUSB".
- Und Du musst die richtigen Pins zuweisen, falls die Defaults nicht stimmen:
Code:// pin or GPIO the programming led is connected to. Default is LED_BUILTIN // knx.ledPin(LED_BUILTIN); // is the led active on HIGH or low? Default is LOW // knx.ledPinActiveOn(HIGH); // pin or GPIO programming button is connected to. Default is 0 // knx.buttonPin(0);
Wenn es nach dem Start nicht mehr blinkt, sollte beim togglen vom Prog-Pin die Prog-LED auch togglen. Und wenn die KNX-Verbindung klappt, auch in der ETS ein Device 0.0.0 im ProgMode erscheinen.
Und dann kannst Du auch eine PA zuweisen und von der ETS aus programmieren. Und dann erscheint auch was im serial monitor.
Gruß, Waldemar
P.S.: Ich würde es weiter probieren, ich finde, der Stack lohnt sich...
Einen Kommentar schreiben:
-
in der flashstorage lib von thesing steht bei mir:Zitat von h1as Beitrag anzeigenIch musste die KNX_Flashsize auf 1024 runtersetzen damit das Teil nicht im readmemory hängen bleibt.
das meinst du, oder?Code:#ifndef EEPROM_EMULATION_SIZE #define EEPROM_EMULATION_SIZE 1024 #endif
ok, magst du vielleicht den schnippsel posten? Wäre nett!Zitat von h1as Beitrag anzeigenAußerdem musste ich im Code noch eine default Phy. Adresse zuweisen damit das Flashen aus ETS raus klappt.
Einen Kommentar schreiben:
-
Hallo SirSydom,
ich habe vor kurzem auch die Demo mit dem SAMD21 und Tpuart getestet.
Ich musste die KNX_Flashsize auf 1024 runtersetzen damit das Teil nicht im readmemory hängen bleibt. Außerdem musste ich im Code noch eine default Phy. Adresse zuweisen damit das Flashen aus ETS raus klappt.
Vielleicht hilft dir das.
Viele Grüße H!as
Einen Kommentar schreiben:
-
Hallo zusammen,
ich hab hier ja ne Menge verpasst. ESP8266 im Titel hat mich einfach nicht angemacht, und ich bin jetzt erst durch die alt. Software für Masifis Tool darauf gekomen dass das auch für SAMD21 und TP tut
Das probier ich doch gerne mal. Ich scheitere aber schon.. ziemlich früh
Ich hab die knx-demo (git head) als tp variante mit arduino gebaut. Board ist ein ItsyBitsyM0 und eine MicroBCU.
- die led blinkt mit ca. 3Hz
- in der ETS ist kein device im Prog mode, 15.15.255 ist nicht vorhanden
- am serial monitor kommt gar nichts
- keine Reaktion wenn ich am prog pin auf 3v3 oder gnd ziehe
1) was bedeutet das blinken mit ca. 3Hz ?
2) sollte das gerät im "neuzustand" nicht unter 15.15.255 ansprechbar sein?
3) ist das normal, dass am serial monitor nichts passiert? fehlt da ggf. ein while(!serial) ?
4) wie muss der knx buton pin angeschlossen werden? was wird hier erwartet?
Einen Kommentar schreiben:
-
Hi H1as,
cool das war die Lösung. Habe die KNX_FLASSH_SIZE auf 1024 gesetzt und schon klappt es mit dem Gedächtniss.
Nun habe ich nur noch das Problem, was mir etwas unerklärlich ist, das mein board nicht von allein startet, wenn ich es anstecke passiert nichts, wenn ich bei PlattformIO Monitor starte über den USB Port scheint das Baord einen reset zu bekommen und es wird auch Debug code ausgegeben dann funktioniert auch alles wie gewünscht, wenn ich nun was über ETS Programmiere und die einen Board reset macht hängt er wieder in dem komischen Modus das ich erst den Monitor auufmachen muss das es wieder läuft. :-)
So ein Board nutze ich:
https://i.ebayimg.com/images/g/BUIAA...jdA/s-l300.jpg
Doku:
BLavery/SAMD21-M0-Mini: Notes on using the Chinese "SAMD21-M0-Mini" board (github.com)
Gruß
RObertZuletzt geändert von jeff25; 19.01.2021, 10:07.
Einen Kommentar schreiben:
-
Hallo zusammen,
ich musste auch die KNX_FLASH_SIZE anpassen bzw. definieren. In Memory.cpp ist diese mit 8192 definiert. Wenn ich sie reduziere dann funktioniert es. Warum das so ist hab ich aber noch nicht untersucht.
Viele Grüße
H1as
Einen Kommentar schreiben:
-
Hi Waldemar,
Es scheint eher ein Boot Problem zu sein. Wenn ich programmiere und dann den SAMD21 neu anstecke passiert nichts, er startet nicht von allein. Ich habe festgestellt wenn ich "//knx.readMemory();" auskommentiere dann geht es. Es scheint irgendwas lesen zu wollen was nicht existiert bzw ihn vom starten abhält.
Gruß
RobertZuletzt geändert von jeff25; 19.01.2021, 00:23.
Einen Kommentar schreiben:
-
Hi Robert,
wenn Du nichts an den #define in samd_platform.h geändert hast, werden alle ETS-Setings im SAMD-Flash gespeichert. Auch die PA. Dafür musst Du nichts tun. Allerdings wird bei einem erneuten beschreiben der Firmware per USB der gesamte Flash gelöscht. Und damit auch die PA und alle ETS-Parameter. Meinst Du das mit "er merkt sich nichts"?Zitat von jeff25 Beitrag anzeigenEin weiterer kleiner Fehler ist noch er merkt sich nichts, denke das liegt an Flashstorage, muss ich hier was besonderes tun?
Gruß, Waldemar
Einen Kommentar schreiben:
-
Ohne GND-Verbindung fehlt ja für die Datenleitungen das Bezugspotential (also ja, GND muss dabei verbunden sein).Zitat von jeff25 Beitrag anzeigennur TX und RX mit der BCU (ncn5120) verbunden, wenn ich das board auch über den NCN5120 versorgen lasse ist der Fehler weg und ich kann Adresse und auch Appliaktion schreiben, muss ich evtl im USB modus GND noch verbinden?
Einen Kommentar schreiben:
-
update:
ich habe bis jetzt das SAMD21 Board per USB versorgt und nur TX und RX mit der BCU (ncn5120) verbunden, wenn ich das board auch über den NCN5120 versorgen lasse ist der Fehler weg und ich kann Adresse und auch Appliaktion schreiben, muss ich evtl im USB modus GND noch verbinden?
Ein weiterer kleiner Fehler ist noch er merkt sich nichts, denke das liegt an Flashstorage, muss ich hier was besonderes tun?
Ich habe im Code nur #include <FlashAsEEPROM.h> eingebunden.
Viele Grüße
RObert
Einen Kommentar schreiben:
-
Danke Waldemar,
ich habe aber das KNX Demo Programm genutzt :-)
Ich habe mal versuchshalber das hier installiert
https://knx-user-forum.de/forum/%C3%...51#post1141751
da bekomme ich diese Ausgabe, es scheint also generell zu gehen...
Mit der KNX Demo kommen nur oben genannte Fehler. Muss ich irgendwo noch den NCN5120 bekannt geben?
Gruß
Robert
Einen Kommentar schreiben:
-
Hi Robert,
solche Meldungen kommen normalerweise, wenn irgendwas in Deinem Programm zu lange braucht, Du z.B. irgendwo ein delay im Coding hast. Kann auch durchaus in irgendeinem importierten Modul sein, dass Du nicht selber geschrieben hast. Du musst immer die Kontrolle an den knx-Stack abgeben, damit der seinen Job machen kann und die KNX-Telegramme abholen/schreiben kann.
Gruß, Waldemar
Einen Kommentar schreiben:
-
Hallo zusammen,
ich nutze einen SAMD21 + ncn5120 und bekomme folgenden Fehler:
Startup called...
ownaddr 0
got U_STATE_IND: 0x47
Timeout during RX_L_DATA
got U_STATE_IND: 0xBF
got U_FRAME_STATE_IND: 0x9B
got UNEXPECTED: 0xAA
got UNEXPECTED: 0xAA
got UNEXPECTED: 0xA2
got UNEXPECTED: 0xE1
got U_CONFIGURE_IND: 0x1
got L_ACKN_IND
Timeout during RX_L_DATA
frame with invalid crc ignored
got U_STATE_IND: 0xBF
got U_STATE_IND: 0x57
Timeout during RX_L_DATA
Ich habe bereits hier gesucht und auch den selben Fehler gefunden aber irgendwie mag es bei mir nicht klappen, der damals erwähnte timeout ist nun eh schon auf 10 gesetzt... Kann mir jemand helfen oder weis an was das liegt?
Viele Grüße
RObert
Einen Kommentar schreiben:


Einen Kommentar schreiben: