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

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

View File

@ -8,7 +8,7 @@ extern "C" {
#endif #endif
extern char _scheduler_software_timer; extern char _scheduler_software_timer;
extern char _scheduler_one_robot_mode; extern char one_robot_mode;
extern short etching_zone, galvanizing_zone; 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() void scheduler_main()
#endif #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 (button_load) {
if (!zone_is_busy(1)) { if (!zone_is_busy(1)) {
@ -136,12 +135,14 @@ void scheduler_main()
// кнопка выгрузки // кнопка выгрузки
if (button_unload_end) { if (button_unload_end) {
button_unload_end = (char)(remove_barrel_from_zone(0) != 0); button_unload_end = 0;
remove_barrel_from_zone(0);
} }
// кнопка удаления барабана из 22 зоны // кнопка удаления барабана из 22 зоны
if (button_unload_remove) { 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) { if (hla_robot1_en && robot1_code.PC < 0) {
schedule_one_robot(tasks, &robot1, &robot1_code, 1); schedule_one_robot(tasks, &robot1, &robot1_code, 1);

View File

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