Добавление полноценного режима двух роботов

This commit is contained in:
2023-01-02 00:20:23 +03:00
parent 33b705c1ef
commit d5c7c0e645
7 changed files with 328 additions and 121 deletions

15
utils.h
View File

@@ -184,6 +184,15 @@ extern short hla_time_washing_2;
extern char hla_robot1_en;
extern char hla_robot2_en;
// пауза для автоматического режима, при паузе идут таймера, но команды не могут быть выданы
extern char auto_mode_pause;
// разрешение на работу планировщика
extern char scheduler_en;
// сигнал инициализации планировщика, должен быть установлен по фронту разрешения на работу
extern char scheduler_start_signal;
#else
#define barrels ((struct barrel*)barrels_array)
#define robot1 (*((struct robot_regs*)&robot1_reg_mx))
@@ -213,6 +222,8 @@ extern char hla_robot2_en;
#define hla_robot1_en _c_hla_robot1_en
#define hla_robot2_en _c_hla_robot2_en
#define auto_mode_pause _c_auto_mode_pause
#endif
@@ -225,6 +236,7 @@ extern char hla_robot2_en;
#define ROBOT_CMD_DOWN_code (short)0x5000
#define ROBOT_CMD_WAIT_code (short)0x6000
#define ROBOT_CMD_TMR_SET_code (short)0x7000
#define ROBOT_CMD_SET_LOCK_ZONE_code (short)0x8000
#define ROBOT_CMD_CORRECT_AXIS_code (short)0x9000
#define ROBOT_CMD_INC_ZONE_code (short)0xA000
@@ -259,6 +271,7 @@ extern char hla_robot2_en;
#define ROBOT_CMD_WAIT(time) ((ROBOT_CMD_WAIT_code) | (short)(time & 0x0FFF))
#define ROBOT_CMD_TMR_SET(time) ((ROBOT_CMD_TMR_SET_code) | (short)(time & 0x0FFF))
#define ROBOT_CMD_SET_LOCK_ZONE(zone) ((ROBOT_CMD_SET_LOCK_ZONE_code) | (short)(zone & 0x00FF))
#define ROBOT_CMD_CORRECT_AXIS(axis) ((short)(ROBOT_CMD_CORRECT_AXIS_code) | (short)axis)
#define ROBOT_CMD_INC_ZONE(arg) ((ROBOT_CMD_INC_ZONE_code) | (short)(arg))
@@ -326,7 +339,7 @@ extern char hla_robot2_en;
char zone_is_busy(short zone);
short can_move(struct barrel* bar);
short can_move(struct barrel *bar, char robot_id);
short get_operation_priority(short barrel_id);
char remove_barrel_from_zone(short zone);