Ankündigung

Einklappen
Keine Ankündigung bisher.

ESP8266 KNX mit ETS

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • mumpf
    antwortet
    HI Bernator,

    ich wollte nur kurz mitteilen, dass ich in der Sache an sich (linux test) gerade nicht weiter komme, weil ich den Stack nicht über IP programmieren kann - keine Ahnung warum. Hat aber nichts mit Deinen Änderungen zu tun, klappt auch mit Thomas Original nicht. Muss also an meinem Netzwerk liegen, ich forsche erstmal.

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Hi,

    Zitat von Hauswart Beitrag anzeigen
    In dem Fall hat es noch keiner getestet?
    keine Ahnung... an sich basiert das Projekt hier auf knxprod-Files. Wenn man die nicht importieren kann, wüsste ich nicht, wie sie sonst in die ETS inside kommen sollten.

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • Hauswart
    antwortet
    Zitat von thesing Beitrag anzeigen
    Hauswart : Vielleicht geht es, wenn du das Projekt in ETS von der Inside importierst, dort die knxprod hinzu fügst und dann wieder zum Inside-Server zurück synchronisierst. Ich habe das allerdings nie probiert, da ich keine Inside hab.
    Okay, leider habe ich keine ETS Pro und nur eine ETS Inside Lizenz.

    In dem Fall hat es noch keiner getestet?

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Hi,

    wenn das mit dem Flash problemlos funktioniert, kann ich gern auf die lib verzichten. Allerdings hat sich gestern der SAMD mit der Flash-Implementierung aufgehängt. Kann aber auch an meinem Teil der Firmware liegen. Würde ich gerne noch testen, bevor Du die Sachen weglöscht... so 2 Wochen?

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • thesing
    antwortet
    Die Variante mit EEPROM-Emulation würde ich übrigens rauswerfen wollen, wenn die andere Flash-Variante gemergt ist. Bei meinem Pull-Request der lib tut sich nichts. Dann kann ich auch meinen Fork der Flash-Storage lib endlich löschen. Oder legt da jemand Wert drauf?

    Einen Kommentar schreiben:


  • Bernator
    antwortet
    Alles gut ich habs nicht als Aufforderung verstanden
    In der reinen Flash Variante muss man keine Limits setzen, hier liefert der Flash Treiber so lange neu Speicherblöcke der entsprechenden Größe, von oben herab, bis der neu angeforderte Block mit dem text + data segment des Flash kollidieren würde, wenn das passiert landet man im fatalError().

    Bei der Variante mit dem emulierten EEPROM muss man in der FlasStorage lib wie vorher auch definieren wieviel Flasch Speicher als EEPROM emuliert werden soll.
    #define MAX_MEMORY_BLOCKS 6 in linux_platform.h Muss nicht geändert werden, das definiert für die mini Speicherverwaltung (der extern und emulierten EEPROM Variante) nur wieviel unterschiedliche Interface Objekte maximal gespeichert werden können (Device, Group, Assoc, Application, IPParameter, Facade)
    #define MAX_MEM 4096 in linux_platform.cpp #define FLASHSIZE 0x10000 in linux_platform.cpp Kommt nicht von mir, ich vermute das definiert die größe des emulierten EEPROMs in der Linux Platform

    Einen Kommentar schreiben:


  • thesing
    antwortet
    Hauswart : Vielleicht geht es, wenn du das Projekt in ETS von der Inside importierst, dort die knxprod hinzu fügst und dann wieder zum Inside-Server zurück synchronisierst. Ich habe das allerdings nie probiert, da ich keine Inside hab.

    Einen Kommentar schreiben:


  • Hauswart
    antwortet
    In Kombination mit der ETS Inside gibt keine Möglichkeit, da ich knxprod nicht importieren kann - oder?

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Hi,

    er landet nicht im fatalError()... Aber das oben war eher als Status gedacht, nach dem Motto "Ich hab schon was gemacht, aber noch keinen Erfolg gehabt" und nicht als Aufforderung, Lösungsideen zu liefern... Es war dann einfach spät und ich hab mittendrin aufgehört. Auf dem SAMD hatte das ja auch geklappt, einfach Deinen Stack zu nehmen und alles andere lief weiter. Und unter Linux kann ich auch debuggen, dann kann ich hoffentlich auch die Problemstellen (falls es welche gibt) genauer einkreisen.

    Ich werde das jetzt systematisch angehen, die knx-demo erstmal mit Thomas Stack zum laufen bringen, dann nur den Stack austauschen und dann sehen wir weiter. Noch ist gar nicht gesagt, dass es an Dir liegt, kann auch durchaus meine Umgebung sein.

    Aber man unabhängig von dem Linux-Problem: Kannst Du mir mal demnächst schreiben, wo Du über #define irgendwelche Speicher-Maximalwerte festlegst?
    Ich habe bisher folgendes gesehen:
    Code:
    #define MAX_MEMORY_BLOCKS   6   in linux_platform.h
    #define MAX_MEM 4096            in linux_platform.cpp
    #define FLASHSIZE 0x10000       in linux_platform.cpp
    Ich gehe mal davon aus, dass ich MAX_MEM dann für mein Logikmodul anpassen muss (bei Thomas musste ich den alloc auf 8192 setzen), würde ich dann auch machen - die Frage ist, ob ich irgendwo was übersehen habe. Und ob es eventuell beim SAMD auch noch ein MAX...-Limit gibt, dass ich noch nicht gefunden habe. Wie gesagt, ich bin ein bisschen verwundert, dass ich auf dem SAMD nur von 40 auf 60 Logikkanäle komme (wobei das natürlich auch schon ein Riesenerfolg ist) und hoffe ein bisschen, dass man noch an irgendwelchen Stellschrauben drehen kann .

    Werde weiter berichten,
    Gruß, Waldemar

    Einen Kommentar schreiben:


  • Bernator
    antwortet
    Hallo,

    danke fürs Feedback, leider hab ich aktuell keine Idee woran das liegen könnte. Die Änderungen beziehen sich eigentlich alle nur auf das memory handling, in wieweit das mit dem progmode zusammenhängt kann ich nicht sagen. Im fatalError() landet er aber nicht?

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Hi Bernator,

    kurzes Feedback: Ich habe heute Deinen neuen Stack mit meinem Logikmodul unter Linux laufen lassen (für das demo-projekt muss ich noch was anpassen, das mach ich dann morgen).

    Es compiliert, lässt sich starten, aber der Programmiermodus geht nicht, obwohl "progmode on" in der console erscheint. Ich der ETS sehe ich das Ding nicht unter "Geräte im Programmiermodus".

    Ich untersuch das morgen weiter, heute geht es ins Bett,
    Gute Nacht, Waldemar

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Hi,

    bin letzte Woche zur Reha gewesen, deswegen ist da nicht viel passiert. Ich hoffe, ich komme dieses WE dazu, sonst wird es leider erst kommendes WE was werden (die Woche über habe ich immer noch Reha).

    Ich mach das gerne, wollte auch Deinen aktuellen Umbau (also neueste Verison) auf dem SAMD noch testen, aber ich komme da leider nicht sehr schnell voran...

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • Bernator
    antwortet
    mumpf es wäre toll wenn du mal testen könntest ob das Demo Projekt in der Linux und ESP Platform noch läuft...

    Einen Kommentar schreiben:


  • Bernator
    antwortet
    So hab nochmal etwas umgebaut um die ganzen Speichervarianten Platformspezifisch zu machen, sprich die Abstraktion findet ausschließlich in der Platform statt, der Stack selbst bleibt somit unabhängig vom verwendeten Speichertyp.
    Damit das funktioniert müssen in der jeweiligen Plattform einige Methoden implementiert werden, welche das sind und was die leisten sollen hab ich in platform.h dokumentiert.
    In samd_platform.cpp sind Beispielimplementierungen für die 3 zuvor genannten Speichertypen.

    thesing ich denke das ist so jetzt eine recht saubere Sache, bitte schaus dir mal an....Danke

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Hi Bernator,

    kurzes Feedback zum "rudimentären" Speichertest:

    Alter Stand:
    Sensormodul (Temp/Hum/Co2 mit passenden Libs ) und 40 Logikkanäle problemlos möglich. 50 Kanäle gingen nicht mehr, dazwischen hab ich es nicht probiert.

    Neuer Stand:
    Gleiches Sensormodul, jetzt mit 60 Logikkanälen problemlos möglich. 80 Kanäle gingen nicht mehr, dazwischen hab ich es noch nicht probiert. Da aber 80 Kanäle auch über 255 KO gehen, könnte es noch einen Bug in meiner Firmware geben, dass es nicht funktioniert - zumindest bin ich mir da nicht sicher. Für die RAM-Nutzung gibt PlatformIO grob 8,6k an, ich hätte erwartet, dass das noch geht.

    Die Symptome sind auch unterschiedlich: Im alten Fall brach es bei zu vielen Kanälen bei der Programmierung ab, im neuen Fall hängt es beim bzw. vor dem ersten Senden eines KO, vorher sehe ich noch Debug-Ausgaben...

    Ich teste mal weiter und berichte dann, bin diese Woche allerdings in der Reha, das wird alles etwas "gemächlicher" gehen.

    Gruß, Waldemar

    Einen Kommentar schreiben:

Lädt...
X