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.
Habe ich das richtig verstanden, darf ich gerne den Umbau auf PIO versuchen und testen?
verstehe nicht genau wie du die Frage meinst - aktuell ist da meines Wissen niemand dran und ich hab da auch noch nichts gemacht außer ganz oberflächliche Recherche.
Wenn du dich daran versuchen willst PIO für die DS18B20 Implementierung zu verwenden - sehr gerne !
Das versuche ich gerade von dir einzubauen und zu verstehen - aber scheinbar startet die Firmware damit noch nicht oder ich habe noch etwas vergessen.
Werde weiter dran arbeiten.
Da ich aus der .NET Welt komme, ist das Hardware C schon etwas ungewohnt, aber dank guter Code-Struktur von Ing-Dom und den anderen OpenKNX'ler, kann man es zumindest lesen ^^
Ja genau. Das war es.
Lass mich wissen, wenn du Fragen dazu hast. Bei mir machte die FW damit auch nix. Ich hab es noch nicht geschafft, die serielle Konsole anzuschließen, um zu sehen, was los ist.
void HWSensorchannel_DS18B20::setup_device(uint sm, uint8_t *address) {
logDebugP("Sending READ ROM command to state machine %d...", sm);
pio_sm_put_blocking(m_pio, sm, 0x33); // READ ROM
logDebugP("READ ROM command sent to state machine %d.", sm);
for (int i = 0; i < 8; i++) {
logDebugP("Waiting for byte %d from state machine %d...", i, sm);
address[i] = pio_sm_get_blocking(m_pio, sm);
logDebugP("Received byte %d: %02X", i, address[i]);
}
logDebugP("Writing to SCRATCHPAD for state machine %d...", sm);
pio_sm_put_blocking(m_pio, sm, 0x4E); // WRITE SCRATCHPAD
pio_sm_put_blocking(m_pio, sm, 0x7F); // TH register
pio_sm_put_blocking(m_pio, sm, 0xFF); // TL register
logDebugP("SCRATCHPAD written for state machine %d.", sm);
}
Hier steigt er aus:
Code:
address[i] = pio_sm_get_blocking(m_pio, sm);
0d 00:00:02: 0_> HWSens<1>: Sending READ ROM command to state machine 0...
0d 00:00:02: 0_> HWSens<1>: READ ROM command sent to state machine 0.
0d 00:00:02: 0_> HWSens<1>: Waiting for byte 0 from state machine 0...
Gibt es eine Möglichkeit ohne Debug-Ausgaben den Code zu debuggen? (wie bei .NET mit Breakpoints, Variablen auslesen und mit F5 weiter zum nächsten? 🙈)
Oder kann man den Code auch irgendwie Simulieren?
Ing-Dom
Wie macht ihr das generell mit externer Zuarbeit?
Soll ich dann wenn es funktioniert lokal das entsprechende github Repo forken, commiten und per PullRequest dann ins OpenKNX-Repo zurück?
Oder darf ich im OpenKNX-Repo Branch anlegen und dann per PullRequest in Main/V1 oder so zurück?
Gibt es eine Möglichkeit ohne Debug-Ausgaben den Code zu debuggen? (wie bei .NET mit Breakpoints, Variablen auslesen und mit F5 weiter zum nächsten? 🙈)
Ja, Du brauchst einen J-Link EDU Mini (oder einen anderen J-Link, gibt wohl diverse Nachbauten), dann kann man in VSCode relativ gut debuggen (wenn auch nicht perfekt). Genaueres, wenn (falls) Du die Debug-Hardware hast. Musst nur darauf achten, dass sie für den RP2040 geeignet sind.
Wenn ich mich recht erinnere, hat der Progger für den UP1 auch einen Debug-Anschluss für den J-Link rausgeführt.
Wie macht ihr das generell mit externer Zuarbeit?
Soll ich dann wenn es funktioniert lokal das entsprechende github Repo forken, commiten und per PullRequest dann ins OpenKNX-Repo zurück?
externe Contributíons über PR aus einem Fork. Sonst müssen wir Schreibrechte an externe vergeben, hatten wir schon, das wird sehr schnell extrem unübersichtlich und machen wir nicht mehr.
externe Contributíons über PR aus einem Fork. Sonst müssen wir Schreibrechte an externe vergeben, hatten wir schon, das wird sehr schnell extrem unübersichtlich und machen wir nicht mehr.
Okay, kein Problem
Wenns funktioniert, wird es schon irgendwie zu euch zurück kommen
Ja, Du brauchst einen J-Link EDU Mini (oder einen anderen J-Link, gibt wohl diverse Nachbauten), dann kann man in VSCode relativ gut debuggen (wenn auch nicht perfekt). Genaueres, wenn (falls) Du die Debug-Hardware hast. Musst nur darauf achten, dass sie für den RP2040 geeignet sind.
Cool danke, ist bestellt und kommt nächste Woche und bei Fragen melde ich mich dann wieder
Zuletzt geändert von norbertbaum; 10.01.2025, 11:08.
Grund: Antwort für mumpf
Melde Dich am besten per PN vor der Inbetriebnahme, da gibt es einige Fallstricke und es sieht immer so aus, als ob der nicht funktioniert Ich will Dir nur Frust ersparen.
Gruß, Waldemar
P.S.: Ob man aber PIO-Code debuggen kann, weiß ich nicht. Bisher hab ich nur den normalen C++-Code vom RP2040 debugged.
PIO Code elbst kann man nicht debuggen, aber man braucht ja auch jede Menge c++ code um dann die daten aus den pio registern raus und reinzubekommen etc...
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