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"); }
void rpt_exception(uint8_t status, int16_t value) { char msg[STATUS_MESSAGE_LEN]; printf_P(PSTR("{\"er\":{\"fb\":%0.2f,\"st\":%d,\"msg\":\"%s\",\"val\":%d}}\n"), TINYG_FIRMWARE_BUILD, status, rpt_get_status_message(status, msg), value); }