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;
}
#include "config.h"
#include "status.h"
+#include <avr/pgmspace.h>
+
#include <stdint.h>
#include <stdbool.h>
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);
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");
}
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());}
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")