struct {
uint16_t c;
uint16_t t;
uint16_t R;
bool reversed;
} scenario[] = {
{200, 900, 2000, false},
{200, 1500, 2000, false},
{100, 200, 2000, false},
{200, 800, 2000, true},
{200, 1500, 2000, true},
};
void setup() {
Serial.begin(115200);
for (auto & s : scenario) {
uint16_t cw, ccw;
if (s.c > s.t) {
cw = (s.c - s.t);
ccw = (s.R - s.c) + s.t;
} else {
cw = s.c + (s.R - s.t);
ccw = s.t - s.c;
}
Serial.print("C = "); Serial.println(s.c);
Serial.print("T = "); Serial.println(s.t);
Serial.print("R = "); Serial.println(s.R);
Serial.print("CW = "); Serial.println(cw);
Serial.print("CCW = "); Serial.println(ccw);
Serial.println("-----------");
}
}
void loop() {}