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.
ich bin zwar nicht so der Hardware-Mensch, aber ich bin mir ziemlich sicher, dass Du mindestens die 32-Bit-Version brauchst. Und ob die Implementierung hier im Stack ist für den SAMD21, also Cortex M0, ob das auch für einen Cortex M3 geht, weiß ich nicht. Aber da können wahrscheinlich die Leute, die sich damit besser auskennen, qualifiziertere Antworten geben. Ich wollte Dich nur vor einer voreiligen Bestellung bewahren.
ich habe jeztz Bekanntschaft mit dem "ReadOnInit"-Flag machen dürfen... funktioniert nicht. Ich habe leider noch kein (überschaubares) reproduzierbares Beispiel, aber vielleicht hast Du ja schon eine Idee, wenn ich das Problem beschreibe.
Folgendes passiert: In der knxprod ist ein KO mit ReadOnInit="Enable" definiert. Dieses KO bekommt auch eine GA. Bei einem "blanken" SAMD, also ohne PA und ohne vorherige Firmware (Flash wurde komplett gelöscht) kann man die PA noch programmieren, die Applikation klappt aber nicht mehr. Ganz am Ende (ich vermute, bei der association- oder der adress-table) hängt er dann. Das letze Coding von uns im Callstack ist
Ich habe leider weder das Protokoll aus dem Gruppenmonitor gesichert noch den Callstack komplett im Kopf, aber es sah für mich so aus, als ob er an der Stelle schon einen Read absetzen wollte.
Er war auf jeden Fall auch hier:
Ich hätte das nicht während der Programmierung erwartet, sondern erst nach dem ersten Neustart. Der Debugger sprach bei obigen bitRead() (in rot) von einer Speicherverletzung.
Es ist aber nicht komplett fehlerhaft , wenn man beim ersten Programmieren dieses KO nicht mit einer GA versieht, sondern irgendein anderes KO (ohne I-Flag), und dann in einem 2. Rutsch die GA für dieses KO (das mit I-Flag) programmiert, geht das Programmieren durch - wobei ich nicht darauf geachtet habe, ob dann wirklich ein ReadRequest kommt.
Mir ist klar, dass das keine vollständige Feherbeschreibung ist, ich schreibe das hier aus 3 Gründen:
um es nicht zu vergessen
um die anderen Nutzer zu informieren
in der Hoffnung, dass es vielleicht doch genug ist, damit Du weißt, wo das Problem steckt.
Ich hab gestern recht lange rumprobiert, um ein reproduzierbares Beispiel hin zu bekommen und mich am Ende gefreut, als ich ne Lösung hatte. Deswegen kein sauberes Protokoll etc. Aber falls mehr erforderlich ist, bin ich gerne bereit, das nochmal nachzubauen, vielleicht mit der knx-demo, dann wäre das überschaubar...
henfri Ich habe zwar schon eine Weile ein neuen sonoff s20 aber der ist noch orginalverpackt...
hotzen Ich weiß nicht ob der Stack auf einem Arduino-Leonardo funktioniert. Kannst ja mal probieren das Beispiel zu übersetzen. Wahrscheinlich fehlt den AVR in der C-Lib etwas. Ist aber bestimmt lösbar. Ob der Speicher ausreicht weiß ich allerdings nicht. Ich würde eher ein SAMD empfehlen.
mumpf Es ist gut möglich, dass er bei einem der Neustarts während der Programmierung schon ein ReadGA absetzt. Das sollte wohl nicht so sein. Ich hab mal ein Issue aufgemacht.
Hi RObert, Ich suche nicht nur ein Mikrocontroller, sondern ein ganzes Board radino32_CC1101_C_45_1000_logo.jpg
hi Waldemar, ja, das hätte mich intressiert auf welchen Systemen das hier läuft.
Angenommen dieses Modul könnte in grösserer Stückzahl für 3$ gekauft werden, währe es intressant den Code dazu zu optimieren.
Werde mir am Freitag sicher CC1101 + SAMD21 bestellen. wie kopmpiliere ich eigentlich dieses Projekt. hatte gerade versucht in Atom mit platfom.io zu machen. jezt mit VSC am üben. ist es noch gar nicht so weit fortgeschritten, das es Standalone arbeitet?
hotze
Genau das Modul hatte ich für KNX-RF auch ins Auge gefasst.
Aktuell arbeitet jemand gerade an einem PullRequest, um STM32-Unterstützung hinzuzufügen. Wenn ich das richtig sehe, nutzt der STM32-Support aber KEIN STM32duino. Die bisherigen Plattformen (ESP, ESP32 und SAMD21) nutzen alle einen Arduino-kompatiblen Core. Ich weiß nicht, warum er das nicht auch gemacht hat.
Ich habe dort auch schon ein Ticket aufgemacht, um nachzufragen, wieviel Aufwand es bereitet, den STM32, der auf dem Radino32 Modul enthalten ist, zu nutzen: https://github.com/condo4/knx-pt100/issues/1
wie kopmpiliere ich eigentlich dieses Projekt. hatte gerade versucht in Atom mit platfom.io zu machen. jezt mit VSC am üben. ist es noch gar nicht so weit fortgeschritten, das es Standalone arbeitet?
doch, man kann es sehr gut verwenden (finde ich), es ist nur per default für die Arduino-IDE oder für Visual Studio gemacht. Mit Visual Studio Code (VSC) in Verbindung mit PlatformIO lässt es sich aber wesentlich komfortabler entwickeln.
Wie bin ich damals vorgegangen:
Ich hab erstmal mit Arduino-Ide das knx-demo Projekt zum laufen gebracht
Dann habe ich das selbe Projekt in PlatformIO importiert und wieder zu laufen gebracht, wobei die knx-Library noch immer eine Arduino-Lib geblieben ist.
Inzwischen habe ich auch die knx-Library zur PlatformIO-Lib gemacht und mache nichts mehr mit Arduino...
Als weiteres Update: Ich habe den devel-Branch in den master-Branch gemergt. D.h. die Änderung in der Verwaltung von nichtflüchtigem Speicher ist nun im master-Branch. D.h. es ist nun mehr Ram frei. Flash kann bei SAMD nach wie vor nur über die Eeprom-Emulation genutzt werden. Die Baustelle gehe ich wahrscheinlich als nächstes an.
die Tage habe ich mir Deine Bibliothek angeschaut und bin begeistert, die Arbeit die bisher geleistet wurde ist fantastisch. Ich würde gerne bei der Entwicklung helfen. Leider habe ich nie kontinuierlich Zeit, aber einen Beitrag kann ich auf jeden Fall leisten.
Eine Entwicklungsumgebung konnte ich mir schon einrichten. In einer virtuellen Maschine mit Ubuntu ist der Qt Creator installiert. Damit kann man unter Linux compilieren/debuggen. Den Code konnte ich übersetzen, habe aber aktuell noch keine Hardware zum Zugriff auf den KNX Bus. Der Code für die serielle Kommunikation unter Linux ist auch noch nicht implementiert, das könnte mein Einstieg werden.
Zudem habe ich noch nie mit Git gearbeitet, habt Ihr einen Link mit den nötigen Informationen?
Der Code für die serielle Kommunikation unter Linux ist auch noch nicht implementiert, das könnte mein Einstieg werden.
Hallo Werner,
ich bin mir nicht sicher, ob Du hier die UART-Kommunikation meinst, aber die ist natürlich implementiert, in Bau07B0. Es ist nur so, dass der Linux-Stack primär für KNX-IP genutzt wird, da man dort ja schon eine Netzwerkschnittstelle hat und so keine Zusatzhardware für die KNX-Kommunikation braucht (sofern man einen KNX-Router hat). Die UART-Anbindung (KNX-TP) von Microcontrollern macht vor allem Sinn, wenn der Microcontroller auch gleich vom Bus mitversorgt werden kann.
Und dann gibt es hier noch den Pfad ESP8266 oder ESP32, auch über KNX-IP, weil die eben ein WLAN-Modul mit an Bord haben.
Somit sind die hier im Thread zu findenden und verwendeten Kombinationen:
LinuxPlattform mit Bau57B0
SamdPlattform mit Bau07B0
EspPalttform mit Bau57B0
Du kannst natürlich mal testen, ob die LinuxPlatform mit Bau07B0 zum Laufen bekommst, irgendjemand wollte schon mal EspPlattform mit Bau057B0 testen, da weiß ich aber nicht das Ergebnis.
Neuerdings geht ja auch Bau27B0 (KNX-RF), da hab ich aber keine Erfahrung mit.
Das nur zur Info, damit Du nicht was implementierst, was nicht nötig ist...
es ist richtig, dass unter Linux noch keine serielle Kommunikation implementiert ist. Man kann also derzeit noch keine Siemens-BCU oder Micro-BCU an einen Raspberry-Pi hängen und damit mit dem Bus reden. Es wäre toll wenn das jemand übernehmen würde. Bei knxd kann man sicher schauen wie es dort gelöst wurde.
jeff25 Damit ist gemeint, dass du z.B. eine MicroBCU, ein SAMD21-Board und einen Optokoppler (zur galvanischen Trennung) nehmen kannst und dann mit dem Stack eine funktionsfähige USB-Schnittstelle bauen kannst. D.h. du kannst dann über USB->Board->BCU->Bus mit ETS andere KNX-Geräte programmieren. Nanosonde hat das zwar bisher nur mit knx-RF getestet, aber TP sollte auch funktionieren. Der Code dazu ist hier: https://github.com/thelsing/knx/tree...amples/knx-usb
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