-
Notifications
You must be signed in to change notification settings - Fork 197
Description
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:
1
254
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.