From b1e11913e89405eecdede497b30f83d179009be8 Mon Sep 17 00:00:00 2001 From: Bertho Stultiens Date: Fri, 7 Feb 2025 16:07:26 +0100 Subject: [PATCH 1/2] Add inline cppcheck message suppression option. Allow extra options from environment. --- scripts/cppcheck.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/scripts/cppcheck.sh b/scripts/cppcheck.sh index 5d240d0162e..7f8ec6989b2 100755 --- a/scripts/cppcheck.sh +++ b/scripts/cppcheck.sh @@ -13,10 +13,15 @@ fi # See if cppcheck accepts --check-level EXHAUSTIVE=$(cppcheck --check-level=exhaustive --version > /dev/null 2>&1 && echo "--check-level=exhaustive") -CPPCHKOPT=( -j "$nproc" --force "$EXHAUSTIVE" ) +CPPCHKOPT=( -j "$nproc" --force "$EXHAUSTIVE" --inline-suppr ) CPPCHKOPT+=( "--enable=warning,performance,portability" ) CPPCHKOPT+=( "-I$(realpath "$(dirname "$0")/../include")" ) +if [ -n "$CPPCHECK_OPTS" ]; then + read -r -a OPTS <<< "$CPPCHECK_OPTS" + CPPCHKOPT+=( "${OPTS[@]}" ) +fi + # Even cppcheck 2.3 (debian 11) supports c++17 (undocumented) CCSTD=( --std=c11 --language=c ) CXSTD=( --std=c++17 --language=c++ ) From bd56da8ee0fe022d372f0f5da02d8ccae920cbf8 Mon Sep 17 00:00:00 2001 From: Bertho Stultiens Date: Fri, 7 Feb 2025 16:22:07 +0100 Subject: [PATCH 2/2] Fix missing class initialization in constructors. Modernize deleted copy constructor and copy assignment. Mark cppcheck detected duplicate inherited update() method as fine. --- src/emc/canterp/canterp.cc | 2 +- src/emc/nml_intf/canon.hh | 23 +- src/emc/nml_intf/emc_nml.hh | 970 ++++++++++++++------- src/emc/nml_intf/emcops.cc | 266 +++--- src/emc/pythonplugin/python_plugin.hh | 4 +- src/emc/rs274ngc/interp_setup.cc | 8 + src/emc/rs274ngc/modal_state.cc | 1 + src/emc/sai/saicanon.cc | 1 + src/emc/task/taskclass.cc | 3 +- src/hal/user_comps/xhc-whb04b-6/pendant.cc | 1 + src/libnml/buffer/physmem.cc | 42 +- src/libnml/buffer/rem_msg.hh | 74 +- src/libnml/buffer/shmem.cc | 34 +- src/libnml/buffer/tcpmem.cc | 46 +- src/libnml/cms/cms.cc | 5 - src/libnml/cms/cms.hh | 8 +- src/libnml/cms/cms_cfg.cc | 7 +- src/libnml/cms/cms_srv.cc | 110 ++- src/libnml/cms/cmsdiag.hh | 23 + src/libnml/cms/tcp_srv.cc | 56 +- src/libnml/linklist/linklist.cc | 40 +- src/libnml/linklist/linklist.hh | 5 +- src/libnml/nml/cmd_msg.cc | 5 +- src/libnml/nml/nml.cc | 5 - src/libnml/nml/nml.hh | 5 +- src/libnml/nml/nml_oi.hh | 18 +- src/libnml/nml/nml_srv.cc | 6 +- src/libnml/os_intf/sem.cc | 5 - src/libnml/os_intf/sem.hh | 9 +- src/libnml/os_intf/shm.cc | 5 - src/libnml/os_intf/shm.hh | 8 +- src/libnml/posemath/posemath.h | 7 +- 32 files changed, 1154 insertions(+), 648 deletions(-) diff --git a/src/emc/canterp/canterp.cc b/src/emc/canterp/canterp.cc index 732a02dbfd7..5201655291d 100644 --- a/src/emc/canterp/canterp.cc +++ b/src/emc/canterp/canterp.cc @@ -67,7 +67,7 @@ static char the_command_args[LINELEN] = { 0 }; // just the args part class Canterp : public InterpBase { public: - Canterp () : f(0) {} + Canterp () : f(0), filename{} {} char *error_text(int errcode, char *buf, size_t buflen) override; char *stack_name(int index, char *buf, size_t buflen) override; char *line_text(char *buf, size_t buflen) override; diff --git a/src/emc/nml_intf/canon.hh b/src/emc/nml_intf/canon.hh index d23573fe351..e0c0076ce27 100644 --- a/src/emc/nml_intf/canon.hh +++ b/src/emc/nml_intf/canon.hh @@ -150,7 +150,28 @@ typedef struct { } CanonSpindle_t; typedef struct CanonConfig_t { - CanonConfig_t() : rotary_unlock_for_traverse(-1) {} + CanonConfig_t() + : xy_rotation(0.0), + rotary_unlock_for_traverse(-1), + g5xOffset{}, + g92Offset{}, + endPoint{}, + lengthUnits(CANON_UNITS_INCHES), + activePlane(CANON_PLANE::XY), + toolOffset{}, + motionMode(CANON_EXACT_STOP), + motionTolerance(0.0), + naivecamTolerance(0.0), + feed_mode(0), + spindle_num(0), + spindle{}, + linearFeedRate(0.0), + angularFeedRate(0.0), + optional_program_stop(false), + block_delete(false), + cartesian_move(0), + angular_move(0) + {} double xy_rotation; int rotary_unlock_for_traverse; // jointnumber or -1 diff --git a/src/emc/nml_intf/emc_nml.hh b/src/emc/nml_intf/emc_nml.hh index 3bc3df9b665..d943ef4485d 100644 --- a/src/emc/nml_intf/emc_nml.hh +++ b/src/emc/nml_intf/emc_nml.hh @@ -38,9 +38,10 @@ */ class EMC_OPERATOR_ERROR:public RCS_CMD_MSG { public: - EMC_OPERATOR_ERROR():RCS_CMD_MSG(EMC_OPERATOR_ERROR_TYPE, - sizeof(EMC_OPERATOR_ERROR)) { - }; + EMC_OPERATOR_ERROR() + : RCS_CMD_MSG(EMC_OPERATOR_ERROR_TYPE, sizeof(EMC_OPERATOR_ERROR)), + error{} + {}; // For internal NML/CMS use only. void update(CMS * cms); @@ -54,9 +55,10 @@ class EMC_OPERATOR_ERROR:public RCS_CMD_MSG { */ class EMC_OPERATOR_TEXT:public RCS_CMD_MSG { public: - EMC_OPERATOR_TEXT():RCS_CMD_MSG(EMC_OPERATOR_TEXT_TYPE, - sizeof(EMC_OPERATOR_TEXT)) { - }; + EMC_OPERATOR_TEXT() + : RCS_CMD_MSG(EMC_OPERATOR_TEXT_TYPE, sizeof(EMC_OPERATOR_TEXT)), + text{} + {}; // For internal NML/CMS use only. void update(CMS * cms); @@ -74,9 +76,10 @@ class EMC_OPERATOR_TEXT:public RCS_CMD_MSG { */ class EMC_OPERATOR_DISPLAY:public RCS_CMD_MSG { public: - EMC_OPERATOR_DISPLAY():RCS_CMD_MSG(EMC_OPERATOR_DISPLAY_TYPE, - sizeof(EMC_OPERATOR_DISPLAY)) { - }; + EMC_OPERATOR_DISPLAY() + : RCS_CMD_MSG(EMC_OPERATOR_DISPLAY_TYPE, sizeof(EMC_OPERATOR_DISPLAY)), + display{} + {}; // For internal NML/CMS use only. void update(CMS * cms); @@ -89,9 +92,10 @@ class EMC_OPERATOR_DISPLAY:public RCS_CMD_MSG { */ class EMC_SYSTEM_CMD:public RCS_CMD_MSG { public: - EMC_SYSTEM_CMD():RCS_CMD_MSG(EMC_SYSTEM_CMD_TYPE, - sizeof(EMC_SYSTEM_CMD)) { - }; + EMC_SYSTEM_CMD() + : RCS_CMD_MSG(EMC_SYSTEM_CMD_TYPE, sizeof(EMC_SYSTEM_CMD)), + string{} + {}; // For internal NML/CMS use only. void update(CMS * cms); @@ -110,8 +114,10 @@ class EMC_NULL:public RCS_CMD_MSG { class EMC_SET_DEBUG:public RCS_CMD_MSG { public: - EMC_SET_DEBUG():RCS_CMD_MSG(EMC_SET_DEBUG_TYPE, sizeof(EMC_SET_DEBUG)) { - }; + EMC_SET_DEBUG() + : RCS_CMD_MSG(EMC_SET_DEBUG_TYPE, sizeof(EMC_SET_DEBUG)), + debug(0) + {}; // For internal NML/CMS use only. void update(CMS * cms); @@ -125,8 +131,10 @@ class EMC_SET_DEBUG:public RCS_CMD_MSG { */ class EMC_JOG_CMD_MSG:public RCS_CMD_MSG { public: - EMC_JOG_CMD_MSG(NMLTYPE t, size_t s):RCS_CMD_MSG(t, s) { - }; + EMC_JOG_CMD_MSG(NMLTYPE t, size_t s) + : RCS_CMD_MSG(t, s), + joint_or_axis(0) + {}; // For internal NML/CMS use only. void update(CMS * cms); @@ -139,8 +147,10 @@ class EMC_JOG_CMD_MSG:public RCS_CMD_MSG { // AXIS status base class class EMC_AXIS_STAT_MSG:public RCS_STAT_MSG { public: - EMC_AXIS_STAT_MSG(NMLTYPE t, size_t s):RCS_STAT_MSG(t, s) { - }; + EMC_AXIS_STAT_MSG(NMLTYPE t, size_t s) + : RCS_STAT_MSG(t, s), + axis(0) + {}; // For internal NML/CMS use only. void update(CMS * cms); @@ -153,6 +163,8 @@ class EMC_AXIS_STAT:public EMC_AXIS_STAT_MSG { EMC_AXIS_STAT(); // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); double minPositionLimit; @@ -172,8 +184,10 @@ class EMC_AXIS_STAT:public EMC_AXIS_STAT_MSG { */ class EMC_JOINT_CMD_MSG:public RCS_CMD_MSG { public: - EMC_JOINT_CMD_MSG(NMLTYPE t, size_t s):RCS_CMD_MSG(t, s) { - }; + EMC_JOINT_CMD_MSG(NMLTYPE t, size_t s) + : RCS_CMD_MSG(t, s), + joint(0) + {}; // For internal NML/CMS use only. void update(CMS * cms); @@ -187,12 +201,14 @@ class EMC_JOINT_CMD_MSG:public RCS_CMD_MSG { */ 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)) - { - }; + EMC_JOINT_SET_BACKLASH() + : EMC_JOINT_CMD_MSG(EMC_JOINT_SET_BACKLASH_TYPE, sizeof(EMC_JOINT_SET_BACKLASH)), + backlash(0.0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); double backlash; @@ -200,12 +216,14 @@ class EMC_JOINT_SET_BACKLASH:public EMC_JOINT_CMD_MSG { 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)) { - }; + EMC_JOINT_SET_MIN_POSITION_LIMIT() + : EMC_JOINT_CMD_MSG (EMC_JOINT_SET_MIN_POSITION_LIMIT_TYPE, sizeof(EMC_JOINT_SET_MIN_POSITION_LIMIT)), + limit(0.0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); double limit; @@ -213,12 +231,14 @@ class EMC_JOINT_SET_MIN_POSITION_LIMIT:public EMC_JOINT_CMD_MSG { 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)) { - }; + EMC_JOINT_SET_MAX_POSITION_LIMIT() + : EMC_JOINT_CMD_MSG (EMC_JOINT_SET_MAX_POSITION_LIMIT_TYPE, sizeof(EMC_JOINT_SET_MAX_POSITION_LIMIT)), + limit(0.0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); double limit; @@ -226,11 +246,14 @@ class EMC_JOINT_SET_MAX_POSITION_LIMIT:public EMC_JOINT_CMD_MSG { 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)) { - }; + EMC_JOINT_SET_FERROR() + : EMC_JOINT_CMD_MSG(EMC_JOINT_SET_FERROR_TYPE, sizeof(EMC_JOINT_SET_FERROR)), + ferror(0.0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); double ferror; @@ -238,11 +261,14 @@ class EMC_JOINT_SET_FERROR:public EMC_JOINT_CMD_MSG { 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)) { - }; + EMC_JOINT_SET_MIN_FERROR() + : EMC_JOINT_CMD_MSG (EMC_JOINT_SET_MIN_FERROR_TYPE, sizeof(EMC_JOINT_SET_MIN_FERROR)), + ferror(0.0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); double ferror; @@ -250,12 +276,28 @@ class EMC_JOINT_SET_MIN_FERROR:public EMC_JOINT_CMD_MSG { 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)) { - }; - - // For internal NML/CMS use only. + // False positive. Triggers on 'offset' + // cppcheck-suppress uninitMemberVar + EMC_JOINT_SET_HOMING_PARAMS() + : EMC_JOINT_CMD_MSG(EMC_JOINT_SET_HOMING_PARAMS_TYPE, sizeof(EMC_JOINT_SET_HOMING_PARAMS)), + home(0.0), + offset(0.0), + home_final_vel(0.0), + search_vel(0.0), + latch_vel(0.0), + use_index(0), + encoder_does_not_reset(0), + ignore_limits(0), + is_shared(0), + home_sequence(0), + volatile_home(0), + locking_indexer(0), + absolute_encoder(0) + {}; + + // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); double home; @@ -275,41 +317,51 @@ class EMC_JOINT_SET_HOMING_PARAMS:public EMC_JOINT_CMD_MSG { 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)) { - }; + EMC_JOINT_HALT() + : EMC_JOINT_CMD_MSG(EMC_JOINT_HALT_TYPE, sizeof(EMC_JOINT_HALT)) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember 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)) { - }; + EMC_JOINT_HOME() + : EMC_JOINT_CMD_MSG(EMC_JOINT_HOME_TYPE, sizeof(EMC_JOINT_HOME)) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember 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)) { - }; + EMC_JOINT_UNHOME() + : EMC_JOINT_CMD_MSG(EMC_JOINT_UNHOME_TYPE, sizeof(EMC_JOINT_UNHOME)) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember 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)) { - }; + EMC_JOG_CONT() + : EMC_JOG_CMD_MSG(EMC_JOG_CONT_TYPE, sizeof(EMC_JOG_CONT)), + vel(0.0), + jjogmode(0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); double vel; @@ -318,11 +370,16 @@ class EMC_JOG_CONT:public EMC_JOG_CMD_MSG { 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)) { - }; + EMC_JOG_INCR() + : EMC_JOG_CMD_MSG(EMC_JOG_INCR_TYPE, sizeof(EMC_JOG_INCR)), + incr(0.0), + vel(0.0), + jjogmode(0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); double incr; @@ -332,11 +389,16 @@ class EMC_JOG_INCR:public EMC_JOG_CMD_MSG { 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)) { - }; + EMC_JOG_ABS() + : EMC_JOG_CMD_MSG(EMC_JOG_ABS_TYPE, sizeof(EMC_JOG_ABS)), + pos(0.0), + vel(0.0), + jjogmode(0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); double pos; @@ -346,11 +408,14 @@ class EMC_JOG_ABS:public EMC_JOG_CMD_MSG { 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)) { - }; + EMC_JOG_STOP() + : EMC_JOG_CMD_MSG(EMC_JOG_STOP_TYPE, sizeof(EMC_JOG_STOP)), + jjogmode(0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); int jjogmode; // 1==> joint jog, 0==> axis jog @@ -358,21 +423,27 @@ class EMC_JOG_STOP:public EMC_JOG_CMD_MSG { 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)) { - }; + EMC_JOINT_OVERRIDE_LIMITS() + : EMC_JOINT_CMD_MSG(EMC_JOINT_OVERRIDE_LIMITS_TYPE, sizeof(EMC_JOINT_OVERRIDE_LIMITS)) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember 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)) { - }; + EMC_JOINT_LOAD_COMP() + : EMC_JOINT_CMD_MSG(EMC_JOINT_LOAD_COMP_TYPE, sizeof(EMC_JOINT_LOAD_COMP)), + file{}, + type(0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); char file[LINELEN]; @@ -384,8 +455,10 @@ class EMC_JOINT_LOAD_COMP:public EMC_JOINT_CMD_MSG { // JOINT status base class class EMC_JOINT_STAT_MSG:public RCS_STAT_MSG { public: - EMC_JOINT_STAT_MSG(NMLTYPE t, size_t s):RCS_STAT_MSG(t, s) { - }; + EMC_JOINT_STAT_MSG(NMLTYPE t, size_t s) + : RCS_STAT_MSG(t, s), + joint(0) + {}; // For internal NML/CMS use only. void update(CMS * cms); @@ -398,6 +471,8 @@ class EMC_JOINT_STAT:public EMC_JOINT_STAT_MSG { EMC_JOINT_STAT(); // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); // configuration parameters @@ -433,8 +508,10 @@ class EMC_JOINT_STAT:public EMC_JOINT_STAT_MSG { // EMC_TRAJ command base class class EMC_TRAJ_CMD_MSG:public RCS_CMD_MSG { public: - EMC_TRAJ_CMD_MSG(NMLTYPE t, size_t s): RCS_CMD_MSG(t, s),tag(){ - }; + EMC_TRAJ_CMD_MSG(NMLTYPE t, size_t s) + : RCS_CMD_MSG(t, s), + tag() + {}; //NOTE this does NOT have a corresponding CMS update. This only works //because motion commands don't actually go through NML. @@ -445,11 +522,14 @@ class EMC_TRAJ_CMD_MSG:public RCS_CMD_MSG { 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)) { - }; + EMC_TRAJ_SET_MODE() + : EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_MODE_TYPE, sizeof(EMC_TRAJ_SET_MODE)), + mode(EMC_TRAJ_MODE::FREE) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); EMC_TRAJ_MODE mode; @@ -457,12 +537,15 @@ class EMC_TRAJ_SET_MODE:public EMC_TRAJ_CMD_MSG { 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)) - { - }; + EMC_TRAJ_SET_VELOCITY() + : EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_VELOCITY_TYPE, sizeof(EMC_TRAJ_SET_VELOCITY)), + velocity(0.0), + ini_maxvel(0.0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); double velocity; @@ -471,12 +554,14 @@ class EMC_TRAJ_SET_VELOCITY:public EMC_TRAJ_CMD_MSG { 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)) { - }; + EMC_TRAJ_SET_ACCELERATION() + : EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_ACCELERATION_TYPE, sizeof(EMC_TRAJ_SET_ACCELERATION)), + acceleration(0.0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); double acceleration; @@ -484,12 +569,14 @@ class EMC_TRAJ_SET_ACCELERATION:public EMC_TRAJ_CMD_MSG { 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)) { - }; + EMC_TRAJ_SET_MAX_VELOCITY() + : EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_MAX_VELOCITY_TYPE, sizeof(EMC_TRAJ_SET_MAX_VELOCITY)), + velocity(0.0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); double velocity; @@ -497,11 +584,14 @@ class EMC_TRAJ_SET_MAX_VELOCITY:public EMC_TRAJ_CMD_MSG { 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)) { - }; + EMC_TRAJ_SET_SCALE() + : EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_SCALE_TYPE, sizeof(EMC_TRAJ_SET_SCALE)), + scale(0.0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); double scale; @@ -509,11 +599,14 @@ class EMC_TRAJ_SET_SCALE:public EMC_TRAJ_CMD_MSG { 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)) { - }; + EMC_TRAJ_SET_RAPID_SCALE() + : EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_RAPID_SCALE_TYPE, sizeof(EMC_TRAJ_SET_RAPID_SCALE)), + scale(0.0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); double scale; @@ -521,11 +614,15 @@ class EMC_TRAJ_SET_RAPID_SCALE:public EMC_TRAJ_CMD_MSG { 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)) { - }; + EMC_TRAJ_SET_SPINDLE_SCALE() + : EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_SPINDLE_SCALE_TYPE, sizeof(EMC_TRAJ_SET_SPINDLE_SCALE)), + spindle(0), + scale(0.0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); int spindle; double scale; @@ -533,11 +630,14 @@ class EMC_TRAJ_SET_SPINDLE_SCALE:public EMC_TRAJ_CMD_MSG { 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)) { - }; + EMC_TRAJ_SET_FO_ENABLE() + : EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_FO_ENABLE_TYPE, sizeof(EMC_TRAJ_SET_FO_ENABLE)), + mode(0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); unsigned char mode; //mode=0, override off (will work with 100% FO), mode != 0, override on, user can change FO @@ -545,11 +645,15 @@ class EMC_TRAJ_SET_FO_ENABLE:public EMC_TRAJ_CMD_MSG { 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)) { - }; + EMC_TRAJ_SET_SO_ENABLE() + : EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_SO_ENABLE_TYPE, sizeof(EMC_TRAJ_SET_SO_ENABLE)), + spindle(0), + mode(0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); int spindle; @@ -558,11 +662,14 @@ class EMC_TRAJ_SET_SO_ENABLE:public EMC_TRAJ_CMD_MSG { 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)) { - }; + EMC_TRAJ_SET_FH_ENABLE() + : EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_FH_ENABLE_TYPE, sizeof(EMC_TRAJ_SET_FH_ENABLE)), + mode(0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); unsigned char mode; //mode=0, override off (feedhold is disabled), mode != 0, override on, user can use feedhold @@ -570,41 +677,50 @@ class EMC_TRAJ_SET_FH_ENABLE:public EMC_TRAJ_CMD_MSG { 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)) { - }; + EMC_TRAJ_ABORT() + : EMC_TRAJ_CMD_MSG(EMC_TRAJ_ABORT_TYPE, sizeof(EMC_TRAJ_ABORT)) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember 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)) { - }; + EMC_TRAJ_PAUSE() + : EMC_TRAJ_CMD_MSG(EMC_TRAJ_PAUSE_TYPE, sizeof(EMC_TRAJ_PAUSE)) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember 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)) { - }; + EMC_TRAJ_RESUME() + : EMC_TRAJ_CMD_MSG(EMC_TRAJ_RESUME_TYPE, sizeof(EMC_TRAJ_RESUME)) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember 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)) { - }; + EMC_TRAJ_DELAY() + : EMC_TRAJ_CMD_MSG(EMC_TRAJ_DELAY_TYPE, sizeof(EMC_TRAJ_DELAY)), + delay(0.0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); double delay; // delay in seconds @@ -612,11 +728,20 @@ class EMC_TRAJ_DELAY:public EMC_TRAJ_CMD_MSG { 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)) { - }; + EMC_TRAJ_LINEAR_MOVE() + : EMC_TRAJ_CMD_MSG(EMC_TRAJ_LINEAR_MOVE_TYPE, sizeof(EMC_TRAJ_LINEAR_MOVE)), + type(0), + end{}, + vel(0.0), + ini_maxvel(0.0), + acc(0.0), + feed_mode(0), + indexer_jnum(0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); int type; @@ -628,12 +753,22 @@ class EMC_TRAJ_LINEAR_MOVE:public EMC_TRAJ_CMD_MSG { 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)) { - }; + EMC_TRAJ_CIRCULAR_MOVE() + : EMC_TRAJ_CMD_MSG(EMC_TRAJ_CIRCULAR_MOVE_TYPE, sizeof(EMC_TRAJ_CIRCULAR_MOVE)), + end{}, + center{}, + normal{}, + turn(0), + type(0), + vel(0.0), + ini_maxvel(0.0), + acc(0.0), + feed_mode(0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); EmcPose end; @@ -647,12 +782,15 @@ class EMC_TRAJ_CIRCULAR_MOVE:public EMC_TRAJ_CMD_MSG { 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)) { - }; + EMC_TRAJ_SET_TERM_COND() + : EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_TERM_COND_TYPE, sizeof(EMC_TRAJ_SET_TERM_COND)), + cond(false), + tolerance(0.0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); int cond; @@ -661,24 +799,32 @@ class EMC_TRAJ_SET_TERM_COND:public EMC_TRAJ_CMD_MSG { }; 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)) { - }; + public: + EMC_TRAJ_SET_SPINDLESYNC() + : EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_SPINDLESYNC_TYPE, sizeof(EMC_TRAJ_SET_SPINDLESYNC)), + spindle(0), + feed_per_revolution(0.0), + velocity_mode(false) + {}; - void update(CMS * cms); + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember + void update(CMS * cms); - int spindle; - double feed_per_revolution; - bool velocity_mode; + 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)) { - }; + EMC_TRAJ_SET_OFFSET() + : EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_OFFSET_TYPE, sizeof(EMC_TRAJ_SET_OFFSET)), + offset{} + {}; + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember // For internal NML/CMS use only. void update(CMS * cms); @@ -687,11 +833,15 @@ class EMC_TRAJ_SET_OFFSET:public EMC_TRAJ_CMD_MSG { 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)) { - }; + EMC_TRAJ_SET_G5X() + : EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_G5X_TYPE, sizeof(EMC_TRAJ_SET_G5X)), + g5x_index(0), + origin{} + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); int g5x_index; EmcPose origin; @@ -699,11 +849,14 @@ class EMC_TRAJ_SET_G5X:public EMC_TRAJ_CMD_MSG { 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)) { - }; + EMC_TRAJ_SET_G92() + : EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_G92_TYPE, sizeof(EMC_TRAJ_SET_G92)), + origin{} + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); EmcPose origin; @@ -711,11 +864,14 @@ class EMC_TRAJ_SET_G92:public EMC_TRAJ_CMD_MSG { 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)) { - }; + EMC_TRAJ_SET_ROTATION() + : EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_ROTATION_TYPE, sizeof(EMC_TRAJ_SET_ROTATION)), + rotation(0.0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); double rotation; @@ -723,23 +879,26 @@ class EMC_TRAJ_SET_ROTATION:public EMC_TRAJ_CMD_MSG { 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)) { - }; + EMC_TRAJ_CLEAR_PROBE_TRIPPED_FLAG() + : EMC_TRAJ_CMD_MSG(EMC_TRAJ_CLEAR_PROBE_TRIPPED_FLAG_TYPE, sizeof(EMC_TRAJ_CLEAR_PROBE_TRIPPED_FLAG)) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember 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)) { - }; + EMC_TRAJ_SET_TELEOP_ENABLE() + : EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_TELEOP_ENABLE_TYPE, sizeof(EMC_TRAJ_SET_TELEOP_ENABLE)), + enable(0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); int enable; @@ -747,11 +906,19 @@ class EMC_TRAJ_SET_TELEOP_ENABLE:public EMC_TRAJ_CMD_MSG { 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)) { - }; + EMC_TRAJ_PROBE() + : EMC_TRAJ_CMD_MSG(EMC_TRAJ_PROBE_TYPE, sizeof(EMC_TRAJ_PROBE)), + pos{}, + type(0), + vel(0.0), + ini_maxvel(0.0), + acc(0.0), + probe_type(0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); EmcPose pos; @@ -762,11 +929,18 @@ class EMC_TRAJ_PROBE:public EMC_TRAJ_CMD_MSG { 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)) { - }; + EMC_TRAJ_RIGID_TAP() + : EMC_TRAJ_CMD_MSG(EMC_TRAJ_RIGID_TAP_TYPE, sizeof(EMC_TRAJ_RIGID_TAP)), + pos{}, + vel(0.0), + ini_maxvel(0.0), + acc(0.0), + scale(1.0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); EmcPose pos; @@ -776,8 +950,9 @@ class EMC_TRAJ_RIGID_TAP:public EMC_TRAJ_CMD_MSG { // EMC_TRAJ status base class class EMC_TRAJ_STAT_MSG:public RCS_STAT_MSG { public: - EMC_TRAJ_STAT_MSG(NMLTYPE t, size_t s):RCS_STAT_MSG(t, s) { - }; + EMC_TRAJ_STAT_MSG(NMLTYPE t, size_t s) + : RCS_STAT_MSG(t, s) + {}; // For internal NML/CMS use only. void update(CMS * cms); @@ -788,6 +963,8 @@ class EMC_TRAJ_STAT:public EMC_TRAJ_STAT_MSG { EMC_TRAJ_STAT(); // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); double linearUnits; // units per mm @@ -842,8 +1019,9 @@ class EMC_TRAJ_STAT:public EMC_TRAJ_STAT_MSG { // EMC_MOTION command base class class EMC_MOTION_CMD_MSG:public RCS_CMD_MSG { public: - EMC_MOTION_CMD_MSG(NMLTYPE t, size_t s):RCS_CMD_MSG(t, s) { - }; + EMC_MOTION_CMD_MSG(NMLTYPE t, size_t s) + : RCS_CMD_MSG(t, s) + {}; // For internal NML/CMS use only. void update(CMS * cms); @@ -851,11 +1029,17 @@ class EMC_MOTION_CMD_MSG:public RCS_CMD_MSG { 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)) { - }; + EMC_MOTION_SET_AOUT() + : EMC_MOTION_CMD_MSG(EMC_MOTION_SET_AOUT_TYPE, sizeof(EMC_MOTION_SET_AOUT)), + index(0), + start(0.0), + end(0.0), + now(0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); unsigned char index; // which to set @@ -866,11 +1050,17 @@ class EMC_MOTION_SET_AOUT:public EMC_MOTION_CMD_MSG { 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)) { - }; + EMC_MOTION_SET_DOUT() + : EMC_MOTION_CMD_MSG(EMC_MOTION_SET_DOUT_TYPE, sizeof(EMC_MOTION_SET_DOUT)), + index(0), + start(0.0), + end(0.0), + now(0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); unsigned char index; // which to set @@ -881,11 +1071,14 @@ class EMC_MOTION_SET_DOUT:public EMC_MOTION_CMD_MSG { 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)) { - }; + EMC_MOTION_ADAPTIVE() + : EMC_MOTION_CMD_MSG(EMC_MOTION_ADAPTIVE_TYPE, sizeof(EMC_MOTION_ADAPTIVE)), + status(0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); unsigned char status; // status=0 stop; status=1 start. @@ -894,16 +1087,18 @@ class EMC_MOTION_ADAPTIVE:public EMC_MOTION_CMD_MSG { // EMC_MOTION status base class class EMC_MOTION_STAT_MSG:public RCS_STAT_MSG { public: - EMC_MOTION_STAT_MSG(NMLTYPE t, size_t s):RCS_STAT_MSG(t, s) { - }; + EMC_MOTION_STAT_MSG(NMLTYPE t, size_t s) + : RCS_STAT_MSG(t, s) + {}; }; // EMC_SPINDLE status base class class EMC_SPINDLE_STAT_MSG:public RCS_STAT_MSG { public: - EMC_SPINDLE_STAT_MSG(NMLTYPE t, size_t s):RCS_STAT_MSG(t, s) { - }; + EMC_SPINDLE_STAT_MSG(NMLTYPE t, size_t s) + : RCS_STAT_MSG(t, s) + {}; // For internal NML/CMS use only. void update(CMS * cms); @@ -914,6 +1109,8 @@ class EMC_SPINDLE_STAT:public EMC_SPINDLE_STAT_MSG { EMC_SPINDLE_STAT(); // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); double speed; // spindle speed in RPMs @@ -962,30 +1159,38 @@ class EMC_MOTION_STAT:public EMC_MOTION_STAT_MSG { // EMC_TASK command base class class EMC_TASK_CMD_MSG:public RCS_CMD_MSG { public: - EMC_TASK_CMD_MSG(NMLTYPE t, size_t s):RCS_CMD_MSG(t, s) { - }; + EMC_TASK_CMD_MSG(NMLTYPE t, size_t s) + : RCS_CMD_MSG(t, s) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember 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)) { - }; + EMC_TASK_ABORT() + : EMC_TASK_CMD_MSG(EMC_TASK_ABORT_TYPE, sizeof(EMC_TASK_ABORT)) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember 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)) { - }; + EMC_TASK_SET_MODE() + : EMC_TASK_CMD_MSG(EMC_TASK_SET_MODE_TYPE, sizeof(EMC_TASK_SET_MODE)), + mode(EMC_TASK_MODE::AUTO) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); EMC_TASK_MODE mode; @@ -993,11 +1198,14 @@ class EMC_TASK_SET_MODE:public EMC_TASK_CMD_MSG { 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)) { - }; + EMC_TASK_SET_STATE() + : EMC_TASK_CMD_MSG(EMC_TASK_SET_STATE_TYPE, sizeof(EMC_TASK_SET_STATE)), + state(EMC_TASK_STATE::ESTOP) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); EMC_TASK_STATE state; @@ -1005,11 +1213,17 @@ class EMC_TASK_SET_STATE:public EMC_TASK_CMD_MSG { 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)) { - }; + EMC_TASK_PLAN_OPEN() + : EMC_TASK_CMD_MSG(EMC_TASK_PLAN_OPEN_TYPE, sizeof(EMC_TASK_PLAN_OPEN)), + file{}, + remote_filesize(0), + remote_buffersize(0), + remote_buffer{} + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); // (local) path to file @@ -1024,11 +1238,14 @@ class EMC_TASK_PLAN_OPEN:public EMC_TASK_CMD_MSG { 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)) { - }; + EMC_TASK_PLAN_RUN() + : EMC_TASK_CMD_MSG(EMC_TASK_PLAN_RUN_TYPE, sizeof(EMC_TASK_PLAN_RUN)), + line(0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); int line; // line to run from; 0 or 1 means from start, @@ -1037,12 +1254,14 @@ class EMC_TASK_PLAN_RUN:public EMC_TASK_CMD_MSG { 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)) - { - }; + EMC_TASK_PLAN_EXECUTE() + : EMC_TASK_CMD_MSG(EMC_TASK_PLAN_EXECUTE_TYPE, sizeof(EMC_TASK_PLAN_EXECUTE)), + command{} + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); char command[LINELEN]; @@ -1050,98 +1269,115 @@ class EMC_TASK_PLAN_EXECUTE:public EMC_TASK_CMD_MSG { 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)) { - }; + EMC_TASK_PLAN_PAUSE() + : EMC_TASK_CMD_MSG(EMC_TASK_PLAN_PAUSE_TYPE, sizeof(EMC_TASK_PLAN_PAUSE)) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember 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)) { - }; + 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)) { - }; + 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)) { - }; + EMC_TASK_PLAN_STEP() + : EMC_TASK_CMD_MSG(EMC_TASK_PLAN_STEP_TYPE, sizeof(EMC_TASK_PLAN_STEP)) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember 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)) { - }; + EMC_TASK_PLAN_RESUME() + : EMC_TASK_CMD_MSG(EMC_TASK_PLAN_RESUME_TYPE, sizeof(EMC_TASK_PLAN_RESUME)) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember 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)) { - }; + EMC_TASK_PLAN_END() + : EMC_TASK_CMD_MSG(EMC_TASK_PLAN_END_TYPE, sizeof(EMC_TASK_PLAN_END)) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember 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)) { - }; + EMC_TASK_PLAN_CLOSE() + : EMC_TASK_CMD_MSG(EMC_TASK_PLAN_CLOSE_TYPE, sizeof(EMC_TASK_PLAN_CLOSE)) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember 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)) { - }; + EMC_TASK_PLAN_INIT() + : EMC_TASK_CMD_MSG(EMC_TASK_PLAN_INIT_TYPE, sizeof(EMC_TASK_PLAN_INIT)) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember 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)) { - }; + EMC_TASK_PLAN_SYNCH() + : EMC_TASK_CMD_MSG(EMC_TASK_PLAN_SYNCH_TYPE, sizeof(EMC_TASK_PLAN_SYNCH)) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember 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)) { - }; + EMC_TASK_PLAN_SET_OPTIONAL_STOP() + : EMC_TASK_CMD_MSG(EMC_TASK_PLAN_SET_OPTIONAL_STOP_TYPE, sizeof(EMC_TASK_PLAN_SET_OPTIONAL_STOP)), + state(false) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); bool state; //state == ON, optional stop is on (e.g. we stop on any stops) @@ -1149,11 +1385,14 @@ class EMC_TASK_PLAN_SET_OPTIONAL_STOP:public EMC_TASK_CMD_MSG { 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)) { - }; + EMC_TASK_PLAN_SET_BLOCK_DELETE() + : EMC_TASK_CMD_MSG(EMC_TASK_PLAN_SET_BLOCK_DELETE_TYPE, sizeof(EMC_TASK_PLAN_SET_BLOCK_DELETE)), + state(false) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); bool state; //state == ON, block delete is on, we ignore lines starting with "/" @@ -1161,11 +1400,13 @@ class EMC_TASK_PLAN_SET_BLOCK_DELETE:public EMC_TASK_CMD_MSG { 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)) { - }; + EMC_TASK_PLAN_OPTIONAL_STOP() + : EMC_TASK_CMD_MSG(EMC_TASK_PLAN_OPTIONAL_STOP_TYPE, sizeof(EMC_TASK_PLAN_OPTIONAL_STOP)) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); }; @@ -1174,9 +1415,10 @@ class EMC_TASK_PLAN_OPTIONAL_STOP:public EMC_TASK_CMD_MSG { // EMC_TASK status base class 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; - }; + EMC_TASK_STAT_MSG(NMLTYPE t, size_t s) + : RCS_STAT_MSG(t, s), + heartbeat(0) + {}; // For internal NML/CMS use only. void update(CMS * cms); @@ -1189,6 +1431,8 @@ class EMC_TASK_STAT:public EMC_TASK_STAT_MSG { EMC_TASK_STAT(); // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); EMC_TASK_MODE mode; // EMC_TASK_MODE::MANUAL, etc. @@ -1228,72 +1472,90 @@ class EMC_TASK_STAT:public EMC_TASK_STAT_MSG { // EMC_TOOL command base class class EMC_TOOL_CMD_MSG:public RCS_CMD_MSG { public: - EMC_TOOL_CMD_MSG(NMLTYPE t, size_t s):RCS_CMD_MSG(t, s) { - }; + EMC_TOOL_CMD_MSG(NMLTYPE t, size_t s) + : RCS_CMD_MSG(t, s) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember 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)) { - }; + EMC_TOOL_HALT() + : EMC_TOOL_CMD_MSG(EMC_TOOL_HALT_TYPE, sizeof(EMC_TOOL_HALT)) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember 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)) { - }; + EMC_TOOL_ABORT() + : EMC_TOOL_CMD_MSG(EMC_TOOL_ABORT_TYPE, sizeof(EMC_TOOL_ABORT)), + reason(0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); int reason; // convey reason for abort to iocontrol }; 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)) { - }; + EMC_TOOL_PREPARE() + : EMC_TOOL_CMD_MSG(EMC_TOOL_PREPARE_TYPE, sizeof(EMC_TOOL_PREPARE)), + tool(0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); 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)) { - }; + EMC_TOOL_LOAD() + : EMC_TOOL_CMD_MSG(EMC_TOOL_LOAD_TYPE, sizeof(EMC_TOOL_LOAD)) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember 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)) { - }; + EMC_TOOL_UNLOAD() + : EMC_TOOL_CMD_MSG(EMC_TOOL_UNLOAD_TYPE, sizeof(EMC_TOOL_UNLOAD)) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember 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)) { - }; + EMC_TOOL_LOAD_TOOL_TABLE() + : EMC_TOOL_CMD_MSG(EMC_TOOL_LOAD_TOOL_TABLE_TYPE, sizeof(EMC_TOOL_LOAD_TOOL_TABLE)), + file{} + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); char file[LINELEN]; // name of tool table, empty means default @@ -1301,11 +1563,20 @@ class EMC_TOOL_LOAD_TOOL_TABLE:public EMC_TOOL_CMD_MSG { 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)) { - }; + EMC_TOOL_SET_OFFSET() + : EMC_TOOL_CMD_MSG(EMC_TOOL_SET_OFFSET_TYPE, sizeof(EMC_TOOL_SET_OFFSET)), + pocket(0), + toolno(0), + offset{}, + diameter(0.0), + frontangle(0.0), + backangle(0.0), + orientation(0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); int pocket; @@ -1319,11 +1590,14 @@ class EMC_TOOL_SET_OFFSET:public EMC_TOOL_CMD_MSG { 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)) { - }; + EMC_TOOL_SET_NUMBER() + : EMC_TOOL_CMD_MSG(EMC_TOOL_SET_NUMBER_TYPE, sizeof(EMC_TOOL_SET_NUMBER)), + tool(0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); int tool; //number to use for currently loaded tool @@ -1332,8 +1606,9 @@ class EMC_TOOL_SET_NUMBER:public EMC_TOOL_CMD_MSG { // EMC_TOOL status base class class EMC_TOOL_STAT_MSG:public RCS_STAT_MSG { public: - EMC_TOOL_STAT_MSG(NMLTYPE t, size_t s):RCS_STAT_MSG(t, s) { - }; + EMC_TOOL_STAT_MSG(NMLTYPE t, size_t s) + : RCS_STAT_MSG(t, s) + {}; // For internal NML/CMS use only. void update(CMS * cms); @@ -1345,6 +1620,8 @@ class EMC_TOOL_STAT:public EMC_TOOL_STAT_MSG { EMC_TOOL_STAT(const EMC_TOOL_STAT &) = delete; // No copy constructor // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); EMC_TOOL_STAT& operator =(const EMC_TOOL_STAT &s); // need this for [] members @@ -1373,11 +1650,17 @@ class EMC_AUX_CMD_MSG:public RCS_CMD_MSG { 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)) { - }; + EMC_AUX_INPUT_WAIT() + : EMC_AUX_CMD_MSG(EMC_AUX_INPUT_WAIT_TYPE, sizeof(EMC_AUX_INPUT_WAIT)), + index(0), + input_type(0), + wait_type(0), + timeout(0.0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); int index; // input channel to wait for @@ -1394,6 +1677,8 @@ class EMC_AUX_STAT_MSG:public RCS_STAT_MSG { }; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); }; @@ -1402,6 +1687,8 @@ class EMC_AUX_STAT:public EMC_AUX_STAT_MSG { EMC_AUX_STAT(); // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); int estop; // non-zero means estopped @@ -1412,8 +1699,10 @@ class EMC_AUX_STAT:public EMC_AUX_STAT_MSG { // EMC_SPINDLE command base class class EMC_SPINDLE_CMD_MSG:public RCS_CMD_MSG { public: - EMC_SPINDLE_CMD_MSG(NMLTYPE t, size_t s):RCS_CMD_MSG(t, s) { - }; + EMC_SPINDLE_CMD_MSG(NMLTYPE t, size_t s) + : RCS_CMD_MSG(t, s), + spindle(0) + {}; // For internal NML/CMS use only. void update(CMS * cms); @@ -1423,11 +1712,17 @@ class EMC_SPINDLE_CMD_MSG:public RCS_CMD_MSG { 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)) { - }; + EMC_SPINDLE_SPEED() + : EMC_SPINDLE_CMD_MSG(EMC_SPINDLE_SPEED_TYPE, sizeof(EMC_SPINDLE_SPEED)), + spindle(0), + speed(0.0), + factor(0.0), + xoffset(0.0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); int spindle; @@ -1438,11 +1733,16 @@ class EMC_SPINDLE_SPEED:public EMC_SPINDLE_CMD_MSG { 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)) { - }; + EMC_SPINDLE_ORIENT() + : EMC_SPINDLE_CMD_MSG(EMC_SPINDLE_ORIENT_TYPE, sizeof(EMC_SPINDLE_ORIENT)), + spindle(0), + orientation(0.0), + mode(0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); int spindle; @@ -1452,11 +1752,15 @@ class EMC_SPINDLE_ORIENT:public EMC_SPINDLE_CMD_MSG { 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)) { - }; + EMC_SPINDLE_WAIT_ORIENT_COMPLETE() + : EMC_SPINDLE_CMD_MSG(EMC_SPINDLE_WAIT_ORIENT_COMPLETE_TYPE, sizeof(EMC_SPINDLE_WAIT_ORIENT_COMPLETE)), + spindle(0), + timeout(0.0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); int spindle; @@ -1466,12 +1770,18 @@ class EMC_SPINDLE_WAIT_ORIENT_COMPLETE:public EMC_SPINDLE_CMD_MSG { 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) { - }; + EMC_SPINDLE_ON() + : EMC_SPINDLE_CMD_MSG(EMC_SPINDLE_ON_TYPE, sizeof(EMC_SPINDLE_ON)), + spindle(0), + speed(0), + factor(0), + xoffset(0), + wait_for_spindle_at_speed(0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); int spindle; // the spindle to be turned on @@ -1483,11 +1793,14 @@ class EMC_SPINDLE_ON:public EMC_SPINDLE_CMD_MSG { 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)) { - }; + EMC_SPINDLE_OFF() + : EMC_SPINDLE_CMD_MSG(EMC_SPINDLE_OFF_TYPE, sizeof(EMC_SPINDLE_OFF)), + spindle(0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); int spindle; // the spindle to be turned off @@ -1495,12 +1808,15 @@ class EMC_SPINDLE_OFF:public EMC_SPINDLE_CMD_MSG { 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)) { - }; + EMC_SPINDLE_INCREASE() + : EMC_SPINDLE_CMD_MSG(EMC_SPINDLE_INCREASE_TYPE, sizeof(EMC_SPINDLE_INCREASE)), + spindle(0), + speed(0.0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); int spindle; // the spindle to be increased double speed; // commanded speed in RPMs @@ -1508,12 +1824,15 @@ class EMC_SPINDLE_INCREASE:public EMC_SPINDLE_CMD_MSG { 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)) { - }; + EMC_SPINDLE_DECREASE() + : EMC_SPINDLE_CMD_MSG(EMC_SPINDLE_DECREASE_TYPE, sizeof(EMC_SPINDLE_DECREASE)), + spindle(0), + speed(0.0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); int spindle; // the spindle to be decreased @@ -1522,12 +1841,15 @@ class EMC_SPINDLE_DECREASE:public EMC_SPINDLE_CMD_MSG { 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)) { - }; + EMC_SPINDLE_CONSTANT() + : EMC_SPINDLE_CMD_MSG(EMC_SPINDLE_CONSTANT_TYPE, sizeof(EMC_SPINDLE_CONSTANT)), + spindle(0), + speed(0.0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); int spindle; // the spindle to be constanted? @@ -1536,12 +1858,14 @@ class EMC_SPINDLE_CONSTANT:public EMC_SPINDLE_CMD_MSG { 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)) { - }; + EMC_SPINDLE_BRAKE_RELEASE() + : EMC_SPINDLE_CMD_MSG(EMC_SPINDLE_BRAKE_RELEASE_TYPE, sizeof(EMC_SPINDLE_BRAKE_RELEASE)), + spindle(0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); int spindle; @@ -1549,11 +1873,14 @@ class EMC_SPINDLE_BRAKE_RELEASE:public EMC_SPINDLE_CMD_MSG { 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)) { - }; + EMC_SPINDLE_BRAKE_ENGAGE() + : EMC_SPINDLE_CMD_MSG(EMC_SPINDLE_BRAKE_ENGAGE_TYPE, sizeof(EMC_SPINDLE_BRAKE_ENGAGE)), + spindle(0) + {}; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); int spindle; @@ -1579,6 +1906,8 @@ class EMC_COOLANT_MIST_ON:public EMC_COOLANT_CMD_MSG { }; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); }; @@ -1590,6 +1919,8 @@ class EMC_COOLANT_MIST_OFF:public EMC_COOLANT_CMD_MSG { }; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); }; @@ -1601,6 +1932,8 @@ class EMC_COOLANT_FLOOD_ON:public EMC_COOLANT_CMD_MSG { }; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); }; @@ -1612,6 +1945,8 @@ class EMC_COOLANT_FLOOD_OFF:public EMC_COOLANT_CMD_MSG { }; // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); }; @@ -1630,6 +1965,8 @@ class EMC_COOLANT_STAT:public EMC_COOLANT_STAT_MSG { EMC_COOLANT_STAT(); // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); int mist; // 0 off, 1 on @@ -1647,8 +1984,15 @@ class EMC_IO_STAT_MSG:public RCS_STAT_MSG { 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)) { - }; + EMC_IO_STAT() + : EMC_IO_STAT_MSG(EMC_IO_STAT_TYPE, sizeof(EMC_IO_STAT)), + debug(0), + reason(0), + fault(0), + tool(), + coolant(), + aux() + {}; // For internal NML/CMS use only. void update(CMS * cms); @@ -1692,6 +2036,8 @@ class EMC_STAT:public EMC_STAT_MSG { EMC_STAT(); // For internal NML/CMS use only. + // Sub-class update() calls base-class update() + // cppcheck-suppress duplInheritedMember void update(CMS * cms); // the top-level EMC_TASK status class diff --git a/src/emc/nml_intf/emcops.cc b/src/emc/nml_intf/emcops.cc index 4baf5631a36..eeefcb10511 100644 --- a/src/emc/nml_intf/emcops.cc +++ b/src/emc/nml_intf/emcops.cc @@ -19,137 +19,135 @@ #include "emc_nml.hh" #include "tooldata.hh" -EMC_AXIS_STAT::EMC_AXIS_STAT(): -EMC_AXIS_STAT_MSG(EMC_AXIS_STAT_TYPE, sizeof(EMC_AXIS_STAT)) +EMC_AXIS_STAT::EMC_AXIS_STAT() + : EMC_AXIS_STAT_MSG(EMC_AXIS_STAT_TYPE, sizeof(EMC_AXIS_STAT)), + minPositionLimit(0.0), + maxPositionLimit(0.0), + velocity(0.0) { } -EMC_JOINT_STAT::EMC_JOINT_STAT(): -EMC_JOINT_STAT_MSG(EMC_JOINT_STAT_TYPE, sizeof(EMC_JOINT_STAT)) +EMC_JOINT_STAT::EMC_JOINT_STAT() + : EMC_JOINT_STAT_MSG(EMC_JOINT_STAT_TYPE, sizeof(EMC_JOINT_STAT)), + jointType(EMC_LINEAR), + units(1.0), + backlash(0.0), + minPositionLimit(-1.0), + maxPositionLimit(1.0), + maxFerror(1.0), + minFerror(1.0), + ferrorCurrent(0.0), + ferrorHighMark(0.0), + output(0.0), + input(0.0), + velocity(0.0), + inpos(1), + homing(0), + homed(0), + fault(0), + enabled(0), + minSoftLimit(0), + maxSoftLimit(0), + minHardLimit(0), + maxHardLimit(0), + overrideLimits(0) { - jointType = EMC_LINEAR; - units = 1.0; - backlash = 0.0; - minPositionLimit = -1.0; - maxPositionLimit = 1.0; - minFerror = 1.0; - maxFerror = 1.0; - ferrorCurrent = 0.0; - ferrorHighMark = 0.0; - output = 0.0; - input = 0.0; - velocity = 0.0; - inpos = 1; - homing = 0; - homed = 0; - enabled = 0; - fault = 0; - minSoftLimit = 0; - maxSoftLimit = 0; - minHardLimit = 0; - maxHardLimit = 0; - overrideLimits = 0; } -EMC_TRAJ_STAT::EMC_TRAJ_STAT(): -EMC_TRAJ_STAT_MSG(EMC_TRAJ_STAT_TYPE, sizeof(EMC_TRAJ_STAT)), +EMC_TRAJ_STAT::EMC_TRAJ_STAT() + : EMC_TRAJ_STAT_MSG(EMC_TRAJ_STAT_TYPE, sizeof(EMC_TRAJ_STAT)), + linearUnits(1.0), + angularUnits(1.0), + cycleTime(0.0), + joints(1), + spindles(1), + axis_mask(1), + mode(EMC_TRAJ_MODE::FREE), + enabled(OFF), + inpos(ON), + queue(0), + activeQueue(0), + queueFull(OFF), + id(0), + paused(OFF), + scale(0.0), + rapid_scale(0.0), + + position{}, + actualPosition{}, + + velocity(1.0), + acceleration(1.0), + maxVelocity(1.0), + maxAcceleration(1.0), + + probedPosition{}, + probe_tripped(OFF), + probing(OFF), + probeval(0), + + kinematics_type(0), + motion_type(0), + distance_to_go(0.0), + dtg{}, + current_vel(0.0), + feed_override_enabled(OFF), + adaptive_feed_enabled(OFF), + feed_hold_enabled(OFF), tag() { - linearUnits = 1.0; - angularUnits = 1.0; - cycleTime = 0.0; - joints = 1; - axis_mask = 1; - mode = EMC_TRAJ_MODE::FREE; - enabled = OFF; - inpos = ON; - queue = 0; - activeQueue = 0; - queueFull = OFF; - id = 0; - paused = OFF; - scale = 0.0; - rapid_scale = 0.0; - - ZERO_EMC_POSE(position); - ZERO_EMC_POSE(actualPosition); - - velocity = 1.0; - acceleration = 1.0; - maxVelocity = 1.0; - maxAcceleration = 1.0; - - ZERO_EMC_POSE(probedPosition); - probe_tripped = OFF; - probing = OFF; - probeval = 0; - - ZERO_EMC_POSE(dtg); - distance_to_go = 0.0; - kinematics_type = 0; - motion_type = 0; - current_vel = 0.0; - feed_override_enabled = OFF; - adaptive_feed_enabled = OFF; - feed_hold_enabled = OFF; } -EMC_MOTION_STAT::EMC_MOTION_STAT(): -EMC_MOTION_STAT_MSG(EMC_MOTION_STAT_TYPE, sizeof(EMC_MOTION_STAT)) +EMC_MOTION_STAT::EMC_MOTION_STAT() + : EMC_MOTION_STAT_MSG(EMC_MOTION_STAT_TYPE, sizeof(EMC_MOTION_STAT)), + synch_di{}, + synch_do{}, + analog_input{}, + analog_output{}, + misc_error{}, + debug(0), + on_soft_limit(0), + external_offsets_applied(0), + eoffset_pose{}, + numExtraJoints(0), + jogging_active(0) { - int i; - - for (i = 0; i < EMCMOT_MAX_DIO; i++) { - synch_di[i] = 0; - synch_do[i] = 0; - } - - for (i = 0; i < EMCMOT_MAX_AIO; i++) { - analog_input[i] = 0.0; - analog_output[i] = 0.0; - } - - debug = 0; -}; +} -EMC_TASK_STAT::EMC_TASK_STAT(): -EMC_TASK_STAT_MSG(EMC_TASK_STAT_TYPE, sizeof(EMC_TASK_STAT)) +EMC_TASK_STAT::EMC_TASK_STAT() + : EMC_TASK_STAT_MSG(EMC_TASK_STAT_TYPE, sizeof(EMC_TASK_STAT)), + mode(EMC_TASK_MODE::MANUAL), + state(EMC_TASK_STATE::ESTOP), + execState(EMC_TASK_EXEC::DONE), + interpState(EMC_TASK_INTERP::IDLE), + callLevel(0), + motionLine(0), + currentLine(0), + readLine(0), + optional_stop_state(OFF), + block_delete_state(OFF), + input_timeout(OFF), + file{}, + command{}, + ini_filename{}, + g5x_offset{}, + g5x_index(0), + g92_offset{}, + rotation_xy(0.0), + toolOffset{}, + activeSettings{}, + programUnits(CANON_UNITS_MM), + interpreter_errcode(0), + task_paused(0), + delayLeft(0.0), + queuedMDIcommands(0) { int t; - mode = EMC_TASK_MODE::MANUAL; - state = EMC_TASK_STATE::ESTOP; - execState = EMC_TASK_EXEC::DONE; - interpState = EMC_TASK_INTERP::IDLE; - callLevel = 0; - motionLine = 0; - currentLine = 0; - readLine = 0; - optional_stop_state = OFF; - block_delete_state = OFF; - input_timeout = OFF; - file[0] = 0; - command[0] = 0; - - ZERO_EMC_POSE(g5x_offset); - g5x_index = 0; - ZERO_EMC_POSE(g92_offset); - ZERO_EMC_POSE(toolOffset); - - rotation_xy = 0.0; - for (t = 0; t < ACTIVE_G_CODES; t++) activeGCodes[t] = -1; for (t = 0; t < ACTIVE_M_CODES; t++) activeMCodes[t] = -1; - for (t = 0; t < ACTIVE_SETTINGS; t++) - activeSettings[t] = 0.0; - - programUnits = CANON_UNITS_MM; - interpreter_errcode = 0; - task_paused = 0; - delayLeft = 0.0; - queuedMDIcommands = 0; } EMC_TOOL_STAT::EMC_TOOL_STAT() @@ -169,31 +167,35 @@ EMC_TOOL_STAT::EMC_TOOL_STAT() #endif //} } -EMC_AUX_STAT::EMC_AUX_STAT(): -EMC_AUX_STAT_MSG(EMC_AUX_STAT_TYPE, sizeof(EMC_AUX_STAT)) +EMC_AUX_STAT::EMC_AUX_STAT() + : EMC_AUX_STAT_MSG(EMC_AUX_STAT_TYPE, sizeof(EMC_AUX_STAT)), + estop(1) { - estop = 1; } -EMC_SPINDLE_STAT::EMC_SPINDLE_STAT(): -EMC_SPINDLE_STAT_MSG(EMC_SPINDLE_STAT_TYPE, sizeof(EMC_SPINDLE_STAT)) +EMC_SPINDLE_STAT::EMC_SPINDLE_STAT() + : EMC_SPINDLE_STAT_MSG(EMC_SPINDLE_STAT_TYPE, sizeof(EMC_SPINDLE_STAT)), + speed(0.0), + spindle_scale(1.0), + css_maximum(0.0), + css_factor(1.0), + state(0), + direction(0), + brake(1), + increasing(0), + enabled(0), + orient_state(0), + orient_fault(0), + spindle_override_enabled(OFF), + homed(OFF) { - speed = 0.0; - direction = 0; - brake = 1; - increasing = 0; - enabled = 0; - spindle_scale = 1.0; - spindle_override_enabled = 0; - } -EMC_COOLANT_STAT::EMC_COOLANT_STAT():EMC_COOLANT_STAT_MSG(EMC_COOLANT_STAT_TYPE, - sizeof - (EMC_COOLANT_STAT)) +EMC_COOLANT_STAT::EMC_COOLANT_STAT() + : EMC_COOLANT_STAT_MSG(EMC_COOLANT_STAT_TYPE, sizeof(EMC_COOLANT_STAT)), + mist(0), + flood(0) { - mist = 0; - flood = 0; } // overload = , since class has array elements @@ -225,6 +227,8 @@ EMC_TOOL_STAT& EMC_TOOL_STAT::operator =(const EMC_TOOL_STAT& s) return *this; } -EMC_STAT::EMC_STAT():EMC_STAT_MSG(EMC_STAT_TYPE, sizeof(EMC_STAT)) +EMC_STAT::EMC_STAT() + : EMC_STAT_MSG(EMC_STAT_TYPE, sizeof(EMC_STAT)), + debug(0) { } diff --git a/src/emc/pythonplugin/python_plugin.hh b/src/emc/pythonplugin/python_plugin.hh index 4eb8b834039..c9fdf9a2128 100644 --- a/src/emc/pythonplugin/python_plugin.hh +++ b/src/emc/pythonplugin/python_plugin.hh @@ -76,8 +76,8 @@ public: private: PythonPlugin(struct _inittab *inittab); // nb: no public constructor - PythonPlugin(const PythonPlugin &) {}; // not copyable - PythonPlugin & operator=(const PythonPlugin&) { return *this; }; // not assignable + PythonPlugin(const PythonPlugin &) = delete; // not copyable + PythonPlugin & operator=(const PythonPlugin&) = delete; // not assignable ~PythonPlugin() {}; int reload(); diff --git a/src/emc/rs274ngc/interp_setup.cc b/src/emc/rs274ngc/interp_setup.cc index 852510ed51c..df3633c4928 100644 --- a/src/emc/rs274ngc/interp_setup.cc +++ b/src/emc/rs274ngc/interp_setup.cc @@ -62,6 +62,8 @@ setup::setup() : remap_level(0), blocktext{}, control_mode(CANON_EXACT_STOP), + tolerance(0.0), + naivecam_tolerance(0.0), current_pocket(0), current_x (0.0), @@ -90,6 +92,8 @@ setup::setup() : file_pointer(NULL), flood(0), length_units(CANON_UNITS_INCHES), + center_arc_radius_tolerance_inch(CENTER_ARC_RADIUS_TOLERANCE_INCH), + center_arc_radius_tolerance_mm(CENTER_ARC_RADIUS_TOLERANCE_MM), line_length(0), linetext{}, mist(0), @@ -123,6 +127,8 @@ setup::setup() : selected_pocket(0), selected_tool(0), sequence_number(0), + num_spindles(0), + active_spindle(0), speed {0.0}, spindle_mode{SPINDLE_MODE::CONSTANT_RPM}, speed_feed_mode{CANON_INDEPENDENT}, @@ -163,6 +169,8 @@ setup::setup() : tool_change_at_g30(0), tool_change_quill_up(0), tool_change_with_spindle_on(0), + parameter_g73_peck_clearance(0.0), + parameter_g83_peck_clearance(0.0), a_axis_wrapped(0), b_axis_wrapped(0), c_axis_wrapped(0), diff --git a/src/emc/rs274ngc/modal_state.cc b/src/emc/rs274ngc/modal_state.cc index d90e6cb703f..b735f5e01d7 100644 --- a/src/emc/rs274ngc/modal_state.cc +++ b/src/emc/rs274ngc/modal_state.cc @@ -28,6 +28,7 @@ StateTag::StateTag(): flags(0) memset(fields,-1,sizeof(fields)); packed_flags = 0; memset(fields_float,-1,sizeof(fields_float)); + memset(filename, 0, sizeof(filename)); } StateTag::StateTag(struct state_tag_t const & basetag): diff --git a/src/emc/sai/saicanon.cc b/src/emc/sai/saicanon.cc index 3ab8b947e3b..cece9d82aea 100644 --- a/src/emc/sai/saicanon.cc +++ b/src/emc/sai/saicanon.cc @@ -1137,6 +1137,7 @@ StandaloneInterpInternals::StandaloneInterpInternals() : _feed_mode(0), _feed_rate(0.0), _flood(0), + _external_length_units(1.0), _length_unit_factor(1), /* 1 for MM 25.4 for inch */ _length_unit_type(CANON_UNITS_MM), _line_number(1), diff --git a/src/emc/task/taskclass.cc b/src/emc/task/taskclass.cc index da7ff09213a..3c481483490 100644 --- a/src/emc/task/taskclass.cc +++ b/src/emc/task/taskclass.cc @@ -130,7 +130,8 @@ struct _inittab builtin_modules[] = { Task::Task(EMC_IO_STAT & emcioStatus_in) : emcioStatus(emcioStatus_in), iocontrol("iocontrol.0"), - ini_filename(emc_inifile) + ini_filename(emc_inifile), + tool_status(0) { IniFile inifile; diff --git a/src/hal/user_comps/xhc-whb04b-6/pendant.cc b/src/hal/user_comps/xhc-whb04b-6/pendant.cc index 93b77fdcd49..c99f69050d8 100644 --- a/src/hal/user_comps/xhc-whb04b-6/pendant.cc +++ b/src/hal/user_comps/xhc-whb04b-6/pendant.cc @@ -541,6 +541,7 @@ FeedRotaryButton::FeedRotaryButton(const KeyCode& keyCode, mStepMode(stepMode), mIsPermitted(false), mStepSize(0), + mIsStepMode_5_10(false), mEventListener(listener) { (void)mEventListener; diff --git a/src/libnml/buffer/physmem.cc b/src/libnml/buffer/physmem.cc index 76392ca65b4..a21e86761b1 100644 --- a/src/libnml/buffer/physmem.cc +++ b/src/libnml/buffer/physmem.cc @@ -28,31 +28,31 @@ extern "C" { #include "physmem.hh" /* class PHYSMEM_HANDLE */ #include "rcs_print.hh" PHYSMEM_HANDLE::PHYSMEM_HANDLE() + : offset(0), + size(0), + address_code(0), + isvalid(1), + temp_buf(NULL), + physical_address(0), + local_address(NULL), + using_bit3(0), + total_bytes_moved(0.0), + enable_byte_counting(0) { - size = 0; - offset = 0; - temp_buf = NULL; - local_address = (LOCAL_ADDRESS_TYPE) NULL; - physical_address = 0; - using_bit3 = 0; - isvalid = 1; - total_bytes_moved = 0; - enable_byte_counting = 0; - } -PHYSMEM_HANDLE::PHYSMEM_HANDLE(unsigned long _physical_address, - long _address_code, long _size) +PHYSMEM_HANDLE::PHYSMEM_HANDLE(unsigned long _physical_address, long _address_code, long _size) + : offset(0), + size(_size), + address_code(_address_code), + isvalid(1), + temp_buf(NULL), + physical_address(_physical_address), + local_address(NULL), + using_bit3(0), + total_bytes_moved(0.0), + enable_byte_counting(0) { - temp_buf = NULL; - physical_address = _physical_address; - size = _size; - address_code = _address_code; - local_address = (LOCAL_ADDRESS_TYPE) NULL; - isvalid = 1; - offset = 0; - using_bit3 = 0; - if (0 == physical_address) { local_address = (LOCAL_ADDRESS_TYPE) NULL; return; diff --git a/src/libnml/buffer/rem_msg.hh b/src/libnml/buffer/rem_msg.hh index f0c4e0c5990..c6df3d6ff6e 100644 --- a/src/libnml/buffer/rem_msg.hh +++ b/src/libnml/buffer/rem_msg.hh @@ -73,9 +73,15 @@ struct REMOTE_CMS_REPLY:public REMOTE_CMS_MESSAGE { /* Structure sent by client to server to initiate a read. */ struct REMOTE_BLOCKING_READ_REQUEST:public REMOTE_CMS_REQUEST { - REMOTE_BLOCKING_READ_REQUEST():REMOTE_CMS_REQUEST - (REMOTE_CMS_BLOCKING_READ_REQUEST_TYPE) { - }; + REMOTE_BLOCKING_READ_REQUEST() + : REMOTE_CMS_REQUEST(REMOTE_CMS_BLOCKING_READ_REQUEST_TYPE), + access_type(0), + last_id_read(0), + timeout_millis(0), + _nml(NULL), + _data(NULL), + _reply(NULL) + {}; int access_type; /* read or just peek */ long last_id_read; /* The server can compare with id from buffer */ @@ -96,8 +102,11 @@ struct REMOTE_GET_BUF_NAME_REQUEST:public REMOTE_CMS_REQUEST { }; struct REMOTE_READ_REQUEST:public REMOTE_CMS_REQUEST { - REMOTE_READ_REQUEST():REMOTE_CMS_REQUEST(REMOTE_CMS_READ_REQUEST_TYPE) { - }; + REMOTE_READ_REQUEST() + : REMOTE_CMS_REQUEST(REMOTE_CMS_READ_REQUEST_TYPE), + access_type(0), + last_id_read(0) + {}; int access_type; /* read or just peek */ long last_id_read; /* The server can compare with id from buffer */ @@ -125,10 +134,13 @@ struct REMOTE_BLOCKING_READ_REPLY:public REMOTE_READ_REPLY { /* Structure sent by client to server to initiate a write. */ struct REMOTE_WRITE_REQUEST:public REMOTE_CMS_REQUEST { - REMOTE_WRITE_REQUEST():REMOTE_CMS_REQUEST(REMOTE_CMS_WRITE_REQUEST_TYPE) { - data = NULL; - size = 0; - }; + REMOTE_WRITE_REQUEST() + : REMOTE_CMS_REQUEST(REMOTE_CMS_WRITE_REQUEST_TYPE), + access_type(0), + size(0), + data(NULL), + _nml(NULL) + {}; int access_type; /* write or write_if_read */ int size; /* size of message in data */ void *data; /* location of message to write into buffer */ @@ -171,9 +183,10 @@ struct REMOTE_CLOSE_CHANNEL_REPLY:public REMOTE_CMS_REPLY { }; struct REMOTE_GET_KEYS_REQUEST:public REMOTE_CMS_REQUEST { - REMOTE_GET_KEYS_REQUEST():REMOTE_CMS_REQUEST - (REMOTE_CMS_GET_KEYS_REQUEST_TYPE) { - }; + REMOTE_GET_KEYS_REQUEST() + : REMOTE_CMS_REQUEST(REMOTE_CMS_GET_KEYS_REQUEST_TYPE), + name{} + {}; char name[16]; }; @@ -183,8 +196,11 @@ struct REMOTE_GET_KEYS_REPLY:public REMOTE_CMS_REPLY { }; struct REMOTE_LOGIN_REQUEST:public REMOTE_CMS_REQUEST { - REMOTE_LOGIN_REQUEST():REMOTE_CMS_REQUEST(REMOTE_CMS_LOGIN_REQUEST_TYPE) { - }; + REMOTE_LOGIN_REQUEST() + : REMOTE_CMS_REQUEST(REMOTE_CMS_LOGIN_REQUEST_TYPE), + name{}, + passwd{} + {}; char name[16]; char passwd[16]; }; @@ -200,9 +216,12 @@ enum CMS_REMOTE_SUBSCRIPTION_REQUEST_TYPE { }; struct REMOTE_SET_SUBSCRIPTION_REQUEST:public REMOTE_CMS_REQUEST { - REMOTE_SET_SUBSCRIPTION_REQUEST():REMOTE_CMS_REQUEST - (REMOTE_CMS_SET_SUBSCRIPTION_REQUEST_TYPE) { - }; + REMOTE_SET_SUBSCRIPTION_REQUEST() + : REMOTE_CMS_REQUEST(REMOTE_CMS_SET_SUBSCRIPTION_REQUEST_TYPE), + subscription_type(0), + poll_interval_millis(0), + last_id_read(0) + {}; int subscription_type; int poll_interval_millis; int last_id_read; @@ -215,9 +234,10 @@ struct REMOTE_SET_SUBSCRIPTION_REPLY:public REMOTE_CMS_REPLY { }; struct REMOTE_CANCEL_SUBSCRIPTION_REQUEST:public REMOTE_CMS_REQUEST { - REMOTE_CANCEL_SUBSCRIPTION_REQUEST():REMOTE_CMS_REQUEST - (REMOTE_CMS_CANCEL_SUBSCRIPTION_REQUEST_TYPE) { - }; + REMOTE_CANCEL_SUBSCRIPTION_REQUEST() + : REMOTE_CMS_REQUEST(REMOTE_CMS_CANCEL_SUBSCRIPTION_REQUEST_TYPE), + subscription_id(0) + {}; int subscription_id; }; @@ -228,9 +248,17 @@ struct REMOTE_CANCEL_SUBSCRIPTION_REPLY:public REMOTE_CMS_REPLY { }; struct REMOTE_SET_DIAG_INFO_REQUEST:public REMOTE_CMS_REQUEST { - REMOTE_SET_DIAG_INFO_REQUEST():REMOTE_CMS_REQUEST - (REMOTE_CMS_SET_DIAG_INFO_REQUEST_TYPE) { - }; + REMOTE_SET_DIAG_INFO_REQUEST() + : REMOTE_CMS_REQUEST(REMOTE_CMS_SET_DIAG_INFO_REQUEST_TYPE), + process_name{}, + host_sysinfo{}, + pid(0), + c_num(0), + rcslib_ver(0.0), + reverse_flag(0), + bytes_moved(0.0), + bytes_moved_accross_socket(0.0) + {}; char process_name[16]; char host_sysinfo[256]; int pid; diff --git a/src/libnml/buffer/shmem.cc b/src/libnml/buffer/shmem.cc index 6d53d1b11dc..e7bbfb24526 100644 --- a/src/libnml/buffer/shmem.cc +++ b/src/libnml/buffer/shmem.cc @@ -55,7 +55,22 @@ static inline bool not_zero(double x) /* Constructor for hard coded tests. */ SHMEM::SHMEM(const char * /*n*/, long s, int /*nt*/, key_t k, int m) - : CMS(s), fast_mode(0), key(k), bsem_key(-1), shm(NULL), sem(NULL), master(m) + : CMS(s), + fast_mode(0), + key(k), + bsem_key(-1), + second_read(0), + shm(NULL), + sem(NULL), + master(m), + sem_delay(0.00001), + mao{}, + use_os_sem(1), + use_os_sem_only(1), + mutex_type(OS_SEM_MUTEX), + shm_addr_offset(NULL), + bsem(NULL), + autokey_table_size(0) { /* open the shared mem buffer and create mutual exclusion semaphore */ open(); @@ -63,9 +78,20 @@ SHMEM::SHMEM(const char * /*n*/, long s, int /*nt*/, key_t k, int m) /* Constructor for use with cms_config. */ SHMEM::SHMEM(const char *bufline, const char *procline, int set_to_server, int set_to_master) - : CMS(bufline, procline, set_to_server), bsem_key(-1), - second_read(0), shm(NULL), sem(NULL), sem_delay(0.00001), - use_os_sem(1), use_os_sem_only(1), mutex_type(OS_SEM_MUTEX) + : CMS(bufline, procline, set_to_server), + fast_mode(0), + bsem_key(-1), + second_read(0), + shm(NULL), + sem(NULL), + sem_delay(0.00001), + mao{}, + use_os_sem(1), + use_os_sem_only(1), + mutex_type(OS_SEM_MUTEX), + shm_addr_offset(NULL), + bsem(NULL), + autokey_table_size(0) { /* Set pointers to null so only properly opened pointers are closed. */ char *semdelay_equation; diff --git a/src/libnml/buffer/tcpmem.cc b/src/libnml/buffer/tcpmem.cc index ddb0381b0b4..2b81688adc0 100644 --- a/src/libnml/buffer/tcpmem.cc +++ b/src/libnml/buffer/tcpmem.cc @@ -51,22 +51,38 @@ void tcpmem_sigpipe_handler(int sig) tcpmem_sigpipe_count++; } -TCPMEM::TCPMEM(const char *_bufline, const char *_procline):CMS(_bufline, _procline) +TCPMEM::TCPMEM(const char *_bufline, const char *_procline) + : CMS(_bufline, _procline), + diag_info_buf{}, + recvd_bytes(0), + serial_number(0), + returned_serial_number(0), + subscription_type(CMS_NO_SUBSCRIPTION), + poll_interval_millis(30000), + server_host_entry(NULL), + socket_fd(0), + temp_buffer{}, + timedout_request(), + bytes_to_throw_away(0), + write_socket_fd(0), + read_socket_fd(0), + write_serial_number(0), + read_serial_number(0), + timedout_request_status(CMS_STATUS_NOT_SET), + timedout_request_writeid(0), + max_consecutive_timeouts(DEFAULT_MAX_CONSECUTIVE_TIMEOUTS), + waiting_for_message(0), + waiting_message_size(0), + waiting_message_id(0), + autoreconnect(1), + reconnect_needed(0), + sigpipe_count(0), + old_handler((void (*)(int))SIG_ERR), + subscription_count(0) { - max_consecutive_timeouts = DEFAULT_MAX_CONSECUTIVE_TIMEOUTS; char *max_consecutive_timeouts_string; max_consecutive_timeouts_string = strstr(ProcessLine, "max_timeouts="); polling = (NULL != strstr(proclineupper, "POLL")); - socket_fd = 0; - reconnect_needed = 0; - autoreconnect = 1; - old_handler = (void (*)(int)) SIG_ERR; - sigpipe_count = 0; - subscription_count = 0; - read_serial_number = 0; - write_serial_number = 0; - read_socket_fd = 0; - write_socket_fd = 0; if (NULL != max_consecutive_timeouts_string) { max_consecutive_timeouts_string += strlen("max_timeouts="); if (!strncmp(max_consecutive_timeouts_string, "INF", 3)) { @@ -78,8 +94,6 @@ TCPMEM::TCPMEM(const char *_bufline, const char *_procline):CMS(_bufline, _procl } char *sub_info_string = NULL; - poll_interval_millis = 30000; - subscription_type = CMS_NO_SUBSCRIPTION; sub_info_string = strstr(ProcessLine, "sub="); if (NULL != sub_info_string) { if (!strncmp(sub_info_string + 4, "none", 4)) { @@ -95,7 +109,6 @@ TCPMEM::TCPMEM(const char *_bufline, const char *_procline):CMS(_bufline, _procl if (NULL != strstr(ProcessLine, "noreconnect")) { autoreconnect = 0; } - server_host_entry = NULL; /* Set up the socket address structure. */ memset(&server_socket_address, 0, sizeof(server_socket_address)); @@ -344,7 +357,8 @@ CMS_DIAGNOSTICS_INFO *TCPMEM::get_diagnostics_info() int dpi_offset = 32; CMS_DIAG_PROC_INFO cms_dpi; for (int i = 0; i < dpi_count && dpi_offset < dpi_max_size; i++) { - memset(&cms_dpi, 0, sizeof(CMS_DIAG_PROC_INFO)); + // Cleared in constructor + // memset(&cms_dpi, 0, sizeof(CMS_DIAG_PROC_INFO)); memcpy(cms_dpi.name, temp_buffer + dpi_offset, 16); dpi_offset += 16; memcpy(cms_dpi.host_sysinfo, temp_buffer + dpi_offset, 32); diff --git a/src/libnml/cms/cms.cc b/src/libnml/cms/cms.cc index 48c98d1b3a9..f1460501a22 100644 --- a/src/libnml/cms/cms.cc +++ b/src/libnml/cms/cms.cc @@ -1607,11 +1607,6 @@ int CMS::set_subdivision(int _subdiv) return (0); } -// This constructor declared private to prevent copying. -CMS::CMS(CMS & /*cms*/) -{ -} - int CMS::get_msg_count() { diff --git a/src/libnml/cms/cms.hh b/src/libnml/cms/cms.hh index 2ff79300c9a..aaf740e578d 100644 --- a/src/libnml/cms/cms.hh +++ b/src/libnml/cms/cms.hh @@ -182,6 +182,10 @@ class CMS { CMS(const char *bufline, const char *procline, int set_to_server = 0); virtual ~ CMS(); + // Don't copy me. + CMS(const CMS & cms) = delete; + CMS& operator=(const CMS & cms) = delete; + /* Simple read/write interface functions. */ virtual CMS_STATUS clear(); /* Has the buffer been read recently? */ virtual int check_if_read(); /* Has the buffer been read recently? @@ -477,10 +481,6 @@ class CMS { int last_id_side1; int use_autokey_for_connection_number; /* RCS_CMD_MSG, RCS_STAT_MSG stuff */ - - private: - CMS(CMS & cms); // Don't copy me. - }; class CMS_HOST_ALIAS_ENTRY { diff --git a/src/libnml/cms/cms_cfg.cc b/src/libnml/cms/cms_cfg.cc index d965d6ba7a2..25c6d43ed13 100644 --- a/src/libnml/cms/cms_cfg.cc +++ b/src/libnml/cms/cms_cfg.cc @@ -69,9 +69,10 @@ extern "C" { #include "linklist.hh" /* LinkedList */ struct CONFIG_FILE_INFO { - CONFIG_FILE_INFO() { - lines_list = NULL; - }; + CONFIG_FILE_INFO() + : lines_list(NULL), + file_name{} + {}; ~CONFIG_FILE_INFO() { if (NULL != lines_list) { diff --git a/src/libnml/cms/cms_srv.cc b/src/libnml/cms/cms_srv.cc index 490074b0b7d..608ece3824a 100644 --- a/src/libnml/cms/cms_srv.cc +++ b/src/libnml/cms/cms_srv.cc @@ -98,16 +98,20 @@ CMS_USER_CONNECT_STRUCT::CMS_USER_CONNECT_STRUCT() LinkedList *cms_server_list = NULL; CMS_SERVER_LOCAL_PORT::CMS_SERVER_LOCAL_PORT(CMS * _cms) + : list_id(0), + orig_info(NULL), + read_reply(), + write_reply(), + namereply(), + get_diag_info_reply(), + local_channel_reused(1) { - local_channel_reused = 1; cms = _cms; - orig_info = NULL; if (NULL != cms) { buffer_number = cms->buffer_number; } else { buffer_number = 0; } - list_id = 0; }; CMS_SERVER_LOCAL_PORT::~CMS_SERVER_LOCAL_PORT() @@ -160,19 +164,20 @@ void CMS_SERVER_LOCAL_PORT::reset_diag_info() { } -CMS_SERVER_REMOTE_PORT::CMS_SERVER_REMOTE_PORT(CMS_SERVER * - _cms_server_parent) +CMS_SERVER_REMOTE_PORT::CMS_SERVER_REMOTE_PORT(CMS_SERVER *_cms_server_parent) + : port_registered(0), + current_user_info(NULL), + connected_users(NULL), + current_connected_user_struct(NULL), + cms_server_parent(_cms_server_parent), + min_compatible_version(0.0), + confirm_write(0), + running(0), + max_total_subdivisions(_cms_server_parent->max_total_subdivisions), + port_num(0), + max_clients(0), + current_clients(0) { - current_clients = 0; - max_clients = 0; - port_registered = 0; - cms_server_parent = _cms_server_parent; - connected_users = NULL; - confirm_write = 0; - min_compatible_version = 0.0; - current_user_info = NULL; - running = 0; - max_total_subdivisions = _cms_server_parent->max_total_subdivisions; } CMS_SERVER_REMOTE_PORT::~CMS_SERVER_REMOTE_PORT() @@ -870,30 +875,61 @@ void CMS_SERVER::initialize_write_request_space() } CMS_SERVER::CMS_SERVER() + : request(NULL), + server_spawned(0), + server_registered(0), + list_id(0), + cir_reply(), + gmc_reply(), + gql_reply(), + gsa_reply(), + clear_reply_struct(), + using_passwd_file(0), + requests_processed(0), + remote_port(NULL), + current_pid(0), current_tid(0), + creator_tid(0), + spawner_pid(0), spawner_tid(0), + server_pid(0), server_tid(0), + maximum_cms_size(0), + read_req(), + write_req(), + get_keys_req(), + login_req(), + set_subscription_req(), + check_if_read_req(), + get_msg_count_req(), + get_queue_length_req(), + get_space_available_req(), + clear_req(), + set_diag_info_req(), + get_diag_info_req(), + read_reply(NULL), + write_reply(NULL), + get_keys_reply(NULL), + perm_get_keys_reply(), + login_reply(NULL), + perm_login_reply(), + set_subscription_reply(NULL), + perm_set_subscription_reply(), + check_if_read_reply(NULL), + get_msg_count_reply(NULL), + get_queue_length_reply(NULL), + get_space_available_reply(NULL), + clear_reply(NULL), + set_diag_info_reply(NULL), + get_diag_info_reply(NULL), + last_local_port_used(NULL), + diag_enabled(0), + set_diag_info_buf{}, + max_total_subdivisions(1), + time_of_last_key_request(0.0), + known_users(NULL), + passwd_file{}, + guest_can_read(0), + guest_can_write(0) { - last_local_port_used = NULL; - diag_enabled = 0; - using_passwd_file = 0; - current_pid = 0; - server_pid = 0; - spawner_pid = 0; - server_registered = 0; - guest_can_read = 0; - guest_can_write = 0; - server_spawned = 0; - list_id = 0; - requests_processed = 0; - read_reply = NULL; - write_reply = NULL; - check_if_read_reply = NULL; - clear_reply = NULL; - remote_port = NULL; - request = NULL; - write_req.data = NULL; cms_local_ports = new LinkedList; - known_users = NULL; - max_total_subdivisions = 1; - memset(passwd_file, 0, 256); creator_pid = getpid(); } diff --git a/src/libnml/cms/cmsdiag.hh b/src/libnml/cms/cmsdiag.hh index 6f6fb78bcd2..be9d84926b7 100644 --- a/src/libnml/cms/cmsdiag.hh +++ b/src/libnml/cms/cmsdiag.hh @@ -20,6 +20,13 @@ class LinkedList; class CMS_DIAG_STATIC_PROC_INFO { public: + CMS_DIAG_STATIC_PROC_INFO() + : name{}, + host_sysinfo{}, + pid(0), + rcslib_ver(0.0) + {}; + char name[16]; // process name char host_sysinfo[32]; long pid; /* Process, Thread or Task Id. */ @@ -29,6 +36,22 @@ class CMS_DIAG_STATIC_PROC_INFO { class CMS_DIAG_PROC_INFO:public CMS_DIAG_STATIC_PROC_INFO { public: + CMS_DIAG_PROC_INFO() + : CMS_DIAG_STATIC_PROC_INFO(), + access_type(CMS_ZERO_ACCESS), + msg_id(0), + msg_size(0), + msg_type(0), + number_of_accesses(0), + number_of_new_messages(0), + bytes_moved(0.0), + bytes_moved_across_socket(0.0), + last_access_time(0.0), + first_access_time(0.0), + max_difference(0.0), + min_difference(0.0) + {}; + CMS_INTERNAL_ACCESS_TYPE access_type; /* access type of last operation */ long msg_id; /* id of the message written or at time of diff --git a/src/libnml/cms/tcp_srv.cc b/src/libnml/cms/tcp_srv.cc index dac0b1f8457..58c20e7e833 100644 --- a/src/libnml/cms/tcp_srv.cc +++ b/src/libnml/cms/tcp_srv.cc @@ -129,33 +129,31 @@ TCPSVR_BLOCKING_READ_REQUEST::~TCPSVR_BLOCKING_READ_REQUEST() } } -CMS_SERVER_REMOTE_TCP_PORT::CMS_SERVER_REMOTE_TCP_PORT(CMS_SERVER * _cms_server): -CMS_SERVER_REMOTE_PORT(_cms_server) +CMS_SERVER_REMOTE_TCP_PORT::CMS_SERVER_REMOTE_TCP_PORT(CMS_SERVER * _cms_server) + : CMS_SERVER_REMOTE_PORT(_cms_server), + dtimeout(20.0), + read_fd_set{}, + write_fd_set{}, + maxfdpl(0), + subscription_buffers(NULL), + connection_socket(0), + connection_port(0), + request(NULL), + temp_buffer{}, + current_poll_interval_millis(30000), + polling_enabled(0), + select_timeout{.tv_sec = 30, .tv_usec = 30} { - client_ports = (LinkedList *) NULL; - connection_socket = 0; - connection_port = 0; - maxfdpl = 0; - dtimeout = 20.0; - memset(&server_socket_address, 0, sizeof(server_socket_address)); server_socket_address.sin_family = AF_INET; server_socket_address.sin_addr.s_addr = htonl(INADDR_ANY); - server_socket_address.sin_port = 0; + //server_socket_address.sin_port = 0; client_ports = new LinkedList; if (NULL == client_ports) { rcs_print_error("Can not create linked list for client ports.\n"); return; } - polling_enabled = 0; - memset(&select_timeout, 0, sizeof(select_timeout)); - select_timeout.tv_sec = 30; - select_timeout.tv_usec = 30; - subscription_buffers = NULL; - current_poll_interval_millis = 30000; - memset(&read_fd_set, 0, sizeof(read_fd_set)); - memset(&write_fd_set, 0, sizeof(write_fd_set)); } CMS_SERVER_REMOTE_TCP_PORT::~CMS_SERVER_REMOTE_TCP_PORT() @@ -1778,20 +1776,22 @@ TCP_CLIENT_SUBSCRIPTION_INFO::~TCP_CLIENT_SUBSCRIPTION_INFO() } CLIENT_TCP_PORT::CLIENT_TCP_PORT() + : serial_number(0), + errors(0), + max_errors(50), + socket_fd(-1), + subscriptions(NULL), + tid(-1), + pid(-1), + blocking(0), + threadId(0), + blocking_read_req(NULL), + diag_info(NULL) { - serial_number = 0; - errors = 0; - max_errors = 50; - address.sin_port = 0; + memset(&address, 0, sizeof(address)); + //address.sin_port = 0; address.sin_family = AF_INET; address.sin_addr.s_addr = htonl(INADDR_ANY); - socket_fd = -1; - subscriptions = NULL; - tid = -1; - pid = -1; - blocking_read_req = NULL; - threadId = 0; - diag_info = NULL; } CLIENT_TCP_PORT::~CLIENT_TCP_PORT() diff --git a/src/libnml/linklist/linklist.cc b/src/libnml/linklist/linklist.cc index 8d2397e619b..2c0864c20a4 100644 --- a/src/libnml/linklist/linklist.cc +++ b/src/libnml/linklist/linklist.cc @@ -23,11 +23,13 @@ extern "C" { #endif #include "linklist.hh" /* class LinkedList */ LinkedListNode::LinkedListNode(void *_data, size_t _size) + : data(_data), + size(_size), + id(0), + copied(0), + next(NULL), + last(NULL) { - data = _data; - size = _size; - next = (LinkedListNode *) NULL; - last = (LinkedListNode *) NULL; } LinkedListNode::~LinkedListNode() @@ -35,20 +37,21 @@ LinkedListNode::~LinkedListNode() } LinkedList::LinkedList() + : head(NULL), + tail(NULL), + current_node(NULL), + next_node_id(0), + list_size(0), + max_list_size(0), + sizing_mode(NO_MAXIMUM_SIZE), + last_size_retrieved(0), + delete_data_not_copied(0), + last_data_retrieved(NULL), + last_copied_retrieved(0), + last_size_stored(0), + last_data_stored(NULL) { - head = (LinkedListNode *) NULL; - tail = (LinkedListNode *) NULL; - current_node = (LinkedListNode *) NULL; - extra_node = (LinkedListNode *) NULL; - last_data_retrieved = NULL; - last_size_retrieved = 0; - last_copied_retrieved = 0; - list_size = 0; - next_node_id = 1; - delete_data_not_copied = 0; extra_node = new LinkedListNode(NULL, 0); - max_list_size = 0; - sizing_mode = NO_MAXIMUM_SIZE; } LinkedList::~LinkedList() @@ -775,8 +778,3 @@ int LinkedList::get_current_id() } return (current_node->id); } - -// Constructor defined private to prevent copying. -LinkedList::LinkedList(LinkedList & /*list*/) -{ -} diff --git a/src/libnml/linklist/linklist.hh b/src/libnml/linklist/linklist.hh index 21716ba7718..bf0a565f8c4 100644 --- a/src/libnml/linklist/linklist.hh +++ b/src/libnml/linklist/linklist.hh @@ -90,8 +90,9 @@ class LinkedList { LinkedList(); ~LinkedList(); - private: - LinkedList(LinkedList & list); // Don't copy me. + // Don't copy me. + LinkedList(const LinkedList & ll) = delete; + LinkedList& operator=(const LinkedList & ll) = delete; }; #endif /* LINKED_LIST_HH */ diff --git a/src/libnml/nml/cmd_msg.cc b/src/libnml/nml/cmd_msg.cc index 3ac02975c75..8b1763da163 100644 --- a/src/libnml/nml/cmd_msg.cc +++ b/src/libnml/nml/cmd_msg.cc @@ -48,8 +48,9 @@ int RCS_CMD_MSG_format(NMLTYPE t, void *buf, CMS * cms) return (0); } -RCS_GENERIC_CMD::RCS_GENERIC_CMD(): -RCS_CMD_MSG(RCS_GENERIC_CMD_TYPE, sizeof(RCS_GENERIC_CMD)) +RCS_GENERIC_CMD::RCS_GENERIC_CMD() + : RCS_CMD_MSG(RCS_GENERIC_CMD_TYPE, sizeof(RCS_GENERIC_CMD)), + gen_id(0) { // Just avoiding an inline function. } diff --git a/src/libnml/nml/nml.cc b/src/libnml/nml/nml.cc index a5e2b7f5211..41bf5be63b6 100644 --- a/src/libnml/nml/nml.cc +++ b/src/libnml/nml/nml.cc @@ -2398,11 +2398,6 @@ NMLTYPE NML::peek_subdivision(int subdiv) return peek(); } -// This constructor declared private to prevent copying. -NML::NML(NML & /*nml*/) -{ -} - NMLTYPE NML::blocking_read_extended(double timeout, double poll_interval) { if (cms == NULL) { diff --git a/src/libnml/nml/nml.hh b/src/libnml/nml/nml.hh index d0d374d0739..e549a098f99 100644 --- a/src/libnml/nml/nml.hh +++ b/src/libnml/nml/nml.hh @@ -206,7 +206,10 @@ class NML:public virtual CMS_USER { CMS *cms_for_msg_string_conversions; int registered_with_server; - NML(NML & nml); // Don't copy me. + public: + // Don't copy me. + NML(const NML & nml) = delete; + NML& operator=(const NML & nml) = delete; }; extern LinkedList *NML_Main_Channel_List; diff --git a/src/libnml/nml/nml_oi.hh b/src/libnml/nml/nml_oi.hh index 2f3ec4be519..33a6d5d31d5 100644 --- a/src/libnml/nml/nml_oi.hh +++ b/src/libnml/nml/nml_oi.hh @@ -35,8 +35,10 @@ class NML_ERROR:public NMLmsg { public: - NML_ERROR():NMLmsg(NML_ERROR_TYPE, sizeof(NML_ERROR)) { - }; + NML_ERROR() + : NMLmsg(NML_ERROR_TYPE, sizeof(NML_ERROR)), + error{} + {}; ~NML_ERROR() { }; @@ -46,8 +48,10 @@ class NML_ERROR:public NMLmsg { class NML_TEXT:public NMLmsg { public: - NML_TEXT():NMLmsg(NML_TEXT_TYPE, sizeof(NML_TEXT)) { - }; + NML_TEXT() + : NMLmsg(NML_TEXT_TYPE, sizeof(NML_TEXT)), + text{} + {}; ~NML_TEXT() { }; @@ -57,8 +61,10 @@ class NML_TEXT:public NMLmsg { class NML_DISPLAY:public NMLmsg { public: - NML_DISPLAY():NMLmsg(NML_DISPLAY_TYPE, sizeof(NML_DISPLAY)) { - }; + NML_DISPLAY() + : NMLmsg(NML_DISPLAY_TYPE, sizeof(NML_DISPLAY)), + display{} + {}; ~NML_DISPLAY() { }; diff --git a/src/libnml/nml/nml_srv.cc b/src/libnml/nml/nml_srv.cc index cf513806ef3..3073927f758 100644 --- a/src/libnml/nml/nml_srv.cc +++ b/src/libnml/nml/nml_srv.cc @@ -109,9 +109,9 @@ void NML_SERVER::delete_from_list() } } -NML_SERVER_LOCAL_PORT::NML_SERVER_LOCAL_PORT(NML * _nml):CMS_SERVER_LOCAL_PORT((CMS - *) - NULL) +NML_SERVER_LOCAL_PORT::NML_SERVER_LOCAL_PORT(NML * _nml) + : CMS_SERVER_LOCAL_PORT((CMS *)NULL), + batch_list_id(0) { local_channel_reused = 1; nml = _nml; diff --git a/src/libnml/os_intf/sem.cc b/src/libnml/os_intf/sem.cc index f7f8877bc30..66c57c5f33e 100644 --- a/src/libnml/os_intf/sem.cc +++ b/src/libnml/os_intf/sem.cc @@ -104,8 +104,3 @@ int RCS_SEMAPHORE::clear() { return rcs_sem_clear(sem); } - -// This constructor declared private to prevent copying. -RCS_SEMAPHORE::RCS_SEMAPHORE(RCS_SEMAPHORE & /*sem*/) -{ -} diff --git a/src/libnml/os_intf/sem.hh b/src/libnml/os_intf/sem.hh index cddf7c83c27..2e41199005e 100644 --- a/src/libnml/os_intf/sem.hh +++ b/src/libnml/os_intf/sem.hh @@ -52,6 +52,11 @@ class RCS_SEMAPHORE { The _state will be ignored if the process is not creating the semaphore. */ ~RCS_SEMAPHORE(); + + // Don't copy me. + RCS_SEMAPHORE(const RCS_SEMAPHORE & sem) = delete; + RCS_SEMAPHORE& operator=(const RCS_SEMAPHORE & sem) = delete; + int wait(); /* Wait for the semaphore to be available and then take it. See the constructors parameters for several options affecting its behavior. @@ -85,10 +90,6 @@ class RCS_SEMAPHORE { int state; rcs_sem_t *sem; unsigned int sval; - - private: - RCS_SEMAPHORE(RCS_SEMAPHORE & sem); // Don't copy me. - }; #endif diff --git a/src/libnml/os_intf/shm.cc b/src/libnml/os_intf/shm.cc index 841c5a95f23..9eabf5d263d 100644 --- a/src/libnml/os_intf/shm.cc +++ b/src/libnml/os_intf/shm.cc @@ -83,8 +83,3 @@ int return rcs_shm_nattch(shm); } } - -// This constructor declared private to prevent copying -RCS_SHAREDMEM::RCS_SHAREDMEM(RCS_SHAREDMEM & /*shm*/) -{ -} diff --git a/src/libnml/os_intf/shm.hh b/src/libnml/os_intf/shm.hh index a97591f3cdc..360dd98c46c 100644 --- a/src/libnml/os_intf/shm.hh +++ b/src/libnml/os_intf/shm.hh @@ -26,6 +26,11 @@ class RCS_SHAREDMEM { public: RCS_SHAREDMEM(key_t key, size_t size, int oflag, int mode = 0); ~RCS_SHAREDMEM(); + + // Don't copy me. + RCS_SHAREDMEM(const RCS_SHAREDMEM & shm) = delete; + RCS_SHAREDMEM& operator=(const RCS_SHAREDMEM & shm) = delete; + int nattch(); /* how many processes are attached */ int create_errno; /* 0 or stored errno after shmget failed */ void *addr; /* pointer to shared memory */ @@ -35,9 +40,6 @@ class RCS_SHAREDMEM { shm_t * shm; public: int created; - - private: - RCS_SHAREDMEM(RCS_SHAREDMEM & shm); // Don't copy me. }; #endif diff --git a/src/libnml/posemath/posemath.h b/src/libnml/posemath/posemath.h index 5c4f4164e5d..6a3d5a1ec72 100644 --- a/src/libnml/posemath/posemath.h +++ b/src/libnml/posemath/posemath.h @@ -403,8 +403,11 @@ struct PM_LINE { struct PM_CIRCLE { /* ctors/dtors */ - PM_CIRCLE() { - }; + PM_CIRCLE() + : radius(0.0), + angle(0.0), + spiral(0.0) + {}; #ifdef INCLUDE_POSEMATH_COPY_CONSTRUCTORS PM_CIRCLE(PM_CCONST PM_CIRCLE &); #endif