#ifndef EMC_NML_HH
#define EMC_NML_HH
#include "emc.hh"
#include "rcs.hh"
#include "cmd_msg.hh"
#include "stat_msg.hh"
#include "emcpos.h"
#include "canon.hh"
#include "rs274ngc.hh"
class EMC_OPERATOR_ERROR:public RCS_CMD_MSG {
public:
EMC_OPERATOR_ERROR():RCS_CMD_MSG(EMC_OPERATOR_ERROR_TYPE,
sizeof(EMC_OPERATOR_ERROR)) {
};
void update(CMS * cms);
int id;
char error[LINELEN];
};
class EMC_OPERATOR_TEXT:public RCS_CMD_MSG {
public:
EMC_OPERATOR_TEXT():RCS_CMD_MSG(EMC_OPERATOR_TEXT_TYPE,
sizeof(EMC_OPERATOR_TEXT)) {
};
void update(CMS * cms);
int id;
char text[LINELEN];
};
class EMC_OPERATOR_DISPLAY:public RCS_CMD_MSG {
public:
EMC_OPERATOR_DISPLAY():RCS_CMD_MSG(EMC_OPERATOR_DISPLAY_TYPE,
sizeof(EMC_OPERATOR_DISPLAY)) {
};
void update(CMS * cms);
int id;
char display[LINELEN];
};
#define EMC_SYSTEM_CMD_LEN 256
class EMC_SYSTEM_CMD:public RCS_CMD_MSG {
public:
EMC_SYSTEM_CMD():RCS_CMD_MSG(EMC_SYSTEM_CMD_TYPE,
sizeof(EMC_SYSTEM_CMD)) {
};
void update(CMS * cms);
char string[EMC_SYSTEM_CMD_LEN];
};
class EMC_NULL:public RCS_CMD_MSG {
public:
EMC_NULL():RCS_CMD_MSG(EMC_NULL_TYPE, sizeof(EMC_NULL)) {
};
void update(CMS * cms);
};
class EMC_SET_DEBUG:public RCS_CMD_MSG {
public:
EMC_SET_DEBUG():RCS_CMD_MSG(EMC_SET_DEBUG_TYPE, sizeof(EMC_SET_DEBUG)) {
};
void update(CMS * cms);
int debug;
};
class EMC_JOG_CMD_MSG:public RCS_CMD_MSG {
public:
EMC_JOG_CMD_MSG(NMLTYPE t, size_t s):RCS_CMD_MSG(t, s) {
};
void update(CMS * cms);
int joint_or_axis;
};
class EMC_AXIS_STAT_MSG:public RCS_STAT_MSG {
public:
EMC_AXIS_STAT_MSG(NMLTYPE t, size_t s):RCS_STAT_MSG(t, s) {
};
void update(CMS * cms);
int axis;
};
class EMC_AXIS_STAT:public EMC_AXIS_STAT_MSG {
public:
EMC_AXIS_STAT();
void update(CMS * cms);
double minPositionLimit;
double maxPositionLimit;
double velocity; };
class EMC_JOINT_CMD_MSG:public RCS_CMD_MSG {
public:
EMC_JOINT_CMD_MSG(NMLTYPE t, size_t s):RCS_CMD_MSG(t, s) {
};
void update(CMS * cms);
int joint;
};
class EMC_JOINT_SET_JOINT:public EMC_JOINT_CMD_MSG {
public:
EMC_JOINT_SET_JOINT():EMC_JOINT_CMD_MSG(EMC_JOINT_SET_JOINT_TYPE,
sizeof(EMC_JOINT_SET_JOINT)) {
};
void update(CMS * cms);
unsigned char jointType;
};
class EMC_JOINT_SET_UNITS:public EMC_JOINT_CMD_MSG {
public:
EMC_JOINT_SET_UNITS():EMC_JOINT_CMD_MSG(EMC_JOINT_SET_UNITS_TYPE,
sizeof(EMC_JOINT_SET_UNITS)) {
};
void update(CMS * cms);
double units;
};
class EMC_JOINT_SET_BACKLASH:public EMC_JOINT_CMD_MSG {
public:
EMC_JOINT_SET_BACKLASH():EMC_JOINT_CMD_MSG(EMC_JOINT_SET_BACKLASH_TYPE,
sizeof(EMC_JOINT_SET_BACKLASH))
{
};
void update(CMS * cms);
double backlash;
};
class EMC_JOINT_SET_MIN_POSITION_LIMIT:public EMC_JOINT_CMD_MSG {
public:
EMC_JOINT_SET_MIN_POSITION_LIMIT():EMC_JOINT_CMD_MSG
(EMC_JOINT_SET_MIN_POSITION_LIMIT_TYPE,
sizeof(EMC_JOINT_SET_MIN_POSITION_LIMIT)) {
};
void update(CMS * cms);
double limit;
};
class EMC_JOINT_SET_MAX_POSITION_LIMIT:public EMC_JOINT_CMD_MSG {
public:
EMC_JOINT_SET_MAX_POSITION_LIMIT():EMC_JOINT_CMD_MSG
(EMC_JOINT_SET_MAX_POSITION_LIMIT_TYPE,
sizeof(EMC_JOINT_SET_MAX_POSITION_LIMIT)) {
};
void update(CMS * cms);
double limit;
};
class EMC_JOINT_SET_FERROR:public EMC_JOINT_CMD_MSG {
public:
EMC_JOINT_SET_FERROR():EMC_JOINT_CMD_MSG(EMC_JOINT_SET_FERROR_TYPE,
sizeof(EMC_JOINT_SET_FERROR)) {
};
void update(CMS * cms);
double ferror;
};
class EMC_JOINT_SET_MIN_FERROR:public EMC_JOINT_CMD_MSG {
public:
EMC_JOINT_SET_MIN_FERROR():EMC_JOINT_CMD_MSG
(EMC_JOINT_SET_MIN_FERROR_TYPE, sizeof(EMC_JOINT_SET_MIN_FERROR)) {
};
void update(CMS * cms);
double ferror;
};
class EMC_JOINT_SET_HOMING_PARAMS:public EMC_JOINT_CMD_MSG {
public:
EMC_JOINT_SET_HOMING_PARAMS():EMC_JOINT_CMD_MSG
(EMC_JOINT_SET_HOMING_PARAMS_TYPE,
sizeof(EMC_JOINT_SET_HOMING_PARAMS)) {
};
void update(CMS * cms);
double home;
double offset;
double home_final_vel;
double search_vel;
double latch_vel;
int use_index;
int encoder_does_not_reset;
int ignore_limits;
int is_shared;
int home_sequence;
int volatile_home;
int locking_indexer;
int absolute_encoder;
};
class EMC_JOINT_SET_MAX_VELOCITY:public EMC_JOINT_CMD_MSG {
public:
EMC_JOINT_SET_MAX_VELOCITY():EMC_JOINT_CMD_MSG
(EMC_JOINT_SET_MAX_VELOCITY_TYPE,
sizeof(EMC_JOINT_SET_MAX_VELOCITY)) {
};
void update(CMS * cms);
double vel;
};
class EMC_JOINT_INIT:public EMC_JOINT_CMD_MSG {
public:
EMC_JOINT_INIT():EMC_JOINT_CMD_MSG(EMC_JOINT_INIT_TYPE,
sizeof(EMC_JOINT_INIT)) {
};
void update(CMS * cms);
};
class EMC_JOINT_HALT:public EMC_JOINT_CMD_MSG {
public:
EMC_JOINT_HALT():EMC_JOINT_CMD_MSG(EMC_JOINT_HALT_TYPE,
sizeof(EMC_JOINT_HALT)) {
};
void update(CMS * cms);
};
class EMC_JOINT_ABORT:public EMC_JOINT_CMD_MSG {
public:
EMC_JOINT_ABORT():EMC_JOINT_CMD_MSG(EMC_JOINT_ABORT_TYPE,
sizeof(EMC_JOINT_ABORT)) {
};
void update(CMS * cms);
};
class EMC_JOINT_ENABLE:public EMC_JOINT_CMD_MSG {
public:
EMC_JOINT_ENABLE():EMC_JOINT_CMD_MSG(EMC_JOINT_ENABLE_TYPE,
sizeof(EMC_JOINT_ENABLE)) {
};
void update(CMS * cms);
};
class EMC_JOINT_DISABLE:public EMC_JOINT_CMD_MSG {
public:
EMC_JOINT_DISABLE():EMC_JOINT_CMD_MSG(EMC_JOINT_DISABLE_TYPE,
sizeof(EMC_JOINT_DISABLE)) {
};
void update(CMS * cms);
};
class EMC_JOINT_HOME:public EMC_JOINT_CMD_MSG {
public:
EMC_JOINT_HOME():EMC_JOINT_CMD_MSG(EMC_JOINT_HOME_TYPE,
sizeof(EMC_JOINT_HOME)) {
};
void update(CMS * cms);
};
class EMC_JOINT_UNHOME:public EMC_JOINT_CMD_MSG {
public:
EMC_JOINT_UNHOME():EMC_JOINT_CMD_MSG(EMC_JOINT_UNHOME_TYPE,
sizeof(EMC_JOINT_UNHOME)) {
};
void update(CMS * cms);
};
class EMC_JOG_CONT:public EMC_JOG_CMD_MSG {
public:
EMC_JOG_CONT():EMC_JOG_CMD_MSG(EMC_JOG_CONT_TYPE,
sizeof(EMC_JOG_CONT)) {
};
void update(CMS * cms);
double vel;
int jjogmode; };
class EMC_JOG_INCR:public EMC_JOG_CMD_MSG {
public:
EMC_JOG_INCR():EMC_JOG_CMD_MSG(EMC_JOG_INCR_TYPE,
sizeof(EMC_JOG_INCR)) {
};
void update(CMS * cms);
double incr;
double vel;
int jjogmode; };
class EMC_JOG_ABS:public EMC_JOG_CMD_MSG {
public:
EMC_JOG_ABS():EMC_JOG_CMD_MSG(EMC_JOG_ABS_TYPE,
sizeof(EMC_JOG_ABS)) {
};
void update(CMS * cms);
double pos;
double vel;
int jjogmode; };
class EMC_JOG_STOP:public EMC_JOG_CMD_MSG {
public:
EMC_JOG_STOP():EMC_JOG_CMD_MSG(EMC_JOG_STOP_TYPE,
sizeof(EMC_JOG_STOP)) {
};
void update(CMS * cms);
int jjogmode; };
class EMC_JOINT_ACTIVATE:public EMC_JOINT_CMD_MSG {
public:
EMC_JOINT_ACTIVATE():EMC_JOINT_CMD_MSG(EMC_JOINT_ACTIVATE_TYPE,
sizeof(EMC_JOINT_ACTIVATE)) {
};
void update(CMS * cms);
};
class EMC_JOINT_DEACTIVATE:public EMC_JOINT_CMD_MSG {
public:
EMC_JOINT_DEACTIVATE():EMC_JOINT_CMD_MSG(EMC_JOINT_DEACTIVATE_TYPE,
sizeof(EMC_JOINT_DEACTIVATE)) {
};
void update(CMS * cms);
};
class EMC_JOINT_OVERRIDE_LIMITS:public EMC_JOINT_CMD_MSG {
public:
EMC_JOINT_OVERRIDE_LIMITS():EMC_JOINT_CMD_MSG
(EMC_JOINT_OVERRIDE_LIMITS_TYPE, sizeof(EMC_JOINT_OVERRIDE_LIMITS)) {
};
void update(CMS * cms);
};
class EMC_JOINT_LOAD_COMP:public EMC_JOINT_CMD_MSG {
public:
EMC_JOINT_LOAD_COMP():EMC_JOINT_CMD_MSG(EMC_JOINT_LOAD_COMP_TYPE,
sizeof(EMC_JOINT_LOAD_COMP)) {
};
void update(CMS * cms);
char file[LINELEN];
int type; };
class EMC_JOINT_STAT_MSG:public RCS_STAT_MSG {
public:
EMC_JOINT_STAT_MSG(NMLTYPE t, size_t s):RCS_STAT_MSG(t, s) {
};
void update(CMS * cms);
int joint;
};
class EMC_JOINT_STAT:public EMC_JOINT_STAT_MSG {
public:
EMC_JOINT_STAT();
void update(CMS * cms);
unsigned char jointType; double units; double backlash;
double minPositionLimit;
double maxPositionLimit;
double maxFerror;
double minFerror;
double ferrorCurrent; double ferrorHighMark;
double output; double input; double velocity; unsigned char inpos; unsigned char homing; unsigned char homed; unsigned char fault; unsigned char enabled; unsigned char minSoftLimit; unsigned char maxSoftLimit; unsigned char minHardLimit; unsigned char maxHardLimit; unsigned char overrideLimits; };
class EMC_TRAJ_CMD_MSG:public RCS_CMD_MSG {
public:
EMC_TRAJ_CMD_MSG(NMLTYPE t, size_t s):RCS_CMD_MSG(t, s) {
};
void update(CMS * cms);
};
class EMC_TRAJ_SET_UNITS:public EMC_TRAJ_CMD_MSG {
public:
EMC_TRAJ_SET_UNITS():EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_UNITS_TYPE,
sizeof(EMC_TRAJ_SET_UNITS)) {
};
void update(CMS * cms);
double linearUnits; double angularUnits; };
class EMC_TRAJ_SET_AXES:public EMC_TRAJ_CMD_MSG {
public:
EMC_TRAJ_SET_AXES():EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_AXES_TYPE,
sizeof(EMC_TRAJ_SET_AXES)) {
};
void update(CMS * cms);
int axes;
};
class EMC_TRAJ_SET_CYCLE_TIME:public EMC_TRAJ_CMD_MSG {
public:
EMC_TRAJ_SET_CYCLE_TIME():EMC_TRAJ_CMD_MSG
(EMC_TRAJ_SET_CYCLE_TIME_TYPE, sizeof(EMC_TRAJ_SET_CYCLE_TIME)) {
};
void update(CMS * cms);
double cycleTime;
};
class EMC_TRAJ_SET_MODE:public EMC_TRAJ_CMD_MSG {
public:
EMC_TRAJ_SET_MODE():EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_MODE_TYPE,
sizeof(EMC_TRAJ_SET_MODE)) {
};
void update(CMS * cms);
enum EMC_TRAJ_MODE_ENUM mode;
};
class EMC_TRAJ_SET_VELOCITY:public EMC_TRAJ_CMD_MSG {
public:
EMC_TRAJ_SET_VELOCITY():EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_VELOCITY_TYPE,
sizeof(EMC_TRAJ_SET_VELOCITY))
{
};
void update(CMS * cms);
double velocity;
double ini_maxvel;
};
class EMC_TRAJ_SET_ACCELERATION:public EMC_TRAJ_CMD_MSG {
public:
EMC_TRAJ_SET_ACCELERATION():EMC_TRAJ_CMD_MSG
(EMC_TRAJ_SET_ACCELERATION_TYPE,
sizeof(EMC_TRAJ_SET_ACCELERATION)) {
};
void update(CMS * cms);
double acceleration;
};
class EMC_TRAJ_SET_MAX_VELOCITY:public EMC_TRAJ_CMD_MSG {
public:
EMC_TRAJ_SET_MAX_VELOCITY():EMC_TRAJ_CMD_MSG
(EMC_TRAJ_SET_MAX_VELOCITY_TYPE,
sizeof(EMC_TRAJ_SET_MAX_VELOCITY)) {
};
void update(CMS * cms);
double velocity;
};
class EMC_TRAJ_SET_MAX_ACCELERATION:public EMC_TRAJ_CMD_MSG {
public:
EMC_TRAJ_SET_MAX_ACCELERATION():EMC_TRAJ_CMD_MSG
(EMC_TRAJ_SET_MAX_ACCELERATION_TYPE,
sizeof(EMC_TRAJ_SET_MAX_ACCELERATION)) {
};
void update(CMS * cms);
double acceleration;
};
class EMC_TRAJ_SET_SCALE:public EMC_TRAJ_CMD_MSG {
public:
EMC_TRAJ_SET_SCALE():EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_SCALE_TYPE,
sizeof(EMC_TRAJ_SET_SCALE)) {
};
void update(CMS * cms);
double scale;
};
class EMC_TRAJ_SET_RAPID_SCALE:public EMC_TRAJ_CMD_MSG {
public:
EMC_TRAJ_SET_RAPID_SCALE():EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_RAPID_SCALE_TYPE,
sizeof(EMC_TRAJ_SET_RAPID_SCALE)) {
};
void update(CMS * cms);
double scale;
};
class EMC_TRAJ_SET_SPINDLE_SCALE:public EMC_TRAJ_CMD_MSG {
public:
EMC_TRAJ_SET_SPINDLE_SCALE():EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_SPINDLE_SCALE_TYPE,
sizeof(EMC_TRAJ_SET_SPINDLE_SCALE)) {
};
void update(CMS * cms);
int spindle;
double scale;
};
class EMC_TRAJ_SET_FO_ENABLE:public EMC_TRAJ_CMD_MSG {
public:
EMC_TRAJ_SET_FO_ENABLE():EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_FO_ENABLE_TYPE,
sizeof(EMC_TRAJ_SET_FO_ENABLE)) {
};
void update(CMS * cms);
unsigned char mode; };
class EMC_TRAJ_SET_SO_ENABLE:public EMC_TRAJ_CMD_MSG {
public:
EMC_TRAJ_SET_SO_ENABLE():EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_SO_ENABLE_TYPE,
sizeof(EMC_TRAJ_SET_SO_ENABLE)) {
};
void update(CMS * cms);
int spindle;
unsigned char mode; };
class EMC_TRAJ_SET_FH_ENABLE:public EMC_TRAJ_CMD_MSG {
public:
EMC_TRAJ_SET_FH_ENABLE():EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_FH_ENABLE_TYPE,
sizeof(EMC_TRAJ_SET_FH_ENABLE)) {
};
void update(CMS * cms);
unsigned char mode; };
class EMC_TRAJ_SET_MOTION_ID:public EMC_TRAJ_CMD_MSG {
public:
EMC_TRAJ_SET_MOTION_ID():EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_MOTION_ID_TYPE,
sizeof
(EMC_TRAJ_SET_MOTION_ID)) {
};
void update(CMS * cms);
int id;
};
class EMC_TRAJ_INIT:public EMC_TRAJ_CMD_MSG {
public:
EMC_TRAJ_INIT():EMC_TRAJ_CMD_MSG(EMC_TRAJ_INIT_TYPE,
sizeof(EMC_TRAJ_INIT)) {
};
void update(CMS * cms);
};
class EMC_TRAJ_HALT:public EMC_TRAJ_CMD_MSG {
public:
EMC_TRAJ_HALT():EMC_TRAJ_CMD_MSG(EMC_TRAJ_HALT_TYPE,
sizeof(EMC_TRAJ_HALT)) {
};
void update(CMS * cms);
};
class EMC_TRAJ_ENABLE:public EMC_TRAJ_CMD_MSG {
public:
EMC_TRAJ_ENABLE():EMC_TRAJ_CMD_MSG(EMC_TRAJ_ENABLE_TYPE,
sizeof(EMC_TRAJ_ENABLE)) {
};
void update(CMS * cms);
};
class EMC_TRAJ_DISABLE:public EMC_TRAJ_CMD_MSG {
public:
EMC_TRAJ_DISABLE():EMC_TRAJ_CMD_MSG(EMC_TRAJ_DISABLE_TYPE,
sizeof(EMC_TRAJ_DISABLE)) {
};
void update(CMS * cms);
};
class EMC_TRAJ_ABORT:public EMC_TRAJ_CMD_MSG {
public:
EMC_TRAJ_ABORT():EMC_TRAJ_CMD_MSG(EMC_TRAJ_ABORT_TYPE,
sizeof(EMC_TRAJ_ABORT)) {
};
void update(CMS * cms);
};
class EMC_TRAJ_PAUSE:public EMC_TRAJ_CMD_MSG {
public:
EMC_TRAJ_PAUSE():EMC_TRAJ_CMD_MSG(EMC_TRAJ_PAUSE_TYPE,
sizeof(EMC_TRAJ_PAUSE)) {
};
void update(CMS * cms);
};
class EMC_TRAJ_STEP:public EMC_TRAJ_CMD_MSG {
public:
EMC_TRAJ_STEP():EMC_TRAJ_CMD_MSG(EMC_TRAJ_STEP_TYPE,
sizeof(EMC_TRAJ_STEP)) {
};
void update(CMS * cms);
};
class EMC_TRAJ_RESUME:public EMC_TRAJ_CMD_MSG {
public:
EMC_TRAJ_RESUME():EMC_TRAJ_CMD_MSG(EMC_TRAJ_RESUME_TYPE,
sizeof(EMC_TRAJ_RESUME)) {
};
void update(CMS * cms);
};
class EMC_TRAJ_DELAY:public EMC_TRAJ_CMD_MSG {
public:
EMC_TRAJ_DELAY():EMC_TRAJ_CMD_MSG(EMC_TRAJ_DELAY_TYPE,
sizeof(EMC_TRAJ_DELAY)) {
};
void update(CMS * cms);
double delay; };
class EMC_TRAJ_LINEAR_MOVE:public EMC_TRAJ_CMD_MSG {
public:
EMC_TRAJ_LINEAR_MOVE():EMC_TRAJ_CMD_MSG(EMC_TRAJ_LINEAR_MOVE_TYPE,
sizeof(EMC_TRAJ_LINEAR_MOVE)) {
};
void update(CMS * cms);
int type;
EmcPose end; double vel, ini_maxvel, acc;
int feed_mode;
int indexer_jnum;
};
class EMC_TRAJ_CIRCULAR_MOVE:public EMC_TRAJ_CMD_MSG {
public:
EMC_TRAJ_CIRCULAR_MOVE():EMC_TRAJ_CMD_MSG(EMC_TRAJ_CIRCULAR_MOVE_TYPE,
sizeof
(EMC_TRAJ_CIRCULAR_MOVE)) {
};
void update(CMS * cms);
EmcPose end;
PM_CARTESIAN center;
PM_CARTESIAN normal;
int turn;
int type;
double vel, ini_maxvel, acc;
int feed_mode;
};
class EMC_TRAJ_SET_TERM_COND:public EMC_TRAJ_CMD_MSG {
public:
EMC_TRAJ_SET_TERM_COND():EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_TERM_COND_TYPE,
sizeof
(EMC_TRAJ_SET_TERM_COND)) {
};
void update(CMS * cms);
int cond;
double tolerance; };
class EMC_TRAJ_SET_SPINDLESYNC:public EMC_TRAJ_CMD_MSG {
public:
EMC_TRAJ_SET_SPINDLESYNC():EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_SPINDLESYNC_TYPE,
sizeof(EMC_TRAJ_SET_SPINDLESYNC)) {
};
void update(CMS * cms);
int spindle;
double feed_per_revolution;
bool velocity_mode;
};
class EMC_TRAJ_SET_OFFSET:public EMC_TRAJ_CMD_MSG {
public:
EMC_TRAJ_SET_OFFSET():EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_OFFSET_TYPE,
sizeof(EMC_TRAJ_SET_OFFSET)) {
};
void update(CMS * cms);
EmcPose offset;
};
class EMC_TRAJ_SET_G5X:public EMC_TRAJ_CMD_MSG {
public:
EMC_TRAJ_SET_G5X():EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_G5X_TYPE,
sizeof(EMC_TRAJ_SET_G5X)) {
};
void update(CMS * cms);
int g5x_index;
EmcPose origin;
};
class EMC_TRAJ_SET_G92:public EMC_TRAJ_CMD_MSG {
public:
EMC_TRAJ_SET_G92():EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_G92_TYPE,
sizeof(EMC_TRAJ_SET_G92)) {
};
void update(CMS * cms);
EmcPose origin;
};
class EMC_TRAJ_SET_ROTATION:public EMC_TRAJ_CMD_MSG {
public:
EMC_TRAJ_SET_ROTATION():EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_ROTATION_TYPE,
sizeof(EMC_TRAJ_SET_ROTATION)) {
};
void update(CMS * cms);
double rotation;
};
class EMC_TRAJ_SET_HOME:public EMC_TRAJ_CMD_MSG {
public:
EMC_TRAJ_SET_HOME():EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_HOME_TYPE,
sizeof(EMC_TRAJ_SET_HOME)) {
};
void update(CMS * cms);
EmcPose home;
};
class EMC_TRAJ_CLEAR_PROBE_TRIPPED_FLAG:public EMC_TRAJ_CMD_MSG {
public:
EMC_TRAJ_CLEAR_PROBE_TRIPPED_FLAG():EMC_TRAJ_CMD_MSG
(EMC_TRAJ_CLEAR_PROBE_TRIPPED_FLAG_TYPE,
sizeof(EMC_TRAJ_CLEAR_PROBE_TRIPPED_FLAG)) {
};
void update(CMS * cms);
};
class EMC_TRAJ_SET_TELEOP_ENABLE:public EMC_TRAJ_CMD_MSG {
public:
EMC_TRAJ_SET_TELEOP_ENABLE():EMC_TRAJ_CMD_MSG
(EMC_TRAJ_SET_TELEOP_ENABLE_TYPE,
sizeof(EMC_TRAJ_SET_TELEOP_ENABLE)) {
};
void update(CMS * cms);
int enable;
};
class EMC_TRAJ_PROBE:public EMC_TRAJ_CMD_MSG {
public:
EMC_TRAJ_PROBE():EMC_TRAJ_CMD_MSG(EMC_TRAJ_PROBE_TYPE,
sizeof(EMC_TRAJ_PROBE)) {
};
void update(CMS * cms);
EmcPose pos;
int type;
double vel, ini_maxvel, acc;
unsigned char probe_type;
};
class EMC_TRAJ_RIGID_TAP:public EMC_TRAJ_CMD_MSG {
public:
EMC_TRAJ_RIGID_TAP():EMC_TRAJ_CMD_MSG(EMC_TRAJ_RIGID_TAP_TYPE,
sizeof(EMC_TRAJ_RIGID_TAP)) {
};
void update(CMS * cms);
EmcPose pos;
double vel, ini_maxvel, acc, scale;
};
class EMC_TRAJ_STAT_MSG:public RCS_STAT_MSG {
public:
EMC_TRAJ_STAT_MSG(NMLTYPE t, size_t s):RCS_STAT_MSG(t, s) {
};
void update(CMS * cms);
};
class EMC_TRAJ_STAT:public EMC_TRAJ_STAT_MSG {
public:
EMC_TRAJ_STAT();
void update(CMS * cms);
double linearUnits; double angularUnits; double cycleTime; int joints; int spindles; union {
int deprecated_axes;
int axes __attribute__((deprecated)); };
int axis_mask; enum EMC_TRAJ_MODE_ENUM mode; bool enabled;
bool inpos; int queue; int activeQueue; bool queueFull; int id; bool paused; double scale; double rapid_scale;
EmcPose position; EmcPose actualPosition; double velocity; double acceleration; double maxVelocity; double maxAcceleration;
EmcPose probedPosition; bool probe_tripped; bool probing; int probeval; int kinematics_type; int motion_type;
double distance_to_go; EmcPose dtg;
double current_vel; bool feed_override_enabled;
bool adaptive_feed_enabled;
bool feed_hold_enabled;
};
class EMC_MOTION_CMD_MSG:public RCS_CMD_MSG {
public:
EMC_MOTION_CMD_MSG(NMLTYPE t, size_t s):RCS_CMD_MSG(t, s) {
};
void update(CMS * cms);
};
class EMC_MOTION_INIT:public EMC_MOTION_CMD_MSG {
public:
EMC_MOTION_INIT():EMC_MOTION_CMD_MSG(EMC_MOTION_INIT_TYPE,
sizeof(EMC_MOTION_INIT)) {
};
void update(CMS * cms);
};
class EMC_MOTION_HALT:public EMC_MOTION_CMD_MSG {
public:
EMC_MOTION_HALT():EMC_MOTION_CMD_MSG(EMC_MOTION_HALT_TYPE,
sizeof(EMC_MOTION_HALT)) {
};
void update(CMS * cms);
};
class EMC_MOTION_ABORT:public EMC_MOTION_CMD_MSG {
public:
EMC_MOTION_ABORT():EMC_MOTION_CMD_MSG(EMC_MOTION_ABORT_TYPE,
sizeof(EMC_MOTION_ABORT)) {
};
void update(CMS * cms);
};
class EMC_MOTION_SET_AOUT:public EMC_MOTION_CMD_MSG {
public:
EMC_MOTION_SET_AOUT():EMC_MOTION_CMD_MSG(EMC_MOTION_SET_AOUT_TYPE,
sizeof(EMC_MOTION_SET_AOUT)) {
};
void update(CMS * cms);
unsigned char index; double start; double end; unsigned char now; };
class EMC_MOTION_SET_DOUT:public EMC_MOTION_CMD_MSG {
public:
EMC_MOTION_SET_DOUT():EMC_MOTION_CMD_MSG(EMC_MOTION_SET_DOUT_TYPE,
sizeof(EMC_MOTION_SET_DOUT)) {
};
void update(CMS * cms);
unsigned char index; unsigned char start; unsigned char end; unsigned char now; };
class EMC_MOTION_ADAPTIVE:public EMC_MOTION_CMD_MSG {
public:
EMC_MOTION_ADAPTIVE():EMC_MOTION_CMD_MSG(EMC_MOTION_ADAPTIVE_TYPE,
sizeof(EMC_MOTION_ADAPTIVE)) {
};
void update(CMS * cms);
unsigned char status; };
class EMC_MOTION_STAT_MSG:public RCS_STAT_MSG {
public:
EMC_MOTION_STAT_MSG(NMLTYPE t, size_t s):RCS_STAT_MSG(t, s) {
heartbeat = 0;
};
void update(CMS * cms);
uint32_t heartbeat;
};
class EMC_SPINDLE_STAT_MSG:public RCS_STAT_MSG {
public:
EMC_SPINDLE_STAT_MSG(NMLTYPE t, size_t s):RCS_STAT_MSG(t, s) {
};
void update(CMS * cms);
};
class EMC_SPINDLE_STAT:public EMC_SPINDLE_STAT_MSG {
public:
EMC_SPINDLE_STAT();
void update(CMS * cms);
double speed; double spindle_scale; double css_maximum;
double css_factor; int direction; int brake; int increasing; int enabled; int orient_state;
int orient_fault;
bool spindle_override_enabled;
bool homed;
};
class EMC_MOTION_STAT:public EMC_MOTION_STAT_MSG {
public:
EMC_MOTION_STAT();
void update(CMS * cms);
EMC_TRAJ_STAT traj;
EMC_JOINT_STAT joint[EMCMOT_MAX_JOINTS];
EMC_AXIS_STAT axis[EMCMOT_MAX_AXIS];
EMC_SPINDLE_STAT spindle[EMCMOT_MAX_SPINDLES];
int synch_di[EMCMOT_MAX_DIO]; int synch_do[EMCMOT_MAX_DIO]; double analog_input[EMCMOT_MAX_AIO]; double analog_output[EMCMOT_MAX_AIO]; int debug; int on_soft_limit;
int external_offsets_applied;
EmcPose eoffset_pose;
int numExtraJoints;
};
class EMC_TASK_CMD_MSG:public RCS_CMD_MSG {
public:
EMC_TASK_CMD_MSG(NMLTYPE t, size_t s):RCS_CMD_MSG(t, s) {
};
void update(CMS * cms);
};
class EMC_TASK_INIT:public EMC_TASK_CMD_MSG {
public:
EMC_TASK_INIT():EMC_TASK_CMD_MSG(EMC_TASK_INIT_TYPE,
sizeof(EMC_TASK_INIT)) {
};
void update(CMS * cms);
};
class EMC_TASK_HALT:public EMC_TASK_CMD_MSG {
public:
EMC_TASK_HALT():EMC_TASK_CMD_MSG(EMC_TASK_HALT_TYPE,
sizeof(EMC_TASK_HALT)) {
};
void update(CMS * cms);
};
class EMC_TASK_ABORT:public EMC_TASK_CMD_MSG {
public:
EMC_TASK_ABORT():EMC_TASK_CMD_MSG(EMC_TASK_ABORT_TYPE,
sizeof(EMC_TASK_ABORT)) {
};
void update(CMS * cms);
};
class EMC_TASK_SET_MODE:public EMC_TASK_CMD_MSG {
public:
EMC_TASK_SET_MODE():EMC_TASK_CMD_MSG(EMC_TASK_SET_MODE_TYPE,
sizeof(EMC_TASK_SET_MODE)) {
};
void update(CMS * cms);
enum EMC_TASK_MODE_ENUM mode;
};
class EMC_TASK_SET_STATE:public EMC_TASK_CMD_MSG {
public:
EMC_TASK_SET_STATE():EMC_TASK_CMD_MSG(EMC_TASK_SET_STATE_TYPE,
sizeof(EMC_TASK_SET_STATE)) {
};
void update(CMS * cms);
enum EMC_TASK_STATE_ENUM state;
};
class EMC_TASK_PLAN_OPEN:public EMC_TASK_CMD_MSG {
public:
EMC_TASK_PLAN_OPEN():EMC_TASK_CMD_MSG(EMC_TASK_PLAN_OPEN_TYPE,
sizeof(EMC_TASK_PLAN_OPEN)) {
};
void update(CMS * cms);
char file[LINELEN];
};
class EMC_TASK_PLAN_RUN:public EMC_TASK_CMD_MSG {
public:
EMC_TASK_PLAN_RUN():EMC_TASK_CMD_MSG(EMC_TASK_PLAN_RUN_TYPE,
sizeof(EMC_TASK_PLAN_RUN)) {
};
void update(CMS * cms);
int line; };
class EMC_TASK_PLAN_READ:public EMC_TASK_CMD_MSG {
public:
EMC_TASK_PLAN_READ():EMC_TASK_CMD_MSG(EMC_TASK_PLAN_READ_TYPE,
sizeof(EMC_TASK_PLAN_READ)) {
};
void update(CMS * cms);
};
class EMC_TASK_PLAN_EXECUTE:public EMC_TASK_CMD_MSG {
public:
EMC_TASK_PLAN_EXECUTE():EMC_TASK_CMD_MSG(EMC_TASK_PLAN_EXECUTE_TYPE,
sizeof(EMC_TASK_PLAN_EXECUTE))
{
};
void update(CMS * cms);
char command[LINELEN];
};
class EMC_TASK_PLAN_PAUSE:public EMC_TASK_CMD_MSG {
public:
EMC_TASK_PLAN_PAUSE():EMC_TASK_CMD_MSG(EMC_TASK_PLAN_PAUSE_TYPE,
sizeof(EMC_TASK_PLAN_PAUSE)) {
};
void update(CMS * cms);
};
class EMC_TASK_PLAN_REVERSE:public EMC_TASK_CMD_MSG {
public:
EMC_TASK_PLAN_REVERSE():EMC_TASK_CMD_MSG(EMC_TASK_PLAN_REVERSE_TYPE,
sizeof(EMC_TASK_PLAN_REVERSE)) {
};
};
class EMC_TASK_PLAN_FORWARD:public EMC_TASK_CMD_MSG {
public:
EMC_TASK_PLAN_FORWARD():EMC_TASK_CMD_MSG(EMC_TASK_PLAN_FORWARD_TYPE,
sizeof(EMC_TASK_PLAN_FORWARD)) {
};
};
class EMC_TASK_PLAN_STEP:public EMC_TASK_CMD_MSG {
public:
EMC_TASK_PLAN_STEP():EMC_TASK_CMD_MSG(EMC_TASK_PLAN_STEP_TYPE,
sizeof(EMC_TASK_PLAN_STEP)) {
};
void update(CMS * cms);
};
class EMC_TASK_PLAN_RESUME:public EMC_TASK_CMD_MSG {
public:
EMC_TASK_PLAN_RESUME():EMC_TASK_CMD_MSG(EMC_TASK_PLAN_RESUME_TYPE,
sizeof(EMC_TASK_PLAN_RESUME)) {
};
void update(CMS * cms);
};
class EMC_TASK_PLAN_END:public EMC_TASK_CMD_MSG {
public:
EMC_TASK_PLAN_END():EMC_TASK_CMD_MSG(EMC_TASK_PLAN_END_TYPE,
sizeof(EMC_TASK_PLAN_END)) {
};
void update(CMS * cms);
};
class EMC_TASK_PLAN_CLOSE:public EMC_TASK_CMD_MSG {
public:
EMC_TASK_PLAN_CLOSE():EMC_TASK_CMD_MSG(EMC_TASK_PLAN_CLOSE_TYPE,
sizeof(EMC_TASK_PLAN_CLOSE)) {
};
void update(CMS * cms);
};
class EMC_TASK_PLAN_INIT:public EMC_TASK_CMD_MSG {
public:
EMC_TASK_PLAN_INIT():EMC_TASK_CMD_MSG(EMC_TASK_PLAN_INIT_TYPE,
sizeof(EMC_TASK_PLAN_INIT)) {
};
void update(CMS * cms);
};
class EMC_TASK_PLAN_SYNCH:public EMC_TASK_CMD_MSG {
public:
EMC_TASK_PLAN_SYNCH():EMC_TASK_CMD_MSG(EMC_TASK_PLAN_SYNCH_TYPE,
sizeof(EMC_TASK_PLAN_SYNCH)) {
};
void update(CMS * cms);
};
class EMC_TASK_PLAN_SET_OPTIONAL_STOP:public EMC_TASK_CMD_MSG {
public:
EMC_TASK_PLAN_SET_OPTIONAL_STOP():EMC_TASK_CMD_MSG(EMC_TASK_PLAN_SET_OPTIONAL_STOP_TYPE,
sizeof(EMC_TASK_PLAN_SET_OPTIONAL_STOP)) {
};
void update(CMS * cms);
bool state; };
class EMC_TASK_PLAN_SET_BLOCK_DELETE:public EMC_TASK_CMD_MSG {
public:
EMC_TASK_PLAN_SET_BLOCK_DELETE():EMC_TASK_CMD_MSG(EMC_TASK_PLAN_SET_BLOCK_DELETE_TYPE,
sizeof(EMC_TASK_PLAN_SET_BLOCK_DELETE)) {
};
void update(CMS * cms);
bool state; };
class EMC_TASK_PLAN_OPTIONAL_STOP:public EMC_TASK_CMD_MSG {
public:
EMC_TASK_PLAN_OPTIONAL_STOP():EMC_TASK_CMD_MSG(EMC_TASK_PLAN_OPTIONAL_STOP_TYPE,
sizeof(EMC_TASK_PLAN_OPTIONAL_STOP)) {
};
void update(CMS * cms);
};
class EMC_TASK_STAT_MSG:public RCS_STAT_MSG {
public:
EMC_TASK_STAT_MSG(NMLTYPE t, size_t s):RCS_STAT_MSG(t, s) {
heartbeat = 0;
};
void update(CMS * cms);
uint32_t heartbeat;
};
class EMC_TASK_STAT:public EMC_TASK_STAT_MSG {
public:
EMC_TASK_STAT();
void update(CMS * cms);
enum EMC_TASK_MODE_ENUM mode; enum EMC_TASK_STATE_ENUM state;
enum EMC_TASK_EXEC_ENUM execState; enum EMC_TASK_INTERP_ENUM interpState; int callLevel; int motionLine; int currentLine; int readLine; bool optional_stop_state; bool block_delete_state; bool input_timeout; char file[LINELEN];
char command[LINELEN];
EmcPose g5x_offset; int g5x_index; EmcPose g92_offset; double rotation_xy;
EmcPose toolOffset; int activeGCodes[ACTIVE_G_CODES];
int activeMCodes[ACTIVE_M_CODES];
double activeSettings[ACTIVE_SETTINGS];
CANON_UNITS programUnits;
int interpreter_errcode; int task_paused; double delayLeft; int queuedMDIcommands; };
class EMC_TOOL_CMD_MSG:public RCS_CMD_MSG {
public:
EMC_TOOL_CMD_MSG(NMLTYPE t, size_t s):RCS_CMD_MSG(t, s) {
};
void update(CMS * cms);
};
class EMC_TOOL_INIT:public EMC_TOOL_CMD_MSG {
public:
EMC_TOOL_INIT():EMC_TOOL_CMD_MSG(EMC_TOOL_INIT_TYPE,
sizeof(EMC_TOOL_INIT)) {
};
void update(CMS * cms);
};
class EMC_TOOL_HALT:public EMC_TOOL_CMD_MSG {
public:
EMC_TOOL_HALT():EMC_TOOL_CMD_MSG(EMC_TOOL_HALT_TYPE,
sizeof(EMC_TOOL_HALT)) {
};
void update(CMS * cms);
};
class EMC_TOOL_ABORT:public EMC_TOOL_CMD_MSG {
public:
EMC_TOOL_ABORT():EMC_TOOL_CMD_MSG(EMC_TOOL_ABORT_TYPE,
sizeof(EMC_TOOL_ABORT)) {
};
void update(CMS * cms);
int reason; };
class EMC_TOOL_PREPARE:public EMC_TOOL_CMD_MSG {
public:
EMC_TOOL_PREPARE():EMC_TOOL_CMD_MSG(EMC_TOOL_PREPARE_TYPE,
sizeof(EMC_TOOL_PREPARE)) {
};
void update(CMS * cms);
int pocket;
int tool;
};
class EMC_TOOL_LOAD:public EMC_TOOL_CMD_MSG {
public:
EMC_TOOL_LOAD():EMC_TOOL_CMD_MSG(EMC_TOOL_LOAD_TYPE,
sizeof(EMC_TOOL_LOAD)) {
};
void update(CMS * cms);
};
class EMC_TOOL_UNLOAD:public EMC_TOOL_CMD_MSG {
public:
EMC_TOOL_UNLOAD():EMC_TOOL_CMD_MSG(EMC_TOOL_UNLOAD_TYPE,
sizeof(EMC_TOOL_UNLOAD)) {
};
void update(CMS * cms);
};
class EMC_TOOL_LOAD_TOOL_TABLE:public EMC_TOOL_CMD_MSG {
public:
EMC_TOOL_LOAD_TOOL_TABLE():EMC_TOOL_CMD_MSG
(EMC_TOOL_LOAD_TOOL_TABLE_TYPE, sizeof(EMC_TOOL_LOAD_TOOL_TABLE)) {
};
void update(CMS * cms);
char file[LINELEN]; };
class EMC_TOOL_SET_OFFSET:public EMC_TOOL_CMD_MSG {
public:
EMC_TOOL_SET_OFFSET():EMC_TOOL_CMD_MSG(EMC_TOOL_SET_OFFSET_TYPE,
sizeof(EMC_TOOL_SET_OFFSET)) {
};
void update(CMS * cms);
int pocket;
int toolno;
EmcPose offset;
double diameter;
double frontangle;
double backangle;
int orientation;
};
class EMC_TOOL_SET_NUMBER:public EMC_TOOL_CMD_MSG {
public:
EMC_TOOL_SET_NUMBER():EMC_TOOL_CMD_MSG(EMC_TOOL_SET_NUMBER_TYPE,
sizeof(EMC_TOOL_SET_NUMBER)) {
};
void update(CMS * cms);
int tool; };
class EMC_TOOL_START_CHANGE:public EMC_TOOL_CMD_MSG {
public:
EMC_TOOL_START_CHANGE():EMC_TOOL_CMD_MSG(EMC_TOOL_START_CHANGE_TYPE,
sizeof(EMC_TOOL_START_CHANGE)) {
};
void update(CMS * cms);
};
class EMC_TOOL_STAT_MSG:public RCS_STAT_MSG {
public:
EMC_TOOL_STAT_MSG(NMLTYPE t, size_t s):RCS_STAT_MSG(t, s) {
};
void update(CMS * cms);
};
class EMC_TOOL_STAT:public EMC_TOOL_STAT_MSG {
public:
EMC_TOOL_STAT();
void update(CMS * cms);
EMC_TOOL_STAT operator =(EMC_TOOL_STAT s);
int pocketPrepped; int toolInSpindle; CANON_TOOL_TABLE toolTable[CANON_POCKETS_MAX];
};
class EMC_AUX_CMD_MSG:public RCS_CMD_MSG {
public:
EMC_AUX_CMD_MSG(NMLTYPE t, size_t s):RCS_CMD_MSG(t, s) {
};
void update(CMS * cms);
};
class EMC_AUX_ESTOP_ON:public EMC_AUX_CMD_MSG {
public:
EMC_AUX_ESTOP_ON():EMC_AUX_CMD_MSG(EMC_AUX_ESTOP_ON_TYPE,
sizeof(EMC_AUX_ESTOP_ON)) {
};
void update(CMS * cms);
};
class EMC_AUX_ESTOP_OFF:public EMC_AUX_CMD_MSG {
public:
EMC_AUX_ESTOP_OFF():EMC_AUX_CMD_MSG(EMC_AUX_ESTOP_OFF_TYPE,
sizeof(EMC_AUX_ESTOP_OFF)) {
};
void update(CMS * cms);
};
class EMC_AUX_ESTOP_RESET:public EMC_AUX_CMD_MSG {
public:
EMC_AUX_ESTOP_RESET():EMC_AUX_CMD_MSG(EMC_AUX_ESTOP_RESET_TYPE,
sizeof(EMC_AUX_ESTOP_RESET)) {
};
void update(CMS * cms);
};
class EMC_AUX_INPUT_WAIT:public EMC_AUX_CMD_MSG {
public:
EMC_AUX_INPUT_WAIT():EMC_AUX_CMD_MSG(EMC_AUX_INPUT_WAIT_TYPE,
sizeof(EMC_AUX_INPUT_WAIT)) {
};
void update(CMS * cms);
int index; int input_type; int wait_type; double timeout; };
class EMC_AUX_STAT_MSG:public RCS_STAT_MSG {
public:
EMC_AUX_STAT_MSG(NMLTYPE t, size_t s):RCS_STAT_MSG(t, s) {
};
void update(CMS * cms);
};
class EMC_AUX_STAT:public EMC_AUX_STAT_MSG {
public:
EMC_AUX_STAT();
void update(CMS * cms);
int estop; };
class EMC_SPINDLE_CMD_MSG:public RCS_CMD_MSG {
public:
EMC_SPINDLE_CMD_MSG(NMLTYPE t, size_t s):RCS_CMD_MSG(t, s) {
};
void update(CMS * cms);
int spindle;
};
class EMC_SPINDLE_SPEED:public EMC_SPINDLE_CMD_MSG {
public:
EMC_SPINDLE_SPEED():EMC_SPINDLE_CMD_MSG(EMC_SPINDLE_SPEED_TYPE,
sizeof(EMC_SPINDLE_SPEED)) {
};
void update(CMS * cms);
int spindle;
double speed; double factor; double xoffset; };
class EMC_SPINDLE_ORIENT:public EMC_SPINDLE_CMD_MSG {
public:
EMC_SPINDLE_ORIENT():EMC_SPINDLE_CMD_MSG(EMC_SPINDLE_ORIENT_TYPE,
sizeof(EMC_SPINDLE_ORIENT)) {
};
void update(CMS * cms);
int spindle;
double orientation; int mode;
};
class EMC_SPINDLE_WAIT_ORIENT_COMPLETE:public EMC_SPINDLE_CMD_MSG {
public:
EMC_SPINDLE_WAIT_ORIENT_COMPLETE():EMC_SPINDLE_CMD_MSG(EMC_SPINDLE_WAIT_ORIENT_COMPLETE_TYPE,
sizeof(EMC_SPINDLE_WAIT_ORIENT_COMPLETE)) {
};
void update(CMS * cms);
int spindle;
double timeout; };
class EMC_SPINDLE_ON:public EMC_SPINDLE_CMD_MSG {
public:
EMC_SPINDLE_ON():EMC_SPINDLE_CMD_MSG(EMC_SPINDLE_ON_TYPE,
sizeof(EMC_SPINDLE_ON)),
speed(0), factor(0), xoffset(0), wait_for_spindle_at_speed(1) {
};
void update(CMS * cms);
int spindle; double speed; double factor; double xoffset; int wait_for_spindle_at_speed;
};
class EMC_SPINDLE_OFF:public EMC_SPINDLE_CMD_MSG {
public:
EMC_SPINDLE_OFF():EMC_SPINDLE_CMD_MSG(EMC_SPINDLE_OFF_TYPE,
sizeof(EMC_SPINDLE_OFF)) {
};
void update(CMS * cms);
int spindle; };
class EMC_SPINDLE_INCREASE:public EMC_SPINDLE_CMD_MSG {
public:
EMC_SPINDLE_INCREASE():EMC_SPINDLE_CMD_MSG(EMC_SPINDLE_INCREASE_TYPE,
sizeof
(EMC_SPINDLE_INCREASE)) {
};
void update(CMS * cms);
int spindle; double speed; };
class EMC_SPINDLE_DECREASE:public EMC_SPINDLE_CMD_MSG {
public:
EMC_SPINDLE_DECREASE():EMC_SPINDLE_CMD_MSG(EMC_SPINDLE_DECREASE_TYPE,
sizeof
(EMC_SPINDLE_DECREASE)) {
};
void update(CMS * cms);
int spindle; double speed; };
class EMC_SPINDLE_CONSTANT:public EMC_SPINDLE_CMD_MSG {
public:
EMC_SPINDLE_CONSTANT():EMC_SPINDLE_CMD_MSG(EMC_SPINDLE_CONSTANT_TYPE,
sizeof
(EMC_SPINDLE_CONSTANT)) {
};
void update(CMS * cms);
int spindle; double speed; };
class EMC_SPINDLE_BRAKE_RELEASE:public EMC_SPINDLE_CMD_MSG {
public:
EMC_SPINDLE_BRAKE_RELEASE():EMC_SPINDLE_CMD_MSG
(EMC_SPINDLE_BRAKE_RELEASE_TYPE,
sizeof(EMC_SPINDLE_BRAKE_RELEASE)) {
};
void update(CMS * cms);
int spindle;
};
class EMC_SPINDLE_BRAKE_ENGAGE:public EMC_SPINDLE_CMD_MSG {
public:
EMC_SPINDLE_BRAKE_ENGAGE():EMC_SPINDLE_CMD_MSG
(EMC_SPINDLE_BRAKE_ENGAGE_TYPE, sizeof(EMC_SPINDLE_BRAKE_ENGAGE)) {
};
void update(CMS * cms);
int spindle;
};
class EMC_COOLANT_CMD_MSG:public RCS_CMD_MSG {
public:
EMC_COOLANT_CMD_MSG(NMLTYPE t, size_t s):RCS_CMD_MSG(t, s) {
};
void update(CMS * cms);
};
class EMC_COOLANT_MIST_ON:public EMC_COOLANT_CMD_MSG {
public:
EMC_COOLANT_MIST_ON():EMC_COOLANT_CMD_MSG(EMC_COOLANT_MIST_ON_TYPE,
sizeof(EMC_COOLANT_MIST_ON))
{
};
void update(CMS * cms);
};
class EMC_COOLANT_MIST_OFF:public EMC_COOLANT_CMD_MSG {
public:
EMC_COOLANT_MIST_OFF():EMC_COOLANT_CMD_MSG(EMC_COOLANT_MIST_OFF_TYPE,
sizeof
(EMC_COOLANT_MIST_OFF)) {
};
void update(CMS * cms);
};
class EMC_COOLANT_FLOOD_ON:public EMC_COOLANT_CMD_MSG {
public:
EMC_COOLANT_FLOOD_ON():EMC_COOLANT_CMD_MSG(EMC_COOLANT_FLOOD_ON_TYPE,
sizeof
(EMC_COOLANT_FLOOD_ON)) {
};
void update(CMS * cms);
};
class EMC_COOLANT_FLOOD_OFF:public EMC_COOLANT_CMD_MSG {
public:
EMC_COOLANT_FLOOD_OFF():EMC_COOLANT_CMD_MSG(EMC_COOLANT_FLOOD_OFF_TYPE,
sizeof
(EMC_COOLANT_FLOOD_OFF)) {
};
void update(CMS * cms);
};
class EMC_COOLANT_STAT_MSG:public RCS_STAT_MSG {
public:
EMC_COOLANT_STAT_MSG(NMLTYPE t, size_t s):RCS_STAT_MSG(t, s) {
};
void update(CMS * cms);
};
class EMC_COOLANT_STAT:public EMC_COOLANT_STAT_MSG {
public:
EMC_COOLANT_STAT();
void update(CMS * cms);
int mist; int flood; };
class EMC_LUBE_CMD_MSG:public RCS_CMD_MSG {
public:
EMC_LUBE_CMD_MSG(NMLTYPE t, size_t s):RCS_CMD_MSG(t, s) {
};
void update(CMS * cms);
};
class EMC_LUBE_ON:public EMC_LUBE_CMD_MSG {
public:
EMC_LUBE_ON():EMC_LUBE_CMD_MSG(EMC_LUBE_ON_TYPE, sizeof(EMC_LUBE_ON)) {
};
void update(CMS * cms);
};
class EMC_LUBE_OFF:public EMC_LUBE_CMD_MSG {
public:
EMC_LUBE_OFF():EMC_LUBE_CMD_MSG(EMC_LUBE_OFF_TYPE,
sizeof(EMC_LUBE_OFF)) {
};
void update(CMS * cms);
};
class EMC_LUBE_STAT_MSG:public RCS_STAT_MSG {
public:
EMC_LUBE_STAT_MSG(NMLTYPE t, size_t s):RCS_STAT_MSG(t, s) {
};
void update(CMS * cms);
};
class EMC_LUBE_STAT:public EMC_LUBE_STAT_MSG {
public:
EMC_LUBE_STAT();
void update(CMS * cms);
int on; int level; };
class EMC_IO_CMD_MSG:public RCS_CMD_MSG {
public:
EMC_IO_CMD_MSG(NMLTYPE t, size_t s):RCS_CMD_MSG(t, s) {
};
void update(CMS * cms);
};
class EMC_IO_INIT:public EMC_IO_CMD_MSG {
public:
EMC_IO_INIT():EMC_IO_CMD_MSG(EMC_IO_INIT_TYPE, sizeof(EMC_IO_INIT)) {
};
void update(CMS * cms);
};
class EMC_IO_HALT:public EMC_IO_CMD_MSG {
public:
EMC_IO_HALT():EMC_IO_CMD_MSG(EMC_IO_HALT_TYPE, sizeof(EMC_IO_HALT)) {
};
void update(CMS * cms);
};
class EMC_IO_ABORT:public EMC_IO_CMD_MSG {
public:
EMC_IO_ABORT():EMC_IO_CMD_MSG(EMC_IO_ABORT_TYPE, sizeof(EMC_IO_ABORT)) {
};
void update(CMS * cms);
};
class EMC_IO_SET_CYCLE_TIME:public EMC_IO_CMD_MSG {
public:
EMC_IO_SET_CYCLE_TIME():EMC_IO_CMD_MSG(EMC_IO_SET_CYCLE_TIME_TYPE,
sizeof(EMC_IO_SET_CYCLE_TIME)) {
};
void update(CMS * cms);
double cycleTime;
};
class EMC_IO_STAT_MSG:public RCS_STAT_MSG {
public:
EMC_IO_STAT_MSG(NMLTYPE t, size_t s):RCS_STAT_MSG(t, s) {
heartbeat = 0;
};
void update(CMS * cms);
uint32_t heartbeat;
};
class EMC_IO_STAT:public EMC_IO_STAT_MSG {
public:
EMC_IO_STAT():EMC_IO_STAT_MSG(EMC_IO_STAT_TYPE, sizeof(EMC_IO_STAT)) {
};
void update(CMS * cms);
double cycleTime;
int debug; int reason; int fault; EMC_TOOL_STAT tool;
EMC_COOLANT_STAT coolant;
EMC_AUX_STAT aux;
EMC_LUBE_STAT lube;
};
class EMC_CMD_MSG:public RCS_CMD_MSG {
public:
EMC_CMD_MSG(NMLTYPE t, size_t s):RCS_CMD_MSG(t, s) {
};
void update(CMS * cms);
};
class EMC_INIT:public EMC_CMD_MSG {
public:
EMC_INIT():EMC_CMD_MSG(EMC_INIT_TYPE, sizeof(EMC_INIT)) {
};
void update(CMS * cms);
};
class EMC_HALT:public EMC_CMD_MSG {
public:
EMC_HALT():EMC_CMD_MSG(EMC_HALT_TYPE, sizeof(EMC_HALT)) {
};
void update(CMS * cms);
};
class EMC_ABORT:public EMC_CMD_MSG {
public:
EMC_ABORT():EMC_CMD_MSG(EMC_ABORT_TYPE, sizeof(EMC_ABORT)) {
};
void update(CMS * cms);
};
class EMC_EXEC_PLUGIN_CALL:public EMC_CMD_MSG {
public:
EMC_EXEC_PLUGIN_CALL():EMC_CMD_MSG(EMC_EXEC_PLUGIN_CALL_TYPE,
sizeof(EMC_EXEC_PLUGIN_CALL)) {
};
void update(CMS * cms);
int len;
char call[900]; };
class EMC_IO_PLUGIN_CALL:public EMC_CMD_MSG {
public:
EMC_IO_PLUGIN_CALL():EMC_CMD_MSG(EMC_IO_PLUGIN_CALL_TYPE,
sizeof(EMC_IO_PLUGIN_CALL)) {
};
void update(CMS * cms);
int len;
char call[900]; };
class EMC_STAT_MSG:public RCS_STAT_MSG {
public:
EMC_STAT_MSG(NMLTYPE t, size_t s):RCS_STAT_MSG(t, s) {
};
void update(CMS * cms);
};
class EMC_STAT:public EMC_STAT_MSG {
public:
EMC_STAT();
void update(CMS * cms);
EMC_TASK_STAT task;
EMC_MOTION_STAT motion;
EMC_IO_STAT io;
int debug; };
#endif