From 693cb04d1a9a6f15b5db4eb6d66ad5fa775f4535 Mon Sep 17 00:00:00 2001 From: Alden Hart Date: Thu, 23 Mar 2017 11:50:18 -0400 Subject: [PATCH] Cleanup after very messy merge --- g2core/canonical_machine.h | 87 +------- g2core/config.h | 1 - g2core/config_app.cpp | 369 +------------------------------- g2core/controller.cpp | 4 +- g2core/gcode_parser.cpp | 243 +-------------------- g2core/marlin_compatibility.cpp | 10 +- g2core/report.cpp | 1 + g2core/settings.h | 6 +- 8 files changed, 25 insertions(+), 696 deletions(-) diff --git a/g2core/canonical_machine.h b/g2core/canonical_machine.h index 40204e9d..953c76a8 100644 --- a/g2core/canonical_machine.h +++ b/g2core/canonical_machine.h @@ -427,14 +427,12 @@ stat_t cm_set_absolute_origin(const float origin[], bool flag[]); // G void cm_set_axis_origin(uint8_t axis, const float position); // G28.3 planner callback stat_t cm_set_coord_system(const uint8_t coord_system); // G54 - G59 -stat_t cm_set_g92_offsets(const float offset[], const bool flag[]); // G92 -stat_t cm_reset_g92_offsets(void); // G92.1 -stat_t cm_suspend_g92_offsets(void); // G92.2 -stat_t cm_resume_g92_offsets(void); // G92.3 +stat_t cm_set_g92_offsets(const float offset[], const bool flag[]); // G92 +stat_t cm_reset_g92_offsets(void); // G92.1 +stat_t cm_suspend_g92_offsets(void); // G92.2 +stat_t cm_resume_g92_offsets(void); // G92.3 // Free Space Motion (4.3.4) -//stat_t cm_straight_traverse(const float target[], const bool flags[]); // G0 -//stat_t cm_straight_traverse(const float *target, const bool *flags); // G0 stat_t cm_straight_traverse(const float *target, const bool *flags, const uint8_t motion_profile); // G0 stat_t cm_set_g28_position(void); // G28.1 stat_t cm_goto_g28_position(const float target[], const bool flags[]); // G28 @@ -447,8 +445,6 @@ stat_t cm_set_feed_rate_mode(const uint8_t mode); // G stat_t cm_set_path_control(GCodeState_t *gcode_state, const uint8_t mode); // G61, G61.1, G64 // Machining Functions (4.3.6) -//stat_t cm_straight_feed(const float target[], const bool flags[]); // G1 -//stat_t cm_straight_feed(const float *target, const bool *flags); // G1 stat_t cm_straight_feed(const float *target, const bool *flags, const uint8_t motion_profile); //G1 stat_t cm_dwell(const float seconds); // G4, P parameter @@ -673,73 +669,6 @@ stat_t cm_set_gdi(nvObj_t *nv); // set gcode default distance mode #ifdef __TEXT_MODE -/* <<<<<< HEAD - void cm_print_vel(nvObj_t *nv); // model state reporting - void cm_print_feed(nvObj_t *nv); - void cm_print_line(nvObj_t *nv); - void cm_print_stat(nvObj_t *nv); - void cm_print_macs(nvObj_t *nv); - void cm_print_cycs(nvObj_t *nv); - void cm_print_mots(nvObj_t *nv); - void cm_print_hold(nvObj_t *nv); - void cm_print_home(nvObj_t *nv); - void cm_print_hom(nvObj_t *nv); - void cm_print_unit(nvObj_t *nv); - void cm_print_coor(nvObj_t *nv); - void cm_print_momo(nvObj_t *nv); - void cm_print_plan(nvObj_t *nv); - void cm_print_path(nvObj_t *nv); - void cm_print_dist(nvObj_t *nv); - void cm_print_admo(nvObj_t *nv); - void cm_print_frmo(nvObj_t *nv); - void cm_print_tool(nvObj_t *nv); - void cm_print_g92e(nvObj_t *nv); - - void cm_print_gpl(nvObj_t *nv); // Gcode defaults - void cm_print_gun(nvObj_t *nv); - void cm_print_gco(nvObj_t *nv); - void cm_print_gpa(nvObj_t *nv); - void cm_print_gdi(nvObj_t *nv); - - void cm_print_lin(nvObj_t *nv); // generic print for linear values - void cm_print_pos(nvObj_t *nv); // print runtime work position in prevailing units - void cm_print_mpo(nvObj_t *nv); // print runtime work position always in MM uints - void cm_print_ofs(nvObj_t *nv); // print runtime work offset always in MM uints - - void cm_print_jt(nvObj_t *nv); // global CM settings - void cm_print_ct(nvObj_t *nv); - void cm_print_zl(nvObj_t *nv); - void cm_print_sl(nvObj_t *nv); - void cm_print_lim(nvObj_t *nv); - void cm_print_saf(nvObj_t *nv); - - void cm_print_m48(nvObj_t *nv); - void cm_print_froe(nvObj_t *nv); - void cm_print_fro(nvObj_t *nv); - void cm_print_troe(nvObj_t *nv); - void cm_print_tro(nvObj_t *nv); - - void cm_print_tram(nvObj_t *nv); // print if the axis has been rotated - - void cm_print_am(nvObj_t *nv); // axis print functions - void cm_print_fr(nvObj_t *nv); - void cm_print_vm(nvObj_t *nv); - void cm_print_tm(nvObj_t *nv); - void cm_print_tn(nvObj_t *nv); - void cm_print_jm(nvObj_t *nv); - void cm_print_jh(nvObj_t *nv); - void cm_print_ra(nvObj_t *nv); - - void cm_print_hi(nvObj_t *nv); - void cm_print_hd(nvObj_t *nv); - void cm_print_sv(nvObj_t *nv); - void cm_print_lv(nvObj_t *nv); - void cm_print_lb(nvObj_t *nv); - void cm_print_zb(nvObj_t *nv); - void cm_print_cofs(nvObj_t *nv); - void cm_print_cpos(nvObj_t *nv); - -=======*/ void cm_print_vel(nvObj_t *nv); // model state reporting void cm_print_feed(nvObj_t *nv); void cm_print_line(nvObj_t *nv); @@ -786,12 +715,6 @@ stat_t cm_set_gdi(nvObj_t *nv); // set gcode default distance mode void cm_print_troe(nvObj_t *nv); void cm_print_tro(nvObj_t *nv); -// void cm_print_m48e(nvObj_t *nv); -// void cm_print_mfoe(nvObj_t *nv); -// void cm_print_mfo(nvObj_t *nv); -// void cm_print_mtoe(nvObj_t *nv); -// void cm_print_mto(nvObj_t *nv); - void cm_print_tram(nvObj_t *nv); // print if the axis has been rotated void cm_print_nxln(nvObj_t *nv); // print the value of the next line number expected @@ -813,8 +736,6 @@ stat_t cm_set_gdi(nvObj_t *nv); // set gcode default distance mode void cm_print_cofs(nvObj_t *nv); void cm_print_cpos(nvObj_t *nv); -//>>>>>>> refs/heads/edge - #else // __TEXT_MODE #define cm_print_vel tx_print_stub // model state reporting diff --git a/g2core/config.h b/g2core/config.h index 196f392d..1ade7dcc 100644 --- a/g2core/config.h +++ b/g2core/config.h @@ -223,7 +223,6 @@ typedef enum { // value typing for config and JSON // transient types and types used during JSON processing TYPE_PARENT // object is a parent to a sub-object -// TYPE_NEW_LEVEL, // 'value' is actually child key at new nesting level // TYPE_NULL_STRING, // empty string - treated as null // TYPE_TYPE_ERROR // none of the above } valueType; diff --git a/g2core/config_app.cpp b/g2core/config_app.cpp index 3a6914aa..f2a3a046 100644 --- a/g2core/config_app.cpp +++ b/g2core/config_app.cpp @@ -113,7 +113,6 @@ const cfgItem_t cfgArray[] = { { "sys", "id", _sn, 0, hw_print_id, hw_get_id, set_ro, nullptr, 0 }, // device ID (ASCII signature) // dynamic model attributes for reporting purposes (up front for speed) -//<<<<<< HEAD { "", "stat",_i0, 0, cm_print_stat, cm_get_stat, set_ro, nullptr, 0 }, // combined machine state { "","stat2",_i0, 0, cm_print_stat, cm_get_stat2,set_ro, nullptr, 0 }, // combined machine state { "", "n", _ii, 0, cm_print_line, cm_get_mline,set_noop,nullptr,0 }, // Model line number @@ -134,28 +133,6 @@ const cfgItem_t cfgArray[] = { { "", "frmo",_i0, 0, cm_print_frmo, cm_get_frmo, set_ro, nullptr, 0 }, // feed rate mode { "", "tool",_i0, 0, cm_print_tool, cm_get_toolv,set_ro, nullptr, 0 }, // active tool { "", "g92e",_i0, 0, cm_print_g92e, cm_get_g92e, set_ro, nullptr, 0 }, // G92 enable state -/*======= - { "", "stat",_f0, 0, cm_print_stat, cm_get_stat, set_ro, (float *)&cs.null, 0 }, // combined machine state - { "", "n", _fi, 0, cm_print_line, cm_get_mline,set_noop,(float *)&cs.null, 0 }, // Model line number - { "", "line",_fi, 0, cm_print_line, cm_get_line, set_ro, (float *)&cs.null, 0 }, // Active line number - model or runtime line number - { "", "vel", _f0, 2, cm_print_vel, cm_get_vel, set_ro, (float *)&cs.null, 0 }, // current velocity - { "", "feed",_f0, 2, cm_print_feed, cm_get_feed, set_ro, (float *)&cs.null, 0 }, // feed rate - { "", "macs",_f0, 0, cm_print_macs, cm_get_macs, set_ro, (float *)&cs.null, 0 }, // raw machine state - { "", "cycs",_f0, 0, cm_print_cycs, cm_get_cycs, set_ro, (float *)&cs.null, 0 }, // cycle state - { "", "mots",_f0, 0, cm_print_mots, cm_get_mots, set_ro, (float *)&cs.null, 0 }, // motion state - { "", "hold",_f0, 0, cm_print_hold, cm_get_hold, set_ro, (float *)&cs.null, 0 }, // feedhold state - { "", "unit",_f0, 0, cm_print_unit, cm_get_unit, set_ro, (float *)&cs.null, 0 }, // units mode - { "", "coor",_f0, 0, cm_print_coor, cm_get_coor, set_ro, (float *)&cs.null, 0 }, // coordinate system - { "", "momo",_f0, 0, cm_print_momo, cm_get_momo, set_ro, (float *)&cs.null, 0 }, // motion mode - { "", "plan",_f0, 0, cm_print_plan, cm_get_plan, set_ro, (float *)&cs.null, 0 }, // plane select - { "", "path",_f0, 0, cm_print_path, cm_get_path, set_ro, (float *)&cs.null, 0 }, // path control mode - { "", "dist",_f0, 0, cm_print_dist, cm_get_dist, set_ro, (float *)&cs.null, 0 }, // distance mode - { "", "admo",_f0, 0, cm_print_admo, cm_get_admo, set_ro, (float *)&cs.null, 0 }, // arc distance mode - { "", "frmo",_f0, 0, cm_print_frmo, cm_get_frmo, set_ro, (float *)&cs.null, 0 }, // feed rate mode - { "", "tool",_f0, 0, cm_print_tool, cm_get_toolv,set_ro, (float *)&cs.null, 0 }, // active tool - { "", "g92e",_f0, 0, cm_print_g92e, get_ui8, set_ro, (float *)&cm.gmx.origin_offset_enable, 0 }, // G92 enabled - ->>>>>>> refs/heads/edge*/ #ifdef TEMPORARY_HAS_LEDS { "", "_leds",_i0, 0, tx_print_nul, _get_leds,_set_leds, nullptr, 0 }, // TEMPORARY - change LEDs #endif @@ -607,7 +584,6 @@ const cfgItem_t cfgArray[] = { { "g92","g92c",_fic, 5, cm_print_cofs, cm_get_g92, set_ro, nullptr, 0 }, // Coordinate positions (G28, G30) -//<<<<<< HEAD { "g28","g28x",_fic, 5, cm_print_cpos, cm_get_g28, set_ro, nullptr, 0 },// g28 handled differently { "g28","g28y",_fic, 5, cm_print_cpos, cm_get_g28, set_ro, nullptr, 0 }, { "g28","g28z",_fic, 5, cm_print_cpos, cm_get_g28, set_ro, nullptr, 0 }, @@ -621,254 +597,6 @@ const cfgItem_t cfgArray[] = { { "g30","g30a",_fic, 5, cm_print_cpos, cm_get_g30, set_ro, nullptr, 0 }, { "g30","g30b",_fic, 5, cm_print_cpos, cm_get_g30, set_ro, nullptr, 0 }, { "g30","g30c",_fic, 5, cm_print_cpos, cm_get_g30, set_ro, nullptr, 0 }, -/*======= - { "g28","g28x",_fic, 3, cm_print_cpos, get_flt, set_ro, (float *)&cm.gmx.g28_position[AXIS_X], 0 },// g28 handled differently - { "g28","g28y",_fic, 3, cm_print_cpos, get_flt, set_ro, (float *)&cm.gmx.g28_position[AXIS_Y], 0 }, - { "g28","g28z",_fic, 3, cm_print_cpos, get_flt, set_ro, (float *)&cm.gmx.g28_position[AXIS_Z], 0 }, - { "g28","g28a",_fi, 3, cm_print_cpos, get_flt, set_ro, (float *)&cm.gmx.g28_position[AXIS_A], 0 }, - { "g28","g28b",_fi, 3, cm_print_cpos, get_flt, set_ro, (float *)&cm.gmx.g28_position[AXIS_B], 0 }, - { "g28","g28c",_fi, 3, cm_print_cpos, get_flt, set_ro, (float *)&cm.gmx.g28_position[AXIS_C], 0 }, - - { "g30","g30x",_fic, 3, cm_print_cpos, get_flt, set_ro, (float *)&cm.gmx.g30_position[AXIS_X], 0 },// g30 handled differently - { "g30","g30y",_fic, 3, cm_print_cpos, get_flt, set_ro, (float *)&cm.gmx.g30_position[AXIS_Y], 0 }, - { "g30","g30z",_fic, 3, cm_print_cpos, get_flt, set_ro, (float *)&cm.gmx.g30_position[AXIS_Z], 0 }, - { "g30","g30a",_fi, 3, cm_print_cpos, get_flt, set_ro, (float *)&cm.gmx.g30_position[AXIS_A], 0 }, - { "g30","g30b",_fi, 3, cm_print_cpos, get_flt, set_ro, (float *)&cm.gmx.g30_position[AXIS_B], 0 }, - { "g30","g30c",_fi, 3, cm_print_cpos, get_flt, set_ro, (float *)&cm.gmx.g30_position[AXIS_C], 0 }, - - // Default values for current tool length offsets (not configurable, set to zero) - { "tof","tofx",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tl_offset[AXIS_X], 0 }, - { "tof","tofy",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tl_offset[AXIS_Y], 0 }, - { "tof","tofz",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tl_offset[AXIS_Z], 0 }, - { "tof","tofa",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tl_offset[AXIS_A], 0 }, - { "tof","tofb",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tl_offset[AXIS_B], 0 }, - { "tof","tofc",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tl_offset[AXIS_C], 0 }, - - // Tool table offsets - { "tt1","tt1x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[1][AXIS_X], TT1_X_OFFSET }, - { "tt1","tt1y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[1][AXIS_Y], TT1_Y_OFFSET }, - { "tt1","tt1z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[1][AXIS_Z], TT1_Z_OFFSET }, - { "tt1","tt1a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[1][AXIS_A], TT1_A_OFFSET }, - { "tt1","tt1b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[1][AXIS_B], TT1_B_OFFSET }, - { "tt1","tt1c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[1][AXIS_C], TT1_C_OFFSET }, - - { "tt2","tt2x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[2][AXIS_X], TT2_X_OFFSET }, - { "tt2","tt2y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[2][AXIS_Y], TT2_Y_OFFSET }, - { "tt2","tt2z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[2][AXIS_Z], TT2_Z_OFFSET }, - { "tt2","tt2a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[2][AXIS_A], TT2_A_OFFSET }, - { "tt2","tt2b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[2][AXIS_B], TT2_B_OFFSET }, - { "tt2","tt2c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[2][AXIS_C], TT2_C_OFFSET }, - - { "tt3","tt3x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[3][AXIS_X], TT3_X_OFFSET }, - { "tt3","tt3y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[3][AXIS_Y], TT3_Y_OFFSET }, - { "tt3","tt3z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[3][AXIS_Z], TT3_Z_OFFSET }, - { "tt3","tt3a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[3][AXIS_A], TT3_A_OFFSET }, - { "tt3","tt3b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[3][AXIS_B], TT3_B_OFFSET }, - { "tt3","tt3c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[3][AXIS_C], TT1_C_OFFSET }, - - { "tt4","tt4x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[4][AXIS_X], TT4_X_OFFSET }, - { "tt4","tt4y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[4][AXIS_Y], TT4_Y_OFFSET }, - { "tt4","tt4z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[4][AXIS_Z], TT4_Z_OFFSET }, - { "tt4","tt4a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[4][AXIS_A], TT4_A_OFFSET }, - { "tt4","tt4b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[4][AXIS_B], TT4_B_OFFSET }, - { "tt4","tt4c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[4][AXIS_C], TT4_C_OFFSET }, - - { "tt5","tt5x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[5][AXIS_X], TT5_X_OFFSET }, - { "tt5","tt5y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[5][AXIS_Y], TT5_Y_OFFSET }, - { "tt5","tt5z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[5][AXIS_Z], TT5_Z_OFFSET }, - { "tt5","tt5a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[5][AXIS_A], TT5_A_OFFSET }, - { "tt5","tt5b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[5][AXIS_B], TT5_B_OFFSET }, - { "tt5","tt5c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[5][AXIS_C], TT5_C_OFFSET }, - - { "tt6","tt6x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[6][AXIS_X], TT6_X_OFFSET }, - { "tt6","tt6y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[6][AXIS_Y], TT6_Y_OFFSET }, - { "tt6","tt6z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[6][AXIS_Z], TT6_Z_OFFSET }, - { "tt6","tt6a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[6][AXIS_A], TT6_A_OFFSET }, - { "tt6","tt6b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[6][AXIS_B], TT6_B_OFFSET }, - { "tt6","tt6c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[6][AXIS_C], TT6_C_OFFSET }, - - { "tt7","tt7x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[7][AXIS_X], TT7_X_OFFSET }, - { "tt7","tt7y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[7][AXIS_Y], TT7_Y_OFFSET }, - { "tt7","tt7z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[7][AXIS_Z], TT7_Z_OFFSET }, - { "tt7","tt7a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[7][AXIS_A], TT7_A_OFFSET }, - { "tt7","tt7b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[7][AXIS_B], TT7_B_OFFSET }, - { "tt7","tt7c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[7][AXIS_C], TT7_C_OFFSET }, - - { "tt8","tt8x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[8][AXIS_X], TT8_X_OFFSET }, - { "tt8","tt8y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[8][AXIS_Y], TT8_Y_OFFSET }, - { "tt8","tt8z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[8][AXIS_Z], TT8_Z_OFFSET }, - { "tt8","tt8a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[8][AXIS_A], TT8_A_OFFSET }, - { "tt8","tt8b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[8][AXIS_B], TT8_B_OFFSET }, - { "tt8","tt8c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[8][AXIS_C], TT8_C_OFFSET }, - - { "tt9","tt9x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[9][AXIS_X], TT9_X_OFFSET }, - { "tt9","tt9y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[9][AXIS_Y], TT9_Y_OFFSET }, - { "tt9","tt9z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[9][AXIS_Z], TT9_Z_OFFSET }, - { "tt9","tt9a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[9][AXIS_A], TT9_A_OFFSET }, - { "tt9","tt9b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[9][AXIS_B], TT9_B_OFFSET }, - { "tt9","tt9c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[9][AXIS_C], TT9_C_OFFSET }, - - { "tt10","tt10x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[10][AXIS_X], TT10_X_OFFSET }, - { "tt10","tt10y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[10][AXIS_Y], TT10_Y_OFFSET }, - { "tt10","tt10z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[10][AXIS_Z], TT10_Z_OFFSET }, - { "tt10","tt10a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[10][AXIS_A], TT10_A_OFFSET }, - { "tt10","tt10b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[10][AXIS_B], TT10_B_OFFSET }, - { "tt10","tt10c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[10][AXIS_C], TT10_C_OFFSET }, - - { "tt11","tt11x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[11][AXIS_X], TT11_X_OFFSET }, - { "tt11","tt11y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[11][AXIS_Y], TT11_Y_OFFSET }, - { "tt11","tt11z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[11][AXIS_Z], TT11_Z_OFFSET }, - { "tt11","tt11a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[11][AXIS_A], TT11_A_OFFSET }, - { "tt11","tt11b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[11][AXIS_B], TT11_B_OFFSET }, - { "tt11","tt11c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[11][AXIS_C], TT11_C_OFFSET }, - - { "tt12","tt12x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[12][AXIS_X], TT12_X_OFFSET }, - { "tt12","tt12y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[12][AXIS_Y], TT12_Y_OFFSET }, - { "tt12","tt12z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[12][AXIS_Z], TT12_Z_OFFSET }, - { "tt12","tt12a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[12][AXIS_A], TT12_A_OFFSET }, - { "tt12","tt12b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[12][AXIS_B], TT12_B_OFFSET }, - { "tt12","tt12c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[12][AXIS_C], TT12_C_OFFSET }, - - { "tt13","tt13x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[13][AXIS_X], TT13_X_OFFSET }, - { "tt13","tt13y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[13][AXIS_Y], TT13_Y_OFFSET }, - { "tt13","tt13z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[13][AXIS_Z], TT13_Z_OFFSET }, - { "tt13","tt13a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[13][AXIS_A], TT13_A_OFFSET }, - { "tt13","tt13b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[13][AXIS_B], TT13_B_OFFSET }, - { "tt13","tt13c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[13][AXIS_C], TT13_C_OFFSET }, - - { "tt14","tt14x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[14][AXIS_X], TT14_X_OFFSET }, - { "tt14","tt14y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[14][AXIS_Y], TT14_Y_OFFSET }, - { "tt14","tt14z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[14][AXIS_Z], TT14_Z_OFFSET }, - { "tt14","tt14a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[14][AXIS_A], TT14_A_OFFSET }, - { "tt14","tt14b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[14][AXIS_B], TT14_B_OFFSET }, - { "tt14","tt14c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[14][AXIS_C], TT14_C_OFFSET }, - - { "tt15","tt15x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[15][AXIS_X], TT15_X_OFFSET }, - { "tt15","tt15y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[15][AXIS_Y], TT15_Y_OFFSET }, - { "tt15","tt15z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[15][AXIS_Z], TT15_Z_OFFSET }, - { "tt15","tt15a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[15][AXIS_A], TT15_A_OFFSET }, - { "tt15","tt15b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[15][AXIS_B], TT15_B_OFFSET }, - { "tt15","tt15c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[15][AXIS_C], TT15_C_OFFSET }, - - { "tt16","tt16x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[16][AXIS_X], TT16_X_OFFSET }, - { "tt16","tt16y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[16][AXIS_Y], TT16_Y_OFFSET }, - { "tt16","tt16z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[16][AXIS_Z], TT16_Z_OFFSET }, - { "tt16","tt16a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[16][AXIS_A], TT16_A_OFFSET }, - { "tt16","tt16b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[16][AXIS_B], TT16_B_OFFSET }, - { "tt16","tt16c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[16][AXIS_C], TT16_C_OFFSET }, - - { "tt17","tt17x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[17][AXIS_X], TT17_X_OFFSET }, - { "tt17","tt17y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[17][AXIS_Y], TT17_Y_OFFSET }, - { "tt17","tt17z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[17][AXIS_Z], TT17_Z_OFFSET }, - { "tt17","tt17a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[17][AXIS_A], TT17_A_OFFSET }, - { "tt17","tt17b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[17][AXIS_B], TT17_B_OFFSET }, - { "tt17","tt17c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[17][AXIS_C], TT17_C_OFFSET }, - - { "tt18","tt18x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[18][AXIS_X], TT18_X_OFFSET }, - { "tt18","tt18y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[18][AXIS_Y], TT18_Y_OFFSET }, - { "tt18","tt18z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[18][AXIS_Z], TT18_Z_OFFSET }, - { "tt18","tt18a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[18][AXIS_A], TT18_A_OFFSET }, - { "tt18","tt18b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[18][AXIS_B], TT18_B_OFFSET }, - { "tt18","tt18c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[18][AXIS_C], TT18_C_OFFSET }, - - { "tt19","tt19x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[19][AXIS_X], TT19_X_OFFSET }, - { "tt19","tt19y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[19][AXIS_Y], TT19_Y_OFFSET }, - { "tt19","tt19z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[19][AXIS_Z], TT19_Z_OFFSET }, - { "tt19","tt19a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[19][AXIS_A], TT19_A_OFFSET }, - { "tt19","tt19b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[19][AXIS_B], TT19_B_OFFSET }, - { "tt19","tt19c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[19][AXIS_C], TT19_C_OFFSET }, - - { "tt20","tt20x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[20][AXIS_X], TT20_X_OFFSET }, - { "tt20","tt20y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[20][AXIS_Y], TT20_Y_OFFSET }, - { "tt20","tt20z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[20][AXIS_Z], TT20_Z_OFFSET }, - { "tt20","tt20a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[20][AXIS_A], TT20_A_OFFSET }, - { "tt20","tt20b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[20][AXIS_B], TT20_B_OFFSET }, - { "tt20","tt20c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[20][AXIS_C], TT20_C_OFFSET }, - - { "tt21","tt21x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[21][AXIS_X], TT21_X_OFFSET }, - { "tt21","tt21y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[21][AXIS_Y], TT21_Y_OFFSET }, - { "tt21","tt21z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[21][AXIS_Z], TT21_Z_OFFSET }, - { "tt21","tt21a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[21][AXIS_A], TT21_A_OFFSET }, - { "tt21","tt21b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[21][AXIS_B], TT21_B_OFFSET }, - { "tt21","tt21c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[21][AXIS_C], TT21_C_OFFSET }, - - { "tt22","tt22x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[22][AXIS_X], TT22_X_OFFSET }, - { "tt22","tt22y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[22][AXIS_Y], TT22_Y_OFFSET }, - { "tt22","tt22z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[22][AXIS_Z], TT22_Z_OFFSET }, - { "tt22","tt22a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[22][AXIS_A], TT22_A_OFFSET }, - { "tt22","tt22b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[22][AXIS_B], TT22_B_OFFSET }, - { "tt22","tt22c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[22][AXIS_C], TT22_C_OFFSET }, - - { "tt23","tt23x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[23][AXIS_X], TT23_X_OFFSET }, - { "tt23","tt23y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[23][AXIS_Y], TT23_Y_OFFSET }, - { "tt23","tt23z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[23][AXIS_Z], TT23_Z_OFFSET }, - { "tt23","tt23a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[23][AXIS_A], TT23_A_OFFSET }, - { "tt23","tt23b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[23][AXIS_B], TT23_B_OFFSET }, - { "tt23","tt23c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[23][AXIS_C], TT23_C_OFFSET }, - - { "tt24","tt24x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[24][AXIS_X], TT24_X_OFFSET }, - { "tt24","tt24y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[24][AXIS_Y], TT24_Y_OFFSET }, - { "tt24","tt24z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[24][AXIS_Z], TT24_Z_OFFSET }, - { "tt24","tt24a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[24][AXIS_A], TT24_A_OFFSET }, - { "tt24","tt24b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[24][AXIS_B], TT24_B_OFFSET }, - { "tt24","tt24c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[24][AXIS_C], TT24_C_OFFSET }, - - { "tt25","tt25x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[25][AXIS_X], TT25_X_OFFSET }, - { "tt25","tt25y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[25][AXIS_Y], TT25_Y_OFFSET }, - { "tt25","tt25z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[25][AXIS_Z], TT25_Z_OFFSET }, - { "tt25","tt25a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[25][AXIS_A], TT25_A_OFFSET }, - { "tt25","tt25b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[25][AXIS_B], TT25_B_OFFSET }, - { "tt25","tt25c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[25][AXIS_C], TT25_C_OFFSET }, - - { "tt26","tt26x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[26][AXIS_X], TT26_X_OFFSET }, - { "tt26","tt26y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[26][AXIS_Y], TT26_Y_OFFSET }, - { "tt26","tt26z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[26][AXIS_Z], TT26_Z_OFFSET }, - { "tt26","tt26a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[26][AXIS_A], TT26_A_OFFSET }, - { "tt26","tt26b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[26][AXIS_B], TT26_B_OFFSET }, - { "tt26","tt26c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[26][AXIS_C], TT26_C_OFFSET }, - - { "tt27","tt27x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[27][AXIS_X], TT27_X_OFFSET }, - { "tt27","tt27y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[27][AXIS_Y], TT27_Y_OFFSET }, - { "tt27","tt27z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[27][AXIS_Z], TT27_Z_OFFSET }, - { "tt27","tt27a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[27][AXIS_A], TT27_A_OFFSET }, - { "tt27","tt27b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[27][AXIS_B], TT27_B_OFFSET }, - { "tt27","tt27c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[27][AXIS_C], TT27_C_OFFSET }, - - { "tt28","tt28x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[28][AXIS_X], TT28_X_OFFSET }, - { "tt28","tt28y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[28][AXIS_Y], TT28_Y_OFFSET }, - { "tt28","tt28z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[28][AXIS_Z], TT28_Z_OFFSET }, - { "tt28","tt28a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[28][AXIS_A], TT28_A_OFFSET }, - { "tt28","tt28b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[28][AXIS_B], TT28_B_OFFSET }, - { "tt28","tt28c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[28][AXIS_C], TT28_C_OFFSET }, - - { "tt29","tt29x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[29][AXIS_X], TT29_X_OFFSET }, - { "tt29","tt29y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[29][AXIS_Y], TT29_Y_OFFSET }, - { "tt29","tt29z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[29][AXIS_Z], TT29_Z_OFFSET }, - { "tt29","tt29a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[29][AXIS_A], TT29_A_OFFSET }, - { "tt29","tt29b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[29][AXIS_B], TT29_B_OFFSET }, - { "tt29","tt29c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[29][AXIS_C], TT29_C_OFFSET }, - - { "tt30","tt30x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[30][AXIS_X], TT30_X_OFFSET }, - { "tt30","tt30y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[30][AXIS_Y], TT30_Y_OFFSET }, - { "tt30","tt30z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[30][AXIS_Z], TT30_Z_OFFSET }, - { "tt30","tt30a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[30][AXIS_A], TT30_A_OFFSET }, - { "tt30","tt30b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[30][AXIS_B], TT30_B_OFFSET }, - { "tt30","tt30c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[30][AXIS_C], TT30_C_OFFSET }, - - { "tt31","tt31x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[31][AXIS_X], TT31_X_OFFSET }, - { "tt31","tt31y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[31][AXIS_Y], TT31_Y_OFFSET }, - { "tt31","tt31z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[31][AXIS_Z], TT31_Z_OFFSET }, - { "tt31","tt31a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[31][AXIS_A], TT31_A_OFFSET }, - { "tt31","tt31b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[31][AXIS_B], TT31_B_OFFSET }, - { "tt31","tt31c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[31][AXIS_C], TT31_C_OFFSET }, - - { "tt32","tt32x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[32][AXIS_X], TT32_X_OFFSET }, - { "tt32","tt32y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[32][AXIS_Y], TT32_Y_OFFSET }, - { "tt32","tt32z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm.tt_offset[32][AXIS_Z], TT32_Z_OFFSET }, - { "tt32","tt32a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[32][AXIS_A], TT32_A_OFFSET }, - { "tt32","tt32b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[32][AXIS_B], TT32_B_OFFSET }, - { "tt32","tt32c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tt_offset[32][AXIS_C], TT32_C_OFFSET }, ->>>>>>> refs/heads/edge */ // this is a 128bit UUID for identifying a previously committed job state { "jid","jida",_d0, 0, tx_print_nul, get_data, set_data, (float *)&cfg.job_id[0], 0 }, @@ -916,20 +644,11 @@ const cfgItem_t cfgArray[] = { #ifdef __TEXT_MODE { "sys","tv", _iipn, 0, tx_print_tv, txt_get_tv, txt_set_tv, nullptr, TEXT_VERBOSITY }, #endif -//<<<<<< HEAD { "sys","ej", _iipn, 0, js_print_ej, js_get_ej, js_set_ej, nullptr, COMM_MODE }, { "sys","jv", _iipn, 0, js_print_jv, js_get_jv, js_set_jv, nullptr, JSON_VERBOSITY }, { "sys","qv", _iipn, 0, qr_print_qv, qr_get_qv, qr_set_qv, nullptr, QUEUE_REPORT_VERBOSITY }, { "sys","sv", _iipn, 0, sr_print_sv, sr_get_sv, sr_set_sv, nullptr, STATUS_REPORT_VERBOSITY }, { "sys","si", _iipn, 0, sr_print_si, sr_get_si, sr_set_si, nullptr, STATUS_REPORT_INTERVAL_MS }, -/*======= - { "sys","ej", _fipn, 0, js_print_ej, get_ui8, json_set_ej,(float *)&cs.comm_mode, COMM_MODE }, - { "sys","jv", _fipn, 0, js_print_jv, get_ui8, json_set_jv,(float *)&js.json_verbosity, JSON_VERBOSITY }, - { "sys","qv", _fipn, 0, qr_print_qv, get_ui8, set_012, (float *)&qr.queue_report_verbosity, QR_OFF}, // default to OFF, set to QUEUE_REPORT_VERBOSITY after connected - { "sys","sv", _fipn, 0, sr_print_sv, get_ui8, set_012, (float *)&sr.status_report_verbosity, SR_OFF}, // default to OFF, set to STATUS_REPORT_VERBOSITY after connectied - { "sys","si", _fipn, 0, sr_print_si, get_int, sr_set_si, (float *)&sr.status_report_interval, STATUS_REPORT_INTERVAL_MS }, - { "", "nxln", _f0, 0, cm_print_nxln,cm_get_nxln,cm_set_nxln,(float *)&cs.null, 0 }, ->>>>>>> refs/heads/edge */ // Gcode defaults // NOTE: The ordering within the gcode defaults is important for token resolution. gc must follow gco @@ -1374,7 +1093,6 @@ const cfgItem_t cfgArray[] = { #if (MOTORS >= 6) { "","6", _f0, 0, tx_print_nul, get_grp, set_grp, nullptr, 0 }, #endif -//<<<<<< HEAD #define DIGITAL_IN_GROUPS 10 { "","in", _f0, 0, tx_print_nul, get_grp, set_grp, nullptr, 0 }, // input state @@ -1467,86 +1185,7 @@ const cfgItem_t cfgArray[] = { { "","pid1",_f0, 0, tx_print_nul, get_grp, set_grp, nullptr, 0 }, // PID 1 group { "","pid2",_f0, 0, tx_print_nul, get_grp, set_grp, nullptr, 0 }, // PID 2 group { "","pid3",_f0, 0, tx_print_nul, get_grp, set_grp, nullptr, 0 }, // PID 3 group -/*======= - // +4 = 6 - { "","x", _f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // axis groups - { "","y", _f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, - { "","z", _f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, - { "","a", _f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, - { "","b", _f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, - { "","c", _f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, - // +6 = 12 - { "","in", _f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // input state - { "","di1", _f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // input configs - { "","di2", _f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, - { "","di3", _f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, - { "","di4", _f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, - { "","di5", _f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, - { "","di6", _f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, - { "","di7", _f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, - { "","di8", _f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, - { "","di9", _f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, - // +10 = 22 - { "","out", _f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // output state - { "","do1", _f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // output configs - { "","do2", _f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, - { "","do3", _f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, - { "","do4", _f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, - { "","do5", _f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, - { "","do6", _f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, - { "","do7", _f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, - { "","do8", _f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, - { "","do9", _f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, - { "","do10", _f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, - { "","do11", _f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, - { "","do12", _f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, - { "","do13", _f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, - // +14 = 36 - { "","g54",_f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // coord offset groups - { "","g55",_f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, - { "","g56",_f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, - { "","g57",_f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, - { "","g58",_f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, - { "","g59",_f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, - { "","g92",_f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // origin offsets - { "","g28",_f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // g28 home position - { "","g30",_f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // g30 home position - // +9 = 45 - { "","tof",_f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // tool offsets - { "","tt1",_f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // tt offsets - { "","tt2",_f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // tt offsets - { "","tt3",_f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // tt offsets - { "","tt4",_f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // tt offsets - { "","tt5",_f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // tt offsets - { "","tt6",_f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // tt offsets - { "","tt7",_f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // tt offsets - { "","tt8",_f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // tt offsets - { "","tt9",_f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // tt offsets - { "","tt10",_f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // tt offsets - { "","tt11",_f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // tt offsets - { "","tt12",_f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // tt offsets - { "","tt13",_f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // tt offsets - { "","tt14",_f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // tt offsets - { "","tt15",_f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // tt offsets - { "","tt16",_f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // tt offsets - // +17 = 62 - { "","mpo",_f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // machine position group - { "","pos",_f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // work position group - { "","ofs",_f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // work offset group - { "","hom",_f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // axis homing state group - { "","prb",_f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // probing state group - { "","pwr",_f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // motor power enagled group - { "","jog",_f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // axis jogging state group - { "","jid",_f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // job ID group - // +8 = 70 - { "","he1", _f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // heater 1 group - { "","he2", _f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // heater 2 group - { "","he3", _f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // heater 3 group - { "","pid1",_f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // PID 1 group - { "","pid2",_f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // PID 2 group - { "","pid3",_f0, 0, tx_print_nul, get_grp, set_grp,(float *)&cs.null,0 }, // PID 3 group - // +6 = 76 ->>>>>>> refs/heads/edge */ + #ifdef __USER_DATA #define USER_DATA_GROUPS 4 @@ -1910,14 +1549,8 @@ static stat_t get_tick(nvObj_t *nv) static const char fmt_rx[] = "rx:%d\n"; static const char fmt_ex[] = "[ex] enable flow control%10d [0=off,1=XON/XOFF, 2=RTS/CTS]\n"; -//static const char fmt_ec[] = "[ec] expand LF to CRLF on TX%6d [0=off,1=on]\n"; -//static const char fmt_ee[] = "[ee] enable echo%18d [0=off,1=on]\n"; -//static const char fmt_baud[] = "[baud] USB baud rate%15d [1=9600,2=19200,3=38400,4=57600,5=115200,6=230400]\n"; void cfg_print_rx(nvObj_t *nv) { text_print(nv, fmt_rx);} // TYPE_INT void cfg_print_ex(nvObj_t *nv) { text_print(nv, fmt_ex);} // TYPE_INT -//void cfg_print_ec(nvObj_t *nv) { text_print(nv, fmt_ec);} // TYPE_INT -//void cfg_print_ee(nvObj_t *nv) { text_print(nv, fmt_ee);} // TYPE_INT -//void cfg_print_baud(nvObj_t *nv) { text_print(nv, fmt_baud);} // TYPE_INT #endif // __TEXT_MODE diff --git a/g2core/controller.cpp b/g2core/controller.cpp index 2db71399..e0bd991c 100644 --- a/g2core/controller.cpp +++ b/g2core/controller.cpp @@ -288,8 +288,8 @@ static void _dispatch_kernel(const devflags_t flags) #endif #if MARLIN_COMPAT_ENABLED == true - else if (js.json_mode == MARLIN_COMM_MODE) { // handle marlin-specific protocol gcode - cs.comm_request_mode = MARLIN_COMM_MODE; // mode of this command + else if (js.json_mode == MARLIN_COMM_MODE) { // handle marlin-specific protocol gcode + cs.comm_request_mode = MARLIN_COMM_MODE; // mode of this command marlin_response(gcode_parser(cs.bufp), cs.saved_buf); } #endif diff --git a/g2core/gcode_parser.cpp b/g2core/gcode_parser.cpp index debfcb43..edc44626 100644 --- a/g2core/gcode_parser.cpp +++ b/g2core/gcode_parser.cpp @@ -139,13 +139,6 @@ typedef struct GCodeInputValue { // Gcode inputs - meaning depends on context uint8_t origin_offset_mode; // G92...TRUE=in origin offset mode uint8_t absolute_override; // G53 TRUE = move using machine coordinates - this block only (G53) -// uint8_t tool; // Tool after T and M6 (tool_select and tool_change) -// uint8_t tool_select; // T value - T sets this value -// uint8_t tool_change; // M6 tool change flag - moves "tool_select" to "tool" -// uint8_t mist_coolant; // TRUE = mist on (M7), FALSE = off (M9) -// uint8_t flood_coolant; // TRUE = flood on (M8), FALSE = off (M9) -// uint8_t spindle_control; // 0=OFF (M5), 1=CW (M3), 2=CCW (M4) - uint8_t tool; // Tool after T and M6 (tool_select and tool_change) uint8_t tool_select; // T value - T sets this value uint8_t tool_change; // M6 tool change flag - moves "tool_select" to "tool" @@ -159,11 +152,6 @@ typedef struct GCodeInputValue { // Gcode inputs - meaning depends on context bool mto_control; // M50.1 traverse override control bool sso_control; // M51 spindle speed override control -// bool m48_enable; // M48/M49 input (enables for feed and spindle) -// bool fro_control; // M50 feedrate override control -// bool tro_control; // M50.1 traverse override control -// bool spo_control; // M51 spindle speed override control - #if MARLIN_COMPAT_ENABLED == true float E_word; // E - "extruder" - may be interpreted any number of ways bool marlin_relative_extruder_mode; // M82, M83 (Marlin-only) @@ -198,13 +186,6 @@ typedef struct GCodeFlags { // Gcode input flags bool origin_offset_mode; bool absolute_override; -// bool tool; -// bool tool_select; -// bool tool_change; -// bool mist_coolant; -// bool flood_coolant; -// bool spindle_control; - bool tool; bool tool_select; bool tool_change; @@ -218,11 +199,6 @@ typedef struct GCodeFlags { // Gcode input flags bool mto_control; bool sso_control; -// bool m48_enable; -// bool fro_control; -// bool tro_control; -// bool spo_control; - bool checksum; #if MARLIN_COMPAT_ENABLED == true @@ -240,100 +216,8 @@ typedef struct GCodeParser { GCodeParser_t gp; // main parser struct GCodeValue_t gv; // gcode input values GCodeFlag_t gf; // gcode input flags -/* -// Structures used by Gcode parser - -typedef struct GCodeInputValue { // Gcode inputs - meaning depends on context - - uint8_t next_action; // handles G modal group 1 moves & non-modals - cmMotionMode motion_mode; // Group1: G0, G1, G2, G3, G38.2, G80, G81, G82, G83, G84, G85, G86, G87, G88, G89 - uint8_t program_flow; // used only by the gcode_parser - int32_t linenum; // N word - - float target[AXES]; // XYZABC where the move should go - float arc_offset[3]; // IJK - used by arc commands - float arc_radius; // R - radius value in arc radius mode - - float F_word; // F - normalized to millimeters/minute - uint8_t H_word; // H word - used by G43s - uint8_t L_word; // L word - used by G10s - float P_word; // P - parameter used for dwell time in seconds, G10 coord select... - float S_word; // S word - in RPM - - uint8_t feed_rate_mode; // See cmFeedRateMode for settings - uint8_t select_plane; // G17,G18,G19 - values to set plane to - uint8_t units_mode; // G20,G21 - 0=inches (G20), 1 = mm (G21) - uint8_t coord_system; // G54-G59 - select coordinate system 1-9 - uint8_t path_control; // G61... EXACT_PATH, EXACT_STOP, CONTINUOUS - uint8_t distance_mode; // G91 0=use absolute coords(G90), 1=incremental movement - uint8_t arc_distance_mode; // G90.1=use absolute IJK offsets, G91.1=incremental IJK offsets - uint8_t origin_offset_mode; // G92...TRUE=in origin offset mode - uint8_t absolute_override; // G53 TRUE = move using machine coordinates - this block only (G53) - uint8_t tool; // Tool after T and M6 (tool_select and tool_change) - uint8_t tool_select; // T value - T sets this value - uint8_t tool_change; // M6 tool change flag - moves "tool_select" to "tool" - uint8_t coolant_mist; // TRUE = mist on (M7) - uint8_t coolant_flood; // TRUE = flood on (M8) - uint8_t coolant_off; // TRUE = turn off all coolants (M9) - uint8_t spindle_control; // 0=OFF (M5), 1=CW (M3), 2=CCW (M4) - - bool m48_enable; // M48/M49 input (enables for feed and spindle) - bool fro_control; // M50 feedrate override control - bool tro_control; // M50.1 traverse override control - bool spo_control; // M51 spindle speed override control -} GCodeValue_t; - -typedef struct GCodeFlags { // Gcode input flags - - bool next_action; - bool motion_mode; - bool program_flow; - bool linenum; - - bool target[AXES]; - bool arc_offset[3]; - bool arc_radius; - - bool F_word; - bool H_word; - bool L_word; - bool P_word; - bool S_word; - - bool feed_rate_mode; - bool select_plane; - bool units_mode; - bool coord_system; - bool path_control; - bool distance_mode; - bool arc_distance_mode; - bool origin_offset_mode; - bool absolute_override; - bool tool; - bool tool_select; - bool tool_change; - bool coolant_mist; - bool coolant_flood; - bool coolant_off; - bool spindle_control; - - bool m48_enable; - bool fro_control; - bool tro_control; - bool spo_control; -} GCodeFlag_t; - -typedef struct GCodeParser { - bool modals[MODAL_GROUP_COUNT]; -} GCodeParser_t; - -GCodeParser_t gp; // main parser struct -GCodeValue_t gv; // gcode input values -GCodeFlag_t gf; // gcode input flags -*/ // local helper functions and macros -// <<<<<< HEAD static void _normalize_gcode_block(char *str, char **active_comment, uint8_t *block_delete_flag); static stat_t _get_next_gcode_word(char **pstr, char *letter, float *value, int32_t *value_int); static stat_t _point(float value); @@ -346,20 +230,6 @@ static stat_t _execute_gcode_block(char *active_comment); // Execute t #define SET_NON_MODAL(parm,val) ({gv.parm=val; gf.parm=true; break;}) #define EXEC_FUNC(f,v) if(gf.v) { status=f(gv.v);} -/*======= -void _normalize_gcode_block(char *str, char **active_comment, uint8_t *block_delete_flag); -stat_t _get_next_gcode_word(char **pstr, char *letter, float *value); -stat_t _point(float value); -stat_t _verify_checksum(char *str); -stat_t _validate_gcode_block(char *active_comment); -stat_t _parse_gcode_block(char *line, char *active_comment); // Parse the block into the GN/GF structs -stat_t _execute_gcode_block(char *active_comment); // Execute the gcode block - -#define SET_MODAL(m,parm,val) ({gv.parm=val; gf.parm=true; gp.modals[m]=true; break;}) -#define SET_NON_MODAL(parm,val) ({gv.parm=val; gf.parm=true; break;}) -#define EXEC_FUNC(f,v) if(gf.v) { status=f(gv.v);} ->>>>>>> refs/heads/edge */ - /* * gcode_parser_init() */ @@ -719,30 +589,18 @@ static stat_t _get_next_gcode_word(char **pstr, char *letter, float *value, int3 *letter = **pstr; (*pstr)++; -//<<<<<< HEAD - // X-axis-becomes-a-hexadecimal-number get-value case, e.g. G0X100 --> G255 +// Removed support for hex numbers +// // X-axis-becomes-a-hexadecimal-number get-value case, e.g. G0X100 --> G255 // if ((**pstr == '0') && (*(*pstr+1) == 'X')) { // *value = 0; // (*pstr)++; // return (STAT_OK); // pointer points to X // } // -// // // get-value general case -// // char *end; -// // *value_int = atol(*pstr); // needed to get an accurate line number for N > 8,388,608 -// // *value = strtof(*pstr, &end); -/* ======= -// // X-axis-becomes-a-hexadecimal-number get-value case, e.g. G0X100 --> G255 -// if ((**pstr == '0') && (*(*pstr+1) == 'X')) { -// *value = 0; -// (*pstr)++; -// return (STAT_OK); // pointer points to X -// } -// // // get-value general case -// char *end = *pstr; +// char *end; +// *value_int = atol(*pstr); // needed to get an accurate line number for N > 8,388,608 // *value = strtof(*pstr, &end); ->>>>>>> refs/heads/edge*/ // get-value general case char *end = *pstr; @@ -952,17 +810,6 @@ static stat_t _parse_gcode_block(char *buf, char *active_comment) case 9: SET_MODAL (MODAL_GROUP_M8, coolant_off, COOLANT_OFF); case 48: SET_MODAL (MODAL_GROUP_M9, m48_enable, true); case 49: SET_MODAL (MODAL_GROUP_M9, m48_enable, false); -/*<<<<<< HEAD - case 50: - switch (_point(value)) { - case 0: SET_MODAL (MODAL_GROUP_M9, fro_control, true); - case 1: SET_MODAL (MODAL_GROUP_M9, tro_control, true); - default: status = STAT_GCODE_COMMAND_UNSUPPORTED; - } - break; - case 51: SET_MODAL (MODAL_GROUP_M9, spo_control, true); - case 100: SET_NON_MODAL (next_action, NEXT_ACTION_JSON_COMMAND_SYNC); -======= */ case 50: SET_MODAL (MODAL_GROUP_M9, mfo_control, true); switch (_point(value)) { case 0: SET_MODAL (MODAL_GROUP_M9, mfo_control, true); @@ -978,7 +825,6 @@ static stat_t _parse_gcode_block(char *buf, char *active_comment) default: status = STAT_GCODE_COMMAND_UNSUPPORTED; } break; -// >>>>>>> refs/heads/edge case 101: SET_NON_MODAL (next_action, NEXT_ACTION_JSON_WAIT); #if MARLIN_COMPAT_ENABLED == true @@ -1097,7 +943,6 @@ stat_t _execute_gcode_block(char *active_comment) { stat_t status = STAT_OK; -// <<<<<< HEAD cm_cycle_start(); // any G, M or other word will autostart cycle if not already started if (gf.linenum) { @@ -1105,7 +950,7 @@ stat_t _execute_gcode_block(char *active_comment) } EXEC_FUNC(cm_m48_enable, m48_enable); -/* +++++ +/* if (gf.fro_control) { // feedrate override ritorno(cm_fro_control(gv.P_word, gf.P_word)); } @@ -1140,39 +985,6 @@ stat_t _execute_gcode_block(char *active_comment) if (gf.coolant_off) { ritorno(coolant_control_sync((coControl)gv.coolant_off, COOLANT_BOTH)); // M9 } -/* ======= - if (gf.linenum) { - cm_set_model_linenum(gv.linenum); - } - EXEC_FUNC(cm_set_feed_rate_mode, feed_rate_mode); // G93, G94 - EXEC_FUNC(cm_set_feed_rate, F_word); // F - - ritorno(_execute_gcode_block_marlin()); // execute Marlin commands if Marlin compatibility enabled - if (gf.linenum && gf.checksum) { - ritorno(cm_check_linenum()); - } - - EXEC_FUNC(cm_set_spindle_speed, S_word); // S - if (gf.sso_control) { // spindle speed override - ritorno(cm_sso_control(gv.P_word, gf.P_word)); - } - - EXEC_FUNC(cm_select_tool, tool_select); // tool_select is where it's written - EXEC_FUNC(cm_change_tool, tool_change); // M6 - EXEC_FUNC(cm_spindle_control, spindle_control); // spindle CW, CCW, OFF - - EXEC_FUNC(cm_mist_coolant_control, mist_coolant); // M7, M9 - EXEC_FUNC(cm_flood_coolant_control, flood_coolant); // M8, M9 also disables mist coolant if OFF - EXEC_FUNC(cm_m48_enable, m48_enable); - - if (gf.mfo_control) { // manual feedrate override - ritorno(cm_mfo_control(gv.P_word, gf.P_word)); - } - if (gf.mto_control) { // manual traverse override - ritorno(cm_mto_control(gv.P_word, gf.P_word)); - } - ->>>>>>> refs/heads/edge */ if (gv.next_action == NEXT_ACTION_DWELL) { // G4 - dwell ritorno(cm_dwell(gv.P_word)); // return if error, otherwise complete the block } @@ -1182,21 +994,12 @@ stat_t _execute_gcode_block(char *active_comment) switch (gv.next_action) { // Tool length offsets case NEXT_ACTION_SET_TL_OFFSET: { // G43 -/*<<<<<< HEAD - ritorno(cm_set_tl_offset(gv.H_word, gf.H_word, false)); - break; - } - case NEXT_ACTION_SET_ADDITIONAL_TL_OFFSET: { // G43.2 - ritorno(cm_set_tl_offset(gv.H_word, gf.H_word, true)); - break; -======= */ ritorno(cm_set_tl_offset(gv.H_word, gf.H_word, false)); break; } case NEXT_ACTION_SET_ADDITIONAL_TL_OFFSET: { // G43.2 ritorno(cm_set_tl_offset(gv.H_word, gf.H_word, true)); break; -// >>>>>>> refs/heads/edge } case NEXT_ACTION_CANCEL_TL_OFFSET: { // G49 ritorno(cm_cancel_tl_offset()); @@ -1216,7 +1019,6 @@ stat_t _execute_gcode_block(char *active_comment) //--> set retract mode goes here switch (gv.next_action) { -// <<<<<< HEAD case NEXT_ACTION_SET_G28_POSITION: { status = cm_set_g28_position(); break;} // G28.1 case NEXT_ACTION_GOTO_G28_POSITION: { status = cm_goto_g28_position(gv.target, gf.target); break;} // G28 case NEXT_ACTION_SET_G30_POSITION: { status = cm_set_g30_position(); break;} // G30.1 @@ -1252,39 +1054,6 @@ stat_t _execute_gcode_block(char *active_comment) case MOTION_MODE_STRAIGHT_FEED: { status = cm_straight_feed(gv.target, gf.target, PROFILE_NORMAL); break;} // G1 case MOTION_MODE_CW_ARC: // G2 case MOTION_MODE_CCW_ARC: { status = cm_arc_feed(gv.target, gf.target, // G3 -/* ======= - case NEXT_ACTION_SET_G28_POSITION: { status = cm_set_g28_position(); break;} // G28.1 - case NEXT_ACTION_GOTO_G28_POSITION: { status = cm_goto_g28_position(gv.target, gf.target); break;} // G28 - case NEXT_ACTION_SET_G30_POSITION: { status = cm_set_g30_position(); break;} // G30.1 - case NEXT_ACTION_GOTO_G30_POSITION: { status = cm_goto_g30_position(gv.target, gf.target); break;} // G30 - - case NEXT_ACTION_SEARCH_HOME: { status = cm_homing_cycle_start(gv.target, gf.target); break;} // G28.2 - case NEXT_ACTION_SET_ABSOLUTE_ORIGIN: { status = cm_set_absolute_origin(gv.target, gf.target); break;} // G28.3 - case NEXT_ACTION_HOMING_NO_SET: { status = cm_homing_cycle_start_no_set(gv.target, gf.target); break;} // G28.4 - - case NEXT_ACTION_STRAIGHT_PROBE_ERR: { status = cm_straight_probe(gv.target, gf.target, true, true); break;} // G38.2 - case NEXT_ACTION_STRAIGHT_PROBE: { status = cm_straight_probe(gv.target, gf.target, true, false); break;} // G38.3 - case NEXT_ACTION_STRAIGHT_PROBE_AWAY_ERR:{ status = cm_straight_probe(gv.target, gf.target, false, true); break;} // G38.4 - case NEXT_ACTION_STRAIGHT_PROBE_AWAY: { status = cm_straight_probe(gv.target, gf.target, false, false); break;}// G38.5 - - case NEXT_ACTION_SET_ORIGIN_OFFSETS: { status = cm_set_origin_offsets(gv.target, gf.target); break;}// G92 - case NEXT_ACTION_RESET_ORIGIN_OFFSETS: { status = cm_reset_origin_offsets(); break;} // G92.1 - case NEXT_ACTION_SUSPEND_ORIGIN_OFFSETS: { status = cm_suspend_origin_offsets(); break;} // G92.2 - case NEXT_ACTION_RESUME_ORIGIN_OFFSETS: { status = cm_resume_origin_offsets(); break;} // G92.3 - - case NEXT_ACTION_JSON_COMMAND_SYNC: { status = cm_json_command(active_comment); break;} // M100.0 - case NEXT_ACTION_JSON_COMMAND_ASYNC: { status = cm_json_command_immediate(active_comment); break;} // M100.1 - case NEXT_ACTION_JSON_WAIT: { status = cm_json_wait(active_comment); break;} // M101 - - case NEXT_ACTION_DEFAULT: { - cm_set_absolute_override(MODEL, gv.absolute_override); // apply absolute override - switch (gv.motion_mode) { - case MOTION_MODE_CANCEL_MOTION_MODE: { cm.gm.motion_mode = gv.motion_mode; break;} // G80 - case MOTION_MODE_STRAIGHT_TRAVERSE: { status = cm_straight_traverse(gv.target, gf.target); break;} // G0 - case MOTION_MODE_STRAIGHT_FEED: { status = cm_straight_feed(gv.target, gf.target); break;} // G1 - case MOTION_MODE_CW_ARC: // G2 - case MOTION_MODE_CCW_ARC: { status = cm_arc_feed(gv.target, gf.target, // G3 ->>>>>>> refs/heads/edge*/ gv.arc_offset, gf.arc_offset, gv.arc_radius, gf.arc_radius, gv.P_word, gf.P_word, @@ -1313,7 +1082,7 @@ stat_t _execute_gcode_block(char *active_comment) } /*********************************************************************************** - * _execute_gcode_block_marlin() - collect Marlin exection functions here + * _execute_gcode_block_marlin() - collect Marlin Gcode execution functions here */ static stat_t _execute_gcode_block_marlin() diff --git a/g2core/marlin_compatibility.cpp b/g2core/marlin_compatibility.cpp index 85d11a92..bc9c8a31 100644 --- a/g2core/marlin_compatibility.cpp +++ b/g2core/marlin_compatibility.cpp @@ -17,6 +17,15 @@ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/* + * This file contains most of the code needed to support marlin compatibility mode. + * Other files that are affected include: + * - gcode_parser.cpp/.h heavily affected + * - canonical_machine.cpp/.h setting targets + * - controller.cpp main-loop callback, fake_stk500, specialized dispatching + * - report.cpp system ready message tuned for marlin + * - xio.cpp/.h protocol support + */ #include "g2core.h" // #1 #include "config.h" // #2 #include "settings.h" @@ -25,7 +34,6 @@ #include "controller.h" #include "gcode_parser.h" -//#include "gcode.h" #include "canonical_machine.h" #include "util.h" #include "xio.h" // for char definitions diff --git a/g2core/report.cpp b/g2core/report.cpp index ed8d46e1..a419e180 100644 --- a/g2core/report.cpp +++ b/g2core/report.cpp @@ -112,6 +112,7 @@ void rpt_print_loading_configs_message(void) void rpt_print_system_ready_message(void) { + // If in Marlin mode and connected as Marlin do not send a startup message #if MARLIN_COMPAT_ENABLED == true if (MARLIN_COMM_MODE != js.json_mode) { _startup_helper(STAT_OK, "SYSTEM READY"); diff --git a/g2core/settings.h b/g2core/settings.h index 0a966f73..82586f43 100644 --- a/g2core/settings.h +++ b/g2core/settings.h @@ -35,11 +35,9 @@ #ifndef SETTINGS_H_ONCE #define SETTINGS_H_ONCE -//#include "canonical_machine.h" +// Defines that need to be here instead of a more logical place like canonical_machine.h -// Defines that need to be here instead of a more logical place - -#define RADIUS_MIN (0.0001) // minimum value for ABC radius settings +#define RADIUS_MIN (0.0001) // minimum value for ABC radius settings /**** MACHINE PROFILES ****************************************************** *