https://github.com/speedcontrols/ac_sc_grinder/blob/master/src/calibrator.h
Как можно покрасивее записать бизнес-логику? В процессе калибровки надо проделать линейную последовательность действий. Местами иногда бывают циклы, но без фанатизма. Снаружи это все дергается через метод ".tick()", а дальше «крутись как хочешь».
Не нравится мне как выглядит код. Ни когда это был единый switch, ни после разбивки на мелкие функции. Суть простого алгоритма тонет в особенностях реализации. Что можно придумать, чтобы улучшить читаемость?
PS. Тащить ради этого RTOS как-то не хочется.