hubsif / arduino-dali

A timer-based DALI (Digital Addressable Lighting Interface) library for Arduino
https://hubsif.github.io/arduino-dali/
GNU General Public License v3.0
26 stars 19 forks source link

Add support for RP2040 #5

Closed thewhobox closed 6 months ago

thewhobox commented 1 year ago

This PR adds support for the RP2040. Since the RP2040 has 4 timer you can set it with the define DALI_TIMER. Default is 2.

hubsif commented 1 year ago

Hi Mike! Thank you for the addition and the pull request! It pointed me to the TimerInterrupt_Generic Library which seems to be something I definitely need to look into. It seems it could make this library support much more hardware, e.g. there have been requests for ESP8266 support.

Your PR adds more changes, though, i.e. the removal of function default values. Since this might break existing implementations, may I ask what the reason for this is?

Also, unfortunately I cannot test your code since I don't have a RP2040. But I assume you confirm it's working just fine?

thewhobox commented 1 year ago

You're welcome. I didn't know the library before, but we use it in another project. Since TimerOne won't work on rp2040 i tried using the new lib.

I couldn't test it since my DALI PCB doesn't work and i am waiting for a new one.

The removal of the defaults are because otherwise it won't compile on rp2040. But the defaults are still working, because they are defined in the header. https://forum.arduino.cc/t/default-arguments/40909/8

thewhobox commented 1 year ago

I got my new PCB and the lib is working just fine :) Im not really satisfied with the actual result: had to hardcode a timer, so it is not possible to create a new DaliClass Instance and use this instead of the exported Dali variable (added define DALI_DONT_EXPORT)

But for now it works just great. Thank you for this lib!

thewhobox commented 6 months ago

Closing this due it was in main branch... Added more boards to be supported (ESP32, ESP8266, AVR).

*not tested