Skip to content

Commit

Permalink
Apply settings for Justin's Shapeoko 3
Browse files Browse the repository at this point in the history
Note - includes calibrated steps for the X axis, so shouldn't be
used for other people's Shapeoko 3's as-is.
  • Loading branch information
justinclift committed May 16, 2018
1 parent 23f58db commit b9158ed
Showing 1 changed file with 33 additions and 34 deletions.
67 changes: 33 additions & 34 deletions g2core/settings/settings_shapeoko3.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* settings_shapeoko2dualY.h - Shapeoko2 500mm table
* settings_shapeoko3.h - Shapeoko 3 (original size, not XL nor XXL)
* This file is part of the g2core project
*
* Copyright (c) 2010 - 2016 Alden S. Hart, Jr.
Expand Down Expand Up @@ -30,7 +30,7 @@
/***********************************************************************/

// ***> NOTE: The init message must be a single line with no CRs or LFs
#define INIT_MESSAGE "Initializing configs to Shapeoko2 500mm profile"
#define INIT_MESSAGE "Initializing configs to Shapeoko 3 profile"

//**** GLOBAL / GENERAL SETTINGS ******************************************************

Expand All @@ -54,9 +54,9 @@

// Communications and reporting settings

#define USB_SERIAL_PORTS_EXPOSED 2 // 1=single endpoint usb, 2=dual endpoint usb
#define USB_SERIAL_PORTS_EXPOSED 1 // 1=single endpoint usb, 2=dual endpoint usb
#define COMM_MODE JSON_MODE // one of: TEXT_MODE, JSON_MODE
#define XIO_ENABLE_FLOW_CONTROL FLOW_CONTROL_RTS // FLOW_CONTROL_OFF, FLOW_CONTROL_RTS
#define XIO_ENABLE_FLOW_CONTROL FLOW_CONTROL_RTS // FLOW_CONTROL_OFF, FLOW_CONTROL_RTS

#define TEXT_VERBOSITY TV_VERBOSE // one of: TV_SILENT, TV_VERBOSE
#define JSON_VERBOSITY JV_MESSAGES // one of: JV_SILENT, JV_FOOTER, JV_CONFIGS, JV_MESSAGES, JV_LINENUM, JV_VERBOSE
Expand All @@ -67,8 +67,7 @@
#define STATUS_REPORT_MIN_MS 100 // milliseconds - enforces a viable minimum
#define STATUS_REPORT_INTERVAL_MS 250 // milliseconds - set $SV=0 to disable

//#define STATUS_REPORT_DEFAULTS "line","posx","posy","posz","posa","feed","vel","unit","coor","dist","admo","frmo","momo","stat"
#define STATUS_REPORT_DEFAULTS "line","posx","posy","posz","feed","vel","momo","stat"
#define STATUS_REPORT_DEFAULTS "line","posx","posy","posz","posa","posb","posc","feed","vel","unit","coor","dist","admo","frmo","momo","stat"

// Alternate SRs that report in drawable units
//#define STATUS_REPORT_DEFAULTS "line","vel","mpox","mpoy","mpoz","mpoa","coor","ofsa","ofsx","ofsy","ofsz","dist","unit","stat","homz","homy","homx","momo"
Expand All @@ -88,8 +87,8 @@

#define M1_MOTOR_MAP AXIS_X // 1ma
#define M1_STEP_ANGLE 1.8 // 1sa
#define M1_TRAVEL_PER_REV 40.00 // 1tr
#define M1_MICROSTEPS 8 // 1mi 1,2,4,8,16,32
#define M1_TRAVEL_PER_REV 40.0571428571 // 1tr - Calibrated to Justin's S3
#define M1_POLARITY 0 // 1po 0=normal, 1=reversed
#define M1_POWER_MODE MOTOR_POWER_MODE // 1pm TRUE=low power idle enabled
#define M1_POWER_LEVEL 0.500
Expand All @@ -112,55 +111,55 @@

#define M4_MOTOR_MAP AXIS_Z
#define M4_STEP_ANGLE 1.8
#define M4_TRAVEL_PER_REV 1.25
#define M4_TRAVEL_PER_REV 40.00
#define M4_MICROSTEPS 8
#define M4_POLARITY 0
#define M4_POLARITY 1
#define M4_POWER_MODE MOTOR_POWER_MODE
#define M4_POWER_LEVEL 0.750
#define M4_POWER_LEVEL 0.500

// *** axis settings **********************************************************************************

#define JERK_MAX 5000
#define JERK_MAX 3000

#define X_AXIS_MODE AXIS_STANDARD // xam see canonical_machine.h cmAxisMode for valid values
#define X_VELOCITY_MAX 50000 // xvm G0 max velocity in mm/min
#define X_VELOCITY_MAX 18000 // xvm G0 max velocity in mm/min
#define X_FEEDRATE_MAX X_VELOCITY_MAX // xfr G1 max feed rate in mm/min
#define X_TRAVEL_MIN 0 // xtn minimum travel for soft limits
#define X_TRAVEL_MAX 420 // xtm travel between switches or crashes
#define X_JERK_MAX JERK_MAX // xjm jerk * 1,000,000
#define X_JERK_HIGH_SPEED 20000 // xjh
#define X_HOMING_INPUT 1 // xhi input used for homing or 0 to disable
#define X_HOMING_DIRECTION 0 // xhd 0=search moves negative, 1= search moves positive
#define X_SEARCH_VELOCITY 3000 // xsv minus means move to minimum switch
#define X_JERK_HIGH_SPEED X_VELOCITY_MAX // xjh
#define X_HOMING_INPUT 2 // xhi input used for homing or 0 to disable
#define X_HOMING_DIRECTION 1 // xhd 0=search moves negative, 1= search moves positive
#define X_SEARCH_VELOCITY 2000 // xsv minus means move to minimum switch
#define X_LATCH_VELOCITY 100 // xlv mm/min
#define X_LATCH_BACKOFF 4 // xlb mm
#define X_ZERO_BACKOFF 2 // xzb mm

#define Y_AXIS_MODE AXIS_STANDARD
#define Y_VELOCITY_MAX 50000
#define Y_VELOCITY_MAX 17000
#define Y_FEEDRATE_MAX Y_VELOCITY_MAX
#define Y_TRAVEL_MIN 0
#define Y_TRAVEL_MAX 420
#define Y_TRAVEL_MAX 435
#define Y_JERK_MAX JERK_MAX
#define Y_JERK_HIGH_SPEED 20000
#define Y_HOMING_INPUT 3
#define Y_HOMING_DIRECTION 0
#define Y_SEARCH_VELOCITY 3000
#define Y_JERK_HIGH_SPEED Y_VELOCITY_MAX
#define Y_HOMING_INPUT 4
#define Y_HOMING_DIRECTION 1
#define Y_SEARCH_VELOCITY 2000
#define Y_LATCH_VELOCITY 100
#define Y_LATCH_BACKOFF 4
#define Y_ZERO_BACKOFF 2

#define Z_AXIS_MODE AXIS_STANDARD
#define Z_VELOCITY_MAX 1200
#define Z_FEEDRATE_MAX Z_VELOCITY_MAX
#define Z_TRAVEL_MAX 0
#define Z_TRAVEL_MIN -95
#define Z_JERK_MAX 500
#define Z_JERK_HIGH_SPEED 1000
#define Z_TRAVEL_MAX 68
#define Z_TRAVEL_MIN 0
#define Z_JERK_MAX JERK_MAX
#define Z_JERK_HIGH_SPEED Z_VELOCITY_MAX
#define Z_HOMING_INPUT 6
#define Z_HOMING_DIRECTION 1
#define Z_SEARCH_VELOCITY (Z_VELOCITY_MAX * 0.66666)
#define Z_LATCH_VELOCITY 25
#define Z_SEARCH_VELOCITY 1200
#define Z_LATCH_VELOCITY 100
#define Z_LATCH_BACKOFF 4
#define Z_ZERO_BACKOFF 2

Expand All @@ -183,36 +182,36 @@
INPUT_FUNCTION_PANIC
*/
// Xmin on v9 board
#define DI1_MODE NORMALLY_CLOSED
#define DI1_MODE IO_MODE_DISABLED
//#define DI1_ACTION INPUT_ACTION_STOP
#define DI1_ACTION INPUT_ACTION_NONE
#define DI1_FUNCTION INPUT_FUNCTION_LIMIT

// Xmax
#define DI2_MODE NORMALLY_CLOSED
#define DI2_MODE IO_ACTIVE_LOW
//#define DI2_ACTION INPUT_ACTION_STOP
#define DI2_ACTION INPUT_ACTION_NONE
#define DI2_FUNCTION INPUT_FUNCTION_LIMIT

// Ymin
#define DI3_MODE NORMALLY_CLOSED
#define DI3_MODE IO_MODE_DISABLED
//#define DI3_ACTION INPUT_ACTION_STOP
#define DI3_ACTION INPUT_ACTION_NONE
#define DI3_FUNCTION INPUT_FUNCTION_LIMIT

// Ymax
#define DI4_MODE NORMALLY_CLOSED
#define DI4_MODE IO_ACTIVE_LOW
//#define DI4_ACTION INPUT_ACTION_STOP
#define DI4_ACTION INPUT_ACTION_NONE
#define DI4_FUNCTION INPUT_FUNCTION_LIMIT

// Zmin
#define DI5_MODE IO_ACTIVE_HIGH // Z probe
#define DI5_MODE IO_MODE_DISABLED
#define DI5_ACTION INPUT_ACTION_NONE
#define DI5_FUNCTION INPUT_FUNCTION_NONE

// Zmax
#define DI6_MODE NORMALLY_CLOSED
#define DI6_MODE IO_ACTIVE_LOW
//#define DI6_ACTION INPUT_ACTION_STOP
#define DI6_ACTION INPUT_ACTION_NONE
#define DI6_FUNCTION INPUT_FUNCTION_LIMIT
Expand Down

0 comments on commit b9158ed

Please sign in to comment.