diff --git a/g2core/config.cpp b/g2core/config.cpp index c1c2b970..4ef94f40 100644 --- a/g2core/config.cpp +++ b/g2core/config.cpp @@ -68,7 +68,6 @@ stat_t nv_set(nvObj_t *nv) return(STAT_INTERNAL_RANGE_ERROR); } return (((fptrCmd)cfgArray[nv->index].set)(nv)); -// return (((fptrCmd)GET_TABLE_WORD(set))(nv)); } stat_t nv_get(nvObj_t *nv) @@ -77,7 +76,6 @@ stat_t nv_get(nvObj_t *nv) return(STAT_INTERNAL_RANGE_ERROR); } return (((fptrCmd)cfgArray[nv->index].get)(nv)); -// return (((fptrCmd)GET_TABLE_WORD(get))(nv)); } void nv_print(nvObj_t *nv) @@ -86,7 +84,6 @@ void nv_print(nvObj_t *nv) return; } ((fptrCmd)cfgArray[nv->index].print)(nv); -// ((fptrCmd)GET_TABLE_WORD(print))(nv); } stat_t nv_persist(nvObj_t *nv) @@ -128,13 +125,19 @@ void config_init() static void _set_defa(nvObj_t *nv, bool print) { - cm_set_units_mode(MILLIMETERS); // must do inits in MM mode + cm_set_units_mode(MILLIMETERS); // must do inits in MM mode for (nv->index=0; nv_index_is_single(nv->index); nv->index++) { - if (GET_TABLE_BYTE(flags) & F_INITIALIZE) { - nv->value = cfgArray[nv->index].def_value; + if (cfgArray[nv->index].flags & F_INITIALIZE) { + if (cfgArray[nv->index].flags & F_ZERO) { + nv->value = 0; + } else { + nv->value = cfgArray[nv->index].def_value; + } strncpy(nv->token, cfgArray[nv->index].token, TOKEN_LEN); - nv_set(nv); - nv_persist(nv); + cfgArray[nv->index].set(nv); // run the set method, nv_set(nv); + if (cfgArray[nv->index].flags & F_PERSIST) { + nv_persist(nv); + } } } sr_init_status_report(); // reset status reports diff --git a/g2core/config.h b/g2core/config.h index 865848aa..d71b2830 100644 --- a/g2core/config.h +++ b/g2core/config.h @@ -169,7 +169,6 @@ ***********************************************************************************/ // Sizing and footprints // chose one based on # of elements in cfgArray -//typedef uint8_t index_t; // use this if there are < 256 indexed objects typedef uint16_t index_t; // use this if there are > 255 indexed objects // defines allocated from stack (not-pre-allocated) @@ -223,6 +222,7 @@ typedef enum { // value typing for config and JSON #define F_NOSTRIP 0x04 // do not strip the group prefix from the token #define F_CONVERT 0x08 // set if unit conversion is required #define F_ICONVERT 0x10 // set if unit conversion is required AND value is an inverse quantity +#define F_ZERO 0x20 // initialize to zero (requires F_INITIALIZE set as well) #define _f0 0x00 #define _fi (F_INITIALIZE) @@ -231,6 +231,8 @@ typedef enum { // value typing for config and JSON #define _fc (F_CONVERT) #define _fic (F_INITIALIZE | F_CONVERT) #define _fip (F_INITIALIZE | F_PERSIST) +#define _fiz (F_INITIALIZE | F_ZERO) +#define _fizc (F_INITIALIZE | F_ZERO | F_CONVERT) #define _fipc (F_INITIALIZE | F_PERSIST | F_CONVERT) #define _fipn (F_INITIALIZE | F_PERSIST | F_NOSTRIP) #define _fipi (F_INITIALIZE | F_PERSIST | F_ICONVERT) diff --git a/g2core/config_app.cpp b/g2core/config_app.cpp index 6556ad3d..18ee3a50 100644 --- a/g2core/config_app.cpp +++ b/g2core/config_app.cpp @@ -95,16 +95,17 @@ static stat_t get_tick(nvObj_t *nv); // get system tick count * cannot exceed TOKEN_LEN. String functions working on the table assume these * rules are followed and do not check lengths or perform other validation. * - * - If the count of lines in cfgArray exceeds 255 (which it does) you need to - * ensure index_t is uint16_t in the config.h file (and not uint8_t). - * * - The precision value 'p' only affects JSON responses. You need to also set * the %f in the corresponding format string to set text mode display precision + * + * - Unit conversions are now conditional, and handled by convert_incoming_float() + * and convert_outgoing_float(). Apply conversion flags to all axes, not just linear, + * as rotary axes may be treated as linear if in radius mode, so the flag is needed. */ const cfgItem_t cfgArray[] = { // group token flags p, print_func, get_func, set_func, get/set target, default value - { "sys", "fb", _fipn,2, hw_print_fb, hw_get_fb, set_ro, (float *)&cs.null, 0 }, // MUST BE FIRST for persistence checking! - { "sys", "fv", _fipn,2, hw_print_fv, hw_get_fv, set_ro, (float *)&cs.null, 0 }, + { "sys", "fb", _fn, 2, hw_print_fb, hw_get_fb, set_ro, (float *)&cs.null, 0 }, // MUST BE FIRST for persistence checking! + { "sys", "fv", _fn, 2, hw_print_fv, hw_get_fv, set_ro, (float *)&cs.null, 0 }, { "sys", "fbs",_fn, 0, hw_print_fbs, hw_get_fbs, set_ro, (float *)&cs.null, 0 }, { "sys", "fbc",_fn, 0, hw_print_fbc, hw_get_fbc, set_ro, (float *)&cs.null, 0 }, { "sys", "hp", _fn, 0, hw_print_hp, hw_get_hp, set_ro, (float *)&cs.null, 0 }, @@ -112,43 +113,43 @@ const cfgItem_t cfgArray[] = { { "sys", "id", _fn, 0, hw_print_id, hw_get_id, set_ro, (float *)&cs.null, 0 }, // device ID (ASCII signature) // dynamic model attributes for reporting purposes (up front for speed) - { "", "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_ro, (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 + { "", "stat",_f0, 0, cm_print_stat, cm_get_stat, set_ro, (float *)&cs.null, 0 }, // combined machine state + { "", "n", _f0, 0, cm_print_line, cm_get_mline,set_ro, (float *)&cs.null, 0 }, // Model line number + { "", "line",_f0, 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 #ifdef TEMPORARY_HAS_LEDS - { "", "_leds",_f0, 0, tx_print_nul, _get_leds,_set_leds,(float *)&cs.null, 0 }, // TEMPORARY - change LEDs + { "", "_leds",_f0, 0, tx_print_nul, _get_leds,_set_leds,(float *)&cs.null, 0 }, // TEMPORARY - change LEDs #endif - { "mpo","mpox",_f0, 3, cm_print_mpo, cm_get_mpo, set_ro, (float *)&cs.null, 0 }, // X machine position - { "mpo","mpoy",_f0, 3, cm_print_mpo, cm_get_mpo, set_ro, (float *)&cs.null, 0 }, // Y machine position - { "mpo","mpoz",_f0, 3, cm_print_mpo, cm_get_mpo, set_ro, (float *)&cs.null, 0 }, // Z machine position - { "mpo","mpoa",_f0, 3, cm_print_mpo, cm_get_mpo, set_ro, (float *)&cs.null, 0 }, // A machine position - { "mpo","mpob",_f0, 3, cm_print_mpo, cm_get_mpo, set_ro, (float *)&cs.null, 0 }, // B machine position - { "mpo","mpoc",_f0, 3, cm_print_mpo, cm_get_mpo, set_ro, (float *)&cs.null, 0 }, // C machine position + { "mpo","mpox",_f0, 3, cm_print_mpo, cm_get_mpo, set_ro, (float *)&cs.null, 0 }, // X machine position + { "mpo","mpoy",_f0, 3, cm_print_mpo, cm_get_mpo, set_ro, (float *)&cs.null, 0 }, // Y machine position + { "mpo","mpoz",_f0, 3, cm_print_mpo, cm_get_mpo, set_ro, (float *)&cs.null, 0 }, // Z machine position + { "mpo","mpoa",_f0, 3, cm_print_mpo, cm_get_mpo, set_ro, (float *)&cs.null, 0 }, // A machine position + { "mpo","mpob",_f0, 3, cm_print_mpo, cm_get_mpo, set_ro, (float *)&cs.null, 0 }, // B machine position + { "mpo","mpoc",_f0, 3, cm_print_mpo, cm_get_mpo, set_ro, (float *)&cs.null, 0 }, // C machine position - { "pos","posx",_f0, 3, cm_print_pos, cm_get_pos, set_ro, (float *)&cs.null, 0 }, // X work position - { "pos","posy",_f0, 3, cm_print_pos, cm_get_pos, set_ro, (float *)&cs.null, 0 }, // Y work position - { "pos","posz",_f0, 3, cm_print_pos, cm_get_pos, set_ro, (float *)&cs.null, 0 }, // Z work position - { "pos","posa",_f0, 3, cm_print_pos, cm_get_pos, set_ro, (float *)&cs.null, 0 }, // A work position - { "pos","posb",_f0, 3, cm_print_pos, cm_get_pos, set_ro, (float *)&cs.null, 0 }, // B work position - { "pos","posc",_f0, 3, cm_print_pos, cm_get_pos, set_ro, (float *)&cs.null, 0 }, // C work position + { "pos","posx",_f0, 3, cm_print_pos, cm_get_pos, set_ro, (float *)&cs.null, 0 }, // X work position + { "pos","posy",_f0, 3, cm_print_pos, cm_get_pos, set_ro, (float *)&cs.null, 0 }, // Y work position + { "pos","posz",_f0, 3, cm_print_pos, cm_get_pos, set_ro, (float *)&cs.null, 0 }, // Z work position + { "pos","posa",_f0, 3, cm_print_pos, cm_get_pos, set_ro, (float *)&cs.null, 0 }, // A work position + { "pos","posb",_f0, 3, cm_print_pos, cm_get_pos, set_ro, (float *)&cs.null, 0 }, // B work position + { "pos","posc",_f0, 3, cm_print_pos, cm_get_pos, set_ro, (float *)&cs.null, 0 }, // C work position { "ofs","ofsx",_f0, 3, cm_print_ofs, cm_get_ofs, set_ro, (float *)&cs.null, 0 }, // X work offset { "ofs","ofsy",_f0, 3, cm_print_ofs, cm_get_ofs, set_ro, (float *)&cs.null, 0 }, // Y work offset @@ -199,8 +200,8 @@ const cfgItem_t cfgArray[] = { { "1","1ma",_fip, 0, st_print_ma, st_get_ma, st_set_ma, (float *)&cs.null, M1_MOTOR_MAP }, { "1","1sa",_fip, 3, st_print_sa, st_get_sa, st_set_sa, (float *)&cs.null, M1_STEP_ANGLE }, { "1","1tr",_fipc,4, st_print_tr, st_get_tr, st_set_tr, (float *)&cs.null, M1_TRAVEL_PER_REV }, - { "1","1mi",_fip, 0, st_print_mi, st_get_mi, st_set_mi, (float *)&cs.null, M1_MICROSTEPS }, { "1","1su",_fipi,5, st_print_su, st_get_su, st_set_su, (float *)&cs.null, M1_STEPS_PER_UNIT }, + { "1","1mi",_fip, 0, st_print_mi, st_get_mi, st_set_mi, (float *)&cs.null, M1_MICROSTEPS }, { "1","1po",_fip, 0, st_print_po, st_get_po, st_set_po, (float *)&cs.null, M1_POLARITY }, { "1","1pm",_fip, 0, st_print_pm, st_get_pm, st_set_pm, (float *)&cs.null, M1_POWER_MODE }, { "1","1pl",_fip, 3, st_print_pl, st_get_pl, st_set_pl, (float *)&cs.null, M1_POWER_LEVEL }, @@ -210,8 +211,8 @@ const cfgItem_t cfgArray[] = { { "2","2ma",_fip, 0, st_print_ma, st_get_ma, st_set_ma, (float *)&cs.null, M2_MOTOR_MAP }, { "2","2sa",_fip, 3, st_print_sa, st_get_sa, st_set_sa, (float *)&cs.null, M2_STEP_ANGLE }, { "2","2tr",_fipc,4, st_print_tr, st_get_tr, st_set_tr, (float *)&cs.null, M2_TRAVEL_PER_REV }, - { "2","2mi",_fip, 0, st_print_mi, st_get_mi, st_set_mi, (float *)&cs.null, M2_MICROSTEPS }, { "2","2su",_fipi,5, st_print_su, st_get_su, st_set_su, (float *)&cs.null, M2_STEPS_PER_UNIT }, + { "2","2mi",_fip, 0, st_print_mi, st_get_mi, st_set_mi, (float *)&cs.null, M2_MICROSTEPS }, { "2","2po",_fip, 0, st_print_po, st_get_po, st_set_po, (float *)&cs.null, M2_POLARITY }, { "2","2pm",_fip, 0, st_print_pm, st_get_pm, st_set_pm, (float *)&cs.null, M2_POWER_MODE }, { "2","2pl",_fip, 3, st_print_pl, st_get_pl, st_set_pl, (float *)&cs.null, M2_POWER_LEVEL}, @@ -222,8 +223,8 @@ const cfgItem_t cfgArray[] = { { "3","3ma",_fip, 0, st_print_ma, st_get_ma, st_set_ma, (float *)&cs.null, M3_MOTOR_MAP }, { "3","3sa",_fip, 3, st_print_sa, st_get_sa, st_set_sa, (float *)&cs.null, M3_STEP_ANGLE }, { "3","3tr",_fipc,4, st_print_tr, st_get_tr, st_set_tr, (float *)&cs.null, M3_TRAVEL_PER_REV }, - { "3","3mi",_fip, 0, st_print_mi, st_get_mi, st_set_mi, (float *)&cs.null, M3_MICROSTEPS }, { "3","3su",_fipi,5, st_print_su, st_get_su, st_set_su, (float *)&cs.null, M3_STEPS_PER_UNIT }, + { "3","3mi",_fip, 0, st_print_mi, st_get_mi, st_set_mi, (float *)&cs.null, M3_MICROSTEPS }, { "3","3po",_fip, 0, st_print_po, st_get_po, st_set_po, (float *)&cs.null, M3_POLARITY }, { "3","3pm",_fip, 0, st_print_pm, st_get_pm, st_set_pm, (float *)&cs.null, M3_POWER_MODE }, { "3","3pl",_fip, 3, st_print_pl, st_get_pl, st_set_pl, (float *)&cs.null, M3_POWER_LEVEL }, @@ -234,8 +235,8 @@ const cfgItem_t cfgArray[] = { { "4","4ma",_fip, 0, st_print_ma, st_get_ma, st_set_ma, (float *)&cs.null, M4_MOTOR_MAP }, { "4","4sa",_fip, 3, st_print_sa, st_get_sa, st_set_sa, (float *)&cs.null, M4_STEP_ANGLE }, { "4","4tr",_fipc,4, st_print_tr, st_get_tr, st_set_tr, (float *)&cs.null, M4_TRAVEL_PER_REV }, - { "4","4mi",_fip, 0, st_print_mi, st_get_mi, st_set_mi, (float *)&cs.null, M4_MICROSTEPS }, { "4","4su",_fipi,5, st_print_su, st_get_su, st_set_su, (float *)&cs.null, M4_STEPS_PER_UNIT }, + { "4","4mi",_fip, 0, st_print_mi, st_get_mi, st_set_mi, (float *)&cs.null, M4_MICROSTEPS }, { "4","4po",_fip, 0, st_print_po, st_get_po, st_set_po, (float *)&cs.null, M4_POLARITY }, { "4","4pm",_fip, 0, st_print_pm, st_get_pm, st_set_pm, (float *)&cs.null, M4_POWER_MODE }, { "4","4pl",_fip, 3, st_print_pl, st_get_pl, st_set_pl, (float *)&cs.null, M4_POWER_LEVEL }, @@ -246,8 +247,8 @@ const cfgItem_t cfgArray[] = { { "5","5ma",_fip, 0, st_print_ma, st_get_ma, st_set_ma, (float *)&cs.null, M5_MOTOR_MAP }, { "5","5sa",_fip, 3, st_print_sa, st_get_sa, st_set_sa, (float *)&cs.null, M5_STEP_ANGLE }, { "5","5tr",_fipc,4, st_print_tr, st_get_tr, st_set_tr, (float *)&cs.null, M5_TRAVEL_PER_REV }, - { "5","5mi",_fip, 0, st_print_mi, st_get_mi, st_set_mi, (float *)&cs.null, M5_MICROSTEPS }, { "5","5su",_fipi,5, st_print_su, st_get_su, st_set_su, (float *)&cs.null, M5_STEPS_PER_UNIT }, + { "5","5mi",_fip, 0, st_print_mi, st_get_mi, st_set_mi, (float *)&cs.null, M5_MICROSTEPS }, { "5","5po",_fip, 0, st_print_po, st_get_po, st_set_po, (float *)&cs.null, M5_POLARITY }, { "5","5pm",_fip, 0, st_print_pm, st_get_pm, st_set_pm, (float *)&cs.null, M5_POWER_MODE }, { "5","5pl",_fip, 3, st_print_pl, st_get_pl, st_set_pl, (float *)&cs.null, M5_POWER_LEVEL }, @@ -258,8 +259,8 @@ const cfgItem_t cfgArray[] = { { "6","6ma",_fip, 0, st_print_ma, st_get_ma, st_set_ma, (float *)&cs.null, M6_MOTOR_MAP }, { "6","6sa",_fip, 3, st_print_sa, st_get_sa, st_set_sa, (float *)&cs.null, M6_STEP_ANGLE }, { "6","6tr",_fipc,4, st_print_tr, st_get_tr, st_set_tr, (float *)&cs.null, M6_TRAVEL_PER_REV }, - { "6","6mi",_fip, 0, st_print_mi, st_get_mi, st_set_mi, (float *)&cs.null, M6_MICROSTEPS }, { "6","6su",_fipi,5, st_print_su, st_get_su, st_set_su, (float *)&cs.null, M6_STEPS_PER_UNIT }, + { "6","6mi",_fip, 0, st_print_mi, st_get_mi, st_set_mi, (float *)&cs.null, M6_MICROSTEPS }, { "6","6po",_fip, 0, st_print_po, st_get_po, st_set_po, (float *)&cs.null, M6_POLARITY }, { "6","6pm",_fip, 0, st_print_pm, st_get_pm, st_set_pm, (float *)&cs.null, M6_POWER_MODE }, { "6","6pl",_fip, 3, st_print_pl, st_get_pl, st_set_pl, (float *)&cs.null, M6_POWER_LEVEL }, @@ -310,49 +311,49 @@ const cfgItem_t cfgArray[] = { { "z","zzb",_fipc, 3, cm_print_zb, cm_get_lb, cm_set_zb, (float *)&cs.null, Z_ZERO_BACKOFF }, { "a","aam",_fip, 0, cm_print_am, cm_get_am, cm_set_am, (float *)&cs.null, A_AXIS_MODE }, - { "a","avm",_fip, 0, cm_print_vm, cm_get_vm, cm_set_vm, (float *)&cs.null, A_VELOCITY_MAX }, - { "a","afr",_fip, 0, cm_print_fr, cm_get_fr, cm_set_fr, (float *)&cs.null, A_FEEDRATE_MAX }, - { "a","atn",_fip, 3, cm_print_tn, cm_get_tn, cm_set_tn, (float *)&cs.null, A_TRAVEL_MIN }, - { "a","atm",_fip, 3, cm_print_tm, cm_get_tm, cm_set_tm, (float *)&cs.null, A_TRAVEL_MAX }, - { "a","ajm",_fip, 0, cm_print_jm, cm_get_jm, cm_set_jm, (float *)&cs.null, A_JERK_MAX }, - { "a","ajh",_fip, 0, cm_print_jh, cm_get_jh, cm_set_jh, (float *)&cs.null, A_JERK_HIGH_SPEED }, + { "a","avm",_fipc, 0, cm_print_vm, cm_get_vm, cm_set_vm, (float *)&cs.null, A_VELOCITY_MAX }, + { "a","afr",_fipc, 0, cm_print_fr, cm_get_fr, cm_set_fr, (float *)&cs.null, A_FEEDRATE_MAX }, + { "a","atn",_fipc, 3, cm_print_tn, cm_get_tn, cm_set_tn, (float *)&cs.null, A_TRAVEL_MIN }, + { "a","atm",_fipc, 3, cm_print_tm, cm_get_tm, cm_set_tm, (float *)&cs.null, A_TRAVEL_MAX }, + { "a","ajm",_fipc, 0, cm_print_jm, cm_get_jm, cm_set_jm, (float *)&cs.null, A_JERK_MAX }, + { "a","ajh",_fipc, 0, cm_print_jh, cm_get_jh, cm_set_jh, (float *)&cs.null, A_JERK_HIGH_SPEED }, { "a","ara",_fipc, 3, cm_print_ra, cm_get_ra, cm_set_ra, (float *)&cs.null, A_RADIUS}, { "a","ahi",_fip, 0, cm_print_hi, cm_get_hi, cm_set_hi, (float *)&cs.null, A_HOMING_INPUT }, { "a","ahd",_fip, 0, cm_print_hd, cm_get_hd, cm_set_hd, (float *)&cs.null, A_HOMING_DIRECTION }, - { "a","asv",_fip, 0, cm_print_sv, cm_get_sv, cm_set_sv, (float *)&cs.null, A_SEARCH_VELOCITY }, - { "a","alv",_fip, 2, cm_print_lv, cm_get_lv, cm_set_lv, (float *)&cs.null, A_LATCH_VELOCITY }, - { "a","alb",_fip, 3, cm_print_lb, cm_get_lb, cm_set_lb, (float *)&cs.null, A_LATCH_BACKOFF }, - { "a","azb",_fip, 3, cm_print_zb, cm_get_zb, cm_set_zb, (float *)&cs.null, A_ZERO_BACKOFF }, + { "a","asv",_fipc, 0, cm_print_sv, cm_get_sv, cm_set_sv, (float *)&cs.null, A_SEARCH_VELOCITY }, + { "a","alv",_fipc, 2, cm_print_lv, cm_get_lv, cm_set_lv, (float *)&cs.null, A_LATCH_VELOCITY }, + { "a","alb",_fipc, 3, cm_print_lb, cm_get_lb, cm_set_lb, (float *)&cs.null, A_LATCH_BACKOFF }, + { "a","azb",_fipc, 3, cm_print_zb, cm_get_zb, cm_set_zb, (float *)&cs.null, A_ZERO_BACKOFF }, { "b","bam",_fip, 0, cm_print_am, cm_get_am, cm_set_am, (float *)&cs.null, B_AXIS_MODE }, - { "b","bvm",_fip, 0, cm_print_vm, cm_get_vm, cm_set_vm, (float *)&cs.null, B_VELOCITY_MAX }, - { "b","bfr",_fip, 0, cm_print_fr, cm_get_fr, cm_set_fr, (float *)&cs.null, B_FEEDRATE_MAX }, - { "b","btn",_fip, 3, cm_print_tn, cm_get_tn, cm_set_tn, (float *)&cs.null, B_TRAVEL_MIN }, - { "b","btm",_fip, 3, cm_print_tm, cm_get_tm, cm_set_tm, (float *)&cs.null, B_TRAVEL_MAX }, - { "b","bjm",_fip, 0, cm_print_jm, cm_get_jm, cm_set_jm, (float *)&cs.null, B_JERK_MAX }, - { "b","bjh",_fip, 0, cm_print_jh, cm_get_jh, cm_set_jh, (float *)&cs.null, B_JERK_HIGH_SPEED }, + { "b","bvm",_fipc, 0, cm_print_vm, cm_get_vm, cm_set_vm, (float *)&cs.null, B_VELOCITY_MAX }, + { "b","bfr",_fipc, 0, cm_print_fr, cm_get_fr, cm_set_fr, (float *)&cs.null, B_FEEDRATE_MAX }, + { "b","btn",_fipc, 3, cm_print_tn, cm_get_tn, cm_set_tn, (float *)&cs.null, B_TRAVEL_MIN }, + { "b","btm",_fipc, 3, cm_print_tm, cm_get_tm, cm_set_tm, (float *)&cs.null, B_TRAVEL_MAX }, + { "b","bjm",_fipc, 0, cm_print_jm, cm_get_jm, cm_set_jm, (float *)&cs.null, B_JERK_MAX }, + { "b","bjh",_fipc, 0, cm_print_jh, cm_get_jh, cm_set_jh, (float *)&cs.null, B_JERK_HIGH_SPEED }, { "b","bra",_fipc, 3, cm_print_ra, cm_get_ra, cm_set_ra, (float *)&cs.null, B_RADIUS }, { "b","bhi",_fip, 0, cm_print_hi, cm_get_hi, cm_set_hi, (float *)&cs.null, B_HOMING_INPUT }, { "b","bhd",_fip, 0, cm_print_hd, cm_get_hd, cm_set_hd, (float *)&cs.null, B_HOMING_DIRECTION }, - { "b","bsv",_fip, 0, cm_print_sv, cm_get_sv, cm_set_sv, (float *)&cs.null, B_SEARCH_VELOCITY }, - { "b","blv",_fip, 2, cm_print_lv, cm_get_lv, cm_set_lv, (float *)&cs.null, B_LATCH_VELOCITY }, - { "b","blb",_fip, 3, cm_print_lb, cm_get_lb, cm_set_lb, (float *)&cs.null, B_LATCH_BACKOFF }, - { "b","bzb",_fip, 3, cm_print_zb, cm_get_zb, cm_set_zb, (float *)&cs.null, B_ZERO_BACKOFF }, + { "b","bsv",_fipc, 0, cm_print_sv, cm_get_sv, cm_set_sv, (float *)&cs.null, B_SEARCH_VELOCITY }, + { "b","blv",_fipc, 2, cm_print_lv, cm_get_lv, cm_set_lv, (float *)&cs.null, B_LATCH_VELOCITY }, + { "b","blb",_fipc, 3, cm_print_lb, cm_get_lb, cm_set_lb, (float *)&cs.null, B_LATCH_BACKOFF }, + { "b","bzb",_fipc, 3, cm_print_zb, cm_get_zb, cm_set_zb, (float *)&cs.null, B_ZERO_BACKOFF }, { "c","cam",_fip, 0, cm_print_am, cm_get_am, cm_set_am, (float *)&cs.null, C_AXIS_MODE }, - { "c","cvm",_fip, 0, cm_print_vm, cm_get_vm, cm_set_vm, (float *)&cs.null, C_VELOCITY_MAX }, - { "c","cfr",_fip, 0, cm_print_fr, cm_get_fr, cm_set_fr, (float *)&cs.null, C_FEEDRATE_MAX }, - { "c","ctn",_fip, 3, cm_print_tn, cm_get_tn, cm_set_tn, (float *)&cs.null, C_TRAVEL_MIN }, - { "c","ctm",_fip, 3, cm_print_tm, cm_get_tm, cm_set_tm, (float *)&cs.null, C_TRAVEL_MAX }, - { "c","cjm",_fip, 0, cm_print_jm, cm_get_jm, cm_set_jm, (float *)&cs.null, C_JERK_MAX }, - { "c","cjh",_fip, 0, cm_print_jh, cm_get_jh, cm_set_jh, (float *)&cs.null, C_JERK_HIGH_SPEED }, + { "c","cvm",_fipc, 0, cm_print_vm, cm_get_vm, cm_set_vm, (float *)&cs.null, C_VELOCITY_MAX }, + { "c","cfr",_fipc, 0, cm_print_fr, cm_get_fr, cm_set_fr, (float *)&cs.null, C_FEEDRATE_MAX }, + { "c","ctn",_fipc, 3, cm_print_tn, cm_get_tn, cm_set_tn, (float *)&cs.null, C_TRAVEL_MIN }, + { "c","ctm",_fipc, 3, cm_print_tm, cm_get_tm, cm_set_tm, (float *)&cs.null, C_TRAVEL_MAX }, + { "c","cjm",_fipc, 0, cm_print_jm, cm_get_jm, cm_set_jm, (float *)&cs.null, C_JERK_MAX }, + { "c","cjh",_fipc, 0, cm_print_jh, cm_get_jh, cm_set_jh, (float *)&cs.null, C_JERK_HIGH_SPEED }, { "c","cra",_fipc, 3, cm_print_ra, cm_get_ra, cm_set_ra, (float *)&cs.null, C_RADIUS }, { "c","chi",_fip, 0, cm_print_hi, cm_get_hi, cm_set_hi, (float *)&cs.null, C_HOMING_INPUT }, { "c","chd",_fip, 0, cm_print_hd, cm_get_hd, cm_set_hd, (float *)&cs.null, C_HOMING_DIRECTION }, - { "c","csv",_fip, 0, cm_print_sv, cm_get_sv, cm_set_sv, (float *)&cs.null, C_SEARCH_VELOCITY }, - { "c","clv",_fip, 2, cm_print_lv, cm_get_lv, cm_set_lv, (float *)&cs.null, C_LATCH_VELOCITY }, - { "c","clb",_fip, 3, cm_print_lb, cm_get_lb, cm_set_lb, (float *)&cs.null, C_LATCH_BACKOFF }, - { "c","czb",_fip, 3, cm_print_zb, cm_get_zb, cm_set_zb, (float *)&cs.null, C_ZERO_BACKOFF }, + { "c","csv",_fipc, 0, cm_print_sv, cm_get_sv, cm_set_sv, (float *)&cs.null, C_SEARCH_VELOCITY }, + { "c","clv",_fipc, 2, cm_print_lv, cm_get_lv, cm_set_lv, (float *)&cs.null, C_LATCH_VELOCITY }, + { "c","clb",_fipc, 3, cm_print_lb, cm_get_lb, cm_set_lb, (float *)&cs.null, C_LATCH_BACKOFF }, + { "c","czb",_fipc, 3, cm_print_zb, cm_get_zb, cm_set_zb, (float *)&cs.null, C_ZERO_BACKOFF }, // Digital input configs { "di1","di1mo",_fip, 0, io_print_mo, get_int8,io_set_mo, (float *)&d_in[0].mode, DI1_MODE }, @@ -472,17 +473,17 @@ const cfgItem_t cfgArray[] = { // temperature configs - pid active values (read-only) // NOTICE: If you change these PID group keys, you MUST change the get/set functions too!! - { "pid1","pid1p",_f0, 3, tx_print_nul, cm_get_pid_p, set_ro, (float *)&cs.null, 0 }, - { "pid1","pid1i",_f0, 5, tx_print_nul, cm_get_pid_i, set_ro, (float *)&cs.null, 0 }, - { "pid1","pid1d",_f0, 5, tx_print_nul, cm_get_pid_d, set_ro, (float *)&cs.null, 0 }, + { "pid1","pid1p",_fiz, 3, tx_print_nul, cm_get_pid_p, set_ro, (float *)&cs.null, 0 }, + { "pid1","pid1i",_fiz, 5, tx_print_nul, cm_get_pid_i, set_ro, (float *)&cs.null, 0 }, + { "pid1","pid1d",_fiz, 5, tx_print_nul, cm_get_pid_d, set_ro, (float *)&cs.null, 0 }, - { "pid2","pid2p",_f0, 3, tx_print_nul, cm_get_pid_p, set_ro, (float *)&cs.null, 0 }, - { "pid2","pid2i",_f0, 5, tx_print_nul, cm_get_pid_i, set_ro, (float *)&cs.null, 0 }, - { "pid2","pid2d",_f0, 5, tx_print_nul, cm_get_pid_d, set_ro, (float *)&cs.null, 0 }, + { "pid2","pid2p",_fiz, 3, tx_print_nul, cm_get_pid_p, set_ro, (float *)&cs.null, 0 }, + { "pid2","pid2i",_fiz, 5, tx_print_nul, cm_get_pid_i, set_ro, (float *)&cs.null, 0 }, + { "pid2","pid2d",_fiz, 5, tx_print_nul, cm_get_pid_d, set_ro, (float *)&cs.null, 0 }, - { "pid3","pid3p",_f0, 3, tx_print_nul, cm_get_pid_p, set_ro, (float *)&cs.null, 0 }, - { "pid3","pid3i",_f0, 5, tx_print_nul, cm_get_pid_i, set_ro, (float *)&cs.null, 0 }, - { "pid3","pid3d",_f0, 5, tx_print_nul, cm_get_pid_d, set_ro, (float *)&cs.null, 0 }, + { "pid3","pid3p",_fiz, 3, tx_print_nul, cm_get_pid_p, set_ro, (float *)&cs.null, 0 }, + { "pid3","pid3i",_fiz, 5, tx_print_nul, cm_get_pid_i, set_ro, (float *)&cs.null, 0 }, + { "pid3","pid3d",_fiz, 5, tx_print_nul, cm_get_pid_d, set_ro, (float *)&cs.null, 0 }, // temperature configs - heater set values (read-write) // NOTICE: If you change these heater group keys, you MUST change the get/set functions too!! @@ -490,359 +491,343 @@ const cfgItem_t cfgArray[] = { { "he1","he1p", _fi, 3, tx_print_nul, cm_get_heater_p, cm_set_heater_p, (float *)&cs.null, H1_DEFAULT_P }, { "he1","he1i", _fi, 5, tx_print_nul, cm_get_heater_i, cm_set_heater_i, (float *)&cs.null, H1_DEFAULT_I }, { "he1","he1d", _fi, 5, tx_print_nul, cm_get_heater_d, cm_set_heater_d, (float *)&cs.null, H1_DEFAULT_D }, - { "he1","he1st",_f0, 1, tx_print_nul, cm_get_set_temperature, cm_set_set_temperature, (float *)&cs.null, 0 }, - { "he1","he1t", _f0, 1, tx_print_nul, cm_get_temperature, set_ro, (float *)&cs.null, 0 }, - { "he1","he1op",_f0, 3, tx_print_nul, cm_get_heater_output, set_ro, (float *)&cs.null, 0 }, - { "he1","he1tr",_f0, 3, tx_print_nul, cm_get_thermistor_resistance, set_ro, (float *)&cs.null, 0 }, - { "he1","he1at",_f0, 0, tx_print_nul, cm_get_at_temperature, set_ro, (float *)&cs.null, 0 }, - { "he1","he1an",_f0, 0, tx_print_nul, cm_get_heater_adc, set_ro, (float *)&cs.null, 0 }, - { "he1","he1fp",_f0, 1, tx_print_nul, cm_get_fan_power, cm_set_fan_power, (float *)&cs.null, 0 }, - { "he1","he1fm",_f0, 1, tx_print_nul, cm_get_fan_min_power, cm_set_fan_min_power, (float *)&cs.null, 0 }, - { "he1","he1fl",_f0, 1, tx_print_nul, cm_get_fan_low_temp, cm_set_fan_low_temp, (float *)&cs.null, 0 }, - { "he1","he1fh",_f0, 1, tx_print_nul, cm_get_fan_high_temp, cm_set_fan_high_temp, (float *)&cs.null, 0 }, + { "he1","he1st",_fiz, 1, tx_print_nul, cm_get_set_temperature, cm_set_set_temperature, (float *)&cs.null, 0 }, + { "he1","he1t", _fiz, 1, tx_print_nul, cm_get_temperature, set_ro, (float *)&cs.null, 0 }, + { "he1","he1op",_fiz, 3, tx_print_nul, cm_get_heater_output, set_ro, (float *)&cs.null, 0 }, + { "he1","he1tr",_fiz, 3, tx_print_nul, cm_get_thermistor_resistance, set_ro, (float *)&cs.null, 0 }, + { "he1","he1at",_fiz, 0, tx_print_nul, cm_get_at_temperature, set_ro, (float *)&cs.null, 0 }, + { "he1","he1an",_fiz, 0, tx_print_nul, cm_get_heater_adc, set_ro, (float *)&cs.null, 0 }, + { "he1","he1fp",_fiz, 1, tx_print_nul, cm_get_fan_power, cm_set_fan_power, (float *)&cs.null, 0 }, + { "he1","he1fm",_fiz, 1, tx_print_nul, cm_get_fan_min_power, cm_set_fan_min_power, (float *)&cs.null, 0 }, + { "he1","he1fl",_fiz, 1, tx_print_nul, cm_get_fan_low_temp, cm_set_fan_low_temp, (float *)&cs.null, 0 }, + { "he1","he1fh",_fiz, 1, tx_print_nul, cm_get_fan_high_temp, cm_set_fan_high_temp, (float *)&cs.null, 0 }, { "he2","he2e", _fip, 0, tx_print_nul, cm_get_heater_enable, cm_set_heater_enable, (float *)&cs.null, H2_DEFAULT_ENABLE }, { "he2","he2p", _fi, 3, tx_print_nul, cm_get_heater_p, cm_set_heater_p, (float *)&cs.null, H2_DEFAULT_P }, { "he2","he2i", _fi, 5, tx_print_nul, cm_get_heater_i, cm_set_heater_i, (float *)&cs.null, H2_DEFAULT_I }, { "he2","he2d", _fi, 5, tx_print_nul, cm_get_heater_d, cm_set_heater_d, (float *)&cs.null, H2_DEFAULT_D }, - { "he2","he2st",_f0, 0, tx_print_nul, cm_get_set_temperature, cm_set_set_temperature, (float *)&cs.null, 0 }, - { "he2","he2t", _f0, 1, tx_print_nul, cm_get_temperature, set_ro, (float *)&cs.null, 0 }, - { "he2","he2op",_f0, 3, tx_print_nul, cm_get_heater_output, set_ro, (float *)&cs.null, 0 }, - { "he2","he2tr",_f0, 3, tx_print_nul, cm_get_thermistor_resistance, set_ro, (float *)&cs.null, 0 }, - { "he2","he2at",_f0, 0, tx_print_nul, cm_get_at_temperature, set_ro, (float *)&cs.null, 0 }, - { "he2","he2an",_f0, 0, tx_print_nul, cm_get_heater_adc, set_ro, (float *)&cs.null, 0 }, - { "he2","he2fp",_f0, 1, tx_print_nul, cm_get_fan_power, cm_set_fan_power, (float *)&cs.null, 0 }, - { "he2","he2fm",_f0, 1, tx_print_nul, cm_get_fan_min_power, cm_set_fan_min_power, (float *)&cs.null, 0 }, - { "he2","he2fl",_f0, 1, tx_print_nul, cm_get_fan_low_temp, cm_set_fan_low_temp, (float *)&cs.null, 0 }, - { "he2","he2fh",_f0, 1, tx_print_nul, cm_get_fan_high_temp, cm_set_fan_high_temp, (float *)&cs.null, 0 }, + { "he2","he2st",_fiz, 0, tx_print_nul, cm_get_set_temperature, cm_set_set_temperature, (float *)&cs.null, 0 }, + { "he2","he2t", _fiz, 1, tx_print_nul, cm_get_temperature, set_ro, (float *)&cs.null, 0 }, + { "he2","he2op",_fiz, 3, tx_print_nul, cm_get_heater_output, set_ro, (float *)&cs.null, 0 }, + { "he2","he2tr",_fiz, 3, tx_print_nul, cm_get_thermistor_resistance, set_ro, (float *)&cs.null, 0 }, + { "he2","he2at",_fiz, 0, tx_print_nul, cm_get_at_temperature, set_ro, (float *)&cs.null, 0 }, + { "he2","he2an",_fiz, 0, tx_print_nul, cm_get_heater_adc, set_ro, (float *)&cs.null, 0 }, + { "he2","he2fp",_fiz, 1, tx_print_nul, cm_get_fan_power, cm_set_fan_power, (float *)&cs.null, 0 }, + { "he2","he2fm",_fiz, 1, tx_print_nul, cm_get_fan_min_power, cm_set_fan_min_power, (float *)&cs.null, 0 }, + { "he2","he2fl",_fiz, 1, tx_print_nul, cm_get_fan_low_temp, cm_set_fan_low_temp, (float *)&cs.null, 0 }, + { "he2","he2fh",_fiz, 1, tx_print_nul, cm_get_fan_high_temp, cm_set_fan_high_temp, (float *)&cs.null, 0 }, { "he3","he3e", _fip, 0, tx_print_nul, cm_get_heater_enable, cm_set_heater_enable, (float *)&cs.null, H3_DEFAULT_ENABLE }, { "he3","he3p", _fi, 3, tx_print_nul, cm_get_heater_p, cm_set_heater_p, (float *)&cs.null, H3_DEFAULT_P }, { "he3","he3i", _fi, 5, tx_print_nul, cm_get_heater_i, cm_set_heater_i, (float *)&cs.null, H3_DEFAULT_I }, { "he3","he3d", _fi, 5, tx_print_nul, cm_get_heater_d, cm_set_heater_d, (float *)&cs.null, H3_DEFAULT_D }, - { "he3","he3st",_f0, 0, tx_print_nul, cm_get_set_temperature, cm_set_set_temperature, (float *)&cs.null, 0 }, - { "he3","he3t", _f0, 1, tx_print_nul, cm_get_temperature, set_ro, (float *)&cs.null, 0 }, - { "he3","he3op",_f0, 3, tx_print_nul, cm_get_heater_output, set_ro, (float *)&cs.null, 0 }, - { "he3","he3tr",_f0, 3, tx_print_nul, cm_get_thermistor_resistance, set_ro, (float *)&cs.null, 0 }, - { "he3","he3at",_f0, 0, tx_print_nul, cm_get_at_temperature, set_ro, (float *)&cs.null, 0 }, - { "he3","he3an",_f0, 0, tx_print_nul, cm_get_heater_adc, set_ro, (float *)&cs.null, 0 }, - { "he3","he3fp",_f0, 1, tx_print_nul, cm_get_fan_power, cm_set_fan_power, (float *)&cs.null, 0 }, - { "he3","he3fm",_f0, 1, tx_print_nul, cm_get_fan_min_power, cm_set_fan_min_power, (float *)&cs.null, 0 }, - { "he3","he3fl",_f0, 1, tx_print_nul, cm_get_fan_low_temp, cm_set_fan_low_temp, (float *)&cs.null, 0 }, - { "he3","he3fh",_f0, 1, tx_print_nul, cm_get_fan_high_temp, cm_set_fan_high_temp, (float *)&cs.null, 0 }, + { "he3","he3st",_fiz, 0, tx_print_nul, cm_get_set_temperature, cm_set_set_temperature, (float *)&cs.null, 0 }, + { "he3","he3t", _fiz, 1, tx_print_nul, cm_get_temperature, set_ro, (float *)&cs.null, 0 }, + { "he3","he3op",_fiz, 3, tx_print_nul, cm_get_heater_output, set_ro, (float *)&cs.null, 0 }, + { "he3","he3tr",_fiz, 3, tx_print_nul, cm_get_thermistor_resistance, set_ro, (float *)&cs.null, 0 }, + { "he3","he3at",_fiz, 0, tx_print_nul, cm_get_at_temperature, set_ro, (float *)&cs.null, 0 }, + { "he3","he3an",_fiz, 0, tx_print_nul, cm_get_heater_adc, set_ro, (float *)&cs.null, 0 }, + { "he3","he3fp",_fiz, 1, tx_print_nul, cm_get_fan_power, cm_set_fan_power, (float *)&cs.null, 0 }, + { "he3","he3fm",_fiz, 1, tx_print_nul, cm_get_fan_min_power, cm_set_fan_min_power, (float *)&cs.null, 0 }, + { "he3","he3fl",_fiz, 1, tx_print_nul, cm_get_fan_low_temp, cm_set_fan_low_temp, (float *)&cs.null, 0 }, + { "he3","he3fh",_fiz, 1, tx_print_nul, cm_get_fan_high_temp, cm_set_fan_high_temp, (float *)&cs.null, 0 }, // Coordinate system offsets (G54-G59 and G92) { "g54","g54x",_fipc, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G54_X_OFFSET }, { "g54","g54y",_fipc, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G54_Y_OFFSET }, { "g54","g54z",_fipc, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G54_Z_OFFSET }, - { "g54","g54a",_fip, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G54_A_OFFSET }, - { "g54","g54b",_fip, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G54_B_OFFSET }, - { "g54","g54c",_fip, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G54_C_OFFSET }, + { "g54","g54a",_fipc, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G54_A_OFFSET }, + { "g54","g54b",_fipc, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G54_B_OFFSET }, + { "g54","g54c",_fipc, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G54_C_OFFSET }, { "g55","g55x",_fipc, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G55_X_OFFSET }, { "g55","g55y",_fipc, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G55_Y_OFFSET }, { "g55","g55z",_fipc, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G55_Z_OFFSET }, - { "g55","g55a",_fip, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G55_A_OFFSET }, - { "g55","g55b",_fip, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G55_B_OFFSET }, - { "g55","g55c",_fip, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G55_C_OFFSET }, + { "g55","g55a",_fipc, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G55_A_OFFSET }, + { "g55","g55b",_fipc, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G55_B_OFFSET }, + { "g55","g55c",_fipc, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G55_C_OFFSET }, { "g56","g56x",_fipc, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G56_X_OFFSET }, { "g56","g56y",_fipc, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G56_Y_OFFSET }, { "g56","g56z",_fipc, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G56_Z_OFFSET }, - { "g56","g56a",_fip, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G56_A_OFFSET }, - { "g56","g56b",_fip, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G56_B_OFFSET }, - { "g56","g56c",_fip, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G56_C_OFFSET }, + { "g56","g56a",_fipc, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G56_A_OFFSET }, + { "g56","g56b",_fipc, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G56_B_OFFSET }, + { "g56","g56c",_fipc, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G56_C_OFFSET }, { "g57","g57x",_fipc, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G57_X_OFFSET }, { "g57","g57y",_fipc, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G57_Y_OFFSET }, { "g57","g57z",_fipc, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G57_Z_OFFSET }, - { "g57","g57a",_fip, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G57_A_OFFSET }, - { "g57","g57b",_fip, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G57_B_OFFSET }, - { "g57","g57c",_fip, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G57_C_OFFSET }, + { "g57","g57a",_fipc, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G57_A_OFFSET }, + { "g57","g57b",_fipc, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G57_B_OFFSET }, + { "g57","g57c",_fipc, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G57_C_OFFSET }, { "g58","g58x",_fipc, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G58_X_OFFSET }, { "g58","g58y",_fipc, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G58_Y_OFFSET }, { "g58","g58z",_fipc, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G58_Z_OFFSET }, - { "g58","g58a",_fip, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G58_A_OFFSET }, - { "g58","g58b",_fip, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G58_B_OFFSET }, - { "g58","g58c",_fip, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G58_C_OFFSET }, + { "g58","g58a",_fipc, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G58_A_OFFSET }, + { "g58","g58b",_fipc, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G58_B_OFFSET }, + { "g58","g58c",_fipc, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G58_C_OFFSET }, { "g59","g59x",_fipc, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G59_X_OFFSET }, { "g59","g59y",_fipc, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G59_Y_OFFSET }, { "g59","g59z",_fipc, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G59_Z_OFFSET }, - { "g59","g59a",_fip, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G59_A_OFFSET }, - { "g59","g59b",_fip, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G59_B_OFFSET }, - { "g59","g59c",_fip, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G59_C_OFFSET }, + { "g59","g59a",_fipc, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G59_A_OFFSET }, + { "g59","g59b",_fipc, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G59_B_OFFSET }, + { "g59","g59c",_fipc, 3, cm_print_cofs, cm_get_coord, cm_set_coord, (float *)&cs.null, G59_C_OFFSET }, - { "g92","g92x",_fic, 3, cm_print_cofs, cm_get_g92, set_ro, (float *)&cs.null, 0 },// G92 handled differently - { "g92","g92y",_fic, 3, cm_print_cofs, cm_get_g92, set_ro, (float *)&cs.null, 0 }, - { "g92","g92z",_fic, 3, cm_print_cofs, cm_get_g92, set_ro, (float *)&cs.null, 0 }, - { "g92","g92a",_fi, 3, cm_print_cofs, cm_get_g92, set_ro, (float *)&cs.null, 0 }, - { "g92","g92b",_fi, 3, cm_print_cofs, cm_get_g92, set_ro, (float *)&cs.null, 0 }, - { "g92","g92c",_fi, 3, cm_print_cofs, cm_get_g92, set_ro, (float *)&cs.null, 0 }, + { "g92","g92x",_fizc, 3, cm_print_cofs, cm_get_g92, set_ro, (float *)&cs.null, 0 },// G92 handled differently + { "g92","g92y",_fizc, 3, cm_print_cofs, cm_get_g92, set_ro, (float *)&cs.null, 0 }, + { "g92","g92z",_fizc, 3, cm_print_cofs, cm_get_g92, set_ro, (float *)&cs.null, 0 }, + { "g92","g92a",_fizc, 3, cm_print_cofs, cm_get_g92, set_ro, (float *)&cs.null, 0 }, + { "g92","g92b",_fizc, 3, cm_print_cofs, cm_get_g92, set_ro, (float *)&cs.null, 0 }, + { "g92","g92c",_fizc, 3, cm_print_cofs, cm_get_g92, set_ro, (float *)&cs.null, 0 }, // Coordinate positions (G28, G30) - { "g28","g28x",_fic, 3, cm_print_cpos, cm_get_g28, set_ro, (float *)&cs.null, 0 },// g28 handled differently - { "g28","g28y",_fic, 3, cm_print_cpos, cm_get_g28, set_ro, (float *)&cs.null, 0 }, - { "g28","g28z",_fic, 3, cm_print_cpos, cm_get_g28, set_ro, (float *)&cs.null, 0 }, - { "g28","g28a",_fi, 3, cm_print_cpos, cm_get_g28, set_ro, (float *)&cs.null, 0 }, - { "g28","g28b",_fi, 3, cm_print_cpos, cm_get_g28, set_ro, (float *)&cs.null, 0 }, - { "g28","g28c",_fi, 3, cm_print_cpos, cm_get_g28, set_ro, (float *)&cs.null, 0 }, + { "g28","g28x",_fizc, 3, cm_print_cpos, cm_get_g28, set_ro, (float *)&cs.null, 0 },// g28 handled differently + { "g28","g28y",_fizc, 3, cm_print_cpos, cm_get_g28, set_ro, (float *)&cs.null, 0 }, + { "g28","g28z",_fizc, 3, cm_print_cpos, cm_get_g28, set_ro, (float *)&cs.null, 0 }, + { "g28","g28a",_fizc, 3, cm_print_cpos, cm_get_g28, set_ro, (float *)&cs.null, 0 }, + { "g28","g28b",_fizc, 3, cm_print_cpos, cm_get_g28, set_ro, (float *)&cs.null, 0 }, + { "g28","g28c",_fizc, 3, cm_print_cpos, cm_get_g28, set_ro, (float *)&cs.null, 0 }, - { "g30","g30x",_fic, 3, cm_print_cpos, cm_get_g30, set_ro, (float *)&cs.null, 0 },// g30 handled differently - { "g30","g30y",_fic, 3, cm_print_cpos, cm_get_g30, set_ro, (float *)&cs.null, 0 }, - { "g30","g30z",_fic, 3, cm_print_cpos, cm_get_g30, set_ro, (float *)&cs.null, 0 }, - { "g30","g30a",_fi, 3, cm_print_cpos, cm_get_g30, set_ro, (float *)&cs.null, 0 }, - { "g30","g30b",_fi, 3, cm_print_cpos, cm_get_g30, set_ro, (float *)&cs.null, 0 }, - { "g30","g30c",_fi, 3, cm_print_cpos, cm_get_g30, set_ro, (float *)&cs.null, 0 }, + { "g30","g30x",_fizc, 3, cm_print_cpos, cm_get_g30, set_ro, (float *)&cs.null, 0 },// g30 handled differently + { "g30","g30y",_fizc, 3, cm_print_cpos, cm_get_g30, set_ro, (float *)&cs.null, 0 }, + { "g30","g30z",_fizc, 3, cm_print_cpos, cm_get_g30, set_ro, (float *)&cs.null, 0 }, + { "g30","g30a",_fizc, 3, cm_print_cpos, cm_get_g30, set_ro, (float *)&cs.null, 0 }, + { "g30","g30b",_fizc, 3, cm_print_cpos, cm_get_g30, set_ro, (float *)&cs.null, 0 }, + { "g30","g30c",_fizc, 3, cm_print_cpos, cm_get_g30, set_ro, (float *)&cs.null, 0 }, -/* - // Default values for current tool length offsets (not configurable, set to zero) - { "tl","tlx",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm->tl_offset[AXIS_X], 0 }, - { "tl","tly",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm->tl_offset[AXIS_Y], 0 }, - { "tl","tlz",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&cm->tl_offset[AXIS_Z], 0 }, - { "tl","tla",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tl_offset[AXIS_A], 0 }, - { "tl","tlb",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tl_offset[AXIS_B], 0 }, - { "tl","tlc",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&cm.tl_offset[AXIS_C], 0 }, - - { "tl","tlx",_fipc, 3, cm_print_cofs, cm_get_tof, set_flu,(float *)&cm.tl_offset[AXIS_X], 0 }, - { "tl","tly",_fipc, 3, cm_print_cofs, cm_get_tof, set_flu,(float *)&cm.tl_offset[AXIS_Y], 0 }, - { "tl","tlz",_fipc, 3, cm_print_cofs, cm_get_tof, set_flu,(float *)&cm.tl_offset[AXIS_Z], 0 }, - { "tl","tla",_fip, 3, cm_print_cofs, cm_get_tof, set_flt,(float *)&cm.tl_offset[AXIS_A], 0 }, - { "tl","tlb",_fip, 3, cm_print_cofs, cm_get_tof, set_flt,(float *)&cm.tl_offset[AXIS_B], 0 }, - { "tl","tlc",_fip, 3, cm_print_cofs, cm_get_tof, set_flt,(float *)&cm.tl_offset[AXIS_C], 0 }, -*/ + // Tool table offsets { "tof","tofx",_fipc, 3, cm_print_cofs, cm_get_tof, cm_set_tof,(float *)&cs.null, 0 }, { "tof","tofy",_fipc, 3, cm_print_cofs, cm_get_tof, cm_set_tof,(float *)&cs.null, 0 }, { "tof","tofz",_fipc, 3, cm_print_cofs, cm_get_tof, cm_set_tof,(float *)&cs.null, 0 }, - { "tof","tofa",_fip, 3, cm_print_cofs, cm_get_tof, cm_set_tof,(float *)&cs.null, 0 }, - { "tof","tofb",_fip, 3, cm_print_cofs, cm_get_tof, cm_set_tof,(float *)&cs.null, 0 }, - { "tof","tofc",_fip, 3, cm_print_cofs, cm_get_tof, cm_set_tof,(float *)&cs.null, 0 }, + { "tof","tofa",_fipc, 3, cm_print_cofs, cm_get_tof, cm_set_tof,(float *)&cs.null, 0 }, + { "tof","tofb",_fipc, 3, cm_print_cofs, cm_get_tof, cm_set_tof,(float *)&cs.null, 0 }, + { "tof","tofc",_fipc, 3, cm_print_cofs, cm_get_tof, cm_set_tof,(float *)&cs.null, 0 }, - // Tool table offsets { "tt1","tt1x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[1][AXIS_X], TT1_X_OFFSET }, { "tt1","tt1y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[1][AXIS_Y], TT1_Y_OFFSET }, { "tt1","tt1z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[1][AXIS_Z], TT1_Z_OFFSET }, - { "tt1","tt1a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[1][AXIS_A], TT1_A_OFFSET }, - { "tt1","tt1b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[1][AXIS_B], TT1_B_OFFSET }, - { "tt1","tt1c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[1][AXIS_C], TT1_C_OFFSET }, + { "tt1","tt1a",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[1][AXIS_A], TT1_A_OFFSET }, + { "tt1","tt1b",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[1][AXIS_B], TT1_B_OFFSET }, + { "tt1","tt1c",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[1][AXIS_C], TT1_C_OFFSET }, { "tt2","tt2x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[2][AXIS_X], TT2_X_OFFSET }, { "tt2","tt2y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[2][AXIS_Y], TT2_Y_OFFSET }, { "tt2","tt2z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[2][AXIS_Z], TT2_Z_OFFSET }, - { "tt2","tt2a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[2][AXIS_A], TT2_A_OFFSET }, - { "tt2","tt2b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[2][AXIS_B], TT2_B_OFFSET }, - { "tt2","tt2c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[2][AXIS_C], TT2_C_OFFSET }, + { "tt2","tt2a",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[2][AXIS_A], TT2_A_OFFSET }, + { "tt2","tt2b",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[2][AXIS_B], TT2_B_OFFSET }, + { "tt2","tt2c",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[2][AXIS_C], TT2_C_OFFSET }, { "tt3","tt3x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[3][AXIS_X], TT3_X_OFFSET }, { "tt3","tt3y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[3][AXIS_Y], TT3_Y_OFFSET }, { "tt3","tt3z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[3][AXIS_Z], TT3_Z_OFFSET }, - { "tt3","tt3a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[3][AXIS_A], TT3_A_OFFSET }, - { "tt3","tt3b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[3][AXIS_B], TT3_B_OFFSET }, - { "tt3","tt3c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[3][AXIS_C], TT1_C_OFFSET }, + { "tt3","tt3a",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[3][AXIS_A], TT3_A_OFFSET }, + { "tt3","tt3b",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[3][AXIS_B], TT3_B_OFFSET }, + { "tt3","tt3c",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[3][AXIS_C], TT1_C_OFFSET }, { "tt4","tt4x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[4][AXIS_X], TT4_X_OFFSET }, { "tt4","tt4y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[4][AXIS_Y], TT4_Y_OFFSET }, { "tt4","tt4z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[4][AXIS_Z], TT4_Z_OFFSET }, - { "tt4","tt4a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[4][AXIS_A], TT4_A_OFFSET }, - { "tt4","tt4b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[4][AXIS_B], TT4_B_OFFSET }, - { "tt4","tt4c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[4][AXIS_C], TT4_C_OFFSET }, + { "tt4","tt4a",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[4][AXIS_A], TT4_A_OFFSET }, + { "tt4","tt4b",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[4][AXIS_B], TT4_B_OFFSET }, + { "tt4","tt4c",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[4][AXIS_C], TT4_C_OFFSET }, { "tt5","tt5x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[5][AXIS_X], TT5_X_OFFSET }, { "tt5","tt5y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[5][AXIS_Y], TT5_Y_OFFSET }, { "tt5","tt5z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[5][AXIS_Z], TT5_Z_OFFSET }, - { "tt5","tt5a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[5][AXIS_A], TT5_A_OFFSET }, - { "tt5","tt5b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[5][AXIS_B], TT5_B_OFFSET }, - { "tt5","tt5c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[5][AXIS_C], TT5_C_OFFSET }, + { "tt5","tt5a",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[5][AXIS_A], TT5_A_OFFSET }, + { "tt5","tt5b",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[5][AXIS_B], TT5_B_OFFSET }, + { "tt5","tt5c",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[5][AXIS_C], TT5_C_OFFSET }, { "tt6","tt6x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[6][AXIS_X], TT6_X_OFFSET }, { "tt6","tt6y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[6][AXIS_Y], TT6_Y_OFFSET }, { "tt6","tt6z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[6][AXIS_Z], TT6_Z_OFFSET }, - { "tt6","tt6a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[6][AXIS_A], TT6_A_OFFSET }, - { "tt6","tt6b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[6][AXIS_B], TT6_B_OFFSET }, - { "tt6","tt6c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[6][AXIS_C], TT6_C_OFFSET }, + { "tt6","tt6a",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[6][AXIS_A], TT6_A_OFFSET }, + { "tt6","tt6b",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[6][AXIS_B], TT6_B_OFFSET }, + { "tt6","tt6c",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[6][AXIS_C], TT6_C_OFFSET }, { "tt7","tt7x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[7][AXIS_X], TT7_X_OFFSET }, { "tt7","tt7y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[7][AXIS_Y], TT7_Y_OFFSET }, { "tt7","tt7z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[7][AXIS_Z], TT7_Z_OFFSET }, - { "tt7","tt7a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[7][AXIS_A], TT7_A_OFFSET }, - { "tt7","tt7b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[7][AXIS_B], TT7_B_OFFSET }, - { "tt7","tt7c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[7][AXIS_C], TT7_C_OFFSET }, + { "tt7","tt7a",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[7][AXIS_A], TT7_A_OFFSET }, + { "tt7","tt7b",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[7][AXIS_B], TT7_B_OFFSET }, + { "tt7","tt7c",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[7][AXIS_C], TT7_C_OFFSET }, { "tt8","tt8x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[8][AXIS_X], TT8_X_OFFSET }, { "tt8","tt8y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[8][AXIS_Y], TT8_Y_OFFSET }, { "tt8","tt8z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[8][AXIS_Z], TT8_Z_OFFSET }, - { "tt8","tt8a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[8][AXIS_A], TT8_A_OFFSET }, - { "tt8","tt8b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[8][AXIS_B], TT8_B_OFFSET }, - { "tt8","tt8c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[8][AXIS_C], TT8_C_OFFSET }, + { "tt8","tt8a",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[8][AXIS_A], TT8_A_OFFSET }, + { "tt8","tt8b",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[8][AXIS_B], TT8_B_OFFSET }, + { "tt8","tt8c",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[8][AXIS_C], TT8_C_OFFSET }, { "tt9","tt9x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[9][AXIS_X], TT9_X_OFFSET }, { "tt9","tt9y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[9][AXIS_Y], TT9_Y_OFFSET }, { "tt9","tt9z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[9][AXIS_Z], TT9_Z_OFFSET }, - { "tt9","tt9a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[9][AXIS_A], TT9_A_OFFSET }, - { "tt9","tt9b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[9][AXIS_B], TT9_B_OFFSET }, - { "tt9","tt9c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[9][AXIS_C], TT9_C_OFFSET }, + { "tt9","tt9a",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[9][AXIS_A], TT9_A_OFFSET }, + { "tt9","tt9b",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[9][AXIS_B], TT9_B_OFFSET }, + { "tt9","tt9c",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[9][AXIS_C], TT9_C_OFFSET }, { "tt10","tt10x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[10][AXIS_X], TT10_X_OFFSET }, { "tt10","tt10y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[10][AXIS_Y], TT10_Y_OFFSET }, { "tt10","tt10z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[10][AXIS_Z], TT10_Z_OFFSET }, - { "tt10","tt10a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[10][AXIS_A], TT10_A_OFFSET }, - { "tt10","tt10b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[10][AXIS_B], TT10_B_OFFSET }, - { "tt10","tt10c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[10][AXIS_C], TT10_C_OFFSET }, + { "tt10","tt10a",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[10][AXIS_A], TT10_A_OFFSET }, + { "tt10","tt10b",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[10][AXIS_B], TT10_B_OFFSET }, + { "tt10","tt10c",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[10][AXIS_C], TT10_C_OFFSET }, { "tt11","tt11x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[11][AXIS_X], TT11_X_OFFSET }, { "tt11","tt11y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[11][AXIS_Y], TT11_Y_OFFSET }, { "tt11","tt11z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[11][AXIS_Z], TT11_Z_OFFSET }, - { "tt11","tt11a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[11][AXIS_A], TT11_A_OFFSET }, - { "tt11","tt11b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[11][AXIS_B], TT11_B_OFFSET }, - { "tt11","tt11c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[11][AXIS_C], TT11_C_OFFSET }, + { "tt11","tt11a",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[11][AXIS_A], TT11_A_OFFSET }, + { "tt11","tt11b",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[11][AXIS_B], TT11_B_OFFSET }, + { "tt11","tt11c",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[11][AXIS_C], TT11_C_OFFSET }, { "tt12","tt12x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[12][AXIS_X], TT12_X_OFFSET }, { "tt12","tt12y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[12][AXIS_Y], TT12_Y_OFFSET }, { "tt12","tt12z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[12][AXIS_Z], TT12_Z_OFFSET }, - { "tt12","tt12a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[12][AXIS_A], TT12_A_OFFSET }, - { "tt12","tt12b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[12][AXIS_B], TT12_B_OFFSET }, - { "tt12","tt12c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[12][AXIS_C], TT12_C_OFFSET }, + { "tt12","tt12a",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[12][AXIS_A], TT12_A_OFFSET }, + { "tt12","tt12b",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[12][AXIS_B], TT12_B_OFFSET }, + { "tt12","tt12c",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[12][AXIS_C], TT12_C_OFFSET }, { "tt13","tt13x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[13][AXIS_X], TT13_X_OFFSET }, { "tt13","tt13y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[13][AXIS_Y], TT13_Y_OFFSET }, { "tt13","tt13z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[13][AXIS_Z], TT13_Z_OFFSET }, - { "tt13","tt13a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[13][AXIS_A], TT13_A_OFFSET }, - { "tt13","tt13b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[13][AXIS_B], TT13_B_OFFSET }, - { "tt13","tt13c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[13][AXIS_C], TT13_C_OFFSET }, + { "tt13","tt13a",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[13][AXIS_A], TT13_A_OFFSET }, + { "tt13","tt13b",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[13][AXIS_B], TT13_B_OFFSET }, + { "tt13","tt13c",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[13][AXIS_C], TT13_C_OFFSET }, { "tt14","tt14x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[14][AXIS_X], TT14_X_OFFSET }, { "tt14","tt14y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[14][AXIS_Y], TT14_Y_OFFSET }, { "tt14","tt14z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[14][AXIS_Z], TT14_Z_OFFSET }, - { "tt14","tt14a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[14][AXIS_A], TT14_A_OFFSET }, - { "tt14","tt14b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[14][AXIS_B], TT14_B_OFFSET }, - { "tt14","tt14c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[14][AXIS_C], TT14_C_OFFSET }, + { "tt14","tt14a",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[14][AXIS_A], TT14_A_OFFSET }, + { "tt14","tt14b",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[14][AXIS_B], TT14_B_OFFSET }, + { "tt14","tt14c",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[14][AXIS_C], TT14_C_OFFSET }, { "tt15","tt15x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[15][AXIS_X], TT15_X_OFFSET }, { "tt15","tt15y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[15][AXIS_Y], TT15_Y_OFFSET }, { "tt15","tt15z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[15][AXIS_Z], TT15_Z_OFFSET }, - { "tt15","tt15a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[15][AXIS_A], TT15_A_OFFSET }, - { "tt15","tt15b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[15][AXIS_B], TT15_B_OFFSET }, - { "tt15","tt15c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[15][AXIS_C], TT15_C_OFFSET }, + { "tt15","tt15a",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[15][AXIS_A], TT15_A_OFFSET }, + { "tt15","tt15b",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[15][AXIS_B], TT15_B_OFFSET }, + { "tt15","tt15c",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[15][AXIS_C], TT15_C_OFFSET }, { "tt16","tt16x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[16][AXIS_X], TT16_X_OFFSET }, { "tt16","tt16y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[16][AXIS_Y], TT16_Y_OFFSET }, { "tt16","tt16z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[16][AXIS_Z], TT16_Z_OFFSET }, - { "tt16","tt16a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[16][AXIS_A], TT16_A_OFFSET }, - { "tt16","tt16b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[16][AXIS_B], TT16_B_OFFSET }, - { "tt16","tt16c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[16][AXIS_C], TT16_C_OFFSET }, + { "tt16","tt16a",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[16][AXIS_A], TT16_A_OFFSET }, + { "tt16","tt16b",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[16][AXIS_B], TT16_B_OFFSET }, + { "tt16","tt16c",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[16][AXIS_C], TT16_C_OFFSET }, { "tt17","tt17x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[17][AXIS_X], TT17_X_OFFSET }, { "tt17","tt17y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[17][AXIS_Y], TT17_Y_OFFSET }, { "tt17","tt17z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[17][AXIS_Z], TT17_Z_OFFSET }, - { "tt17","tt17a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[17][AXIS_A], TT17_A_OFFSET }, - { "tt17","tt17b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[17][AXIS_B], TT17_B_OFFSET }, - { "tt17","tt17c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[17][AXIS_C], TT17_C_OFFSET }, + { "tt17","tt17a",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[17][AXIS_A], TT17_A_OFFSET }, + { "tt17","tt17b",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[17][AXIS_B], TT17_B_OFFSET }, + { "tt17","tt17c",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[17][AXIS_C], TT17_C_OFFSET }, { "tt18","tt18x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[18][AXIS_X], TT18_X_OFFSET }, { "tt18","tt18y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[18][AXIS_Y], TT18_Y_OFFSET }, { "tt18","tt18z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[18][AXIS_Z], TT18_Z_OFFSET }, - { "tt18","tt18a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[18][AXIS_A], TT18_A_OFFSET }, - { "tt18","tt18b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[18][AXIS_B], TT18_B_OFFSET }, - { "tt18","tt18c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[18][AXIS_C], TT18_C_OFFSET }, + { "tt18","tt18a",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[18][AXIS_A], TT18_A_OFFSET }, + { "tt18","tt18b",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[18][AXIS_B], TT18_B_OFFSET }, + { "tt18","tt18c",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[18][AXIS_C], TT18_C_OFFSET }, { "tt19","tt19x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[19][AXIS_X], TT19_X_OFFSET }, { "tt19","tt19y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[19][AXIS_Y], TT19_Y_OFFSET }, { "tt19","tt19z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[19][AXIS_Z], TT19_Z_OFFSET }, - { "tt19","tt19a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[19][AXIS_A], TT19_A_OFFSET }, - { "tt19","tt19b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[19][AXIS_B], TT19_B_OFFSET }, - { "tt19","tt19c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[19][AXIS_C], TT19_C_OFFSET }, + { "tt19","tt19a",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[19][AXIS_A], TT19_A_OFFSET }, + { "tt19","tt19b",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[19][AXIS_B], TT19_B_OFFSET }, + { "tt19","tt19c",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[19][AXIS_C], TT19_C_OFFSET }, { "tt20","tt20x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[20][AXIS_X], TT20_X_OFFSET }, { "tt20","tt20y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[20][AXIS_Y], TT20_Y_OFFSET }, { "tt20","tt20z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[20][AXIS_Z], TT20_Z_OFFSET }, - { "tt20","tt20a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[20][AXIS_A], TT20_A_OFFSET }, - { "tt20","tt20b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[20][AXIS_B], TT20_B_OFFSET }, - { "tt20","tt20c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[20][AXIS_C], TT20_C_OFFSET }, + { "tt20","tt20a",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[20][AXIS_A], TT20_A_OFFSET }, + { "tt20","tt20b",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[20][AXIS_B], TT20_B_OFFSET }, + { "tt20","tt20c",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[20][AXIS_C], TT20_C_OFFSET }, { "tt21","tt21x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[21][AXIS_X], TT21_X_OFFSET }, { "tt21","tt21y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[21][AXIS_Y], TT21_Y_OFFSET }, { "tt21","tt21z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[21][AXIS_Z], TT21_Z_OFFSET }, - { "tt21","tt21a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[21][AXIS_A], TT21_A_OFFSET }, - { "tt21","tt21b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[21][AXIS_B], TT21_B_OFFSET }, - { "tt21","tt21c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[21][AXIS_C], TT21_C_OFFSET }, + { "tt21","tt21a",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[21][AXIS_A], TT21_A_OFFSET }, + { "tt21","tt21b",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[21][AXIS_B], TT21_B_OFFSET }, + { "tt21","tt21c",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[21][AXIS_C], TT21_C_OFFSET }, { "tt22","tt22x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[22][AXIS_X], TT22_X_OFFSET }, { "tt22","tt22y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[22][AXIS_Y], TT22_Y_OFFSET }, { "tt22","tt22z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[22][AXIS_Z], TT22_Z_OFFSET }, - { "tt22","tt22a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[22][AXIS_A], TT22_A_OFFSET }, - { "tt22","tt22b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[22][AXIS_B], TT22_B_OFFSET }, - { "tt22","tt22c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[22][AXIS_C], TT22_C_OFFSET }, + { "tt22","tt22a",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[22][AXIS_A], TT22_A_OFFSET }, + { "tt22","tt22b",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[22][AXIS_B], TT22_B_OFFSET }, + { "tt22","tt22c",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[22][AXIS_C], TT22_C_OFFSET }, { "tt23","tt23x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[23][AXIS_X], TT23_X_OFFSET }, { "tt23","tt23y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[23][AXIS_Y], TT23_Y_OFFSET }, { "tt23","tt23z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[23][AXIS_Z], TT23_Z_OFFSET }, - { "tt23","tt23a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[23][AXIS_A], TT23_A_OFFSET }, - { "tt23","tt23b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[23][AXIS_B], TT23_B_OFFSET }, - { "tt23","tt23c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[23][AXIS_C], TT23_C_OFFSET }, + { "tt23","tt23a",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[23][AXIS_A], TT23_A_OFFSET }, + { "tt23","tt23b",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[23][AXIS_B], TT23_B_OFFSET }, + { "tt23","tt23c",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[23][AXIS_C], TT23_C_OFFSET }, { "tt24","tt24x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[24][AXIS_X], TT24_X_OFFSET }, { "tt24","tt24y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[24][AXIS_Y], TT24_Y_OFFSET }, { "tt24","tt24z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[24][AXIS_Z], TT24_Z_OFFSET }, - { "tt24","tt24a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[24][AXIS_A], TT24_A_OFFSET }, - { "tt24","tt24b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[24][AXIS_B], TT24_B_OFFSET }, - { "tt24","tt24c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[24][AXIS_C], TT24_C_OFFSET }, + { "tt24","tt24a",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[24][AXIS_A], TT24_A_OFFSET }, + { "tt24","tt24b",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[24][AXIS_B], TT24_B_OFFSET }, + { "tt24","tt24c",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[24][AXIS_C], TT24_C_OFFSET }, { "tt25","tt25x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[25][AXIS_X], TT25_X_OFFSET }, { "tt25","tt25y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[25][AXIS_Y], TT25_Y_OFFSET }, { "tt25","tt25z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[25][AXIS_Z], TT25_Z_OFFSET }, - { "tt25","tt25a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[25][AXIS_A], TT25_A_OFFSET }, - { "tt25","tt25b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[25][AXIS_B], TT25_B_OFFSET }, - { "tt25","tt25c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[25][AXIS_C], TT25_C_OFFSET }, + { "tt25","tt25a",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[25][AXIS_A], TT25_A_OFFSET }, + { "tt25","tt25b",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[25][AXIS_B], TT25_B_OFFSET }, + { "tt25","tt25c",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[25][AXIS_C], TT25_C_OFFSET }, { "tt26","tt26x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[26][AXIS_X], TT26_X_OFFSET }, { "tt26","tt26y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[26][AXIS_Y], TT26_Y_OFFSET }, { "tt26","tt26z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[26][AXIS_Z], TT26_Z_OFFSET }, - { "tt26","tt26a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[26][AXIS_A], TT26_A_OFFSET }, - { "tt26","tt26b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[26][AXIS_B], TT26_B_OFFSET }, - { "tt26","tt26c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[26][AXIS_C], TT26_C_OFFSET }, + { "tt26","tt26a",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[26][AXIS_A], TT26_A_OFFSET }, + { "tt26","tt26b",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[26][AXIS_B], TT26_B_OFFSET }, + { "tt26","tt26c",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[26][AXIS_C], TT26_C_OFFSET }, { "tt27","tt27x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[27][AXIS_X], TT27_X_OFFSET }, { "tt27","tt27y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[27][AXIS_Y], TT27_Y_OFFSET }, { "tt27","tt27z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[27][AXIS_Z], TT27_Z_OFFSET }, - { "tt27","tt27a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[27][AXIS_A], TT27_A_OFFSET }, - { "tt27","tt27b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[27][AXIS_B], TT27_B_OFFSET }, - { "tt27","tt27c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[27][AXIS_C], TT27_C_OFFSET }, + { "tt27","tt27a",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[27][AXIS_A], TT27_A_OFFSET }, + { "tt27","tt27b",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[27][AXIS_B], TT27_B_OFFSET }, + { "tt27","tt27c",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[27][AXIS_C], TT27_C_OFFSET }, { "tt28","tt28x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[28][AXIS_X], TT28_X_OFFSET }, { "tt28","tt28y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[28][AXIS_Y], TT28_Y_OFFSET }, { "tt28","tt28z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[28][AXIS_Z], TT28_Z_OFFSET }, - { "tt28","tt28a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[28][AXIS_A], TT28_A_OFFSET }, - { "tt28","tt28b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[28][AXIS_B], TT28_B_OFFSET }, - { "tt28","tt28c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[28][AXIS_C], TT28_C_OFFSET }, + { "tt28","tt28a",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[28][AXIS_A], TT28_A_OFFSET }, + { "tt28","tt28b",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[28][AXIS_B], TT28_B_OFFSET }, + { "tt28","tt28c",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[28][AXIS_C], TT28_C_OFFSET }, { "tt29","tt29x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[29][AXIS_X], TT29_X_OFFSET }, { "tt29","tt29y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[29][AXIS_Y], TT29_Y_OFFSET }, { "tt29","tt29z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[29][AXIS_Z], TT29_Z_OFFSET }, - { "tt29","tt29a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[29][AXIS_A], TT29_A_OFFSET }, - { "tt29","tt29b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[29][AXIS_B], TT29_B_OFFSET }, - { "tt29","tt29c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[29][AXIS_C], TT29_C_OFFSET }, + { "tt29","tt29a",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[29][AXIS_A], TT29_A_OFFSET }, + { "tt29","tt29b",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[29][AXIS_B], TT29_B_OFFSET }, + { "tt29","tt29c",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[29][AXIS_C], TT29_C_OFFSET }, { "tt30","tt30x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[30][AXIS_X], TT30_X_OFFSET }, { "tt30","tt30y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[30][AXIS_Y], TT30_Y_OFFSET }, { "tt30","tt30z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[30][AXIS_Z], TT30_Z_OFFSET }, - { "tt30","tt30a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[30][AXIS_A], TT30_A_OFFSET }, - { "tt30","tt30b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[30][AXIS_B], TT30_B_OFFSET }, - { "tt30","tt30c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[30][AXIS_C], TT30_C_OFFSET }, + { "tt30","tt30a",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[30][AXIS_A], TT30_A_OFFSET }, + { "tt30","tt30b",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[30][AXIS_B], TT30_B_OFFSET }, + { "tt30","tt30c",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[30][AXIS_C], TT30_C_OFFSET }, { "tt31","tt31x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[31][AXIS_X], TT31_X_OFFSET }, { "tt31","tt31y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[31][AXIS_Y], TT31_Y_OFFSET }, { "tt31","tt31z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[31][AXIS_Z], TT31_Z_OFFSET }, - { "tt31","tt31a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[31][AXIS_A], TT31_A_OFFSET }, - { "tt31","tt31b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[31][AXIS_B], TT31_B_OFFSET }, - { "tt31","tt31c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[31][AXIS_C], TT31_C_OFFSET }, + { "tt31","tt31a",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[31][AXIS_A], TT31_A_OFFSET }, + { "tt31","tt31b",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[31][AXIS_B], TT31_B_OFFSET }, + { "tt31","tt31c",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[31][AXIS_C], TT31_C_OFFSET }, { "tt32","tt32x",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[32][AXIS_X], TT32_X_OFFSET }, { "tt32","tt32y",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[32][AXIS_Y], TT32_Y_OFFSET }, { "tt32","tt32z",_fipc, 3, cm_print_cofs, get_flt, set_flu,(float *)&tt.tt_offset[32][AXIS_Z], TT32_Z_OFFSET }, - { "tt32","tt32a",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[32][AXIS_A], TT32_A_OFFSET }, - { "tt32","tt32b",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[32][AXIS_B], TT32_B_OFFSET }, - { "tt32","tt32c",_fip, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[32][AXIS_C], TT32_C_OFFSET }, + { "tt32","tt32a",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[32][AXIS_A], TT32_A_OFFSET }, + { "tt32","tt32b",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[32][AXIS_B], TT32_B_OFFSET }, + { "tt32","tt32c",_fipc, 3, cm_print_cofs, get_flt, set_flt,(float *)&tt.tt_offset[32][AXIS_C], TT32_C_OFFSET }, // this is a 128bit UUID for identifying a previously committed job state { "jid","jida",_f0, 0, tx_print_nul, get_data, set_data, (float *)&cfg.job_id[0], 0}, @@ -872,16 +857,16 @@ const cfgItem_t cfgArray[] = { { "sys","spdw",_fipn,2, cm_print_spdw,get_flt, set_flt, (float *)&spindle.dwell_seconds, SPINDLE_DWELL_TIME }, { "sys","ssoe",_fipn,0, cm_print_ssoe,get_ui8, set_01, (float *)&spindle.sso_enable, SPINDLE_OVERRIDE_ENABLE}, { "sys","sso", _fipn,3, cm_print_sso, get_flt,cm_set_sso,(float *)&spindle.sso_factor, SPINDLE_OVERRIDE_FACTOR}, - { "", "spe", _f0, 0, cm_print_spe, get_ui8, set_nul, (float *)&spindle.enable, 0 }, // get spindle enable - { "", "spd", _f0, 0, cm_print_spd, get_ui8,cm_set_dir,(float *)&spindle.direction, 0 }, // get spindle direction - { "", "sps", _f0, 0, cm_print_sps, get_flt, set_nul, (float *)&spindle.speed, 0 }, // get spindle speed + { "", "spe", _fiz, 0, cm_print_spe, get_ui8, set_nul, (float *)&spindle.enable, 0 }, // get spindle enable + { "", "spd", _fiz, 0, cm_print_spd, get_ui8,cm_set_dir,(float *)&spindle.direction, 0 }, // get spindle direction + { "", "sps", _fiz, 0, cm_print_sps, get_flt, set_nul, (float *)&spindle.speed, 0 }, // get spindle speed // Coolant functions { "sys","cofp",_fipn,0, cm_print_cofp,get_ui8, set_01, (float *)&coolant.flood_polarity, COOLANT_FLOOD_POLARITY }, { "sys","comp",_fipn,0, cm_print_comp,get_ui8, set_01, (float *)&coolant.mist_polarity, COOLANT_MIST_POLARITY }, { "sys","coph",_fipn,0, cm_print_coph,get_ui8, set_01, (float *)&coolant.pause_on_hold, COOLANT_PAUSE_ON_HOLD }, - { "", "com", _f0, 0, cm_print_com, get_ui8, set_nul, (float *)&coolant.mist_enable, 0 }, // get mist coolant enable - { "", "cof", _f0, 0, cm_print_cof, get_ui8, set_nul, (float *)&coolant.flood_enable, 0 }, // get flood coolant enable + { "", "com", _fiz, 0, cm_print_com, get_ui8, set_nul, (float *)&coolant.mist_enable, 0 }, // get mist coolant enable + { "", "cof", _fiz, 0, cm_print_cof, get_ui8, set_nul, (float *)&coolant.flood_enable, 0 }, // get flood coolant enable // Communications and reporting parameters #ifdef __TEXT_MODE @@ -1227,37 +1212,6 @@ const cfgItem_t cfgArray[] = { }; /***** Make sure these defines line up with any changes in the above table *****/ -/* -#define NV_COUNT_UBER_GROUPS 6 // count of uber-groups, above -#define FIXED_GROUPS 92 // count of fixed groups, excluding optional groups - -#if (MOTORS >= 5) -#define MOTOR_GROUP_5 1 -#else -#define MOTOR_GROUP_5 0 -#endif - -#if (MOTORS >= 6) -#define MOTOR_GROUP_6 1 -#else -#define MOTOR_GROUP_6 0 -#endif - -#ifdef __USER_DATA -#define USER_DATA_GROUPS 4 // count of user data groups only -#else -#define USER_DATA_GROUPS 0 -#endif - -#ifdef __DIAGNOSTIC_PARAMETERS -#define DIAGNOSTIC_GROUPS 8 // count of diagnostic groups only -#else -#define DIAGNOSTIC_GROUPS 0 -#endif - -#define TEMPERATURE_GROUPS 6 -#define NV_COUNT_GROUPS (FIXED_GROUPS + MOTOR_GROUP_5 + MOTOR_GROUP_6 + USER_DATA_GROUPS + DIAGNOSTIC_GROUPS + TEMPERATURE_GROUPS) -*/ #define NV_COUNT_GROUPS (FIXED_GROUPS \ + AXIS_GROUPS \ diff --git a/g2core/settings/settings_makeblock.h b/g2core/settings/settings_makeblock.h index 613c0daf..79b591be 100644 --- a/g2core/settings/settings_makeblock.h +++ b/g2core/settings/settings_makeblock.h @@ -2,7 +2,7 @@ * settings_makeblock.h - makeblock engraving table * This file is part of the g2core project * - * Copyright (c) 2016 Alden S. Hart, Jr. + * Copyright (c) 2016 - 2017 Alden S. Hart, Jr. * * This file ("the software") is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License, version 2 as published by the @@ -52,7 +52,7 @@ // Communications and reporting settings -#define USB_SERIAL_PORTS_EXPOSED 1 // Valid options are 1 or 2, only! +#define USB_SERIAL_PORTS_EXPOSED 1 // Valid options are 1 or 2, only! #define COMM_MODE JSON_MODE // one of: TEXT_MODE, JSON_MODE #define TEXT_VERBOSITY TV_VERBOSE // one of: TV_SILENT, TV_VERBOSE @@ -153,3 +153,54 @@ #define Z_LATCH_VELOCITY 25 #define Z_LATCH_BACKOFF 4 #define Z_ZERO_BACKOFF 2 + +#define A_AXIS_MODE AXIS_STANDARD +#define A_VELOCITY_MAX (360 * 25.4) +#define A_FEEDRATE_MAX A_VELOCITY_MAX +#define A_TRAVEL_MIN -1 // degrees +#define A_TRAVEL_MAX -1 // same value means infinite, no limit +#define A_JERK_MAX (2 * 25.4) +#define A_JERK_HIGH_SPEED A_JERK_MAX +#define A_RADIUS 1.0 +#define A_HOMING_INPUT 0 +#define A_HOMING_DIRECTION 0 +#define A_SEARCH_VELOCITY (60 * 25.4) +#define A_LATCH_VELOCITY (30 * 25.4) +#define A_LATCH_BACKOFF (0.125 * 25.4) +#define A_ZERO_BACKOFF (0.375 * 25.4) +#define A_HOMING_INPUT 0 +#define A_HOMING_DIR 0 + +#define B_AXIS_MODE AXIS_DISABLED +#define B_VELOCITY_MAX (360 * 25.4) +#define B_FEEDRATE_MAX B_VELOCITY_MAX +#define B_TRAVEL_MAX -1 +#define B_TRAVEL_MIN -1 +#define B_JERK_MAX (2 * 25.4) +#define B_JERK_HIGH_SPEED B_JERK_MAX +#define B_RADIUS 1 +#define B_HOMING_INPUT 0 +#define B_HOMING_DIRECTION 0 +#define B_SEARCH_VELOCITY (60 * 25.4) +#define B_LATCH_VELOCITY (30 * 25.4) +#define B_LATCH_BACKOFF (0.125 * 25.4) +#define B_ZERO_BACKOFF (0.375 * 25.4) +#define B_HOMING_INPUT 0 +#define B_HOMING_DIR 0 + +#define C_AXIS_MODE AXIS_DISABLED +#define C_VELOCITY_MAX (360 * 25.4) +#define C_FEEDRATE_MAX C_VELOCITY_MAX +#define C_TRAVEL_MAX -1 +#define C_TRAVEL_MIN -1 +#define C_JERK_MAX (2 * 25.4) +#define C_JERK_HIGH_SPEED C_JERK_MAX +#define C_RADIUS 1 +#define C_HOMING_INPUT 0 +#define C_HOMING_DIRECTION 0 +#define C_SEARCH_VELOCITY (60 * 25.4) +#define C_LATCH_VELOCITY (30 * 25.4) +#define C_LATCH_BACKOFF (0.125 * 25.4) +#define C_ZERO_BACKOFF (0.375 * 25.4) +#define C_HOMING_INPUT 0 +#define C_HOMING_DIR 0 \ No newline at end of file