Добавление дополнительной защиты для роботов для удержания правильной позиции на линии.
This commit is contained in:
parent
cd62b41e0b
commit
20a97fec11
@ -10,6 +10,6 @@
|
|||||||
|
|
||||||
## Известные баги
|
## Известные баги
|
||||||
|
|
||||||
* ночных барабанов на линии не может быть больше 8, если барабанов больше то они останутся в цинковании, поэтому следует
|
* ночные барабаны в конце складываются в промывки через зону обмена, таким образом можно загрузить на линию все 10 ночных барабанов
|
||||||
* не работают регистры добавления/удаления барабанов с панели
|
* не работают регистры добавления/удаления барабанов с панели
|
||||||
|
|
||||||
|
28
scheduler.c
28
scheduler.c
@ -336,21 +336,29 @@ void scheduler_main()
|
|||||||
|
|
||||||
// сначала выдаем команды первому роботу
|
// сначала выдаем команды первому роботу
|
||||||
if (robot1_code.PC < 0) {
|
if (robot1_code.PC < 0) {
|
||||||
schedule_one_robot(ROBOT_1);
|
if (robot1.dx.current_zone < ZONE_PASSIVATION) {
|
||||||
|
robot2_lock_zone = -1;
|
||||||
|
robot1_lock_zone = ZONE_PASSIVATION;
|
||||||
|
robot1_code.barrel_id = -1;
|
||||||
|
robot1_code.code[0] = ROBOT_CMD_DOWN();
|
||||||
|
robot1_code.code[1] = ROBOT_CMD_MOVE_TO_ZONE(ZONE_PASSIVATION);
|
||||||
|
robot1_code.code[2] = ROBOT_CMD_END();
|
||||||
|
robot1_code.PC = 0;
|
||||||
|
} else {
|
||||||
|
schedule_one_robot(ROBOT_1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// потом второму
|
// потом второму
|
||||||
if (robot2_code.PC < 0) {
|
if (robot2_code.PC < 0) {
|
||||||
if (robot2.dx.current_zone < ZONE_WASHING_1A) {
|
if (robot2.dx.current_zone < ZONE_WASHING_1A || robot2.dx.current_zone > ZONE_ETCHING_2) {
|
||||||
// то же самое что и во второй стадии, только без инкремента стадии
|
// то же самое что и во второй стадии, только без инкремента стадии
|
||||||
if (robot2_code.PC < 0) {
|
robot2_lock_zone = ZONE_ETCHING_2;
|
||||||
robot2_lock_zone = ZONE_ETCHING_2;
|
robot2_code.barrel_id = -1;
|
||||||
robot2_code.barrel_id = -1;
|
robot2_code.code[0] = ROBOT_CMD_DOWN();
|
||||||
robot2_code.code[0] = ROBOT_CMD_DOWN();
|
robot2_code.code[1] = ROBOT_CMD_MOVE_TO_ZONE(ZONE_WASHING_1A);
|
||||||
robot2_code.code[1] = ROBOT_CMD_MOVE_TO_ZONE(ZONE_WASHING_1A);
|
robot2_code.code[2] = ROBOT_CMD_END();
|
||||||
robot2_code.code[2] = ROBOT_CMD_END();
|
robot2_code.PC = 0;
|
||||||
robot2_code.PC = 0;
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
schedule_one_robot(ROBOT_2);
|
schedule_one_robot(ROBOT_2);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user