Исправление команды коррекции, потенциально убраны ошибки преобразования robot code, исправлен баг с зависшим роботом

This commit is contained in:
2023-01-29 13:04:06 +03:00
parent d90b31cc7a
commit 353aad9bec
5 changed files with 105 additions and 46 deletions

View File

@@ -59,7 +59,7 @@ static void emulate_robot(robot_code &code, robot_regs& r, char robot_id) {
const auto cmd_arg = (short)(code.code[code.PC] & (~ROBOT_CMD_MASK));
switch (code.code[code.PC] & (short)ROBOT_CMD_MASK) {
switch (code.code[code.PC] & ROBOT_CMD_MASK) {
case ROBOT_CMD_MOVE_TO_ZONE_code:
// двигаемся в сторону цели
{
@@ -149,7 +149,7 @@ static void emulate_robot(robot_code &code, robot_regs& r, char robot_id) {
case ROBOT_CMD_CORRECT_AXIS_code:
if (cmd_arg == ROBOT_AXIS_X) {
std::cout << "robot " << robot_id << " correct axis X..." << std::endl;
r.dz.current_zone = 0;
r.dx.current_zone = 0;
r.mx.correct_status = true;
} else if (cmd_arg == ROBOT_AXIS_Z) {
std::cout << "robot " << robot_id << " correct axis Z..." << std::endl;