Исправления ночного режима
This commit is contained in:
30
scheduler.c
30
scheduler.c
@@ -127,6 +127,25 @@ void scheduler_main()
|
||||
if (hla_night_mode) {
|
||||
robot1_lock_zone = -1;
|
||||
robot2_lock_zone = -1;
|
||||
|
||||
// ставим всем барабанам которые в промывках флаг ночного барабана
|
||||
for (short i = 0; i < BARRELS_COUNT; i++) {
|
||||
if (barrels[i].flags.is_exist) {
|
||||
const short zones[] = {
|
||||
ZONE_LOAD_1,
|
||||
ZONE_WASHING_1A, ZONE_WASHING_1B,
|
||||
ZONE_WASHING_2A, ZONE_WASHING_2B,
|
||||
ZONE_WASHING_3A, ZONE_WASHING_3B,
|
||||
ZONE_WASHING_4A, ZONE_WASHING_4B
|
||||
};
|
||||
for (short t = 0; t < 9; t++) {
|
||||
if (barrels[i].zone == zones[t]) {
|
||||
barrels[i].flags.is_night = -1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (scheduler_en) {
|
||||
@@ -246,7 +265,8 @@ void scheduler_main()
|
||||
robot1_code.PC = 0;
|
||||
}
|
||||
} else if (robot2.dx.current_zone < ZONE_DEGREASING) {
|
||||
// начальная позиция робота 2 - обезжиривание
|
||||
// начальная позиция робота 1 - обезжир
|
||||
robot2_lock_zone = ZONE_WASHING_2A;
|
||||
if (robot2_code.PC < 0) {
|
||||
robot2_code.barrel_id = -1;
|
||||
robot2_code.code[0] = ROBOT_CMD_DOWN();
|
||||
@@ -260,8 +280,8 @@ void scheduler_main()
|
||||
}
|
||||
|
||||
if (cmd_en) {
|
||||
// отдельно просчитаем все для первого робота (только если не в ночном режиме)
|
||||
if (!hla_night_mode && robot1_code.PC < 0) {
|
||||
// отдельно просчитаем все для первого робота
|
||||
if (robot1_code.PC < 0) {
|
||||
for (short i = 0; i < BARRELS_COUNT; i++) {
|
||||
// для каждой задачи:
|
||||
tasks[i].start_zone = barrels[i].zone;
|
||||
@@ -275,8 +295,8 @@ void scheduler_main()
|
||||
schedule_one_robot(tasks, &robot1, &robot1_code, 1);
|
||||
}
|
||||
|
||||
// и отдельно для второго
|
||||
if (robot2_code.PC < 0) {
|
||||
// и отдельно для второго (только если не в ночном режиме)
|
||||
if (!hla_night_mode && robot2_code.PC < 0) {
|
||||
for (short i = 0; i < BARRELS_COUNT; i++) {
|
||||
// для каждой задачи:
|
||||
tasks[i].start_zone = barrels[i].zone;
|
||||
|
||||
Reference in New Issue
Block a user