Исправления ночного режима

This commit is contained in:
2023-01-09 23:35:58 +03:00
parent 5ad225fa85
commit 31f3f258f6
3 changed files with 178 additions and 142 deletions

View File

@@ -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;