Hi guys, I have this published spark function (below) which calls into the setParams hook.
Whenever this code tries to convert the string containing numbers which are larger than approx 70 to a float, the core resets itself. Smaller numbers work, but larger (more decimals) numbers like 100+ will crah it into reset.
Any idea what could be causing this?
int setParams(String args)
{
int res = -1;
char cmd[20];
args.toCharArray(cmd, 20);
char* str = strtok(cmd, "=");
if (strcmpi(str, "PID") == 0)
{
str = strtok(NULL, ","); // P
float kp = strtof(str, NULL);
str = strtok(NULL, ","); // I
float ki = strtof(str, NULL);
str = strtok(NULL, ","); // D
float kd = strtof(str, NULL);
waterPID.SetTunings(kp, ki, kd);
sprintf(pidParams, "P:%f I:%f D:%f", kp, ki, kd);
res = 1;
}
return res;
}