moved 'setDouble' from 'Fermenter' to 'console'
This commit is contained in:
parent
de4bdfa98b
commit
77890778d4
@ -248,3 +248,28 @@ const char *getFlashChipMode() {
|
||||
return "[???]";
|
||||
}
|
||||
}
|
||||
|
||||
bool setDouble(const char *name, double *destinationPtr, double min, double max) {
|
||||
const char *valueStr = strtok(nullptr, "");
|
||||
if (valueStr == nullptr) {
|
||||
consolePrintUsage();
|
||||
return false;
|
||||
}
|
||||
double value = strtod(valueStr, nullptr);
|
||||
if (isnan(value)) {
|
||||
error("Failed to parse double for \"%s\": %s", name, valueStr);
|
||||
return false;
|
||||
}
|
||||
if ((!isnan(min) && value < min) || (!isnan(max) && value > max)) {
|
||||
error("Value out of range for \"%s\" [%f..%f]: %f", name, min, max, value);
|
||||
return false;
|
||||
}
|
||||
if (*destinationPtr != value) {
|
||||
*destinationPtr = value;
|
||||
info("Value for \"%s\" set to: %f", name, value);
|
||||
configPutDouble(name, value);
|
||||
} else {
|
||||
info("Value for \"%s\" unchanged: %f", name, value);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -11,4 +11,6 @@ bool patrix_command(char *cmd);
|
||||
|
||||
void consolePrintUsage();
|
||||
|
||||
bool setDouble(const char *name, double *destinationPtr, double min, double max);
|
||||
|
||||
#endif
|
||||
|
||||
@ -136,31 +136,6 @@ void writeDecimal(int *digit, double value) {
|
||||
lc.setDigit(0, (*digit)++, integer / 10 % 10, false);
|
||||
}
|
||||
|
||||
bool setDouble(const char *name, double *destinationPtr, double min, double max) {
|
||||
const char *valueStr = strtok(nullptr, "");
|
||||
if (valueStr == nullptr) {
|
||||
consolePrintUsage();
|
||||
return false;
|
||||
}
|
||||
double value = strtod(valueStr, nullptr);
|
||||
if (isnan(value)) {
|
||||
error("Failed to parse double for \"%s\": %s", name, valueStr);
|
||||
return false;
|
||||
}
|
||||
if ((!isnan(min) && value < min) || (!isnan(max) && value > max)) {
|
||||
error("Value out of range for \"%s\" [%f..%f]: %f", name, min, max, value);
|
||||
return false;
|
||||
}
|
||||
if (*destinationPtr != value) {
|
||||
*destinationPtr = value;
|
||||
info("Value for \"%s\" set to: %f", name, value);
|
||||
configPutDouble(name, value);
|
||||
} else {
|
||||
info("Value for \"%s\" unchanged: %f", name, value);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool patrix_command(char *first) {
|
||||
bool result = false;
|
||||
if (strcmp(first, "over") == 0 || strcmp(first, "o") == 0) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user