diff --git a/src/egm_manager.cpp b/src/egm_manager.cpp index 91847b2..1a2df35 100644 --- a/src/egm_manager.cpp +++ b/src/egm_manager.cpp @@ -86,6 +86,14 @@ missed_messages_{MISSED_MESSAGES_THRESHOLD} { interface_cfg.axes = egm::RobotAxes::Seven; } + else if(configuration.mech_unit_group.robot().axes_total() == 4) + { + interface_cfg.axes = egm::RobotAxes::Four; + } + else + { + // Default to six axes as defined in the BaseConfiguration constructor + } } else { diff --git a/src/utilities.cpp b/src/utilities.cpp index 569ad70..1f53a62 100644 --- a/src/utilities.cpp +++ b/src/utilities.cpp @@ -90,7 +90,6 @@ void initializeMotionData(MotionData& motion_data, const RobotControllerDescript motion_unit.name = unit.name(); motion_unit.type = unit.type(); motion_unit.active = unit.mode() == MechanicalUnit_Mode_ACTIVATED; - motion_unit.supported_by_egm = false; // Set indicator for if the unit is supported by EGM or not. if(unit.type() == MechanicalUnit_Type_TCP_ROBOT) @@ -110,6 +109,14 @@ void initializeMotionData(MotionData& motion_data, const RobotControllerDescript motion_unit.supported_by_egm = true; } } + else if (unit.axes_total() == 4) + { + motion_unit.supported_by_egm = true; + } + else + { + motion_unit.supported_by_egm = false; + } } else if(unit.type() == MechanicalUnit_Type_ROBOT || unit.type() == MechanicalUnit_Type_SINGLE) {