-
Notifications
You must be signed in to change notification settings - Fork 191
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 char
acters).
This goes along the line that I remember @tfry-git saying about defining more closely the types we are working with.