diff --git a/Gaugecontroller/Gaugecontroller.ino b/Gaugecontroller/Gaugecontroller.ino index b0fa335..46aa5b8 100644 --- a/Gaugecontroller/Gaugecontroller.ino +++ b/Gaugecontroller/Gaugecontroller.ino @@ -552,10 +552,11 @@ bool parseHome(const String& line) { bool parseSweep(const String& line) { int id; char accelTok[20], speedTok[20]; if (sscanf(line.c_str(), "SWEEP %d %19s %19s", &id, accelTok, speedTok) == 3) { - if (id < 0 || id >= GAUGE_COUNT) { sendReply("ERR BAD_ID"); return true; } char* endA; float accel = (float)strtod(accelTok, &endA); char* endS; float speed = (float)strtod(speedTok, &endS); - if (endA == accelTok || *endA != '\0' || endS == speedTok || *endS != '\0') return false; + if (endA == accelTok || *endA != '\0') { sendReply("ERR BAD_ACCEL"); return true; } + if (endS == speedTok || *endS != '\0') { sendReply("ERR BAD_SPEED"); return true; } + if (id < 0 || id >= GAUGE_COUNT) { sendReply("ERR BAD_ID"); return true; } Gauge& g = gauges[id]; if (accel <= 0.0f || speed <= 0.0f) { g.sweepEnabled = false;