/**
*
*/
package org.goko.controller.g2core.controller;
import java.math.BigDecimal;
import org.goko.controller.tinyg.commons.TinyG;
import org.goko.core.controller.bean.MachineState;
/**
* @author Psyko
* @date 8 janv. 2017
*/
public class G2Core extends TinyG {
static final String AVAILABLE_BUFFER_COUNT = "G2Core.buffer.count";
/** The last received message */
static final String MESSAGE = "G2Core.msg";
/** Feed hold command */
public static final String FEED_HOLD_COMMAND = "!";
/** Cycle start command */
public static final String CYCLE_START_COMMAND = "~";
/** Queue flush command */
public static final String QUEUE_FLUSH_COMMAND = "%";
/** Reset command */
public static final byte RESET_COMMAND = 0x18;
/** Empty request value */
public static final String REQUEST_VALUE = "";
/** Kill alarm header */
public static final String KILL_ALARM_HEADER = "clear";
/** GCode for turning spindle on */
public static final String TURN_SPINDLE_ON_GCODE = "M3";
/** GCode for turning spindle off */
public static final String TURN_SPINDLE_OFF_GCODE = "M5";
/** The number of available slot in the planner buffer */
public static final Integer PLANNER_BUFFER_SIZE = 48;
public static final String STATUS_REPORT_G92 = "g92e";
/** Probe constants */
public static final String PROBE_REPORT_SUCCESS = "e";
public static final String PROBE_REPORT_POSITION_X = "x";
public static final String PROBE_REPORT_POSITION_Y = "y";
public static final String PROBE_REPORT_POSITION_Z = "z";
public static final String PROBE_REPORT_POSITION_A = "a";
public static final String PROBE_REPORT_POSITION_B = "b";
public static final String PROBE_REPORT_POSITION_C = "c";
public static class State{
public static final MachineState UNDEFINED = new MachineState(-1,"Undefined");
public static final MachineState INITIALIZING = new MachineState(0, "Initializing");
public static final MachineState READY = new MachineState(1,"Ready");
public static final MachineState ALARM = new MachineState(2,"Alarm");
public static final MachineState PROGRAM_STOP = new MachineState(3,"Program stop");
public static final MachineState PROGRAM_END = new MachineState(4,"Program end");
public static final MachineState MOTION_RUNNING = new MachineState(5,"Motion running");
public static final MachineState MOTION_HOLDING = new MachineState(6,"Motion holding");
public static final MachineState PROBE_CYCLE = new MachineState(7,"Probe cycle");
public static final MachineState RUNNING = new MachineState(8,"Running");
public static final MachineState HOMING = new MachineState(9,"Homing");
public static final MachineState INTERLOCK = new MachineState(11,"Interlock");
public static final MachineState SHUTDOWN = new MachineState(12,"Shutdown");
public static final MachineState PANIC = new MachineState(13,"PANIC");
}
public static class Preferences{
public static final String HOMING_SEQUENCE_CONFIGURED = "homingSequenceConfigured";
public static final String HOMING_ENABLED_AXIS_X = "homingEnabledAxisX";
public static final String HOMING_ENABLED_AXIS_Y = "homingEnabledAxisY";
public static final String HOMING_ENABLED_AXIS_Z = "homingEnabledAxisZ";
public static final String HOMING_ENABLED_AXIS_A = "homingEnabledAxisA";
}
public static class Topic{
public static class Error{
/** G2Core Topic : error notification topic */
public static final String TOPIC = "topic/g2core/execution/error";
/** G2Core Topic : Title property */
public static final String TITLE = "prop/g2core/execution/error/title";
/** G2Core Topic : Message property */
public static final String MESSAGE = "prop/g2core/execution/error/message";
/** G2Core Topic : Error property */
public static final String ERROR = "prop/g2core/execution/error/error";
}
}
public static class Configuration{
public static class Groups{
public static final String SYSTEM = "sys";
public static final String X_AXIS = "x";
public static final String Y_AXIS = "y";
public static final String Z_AXIS = "z";
public static final String A_AXIS = "a";
public static final String B_AXIS = "b";
public static final String C_AXIS = "c";
public static final String MOTOR_1 = "1";
public static final String MOTOR_2 = "2";
public static final String MOTOR_3 = "3";
public static final String MOTOR_4 = "4";
public static final String PWM_CHANNEL_1 = "p1";
}
/**
* System settings
*/
public static class System{
/**
* Identification Parameters
*/
public static final String FIRMWARE_VERSION = "fv";
public static final String FIRMWARE_BUILD = "fb";
public static final String FIRMWARE_BUILD_STRING = "fbs";
public static final String FIRMWARE_BUILD_CONFIG = "fbc";
public static final String HARDWARE_PLATFORM = "hp";
public static final String HARDWARE_VERSION = "hv";
public static final String BOARD_ID = "id";
/**
* Global Machining Parameters
*/
public static final String JUNCTION_INTEGRATION_TIME= "jt";
public static final String CHORDAL_TOLERANCE = "ct";
public static final String MOTOR_DISABLE_TIMEOUT = "mt";
/**
* Communications Parameters
*/
public static final String JSON_MODE = "ej";
public static final String JSON_MODE_VERBOSITY = "jv";
public static final String TEXT_MODE_VERBOSITY = "tv";
public static final String QUEUE_REPORT_VERBOSITY = "qv";
public static final String STATUS_REPORT_VERBOSITY = "sv";
public static final String STATUS_REPORT_INTERVAL = "si";
public static final String FLOW_CONTROL = "ex";
/**
* GCode Initialization Defaults
*/
public static final String DEFAULT_PLANE_SELECTION = "gpl";
public static final String DEFAULT_UNITS_MODE = "gun";
public static final String DEFAULT_COORDINATE_SYSTEM= "gco";
public static final String DEFAULT_PATH_CONTROL = "gpa";
public static final String DEFAULT_DISTANCE_MODE = "gdi";
}
/**
* Motor settings
*/
public static class Motors{
public static final String MOTOR_MAPPING = "ma";
public static final String STEP_ANGLE = "sa";
public static final String TRAVEL_PER_REVOLUTION= "tr";
public static final String MICROSTEPS = "mi";
public static final String STEPS_PER_UNIT = "su";
public static final String POLARITY = "po";
public static final String POWER_MODE = "pm";
public static final String POWER_LEVEL = "pl";
}
/**
* Axis settings
*/
public static class Axes{
public static final String AXIS_MODE = "am";
public static final String VELOCITY_MAXIMUM = "vm";
public static final String FEEDRATE_MAXIMUM = "fr";
public static final String TRAVEL_MINIMUM = "tn";
public static final String TRAVEL_MAXIMUM = "tm";
public static final String JERK_MAXIMUM = "jm";
public static final String JERK_HOMING = "jh";
public static final String RADIUS_SETTING = "ra";
public static final String HOMING_INPUT = "hi";
public static final String HOMING_DIRECTION = "hd";
public static final String SEARCH_VELOCITY = "sv";
public static final String LATCH_VELOCITY = "lv";
public static final String LATCH_BACKOFF = "lb";
public static final String ZERO_BACKOFF = "zb";
}
/**
* System settings
*/
public static class PwmChannel{
public static final String FREQUENCY = "frq";
public static final String CLOCKWISE_SPEED_LOW = "csl";
public static final String CLOCKWISE_SPEED_HIGH = "csh";
public static final String CLOCKWISE_PHASE_LOW = "cpl";
public static final String CLOCKWISE_PHASE_HIGH = "cph";
public static final String COUNTERCLOCKWISE_SPEED_LOW = "wsl";
public static final String COUNTERCLOCKWISE_SPEED_HIGH = "wsh";
public static final String COUNTERCLOCKWISE_PHASE_LOW = "wpl";
public static final String COUNTERCLOCKWISE_PHASE_HIGH = "wph";
public static final String PHASE_OFF = "pof";
}
public static class Values{
public static final BigDecimal QUEUE_REPORT_SILENT = BigDecimal.ZERO;
public static final BigDecimal QUEUE_REPORT_SINGLE = new BigDecimal("1");
public static final BigDecimal QUEUE_REPORT_VERBOSE = new BigDecimal("2");
public static final BigDecimal JSON_VERBOSITY_VERBOSE = new BigDecimal("5");
public static final BigDecimal JSON_MODE_DISABLE = new BigDecimal("0");
public static final BigDecimal JSON_MODE_ENABLE = new BigDecimal("1");
public static final BigDecimal JSON_SYNTAX_RELAXED = new BigDecimal("0");
public static final BigDecimal JSON_SYNTAX_STRICT = new BigDecimal("1");
}
}
}