Ankündigung

Einklappen
Keine Ankündigung bisher.

SEN-UP1-8xTH - DS18B20-Temperatur Sensoren - Werte Spitzen

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

  • Ing-Dom
    antwortet
    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...

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Zitat von norbertbaum Beitrag anzeigen
    und bei Fragen melde ich mich dann wieder
    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.

    Einen Kommentar schreiben:


  • norbertbaum
    antwortet
    Zitat von Ing-Dom Beitrag anzeigen
    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


    Zitat von mumpf Beitrag anzeigen
    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

    Einen Kommentar schreiben:


  • Ing-Dom
    antwortet
    Zitat von norbertbaum Beitrag anzeigen
    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.

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Zitat von norbertbaum Beitrag anzeigen
    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.

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • norbertbaum
    antwortet
    henfri
    Code:
    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?

    Einen Kommentar schreiben:


  • henfri
    antwortet
    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.

    Einen Kommentar schreiben:


  • norbertbaum
    antwortet
    Zitat von henfri Beitrag anzeigen
    Ich hatte hier mal meinen Code gepostet (finde den Beitrag gerade nicht, kann den aber morgen nochmal raussuchen)
    https://knx-user-forum.de/forum/proj...21#post2000921

    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 ^^

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Ich hatte hier mal meinen Code gepostet (finde den Beitrag gerade nicht, kann den aber morgen nochmal raussuchen)

    Aber bisher konnte ich nur prüfen, dass er kompiliert.

    Einen Kommentar schreiben:


  • Ing-Dom
    antwortet
    Zitat von norbertbaum Beitrag anzeigen
    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 !

    Einen Kommentar schreiben:


  • norbertbaum
    antwortet
    Hallo Ing-Dom,
    Zitat von Ing-Dom Beitrag anzeigen
    uff, den Maximalausbau hab ich nie getestet, der DS18B20 war eher noch so Beifang.. die Verkabelung dafür ist ja ... äh.. nicht so ideal.

    sobald ich mal eine Test-FW hätte würde ich mich bei dir melden.
    Ansonsten kann du natürlich auch gerne selbst loslegen und die die Umgebung aufsetzen - ich kann dir dann ein paar Tipps geben in welche Richtung es sinnig wäre zu forschen.
    Als erstes wäre zB mal interessant ob wirklich so viele CRC Fehler auftreten - dazu brauchts eine Dev-FW und eine Consolenverbindung.
    Der Code im DEV-Mode läuft 🎉 - derzeit sind von 16 Sensoren nur 4 Aktiv
    Testaufbau ist jetzt auch deutlich besser 😁 IMG_20250105_173516.jpg

    Das hier ist der Consolen Output - 30cm Kabel mit 4,7kOhm PullUp
    0d 03:53:52: _1> HWSens<1>: Temp value 24.312500
    0d 03:53:52: _1> HWSens<2>: Temp value 24.312500
    0d 03:53:55: _1> HWSens<1>: CRC-Error0
    0d 03:53:55: _1> HWSens<2>: Temp value 24.312500
    0d 03:53:59: _1> HWSens<1>: CRC-Error0
    0d 03:53:59: _1> HWSens<2>: Temp value 24.375000
    0d 03:54:02: _1> HWSens<1>: CRC-Error0
    0d 03:54:02: _1> HWSens<2>: CRC-Error0
    0d 03:54:06: _1> HWSens<1>: CRC-Error0
    0d 03:54:06: _1> HWSens<2>: Temp value 24.312500
    0d 03:54:09: _1> HWSens<1>: Temp value 24.250000
    0d 03:54:09: _1> HWSens<2>: Temp value 24.312500
    0d 03:54:13: _1> HWSens<1>: Temp value 24.250000
    0d 03:54:13: _1> HWSens<2>: Temp value 24.312500
    0d 03:54:16: _1> HWSens<1>: CRC-Error0
    0d 03:54:16: _1> HWSens<2>: CRC-Error0
    0d 03:54:20: _1> HWSens<1>: Temp value 24.250000
    0d 03:54:20: _1> HWSens<2>: Temp value 24.312500
    0d 03:54:23: _1> HWSens<2>: CRC-Error1
    0d 03:54:23: _1> HWSens<1>: CRC-Error0
    0d 03:54:23: _1> HWSens<2>: Temp value 24.312500
    Zitat von henfri Beitrag anzeigen
    Ing-Dom, mumpf
    Nutzt ihr eigentlich den PIO des Raspi?

    Das könnte die Qualität bei 1W verbessern.
    Ich habe an zwei Stellen im Netz Code dafür gefunden:
    https://www.i-programmer.info/progra...m.html?start=2 (auf den zwei Seiten davor mehr Erklärung)
    https://github.com/stefanalt/RP2040-PIO-1-Wire-Master
    Habe ich das richtig verstanden, darf ich gerne den Umbau auf PIO versuchen und testen?

    Einen Kommentar schreiben:


  • Ing-Dom
    antwortet
    Zitat von mumpf Beitrag anzeigen
    Keine Screenshots, Konfigurations-Transfer-Strings
    kann die SEN-UP1 FW noch nicht...

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Stereofeld: Keine Screenshots, Konfigurations-Transfer-Strings

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • Stereofeld
    antwortet
    Zitat von norbertbaum Beitrag anzeigen
    Kannst du die Logik-Einstellungen teilen?
    Das ist einfach ein Wertfilter. Logik auf ODER, ein Eingang, der Eingang ist dann DPT5 (oder was auch immer) und dort legst du den Wertbereich fest. Und Ausgang ist für EIN, Wert weiterleiten. Und mit dem Ausgang verknüpfst du dann die GA, die die gefilterten Werte liefert.

    Sorry, bin gerade in der Mittagspause in der Firma und kann dir keine Screenshots schicken. Das bekommste aber sicher auch so hin. ;-)

    Gruß
    Thomas
    Zuletzt geändert von Stereofeld; 08.11.2024, 12:14.

    Einen Kommentar schreiben:


  • Ing-Dom
    antwortet
    Zitat von henfri Beitrag anzeigen
    sondern GPIO+Bitbang
    richtig. Und genau das macht mir teilweise Probleme, ob das mit dem hier beschriebenen Problem zusammenhängt was ich aktuell noch nicht.

    Zitat von henfri Beitrag anzeigen
    Nutzt ihr eigentlich den PIO des Raspi?
    Nein. Überlegungen dazu gab es bereits. Aber wie immer ist die Zeit limitiert..

    Der Code ist relativ gut gekapselt. Wenn hier jemand experimentieren möchte, das wäre die Klasse wo man das austaschen könnte:

    https://github.com/OpenKNX/OFM-THPSe...el_DS18B20.cpp


    Einen Kommentar schreiben:

Lädt...
X