Trying to get the AudioDelayFeedbackX2 example to work correctly on the Pico (RP2040) I encountered a weird behavior: char type on the Pico (and maybe some other boards) is unsigned by default. Here is a small example that exemplifies that and all the potential side effects this could have:
char a = -1;
void setup() {
Serial.begin(115200);
}
void loop() {
Serial.println(sizeof(a));
Serial.println(a - 1);
delay(1000);
}
Output:
Note that it does work with the expected behavior on the UNO or by defining signed char a=-1.
For mozzi, the expected type in most cases is int8_t, which is the same for everyone, hence I think it will be beneficial to have a critical look at every places where char is used and change it when necessary (probably everywhere as there are no example that I can think of which actually uses characters).
This goes along the line that I remember @tfry-git saying about defining more closely the types we are working with.
Trying to get the
AudioDelayFeedbackX2example to work correctly on the Pico (RP2040) I encountered a weird behavior:chartype on the Pico (and maybe some other boards) isunsignedby default. Here is a small example that exemplifies that and all the potential side effects this could have:Output:
Note that it does work with the expected behavior on the UNO or by defining
signed char a=-1.For mozzi, the expected type in most cases is
int8_t, which is the same for everyone, hence I think it will be beneficial to have a critical look at every places wherecharis used and change it when necessary (probably everywhere as there are no example that I can think of which actually usescharacters).This goes along the line that I remember @tfry-git saying about defining more closely the types we are working with.