Zitat von abtools
Beitrag anzeigen
vorweg: danke für die tolle Arbeit!
Ich habe mir das heute aus eigenem Interesse (wir wollen auch einige deiner Dimmer einsetzen) genauer angeschaut: mit dem Arduino Core lässt sich das leider nicht direkt umsetzen.
Die PWM Ansteuerung ist im OFM-LedDimmer aktuell über die "analogWrite" Funktion emuliert (oder eher andersherum? Der RP2040 hat ja keinen DAC), dem fehlt aber eine tiefere Kontrolle der PWM Einheit.
Es macht also vermutlich Sinn zumindest für den RP2040 von der "analog"-Implementierung weg zu gehen und direkt das Pico SDK zu nutzen, das nutzt der Arduino Pico Core intern ohnehin. Alternativ direkt Bare-Metal, der RP2040 ist ja ziemlich simpel und die Aufgabenstellung Standard.
Für den Übergang könnte man noch überlegen weiterhin den Arduino Core zu nutzen und nur eines der INV-Bits im CSR Register zu flippen und dann CW und WW auf den gleichen Level zu setzen. Du hast das ja alles passend angeschlossen, so dass immer abwechselnd PWM A und B genutzt wird, die sind ja bei gleichem Counter ohnehin synchron.
Ich habe leider keinen RP2040 hier (komme aus der ST-Ecke), aber hab bei dir am Wochenende mal einen Dimmer zum Testen bestellt.
Wenn der da ist versuche ich mal die Zeit zu finden das umzusetzen und erstelle dir einen PR. Kann aber sein, dass es ein wenig dauert - wir stecken mitten im Bau.
Beste Grüße
Sven
Kommentar