Мелкий рефакторинг

This commit is contained in:
VladislavOstapov 2022-12-16 13:37:11 +03:00
parent 83086f3be1
commit 33b705c1ef
4 changed files with 11 additions and 10 deletions

View File

@ -14,7 +14,6 @@ struct robot_regs robot1;
struct robot_regs robot2;
char _scheduler_software_timer = 0;
char _scheduler_one_robot_mode = 1;
// кнопка загрузки в зоне 0, означает что барабан надо изъять из этой загрузки (а перед этим создать)
char button_load = 0;
@ -45,6 +44,7 @@ short hla_time_washing_2 = 20;
char hla_robot1_en = 1;
char hla_robot2_en = 0;
char one_robot_mode = (char)(hla_robot1_en ^ hla_robot2_en);
char _scheduler_en = 1;

View File

@ -8,7 +8,7 @@ extern "C" {
#endif
extern char _scheduler_software_timer;
extern char _scheduler_one_robot_mode;
extern char one_robot_mode;
extern short etching_zone, galvanizing_zone;

View File

@ -104,9 +104,8 @@ void schedule_one_robot(const struct scheduler_task* tasks, const struct robot_r
void scheduler_main()
#endif
{
_scheduler_one_robot_mode = (char)(hla_robot1_en ^ hla_robot2_en);
if (_scheduler_en && (hla_robot1_en || hla_robot2_en)) {
if (_scheduler_en) {
// тут возможна только вставка барабанов
if (button_load) {
if (!zone_is_busy(1)) {
@ -136,12 +135,14 @@ void scheduler_main()
// кнопка выгрузки
if (button_unload_end) {
button_unload_end = (char)(remove_barrel_from_zone(0) != 0);
button_unload_end = 0;
remove_barrel_from_zone(0);
}
// кнопка удаления барабана из 22 зоны
if (button_unload_remove) {
button_unload_remove = (char)(remove_barrel_from_zone(22) != 0);
button_unload_remove = 0;
remove_barrel_from_zone(22);
}
// таймер, применяется ко всем существующим барабанам
@ -166,7 +167,7 @@ void scheduler_main()
}
}
if (_scheduler_one_robot_mode) {
if (one_robot_mode) {
// режим одного робота
if (hla_robot1_en && robot1_code.PC < 0) {
schedule_one_robot(tasks, &robot1, &robot1_code, 1);

View File

@ -37,7 +37,7 @@ short can_move(struct barrel* bar) {
}
#ifdef EMULATOR
if (!_scheduler_one_robot_mode) {
if (!one_robot_mode) {
printf("WARMING: нет проверки того, что для перемещения барабана не мешает второй робот\n");
}
#endif
@ -163,7 +163,7 @@ short can_move(struct barrel* bar) {
case ZONE_UNLOAD:
// последняя промывка, нужно разрешение на выгрузку
if (_scheduler_one_robot_mode && button_unload) {
if (one_robot_mode && button_unload) {
// нужно промывку загрузку 0
if (!zone_is_busy(ZONE_LOAD_1)) {
return ZONE_LOAD_1;
@ -525,7 +525,7 @@ void create_operation(struct robot_code *code, const short barrel_id, const shor
}
}
if (!_scheduler_one_robot_mode) {
if (!one_robot_mode) {
if (robot_id == 1) {
if (dest_zone >= ZONE_GALVANIZING_1) {
// из промывки 2б он перекладывал, пусть едет в промывку 2а