Report current units
authorJoseph Coffland <joseph@cauldrondevelopment.com>
Sat, 3 Sep 2016 22:37:05 +0000 (15:37 -0700)
committerJoseph Coffland <joseph@cauldrondevelopment.com>
Sat, 3 Sep 2016 22:37:05 +0000 (15:37 -0700)
src/machine.c
src/machine.h
src/plan/state.c
src/varcb.c
src/vars.def

index 6aeacfbd013179ae02c7e0cf039a25a0e0df95e7..f37f021693088ab57cfa31b1dbae0dd259e72f0b 100644 (file)
@@ -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;
 }
index 4c5d33f5100c621c72bbc7a4d700d94d7b3e5cea..58a1f1cd3161f17153eade8ccb1f3b83a46b7d1d 100644 (file)
@@ -32,6 +32,8 @@
 #include "config.h"
 #include "status.h"
 
+#include <avr/pgmspace.h>
+
 #include <stdint.h>
 #include <stdbool.h>
 
@@ -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);
index 580899d3d732012d59b779c18f2fc679add9660d..0b5252a73e20eed23f0a7ffc1f1e3e5d23f83518 100644 (file)
@@ -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");
   }
index b26acd3e7209109a3c7cde16dd0b8c4065090395..4d4a13605d2a6f86c02ecea2c962140ae1b7e90c 100644 (file)
@@ -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());}
index f62b3762153d40367f3cbfd40c6584798bf2a975..70d44f399b2a853a3b5a292a77985513f6f13c4a 100644 (file)
@@ -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")