diff --git a/utils.c b/utils.c index e0e49c7..123bf2b 100644 --- a/utils.c +++ b/utils.c @@ -538,6 +538,7 @@ void create_operation(struct robot_code *code, short barrel_id, const short star code->code[cmd_index++] = ROBOT_CMD_SET_LOCK_ZONE(ZONE_PASSIVATION); } code->code[cmd_index++] = ROBOT_CMD_UP_WITH_BARREL(); + code->code[cmd_index++] = ROBOT_CMD_WAIT(hla_time_washing_2); code->code[cmd_index++] = ROBOT_CMD_MOVE_TO_ZONE_WITH_BARREL(ZONE_PASSIVATION); code->code[cmd_index++] = ROBOT_CMD_DOWN_WITH_BARREL(); @@ -656,70 +657,65 @@ void create_operation(struct robot_code *code, short barrel_id, const short star code->code[cmd_index++] = ROBOT_CMD_UP(); code->code[cmd_index++] = ROBOT_CMD_DOWN(); } else { - if (dest_zone != 0) { + // установка времени ожидания барабана + short tmp = -1; + if (barrel_id >= 0) { + if (!barrels[barrel_id].flags.is_empty) { + switch (dest_zone) { + case ZONE_DEGREASING: + tmp = barrels[barrel_id].time_degreasing; + break; - // установка времени ожидания барабана - short tmp = -1; - if (barrel_id >= 0) { - if (!barrels[barrel_id].flags.is_empty) { - switch (dest_zone) { - case ZONE_DEGREASING: - tmp = barrels[barrel_id].time_degreasing; - break; + case ZONE_ETCHING_1: + case ZONE_ETCHING_2: + tmp = barrels[barrel_id].time_etching; + break; - case ZONE_ETCHING_1: - case ZONE_ETCHING_2: - tmp = barrels[barrel_id].time_etching; - break; + case ZONE_GALVANIZING_1: + case ZONE_GALVANIZING_2: + case ZONE_GALVANIZING_3: + case ZONE_GALVANIZING_4: + case ZONE_GALVANIZING_5: + case ZONE_GALVANIZING_6: + case ZONE_GALVANIZING_7: + case ZONE_GALVANIZING_8: + tmp = barrels[barrel_id].time_galvanizing; + break; - case ZONE_GALVANIZING_1: - case ZONE_GALVANIZING_2: - case ZONE_GALVANIZING_3: - case ZONE_GALVANIZING_4: - case ZONE_GALVANIZING_5: - case ZONE_GALVANIZING_6: - case ZONE_GALVANIZING_7: - case ZONE_GALVANIZING_8: - tmp = barrels[barrel_id].time_galvanizing; - break; + case ZONE_WASHING_1A: + tmp = barrels[barrel_id].time_washing_1a; + break; + case ZONE_WASHING_2A: + tmp = barrels[barrel_id].time_washing_2a; + break; + case ZONE_WASHING_3A: + tmp = barrels[barrel_id].time_washing_3a; + break; + case ZONE_WASHING_4A: + tmp = barrels[barrel_id].time_washing_4a; + break; - case ZONE_WASHING_1A: - tmp = barrels[barrel_id].time_washing_1a; - break; - case ZONE_WASHING_2A: - tmp = barrels[barrel_id].time_washing_2a; - break; - case ZONE_WASHING_3A: - tmp = barrels[barrel_id].time_washing_3a; - break; - case ZONE_WASHING_4A: - tmp = barrels[barrel_id].time_washing_4a; - break; - - case ZONE_WASHING_1B: - tmp = barrels[barrel_id].time_washing_1b; - break; - case ZONE_WASHING_2B: - tmp = barrels[barrel_id].time_washing_2b; - break; - case ZONE_WASHING_3B: - tmp = barrels[barrel_id].time_washing_3b; - break; - case ZONE_WASHING_4B: - tmp = barrels[barrel_id].time_washing_4b; - break; - } - } else { - tmp = 0; + case ZONE_WASHING_1B: + tmp = barrels[barrel_id].time_washing_1b; + break; + case ZONE_WASHING_2B: + tmp = barrels[barrel_id].time_washing_2b; + break; + case ZONE_WASHING_3B: + tmp = barrels[barrel_id].time_washing_3b; + break; + case ZONE_WASHING_4B: + tmp = barrels[barrel_id].time_washing_4b; + break; } } + } - if (tmp >= 0) { - if (tmp > 8000) { - tmp = 8000; - } - code->code[cmd_index++] = ROBOT_CMD_TMR_SET(tmp); + if (tmp >= 0) { + if (tmp > 8000) { + tmp = 8000; } + code->code[cmd_index++] = ROBOT_CMD_TMR_SET(tmp); } } }