From 00f5d396547bfd3f97f955de80439d8129fdbd69 Mon Sep 17 00:00:00 2001 From: Joseph Coffland Date: Sat, 3 Sep 2016 15:37:05 -0700 Subject: [PATCH] Report current units --- src/machine.c | 11 +++++++++++ src/machine.h | 4 ++++ src/plan/state.c | 6 +++--- src/varcb.c | 1 + src/vars.def | 1 + 5 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/machine.c b/src/machine.c index 6aeacfb..f37f021 100644 --- a/src/machine.c +++ b/src/machine.c @@ -214,6 +214,17 @@ machSpindleMode_t mach_get_spindle_mode() {return mach.gm.spindle_mode;} float mach_get_feed_rate() {return mach.gm.feed_rate;} +PGM_P mp_get_units_mode_pgmstr(machUnitsMode_t mode) { + switch (mode) { + case INCHES: return PSTR("in"); + case MILLIMETERS: return PSTR("mm"); + case DEGREES: return PSTR("deg"); + } + + return PSTR("invalid"); +} + + void mach_set_motion_mode(machMotionMode_t motion_mode) { mach.gm.motion_mode = motion_mode; } diff --git a/src/machine.h b/src/machine.h index 4c5d33f..58a1f1c 100644 --- a/src/machine.h +++ b/src/machine.h @@ -32,6 +32,8 @@ #include "config.h" #include "status.h" +#include + #include #include @@ -332,6 +334,8 @@ machSpindleMode_t mach_get_spindle_mode(); inline float mach_get_spindle_speed() {return mach.gm.spindle_speed;} float mach_get_feed_rate(); +PGM_P mp_get_units_mode_pgmstr(machUnitsMode_t mode); + void mach_set_motion_mode(machMotionMode_t motion_mode); void mach_set_spindle_mode(machSpindleMode_t spindle_mode); void mach_set_spindle_speed_parameter(float speed); diff --git a/src/plan/state.c b/src/plan/state.c index 580899d..0b5252a 100644 --- a/src/plan/state.c +++ b/src/plan/state.c @@ -58,9 +58,9 @@ plannerCycle_t mp_get_cycle() {return ps.cycle;} PGM_P mp_get_state_pgmstr(plannerState_t state) { switch (state) { - case STATE_READY: return PSTR("ready"); - case STATE_ESTOPPED: return PSTR("estopped"); - case STATE_RUNNING: return PSTR("running"); + case STATE_READY: return PSTR("ready"); + case STATE_ESTOPPED: return PSTR("estopped"); + case STATE_RUNNING: return PSTR("running"); case STATE_STOPPING: return PSTR("stopping"); case STATE_HOLDING: return PSTR("holding"); } diff --git a/src/varcb.c b/src/varcb.c index b26acd3..4d4a136 100644 --- a/src/varcb.c +++ b/src/varcb.c @@ -44,3 +44,4 @@ uint16_t get_queue() {return mp_get_planner_buffer_room();} int32_t get_line() {return mp_get_line();} PGM_P get_state() {return mp_get_state_pgmstr(mp_get_state());} PGM_P get_cycle() {return mp_get_cycle_pgmstr(mp_get_cycle());} +PGM_P get_unit() {return mp_get_units_mode_pgmstr(mach_get_units_mode());} diff --git a/src/vars.def b/src/vars.def index f62b376..70d44f3 100644 --- a/src/vars.def +++ b/src/vars.def @@ -92,6 +92,7 @@ VAR(huanyang_connected, "he", bool, 0, 0, 0, "Huanyang connected") VAR(switch_type, "sw", uint8_t, SWITCHES, 1, 1, "Normally open or closed") // System +VAR(unit, "u", pstring, 0, 0, 0, "Current unit of measure") VAR(velocity, "v", float, 0, 0, 0, "Current velocity") VAR(speed, "s", float, 0, 0, 0, "Current spindle speed") VAR(feed, "f", float, 0, 0, 0, "Current feed rate") -- 2.27.0