static void _prompt_ok() { if (cm_get_units_mode() == INCHES) { fprintf_P(stderr, PSTR("%S%S"), prompt1, prompt_inch); } else { fprintf_P(stderr, PSTR("%S%S"), prompt1, prompt_mm); } }
void text_response(const stat_t status, char_t *buf) { if (txt.text_verbosity == TV_SILENT) return; // skip all this char units[] = "inch"; if (cm_get_units_mode(MODEL) != INCHES) { strcpy(units, "mm"); } if ((status == STAT_OK) || (status == STAT_EAGAIN) || (status == STAT_NOOP)) { fprintf_P(stderr, prompt_ok, units); } else { fprintf_P(stderr, prompt_err, units, get_status_message(status), buf); } nvObj_t *nv = nv_body+1; if (nv_get_type(nv) == NV_TYPE_MESSAGE) { fprintf(stderr, (char *)*nv->stringp); } fprintf(stderr, "\n"); }
void tg_text_response(const uint8_t status, const char *buf) { if (cfg.text_verbosity == TV_SILENT) return; // skip all this const char *units; // becomes pointer to progmem string if (cm_get_units_mode() != INCHES) { units = (PGM_P)&prompt_mm; } else { units = (PGM_P)&prompt_in; } if ((status == TG_OK) || (status == TG_EAGAIN) || (status == TG_NOOP) || (status == TG_ZERO_LENGTH_MOVE)) { fprintf_P(stderr, (PGM_P)&prompt_ok, units); } else { char status_message[STATUS_MESSAGE_LEN]; fprintf_P(stderr, (PGM_P)prompt_err, units, rpt_get_status_message(status, status_message), buf); } cmdObj_t *cmd = cmd_body+1; if (cmd->token[0] == 'm') { fprintf(stderr, *cmd->stringp); } fprintf(stderr, "\n"); }
stat_t cm_homing_cycle_start(void) { // save relevant non-axis parameters from Gcode model hm.saved_units_mode = cm_get_units_mode(ACTIVE_MODEL); hm.saved_coord_system = cm_get_coord_system(ACTIVE_MODEL); hm.saved_distance_mode = cm_get_distance_mode(ACTIVE_MODEL); // hm.saved_feed_rate_mode = cm_get_feed_rate_mode(ACTIVE_MODEL); hm.saved_feed_rate = cm_get_feed_rate(ACTIVE_MODEL); hm.target_position = 0; // set working values cm_set_units_mode(MILLIMETERS); cm_set_distance_mode(INCREMENTAL_MODE); cm_set_coord_system(ABSOLUTE_COORDS); // homing is done in machine coordinates // cm_set_feed_rate_mode(UNITS_PER_MINUTE_MODE); hm.set_coordinates = true; hm.axis = -1; // set to retrieve initial axis hm.func = _homing_axis_start; // bind initial processing function cm.cycle_state = CYCLE_HOMING; cm.homing_state = HOMING_NOT_HOMED; return (STAT_OK); }