Мелкий рефакторинг
This commit is contained in:
parent
83086f3be1
commit
33b705c1ef
@ -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;
|
||||||
|
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
11
scheduler.c
11
scheduler.c
@ -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);
|
||||||
|
6
utils.c
6
utils.c
@ -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а
|
||||||
|
Reference in New Issue
Block a user