sensorium / Mozzi

sound synthesis library for Arduino
https://sensorium.github.io/Mozzi/
GNU Lesser General Public License v2.1
1.06k stars 185 forks source link

Add initial DatanoiseTV PicoADK Board Support #169

Open DatanoiseTV opened 1 year ago

tfry-git commented 1 year ago

I tend to agree that this PR looks too specific to just one board, overall. It's hard enough to maintain code for many different platforms. Providing specifics for individual boards just will not scale.

Sure, if this board gains the traction of an Arduino Uno, we would have to re-evaluate, but short of that, I do not think, any specific pin mappings should end up in the library. In addition, let's not rule out the case that a user of that board may still want to use a custom separate SPI DAC with Mozzi. It may of course be worth documenting instructions for working with specific boards in a dedicated section of the Readme.

The random seeding is definitely a candidate for merging, however. Could you split that into a separate PR?

DatanoiseTV commented 1 year ago

I tend to agree that this PR looks too specific to just one board, overall. It's hard enough to maintain code for many different platforms. Providing specifics for individual boards just will not scale.

Sure, if this board gains the traction of an Arduino Uno, we would have to re-evaluate, but short of that, I do not think, any specific pin mappings should end up in the library. In addition, let's not rule out the case that a user of that board may still want to use a custom separate SPI DAC with Mozzi. It may of course be worth documenting instructions for working with specific boards in a dedicated section of the Readme.

So far, there are around 150 around the world. Maybe using the I2SPIN* as used in the arduino-pico might make more sense if present for now?

The random seeding is definitely a candidate for merging, however. Could you split that into a separate PR?

I can manage that next week.

tomcombriat commented 1 year ago

I would be favorable in setting the Pins defaults as per the library or board definition if that does not restrain the user to simply change to a custom configuration (without heavily editing AudioConfigRP2040.h). For instance using the user pins if defined or otherwise fall on the defaults.