да, ссори, немного не понял. Тогда поставьте задержку посленет. немножко не так. Нужна задержка после постановки стакана и перед движением сервы, а не остановкой и наливанием. Чтобы после установки стакана руку успевать убрать. А то знаете ли, с трезву еще так сяк, а после н ного количества выпитого реакция уже не та
systemState = MOVING; // режим - движение
shotStates[curPumping] = IN_PROCESS; // стакан в режиме заполнения
в этом месте задержка будет перед движением сервопривода
так же можно запретить приводу после последней налитой рюмки двигаться в домашнее положение в автоматическом режиме. Думаю может оказаться нужным после нескольких рюмок. В том же файле вместо
if (noGlass) { // если не нашли ни одной рюмки
servoON();
servo.setTargetDeg(0); // цель серво - 0
if (servo.tick()) { // едем до упора
servoOFF(); // выключили серво
systemON = false; // выключили систему
DEBUG("no glass");
//timeoutReset();
}
}
замените на:
if (noGlass) { // если не нашли ни одной рюмки
if(workMode){
servoOFF(); // выключили серво
systemON = false; // выключили систему
DEBUG("no glass");
}
else {
servoON();
servo.setTargetDeg(0); // цель серво - 0
if (servo.tick()) { // едем до упора
servoOFF(); // выключили серво
systemON = false; // выключили систему
DEBUG("no glass");
}
}
}
Изменено: