Исправления режима одного робота

This commit is contained in:
VladislavOstapov 2023-02-05 14:18:03 +03:00
parent d9eb8a2368
commit ab7d324b3f
2 changed files with 13 additions and 10 deletions

View File

@ -10,6 +10,5 @@
## Известные баги
* в режиме двух роботов пока один из роботов находится в зонах цинкования, второму команды не выдаются
* не работают регистры добавления/удаления барабанов с панели

22
utils.c
View File

@ -155,18 +155,22 @@ short _get_dest_zone(struct barrel *bar) {
// последняя промывка, нужно разрешение на выгрузку
if (button_unload) {
if (hla_night_mode) {
short nz = get_first_night_zone();
if (one_robot_mode) {
return nz;
} else {
if (nz < hla_exchange_zone) {
return hla_exchange_zone;
} else {
return nz;
}
}
} else {
if (one_robot_mode) {
return ZONE_LOAD_1;
} else {
return hla_exchange_zone;
}
} else {
short nz = get_first_night_zone();
if (nz < hla_exchange_zone) {
return hla_exchange_zone;
} else {
return nz;
}
}
}
break;
@ -753,13 +757,13 @@ char is_accessible_zone(short zone) {
return 0;
}
return (hla_disabled_zones & (DISABLED_ETCH_1 << etching_zone)) != 0;
return (hla_disabled_zones & (DISABLED_ETCH_1 << etching_zone)) == 0;
} else if (zone == ROBOT_ZONE_GAL) {
if (galvanizing_zone < 0) {
return 0;
}
return (hla_disabled_zones & (DISABLED_GAL_1 << galvanizing_zone)) != 0;
return (hla_disabled_zones & (DISABLED_GAL_1 << galvanizing_zone)) == 0;
} else {
// неверный аргумент
return 0;