Added Showboat test CONFIG to AS7 configs; Updated Showboat and Othermill machine settings.

This commit is contained in:
alden.hart
2017-01-29 13:13:02 -05:00
parent b6995b28a6
commit 12e8c49449
6 changed files with 636 additions and 701 deletions
+4
View File
@@ -18,6 +18,7 @@ Global
sbv300|ARM = sbv300|ARM
Shapeoko2|ARM = Shapeoko2|ARM
shopbotShield|ARM = shopbotShield|ARM
ShopbotTestV9|ARM = ShopbotTestV9|ARM
Stub|ARM = Stub|ARM
TestQuadratic|ARM = TestQuadratic|ARM
TestQuintic|ARM = TestQuintic|ARM
@@ -46,6 +47,8 @@ Global
{44EA8FEC-55D7-4149-8A78-A574FC26BF51}.Shapeoko2|ARM.Build.0 = Shapeoko2|ARM
{44EA8FEC-55D7-4149-8A78-A574FC26BF51}.shopbotShield|ARM.ActiveCfg = shopbotShield|ARM
{44EA8FEC-55D7-4149-8A78-A574FC26BF51}.shopbotShield|ARM.Build.0 = shopbotShield|ARM
{44EA8FEC-55D7-4149-8A78-A574FC26BF51}.ShopbotTestV9|ARM.ActiveCfg = G2v9k|ARM
{44EA8FEC-55D7-4149-8A78-A574FC26BF51}.ShopbotTestV9|ARM.Build.0 = G2v9k|ARM
{44EA8FEC-55D7-4149-8A78-A574FC26BF51}.Stub|ARM.ActiveCfg = Shapeoko2|ARM
{44EA8FEC-55D7-4149-8A78-A574FC26BF51}.TestQuadratic|ARM.ActiveCfg = TestQuadratic|ARM
{44EA8FEC-55D7-4149-8A78-A574FC26BF51}.TestQuadratic|ARM.Build.0 = TestQuadratic|ARM
@@ -67,6 +70,7 @@ Global
{D7779B24-5CD6-4A1B-893C-2CAE8CF7A3A0}.sbv300|ARM.ActiveCfg = Stub|ARM
{D7779B24-5CD6-4A1B-893C-2CAE8CF7A3A0}.Shapeoko2|ARM.ActiveCfg = Stub|ARM
{D7779B24-5CD6-4A1B-893C-2CAE8CF7A3A0}.shopbotShield|ARM.ActiveCfg = Stub|ARM
{D7779B24-5CD6-4A1B-893C-2CAE8CF7A3A0}.ShopbotTestV9|ARM.ActiveCfg = Stub|ARM
{D7779B24-5CD6-4A1B-893C-2CAE8CF7A3A0}.Stub|ARM.ActiveCfg = Stub|ARM
{D7779B24-5CD6-4A1B-893C-2CAE8CF7A3A0}.TestQuadratic|ARM.ActiveCfg = Stub|ARM
{D7779B24-5CD6-4A1B-893C-2CAE8CF7A3A0}.TestQuintic|ARM.ActiveCfg = Stub|ARM
+8 -2
View File
@@ -24,7 +24,6 @@
# To choose a CONFIG but apply it to a different BOARD:
# make CONFIG=PrintrbotPlus BOARD=g2ref-a
##########
# V9-based configs:
@@ -39,7 +38,8 @@ ifeq ("$(CONFIG)","Othermill")
ifeq ("$(BOARD)","NONE")
BOARD=g2v9k
endif
SETTINGS_FILE="settings_othermill.h"
# SETTINGS_FILE="settings_othermill.h"
SETTINGS_FILE="settings_othermill_test.h"
endif
ifeq ("$(CONFIG)","ProbotixV90")
@@ -95,6 +95,12 @@ ifeq ("$(CONFIG)","sbv300")
SETTINGS_FILE="settings_shopbot_sbv300.h"
endif
ifeq ("$(CONFIG)","ShopbotTestV9")
ifeq ("$(BOARD)","NONE")
BOARD=g2v9k
endif
SETTINGS_FILE="settings_shopbot_test.h"
endif
##########
# PrintrBot configs:
+8 -8
View File
@@ -5,7 +5,7 @@
<ProjectVersion>7.0</ProjectVersion>
<ToolchainName>com.Atmel.ARMGCC.CPP</ToolchainName>
<ProjectGuid>{44ea8fec-55d7-4149-8a78-a574fc26bf51}</ProjectGuid>
<avrdevice>ATSAM3X8E</avrdevice>
<avrdevice>ATSAM3X8C</avrdevice>
<avrdeviceseries>none</avrdeviceseries>
<OutputType>Executable</OutputType>
<Language>CPP</Language>
@@ -73,7 +73,7 @@
<InterfaceName>SWD</InterfaceName>
</ToolOptions>
<ToolType>com.atmel.avrdbg.tool.atmelice</ToolType>
<ToolNumber>J41800036434</ToolNumber>
<ToolNumber>J41800021206</ToolNumber>
<ToolName>Atmel-ICE</ToolName>
</com_atmel_avrdbg_tool_atmelice>
<UseGdb>True</UseGdb>
@@ -100,8 +100,8 @@
<HWProgramCounterSampling>True</HWProgramCounterSampling>
</PercepioTrace>
<preserveEEPROM>true</preserveEEPROM>
<avrtoolserialnumber>J41800036434</avrtoolserialnumber>
<avrdeviceexpectedsignature>0x285E0A60</avrdeviceexpectedsignature>
<avrtoolserialnumber>J41800021206</avrtoolserialnumber>
<avrdeviceexpectedsignature>0x284E0A60</avrdeviceexpectedsignature>
<avrtoolinterfaceclock>2000000</avrtoolinterfaceclock>
<custom>
<ToolOptions xmlns="">
@@ -252,8 +252,8 @@
<PropertyGroup Condition=" '$(Configuration)' == 'sbv300' ">
<UsesExternalMakeFile>True</UsesExternalMakeFile>
<OutputDirectory />
<BuildTarget>BOARD=sbv300 COLOR=0 VERBOSE=1</BuildTarget>
<CleanTarget>clean BOARD=sbv300</CleanTarget>
<BuildTarget>CONFIG=sbv300 COLOR=0 VERBOSE=1</BuildTarget>
<CleanTarget>clean CONFIG=sbv300</CleanTarget>
<ExternalMakeFilePath>Makefile</ExternalMakeFilePath>
<OutputPath>bin\sbv300\</OutputPath>
<ToolchainSettings>
@@ -376,8 +376,8 @@
</ToolchainSettings>
<UsesExternalMakeFile>True</UsesExternalMakeFile>
<OutputDirectory />
<BuildTarget>BOARD=g2v9k CONFIG=ShapeokoDualY COLOR=0 VERBOSE=1</BuildTarget>
<CleanTarget>clean BOARD=g2v9k CONFIG=ShapeokoDualY</CleanTarget>
<BuildTarget>CONFIG=ShopbotTestV9 COLOR=0 VERBOSE=1</BuildTarget>
<CleanTarget>clean CONFIG=ShopbotTestV9</CleanTarget>
<ExternalMakeFilePath>Makefile</ExternalMakeFilePath>
<OutputPath>bin\G2v9k\</OutputPath>
</PropertyGroup>
File diff suppressed because it is too large Load Diff
+203 -215
View File
@@ -1,8 +1,8 @@
/*
* settings_shapeoko375.h - Shopbot Test
* settings_shopbot_sbv300.h - Shopbot sbv3000
* This file is part of the g2core project
*
* Copyright (c) 2015 - 2016 Alden S. Hart, Jr.
* Copyright (c) 2015 - 2017 Alden S. Hart, Jr.
*
* This file ("the software") is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License, version 2 as published by the
@@ -38,218 +38,193 @@
//**** GLOBAL / GENERAL SETTINGS ******************************************************
#define JUNCTION_INTEGRATION_TIME (5000 * 25.4) // centripetal acceleration around corners
#define CHORDAL_TOLERANCE 0.001 // chordal accuracy for arc drawing (in mm)
//#define JUNCTION_INTEGRATION_TIME (5000 * 25.4) // centripetal acceleration around corners
#define JUNCTION_INTEGRATION_TIME 0.75 // cornering - between 0.10 and 2.00 (higher is faster)
#define CHORDAL_TOLERANCE 0.001 // chordal accuracy for arc drawing (in mm)
#define SOFT_LIMIT_ENABLE 0 // 0=off, 1=on
#define HARD_LIMIT_ENABLE 1 // 0=off, 1=on
#define SAFETY_INTERLOCK_ENABLE 1 // 0=off, 1=on
#define SOFT_LIMIT_ENABLE 0 // 0=off, 1=on
#define HARD_LIMIT_ENABLE 1 // 0=off, 1=on
#define SAFETY_INTERLOCK_ENABLE 1 // 0=off, 1=on
#define SPINDLE_ENABLE_POLARITY 1 // 0=active low, 1=active high
#define SPINDLE_DIR_POLARITY 0 // 0=clockwise is low, 1=clockwise is high
#define SPINDLE_PAUSE_ON_HOLD true
#define SPINDLE_DWELL_TIME 1.0
#define SPINDLE_ENABLE_POLARITY 1 // 0=active low, 1=active high
#define SPINDLE_DIR_POLARITY 0 // 0=clockwise is low, 1=clockwise is high
#define SPINDLE_PAUSE_ON_HOLD true
#define SPINDLE_DWELL_TIME 1.0
#define COOLANT_MIST_POLARITY 1 // 0=active low, 1=active high
#define COOLANT_FLOOD_POLARITY 1 // 0=active low, 1=active high
#define COOLANT_PAUSE_ON_HOLD true
// Communications and reporting settings
#define USB_SERIAL_PORTS_EXPOSED 1 // Valid options are 1 or 2, only!
#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 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
#define QUEUE_REPORT_VERBOSITY QR_TRIPLE // one of: QR_OFF, QR_SINGLE, QR_TRIPLE
#define STATUS_REPORT_VERBOSITY SR_FILTERED // one of: SR_OFF, SR_FILTERED, SR_VERBOSE
#define STATUS_REPORT_MIN_MS 200 // milliseconds - enforces a viable minimum
#define STATUS_REPORT_INTERVAL_MS 250 // milliseconds - set $SV=0 to disable
#define STATUS_REPORT_DEFAULTS "posx", "posy", "posz", "posa", "posb", "vel", "stat", "hold", "line", "coor"
// Gcode startup defaults
#define GCODE_DEFAULT_UNITS INCHES // MILLIMETERS or INCHES
#define GCODE_DEFAULT_PLANE CANON_PLANE_XY // CANON_PLANE_XY, CANON_PLANE_XZ, or CANON_PLANE_YZ
#define GCODE_DEFAULT_COORD_SYSTEM G55 // G54, G55, G56, G57, G58 or G59
#define GCODE_DEFAULT_PATH_CONTROL PATH_CONTINUOUS
#define GCODE_DEFAULT_DISTANCE_MODE ABSOLUTE_DISTANCE_MODE
constexpr float H1_DEFAULT_P = 7.0;
constexpr float H1_DEFAULT_I = 0.2;
constexpr float H1_DEFAULT_D = 100.0;
constexpr float H2_DEFAULT_P = 7.0;
constexpr float H2_DEFAULT_I = 0.2;
constexpr float H2_DEFAULT_D = 100.0;
constexpr float H3_DEFAULT_P = 7.0;
constexpr float H3_DEFAULT_I = 0.2;
constexpr float H3_DEFAULT_D = 100.0;
// *** motor settings ************************************************************************************
#define MOTOR_POWER_MODE MOTOR_POWERED_IN_CYCLE // default motor power mode (see cmMotorPowerMode in stepper.h)
#define MOTOR_POWER_TIMEOUT 2.00 // motor power timeout in seconds
#define MOTOR_POWER_LEVEL 0.375 // default motor power level 0.00 - 1.00
#define M1_MOTOR_MAP AXIS_X // 1ma
#define M1_STEP_ANGLE 1.8 // 1sa
#define M1_TRAVEL_PER_REV (0.5 * 25.4) // 1tr
#define M1_MICROSTEPS 10 // 1mi 1,2,4,8
#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 MOTOR_POWER_LEVEL // 1pl Irrelevant to Shopbot sbv300
#define M2_MOTOR_MAP AXIS_Y
#define M2_STEP_ANGLE 1.8
#define M2_TRAVEL_PER_REV (0.5 * 25.4)
#define M2_MICROSTEPS 10
#define M2_POLARITY 0
#define M2_POWER_MODE MOTOR_POWER_MODE
#define M2_POWER_LEVEL MOTOR_POWER_LEVEL
#define M3_MOTOR_MAP AXIS_Z
#define M3_STEP_ANGLE 1.8
#define M3_TRAVEL_PER_REV (0.5 * 25.4)
#define M3_MICROSTEPS 10
#define M3_POLARITY 0
#define M3_POWER_MODE MOTOR_POWER_MODE
#define M3_POWER_LEVEL MOTOR_POWER_LEVEL
#define M4_MOTOR_MAP AXIS_A
#define M4_STEP_ANGLE 1.8
#define M4_TRAVEL_PER_REV (0.5 * 25.4)
#define M4_MICROSTEPS 10
#define M4_POLARITY 0
#define M4_POWER_MODE MOTOR_POWER_MODE
#define M4_POWER_LEVEL MOTOR_POWER_LEVEL
#if (MOTORS >= 5)
#define M5_MOTOR_MAP AXIS_B
#define M5_STEP_ANGLE 1.8
#define M5_TRAVEL_PER_REV (0.5 * 25.4)
#define M5_MICROSTEPS 10
#define M5_POLARITY 0
#define M5_POWER_MODE MOTOR_POWER_MODE
#define M5_POWER_LEVEL MOTOR_POWER_LEVEL
#define M6_MOTOR_MAP AXIS_C
#define M6_STEP_ANGLE 1.8
#define M6_TRAVEL_PER_REV (0.5 * 25.4)
#define M6_MICROSTEPS 10
#define M6_POLARITY 0
#define M6_POWER_MODE MOTOR_POWER_MODE
#define M6_POWER_LEVEL MOTOR_POWER_LEVEL
#endif
#define COOLANT_MIST_POLARITY 1 // 0=active low, 1=active high
#define COOLANT_FLOOD_POLARITY 1 // 0=active low, 1=active high
#define COOLANT_PAUSE_ON_HOLD true
#define MANUAL_FEEDRATE_OVERRIDE_ENABLE false
#define MANUAL_FEEDRATE_OVERRIDE_PARAMETER 1.00
// Communications and reporting settings
#define USB_SERIAL_PORTS_EXPOSED 1 // Valid options are 1 or 2, only!
#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 TEXT_VERBOSITY TV_VERBOSE // one of: TV_SILENT, TV_VERBOSE
#define JSON_VERBOSITY JV_CONFIGS // one of: JV_SILENT, JV_FOOTER, JV_CONFIGS, JV_MESSAGES, JV_LINENUM, JV_VERBOSE
#define QUEUE_REPORT_VERBOSITY QR_TRIPLE // one of: QR_OFF, QR_SINGLE, QR_TRIPLE
#define STATUS_REPORT_VERBOSITY SR_FILTERED // one of: SR_OFF, SR_FILTERED, SR_VERBOSE
#define STATUS_REPORT_MIN_MS 200 // milliseconds - enforces a viable minimum
#define STATUS_REPORT_INTERVAL_MS 250 // milliseconds - set $SV=0 to disable
#define STATUS_REPORT_DEFAULTS "posx", "posy", "posz", "posa", "posb", "vel", "hold", "line", "coor", "stat"
// Gcode startup defaults
#define GCODE_DEFAULT_UNITS INCHES // MILLIMETERS or INCHES
#define GCODE_DEFAULT_PLANE CANON_PLANE_XY // CANON_PLANE_XY, CANON_PLANE_XZ, or CANON_PLANE_YZ
#define GCODE_DEFAULT_COORD_SYSTEM G55 // G54, G55, G56, G57, G58 or G59
#define GCODE_DEFAULT_PATH_CONTROL PATH_CONTINUOUS
#define GCODE_DEFAULT_DISTANCE_MODE ABSOLUTE_DISTANCE_MODE
// *** motor settings ************************************************************************************
#define MOTOR_POWER_MODE MOTOR_POWERED_IN_CYCLE // default motor power mode (see cmMotorPowerMode in stepper.h)
#define MOTOR_POWER_TIMEOUT 2.00 // motor power timeout in seconds
#define MOTOR_POWER_LEVEL 0.375 // default motor power level 0.00 - 1.00
#define M1_MOTOR_MAP AXIS_X // 1ma
#define M1_STEP_ANGLE 1.8 // 1sa
#define M1_TRAVEL_PER_REV (0.5 * 25.4) // 1tr
#define M1_MICROSTEPS 10 // 1mi 1,2,4,8
#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 MOTOR_POWER_LEVEL // 1pl Irrelevant to Shopbot sbv300
#define M2_MOTOR_MAP AXIS_Y
#define M2_STEP_ANGLE 1.8
#define M2_TRAVEL_PER_REV (0.5 * 25.4)
#define M2_MICROSTEPS 10
#define M2_POLARITY 0
#define M2_POWER_MODE MOTOR_POWER_MODE
#define M2_POWER_LEVEL MOTOR_POWER_LEVEL
#define M3_MOTOR_MAP AXIS_Z
#define M3_STEP_ANGLE 1.8
#define M3_TRAVEL_PER_REV (0.5 * 25.4)
#define M3_MICROSTEPS 10
#define M3_POLARITY 0
#define M3_POWER_MODE MOTOR_POWER_MODE
#define M3_POWER_LEVEL MOTOR_POWER_LEVEL
#define M4_MOTOR_MAP AXIS_A
#define M4_STEP_ANGLE 1.8
#define M4_TRAVEL_PER_REV (0.5 * 25.4)
#define M4_MICROSTEPS 10
#define M4_POLARITY 0
#define M4_POWER_MODE MOTOR_POWER_MODE
#define M4_POWER_LEVEL MOTOR_POWER_LEVEL
#if (MOTORS >= 5)
#define M5_MOTOR_MAP AXIS_B
#define M5_STEP_ANGLE 1.8
#define M5_TRAVEL_PER_REV (0.5 * 25.4)
#define M5_MICROSTEPS 10
#define M5_POLARITY 0
#define M5_POWER_MODE MOTOR_POWER_MODE
#define M5_POWER_LEVEL MOTOR_POWER_LEVEL
#define M6_MOTOR_MAP AXIS_C
#define M6_STEP_ANGLE 1.8
#define M6_TRAVEL_PER_REV (0.5 * 25.4)
#define M6_MICROSTEPS 10
#define M6_POLARITY 0
#define M6_POWER_MODE MOTOR_POWER_MODE
#define M6_POWER_LEVEL MOTOR_POWER_LEVEL
#endif
// *** axis settings *********************************************************************************
#define X_AXIS_MODE AXIS_STANDARD // xam see canonical_machine.h cmAxisMode for valid values
#define X_VELOCITY_MAX (360 * 25.4) // 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 (25 * 25.4) // xtm travel between switches or crashes
#define X_JERK_MAX (2 * 25.4) // xjm jerk is multipled by 1,000,000 internally
#define X_JERK_HIGH_SPEED 10000 // 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 (60 * 25.4) // xsv minus means move to minimum switch
#define X_LATCH_VELOCITY (30 * 25.4) // xlv mm/min
#define X_LATCH_BACKOFF (0.125 * 25.4) // xlb mm
#define X_ZERO_BACKOFF (0.375 * 25.4) // xzb mm
#define X_HOMING_INPUT 0
#define X_HOMING_DIR 0
#define X_AXIS_MODE AXIS_STANDARD // xam see canonical_machine.h cmAxisMode for valid values
#define X_VELOCITY_MAX (360 * 25.4) // 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 (25 * 25.4) // xtm travel between switches or crashes
#define X_JERK_MAX (2 * 25.4) // xjm jerk is multiplied by 1,000,000 internally
#define X_JERK_HIGH_SPEED 10000 // 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 (60 * 25.4) // xsv minus means move to minimum switch
#define X_LATCH_VELOCITY (30 * 25.4) // xlv mm/min
#define X_LATCH_BACKOFF (0.125 * 25.4) // xlb mm
#define X_ZERO_BACKOFF (0.375 * 25.4) // xzb mm
#define Y_AXIS_MODE AXIS_STANDARD
#define Y_VELOCITY_MAX (360 * 25.4)
#define Y_FEEDRATE_MAX Y_VELOCITY_MAX
#define Y_TRAVEL_MIN 0
#define Y_TRAVEL_MAX (19 * 25.4)
#define Y_JERK_MAX (2 * 25.4)
#define Y_JERK_HIGH_SPEED 10000
#define Y_HOMING_INPUT 3
#define Y_HOMING_DIRECTION 0
#define Y_SEARCH_VELOCITY (60 * 25.4)
#define Y_LATCH_VELOCITY (30 * 25.4)
#define Y_LATCH_BACKOFF (0.125 * 25.4)
#define Y_ZERO_BACKOFF (0.375 * 25.4)
//#define Y_HOMING_INPUT 0
#define Y_HOMING_DIR 0
#define Y_AXIS_MODE AXIS_STANDARD
#define Y_VELOCITY_MAX (360 * 25.4)
#define Y_FEEDRATE_MAX Y_VELOCITY_MAX
#define Y_TRAVEL_MIN 0
#define Y_TRAVEL_MAX (19 * 25.4)
#define Y_JERK_MAX (2 * 25.4)
#define Y_JERK_HIGH_SPEED 10000
#define Y_HOMING_INPUT 3
#define Y_HOMING_DIRECTION 0
#define Y_SEARCH_VELOCITY (60 * 25.4)
#define Y_LATCH_VELOCITY (30 * 25.4)
#define Y_LATCH_BACKOFF (0.125 * 25.4)
#define Y_ZERO_BACKOFF (0.375 * 25.4)
#define Z_AXIS_MODE AXIS_STANDARD
#define Z_VELOCITY_MAX (360 * 25.4)
#define Z_FEEDRATE_MAX Z_VELOCITY_MAX
#define Z_TRAVEL_MAX (6.5 * 25.4)
#define Z_TRAVEL_MIN 0
#define Z_JERK_MAX (2 * 25.4)
#define Z_JERK_HIGH_SPEED 1000
#define Z_HOMING_INPUT 6
#define Z_HOMING_DIRECTION 1
#define Z_SEARCH_VELOCITY (60 * 25.4)
#define Z_LATCH_VELOCITY (30 * 25.4)
#define Z_LATCH_BACKOFF (0.125 * 25.4)
#define Z_ZERO_BACKOFF (0.375 * 25.4)
#define Z_AXIS_MODE AXIS_STANDARD
#define Z_VELOCITY_MAX (360 * 25.4)
#define Z_FEEDRATE_MAX Z_VELOCITY_MAX
#define Z_TRAVEL_MAX (6.5 * 25.4)
#define Z_TRAVEL_MIN 0
#define Z_JERK_MAX (2 * 25.4)
#define Z_JERK_HIGH_SPEED 1000
#define Z_HOMING_INPUT 6
#define Z_HOMING_DIRECTION 1
#define Z_SEARCH_VELOCITY (60 * 25.4)
#define Z_LATCH_VELOCITY (30 * 25.4)
#define Z_LATCH_BACKOFF (0.125 * 25.4)
#define Z_ZERO_BACKOFF (0.375 * 25.4)
//#define Z_HOMING_INPUT 0
#define Z_HOMING_DIR 0
#define A_AXIS_MODE AXIS_STANDARD
#define A_VELOCITY_MAX (360 * 25.4)
#define A_FEEDRATE_MAX 48000
#define A_TRAVEL_MIN -1 // degrees
#define A_TRAVEL_MAX -1 // same value means infinite, no limit
#define A_JERK_MAX (2 * 25.4)
#define A_JERK_HIGH_SPEED A_JERK_MAX
#define A_RADIUS 1.0
#define A_HOMING_INPUT 0
#define A_HOMING_DIRECTION 0
#define A_SEARCH_VELOCITY (60 * 25.4)
#define A_LATCH_VELOCITY (30 * 25.4)
#define A_LATCH_BACKOFF (0.125 * 25.4)
#define A_ZERO_BACKOFF (0.375 * 25.4)
#define B_AXIS_MODE AXIS_DISABLED
#define B_VELOCITY_MAX (360 * 25.4)
#define B_FEEDRATE_MAX B_VELOCITY_MAX
#define B_TRAVEL_MAX -1
#define B_TRAVEL_MIN -1
#define B_JERK_MAX (2 * 25.4)
#define B_JERK_HIGH_SPEED B_JERK_MAX
#define B_RADIUS 1
#define B_HOMING_INPUT 0
#define B_HOMING_DIRECTION 0
#define B_SEARCH_VELOCITY (60 * 25.4)
#define B_LATCH_VELOCITY (30 * 25.4)
#define B_LATCH_BACKOFF (0.125 * 25.4)
#define B_ZERO_BACKOFF (0.375 * 25.4)
#define A_AXIS_MODE AXIS_STANDARD
#define A_VELOCITY_MAX (360 * 25.4)
#define A_FEEDRATE_MAX 48000
#define A_TRAVEL_MIN -1 // degrees
#define A_TRAVEL_MAX -1 // same value means infinite, no limit
#define A_JERK_MAX (2 * 25.4)
#define A_JERK_HIGH_SPEED A_JERK_MAX
#define A_RADIUS 1.0
#define A_HOMING_INPUT 0
#define A_HOMING_DIRECTION 0
#define A_SEARCH_VELOCITY (60 * 25.4)
#define A_LATCH_VELOCITY (30 * 25.4)
#define A_LATCH_BACKOFF (0.125 * 25.4)
#define A_ZERO_BACKOFF (0.375 * 25.4)
#define A_HOMING_INPUT 0
#define A_HOMING_DIR 0
#define B_AXIS_MODE AXIS_DISABLED
#define B_VELOCITY_MAX (360 * 25.4)
#define B_FEEDRATE_MAX B_VELOCITY_MAX
#define B_TRAVEL_MAX -1
#define B_TRAVEL_MIN -1
#define B_JERK_MAX (2 * 25.4)
#define B_JERK_HIGH_SPEED B_JERK_MAX
#define B_RADIUS 1
#define B_HOMING_INPUT 0
#define B_HOMING_DIRECTION 0
#define B_SEARCH_VELOCITY (60 * 25.4)
#define B_LATCH_VELOCITY (30 * 25.4)
#define B_LATCH_BACKOFF (0.125 * 25.4)
#define B_ZERO_BACKOFF (0.375 * 25.4)
#define B_HOMING_INPUT 0
#define B_HOMING_DIR 0
#define C_AXIS_MODE AXIS_DISABLED
#define C_VELOCITY_MAX (360 * 25.4)
#define C_FEEDRATE_MAX C_VELOCITY_MAX
#define C_TRAVEL_MAX -1
#define C_TRAVEL_MIN -1
#define C_JERK_MAX (2 * 25.4)
#define C_JERK_HIGH_SPEED C_JERK_MAX
#define C_RADIUS 1
#define C_HOMING_INPUT 0
#define C_HOMING_DIRECTION 0
#define C_SEARCH_VELOCITY (60 * 25.4)
#define C_LATCH_VELOCITY (30 * 25.4)
#define C_LATCH_BACKOFF (0.125 * 25.4)
#define C_ZERO_BACKOFF (0.375 * 25.4)
#define C_HOMING_INPUT 0
#define C_HOMING_DIR 0
#define C_AXIS_MODE AXIS_DISABLED
#define C_VELOCITY_MAX (360 * 25.4)
#define C_FEEDRATE_MAX C_VELOCITY_MAX
#define C_TRAVEL_MAX -1
#define C_TRAVEL_MIN -1
#define C_JERK_MAX (2 * 25.4)
#define C_JERK_HIGH_SPEED C_JERK_MAX
#define C_RADIUS 1
#define C_HOMING_INPUT 0
#define C_HOMING_DIRECTION 0
#define C_SEARCH_VELOCITY (60 * 25.4)
#define C_LATCH_VELOCITY (30 * 25.4)
#define C_LATCH_BACKOFF (0.125 * 25.4)
#define C_ZERO_BACKOFF (0.375 * 25.4)
//*** Input / output settings ***
@@ -316,7 +291,6 @@ constexpr float H3_DEFAULT_D = 100.0;
#define DI9_ACTION INPUT_ACTION_NONE
#define DI9_FUNCTION INPUT_FUNCTION_NONE
// Extruder1_PWM
#define DO1_MODE IO_ACTIVE_HIGH
// Extruder2_PWM
@@ -340,23 +314,23 @@ constexpr float H3_DEFAULT_D = 100.0;
/*** Handle optional modules that may not be in every machine ***/
#define P1_PWM_FREQUENCY 100 // in Hz
#define P1_CW_SPEED_LO 7900 // in RPM (arbitrary units)
#define P1_CW_SPEED_HI 12800
#define P1_CW_PHASE_LO 0.13 // phase [0..1]
#define P1_CW_PHASE_HI 0.17
#define P1_CCW_SPEED_LO 0
#define P1_CCW_SPEED_HI 0
#define P1_CCW_PHASE_LO 0.1
#define P1_CCW_PHASE_HI 0.1
#define P1_PWM_PHASE_OFF 0.1
#define P1_PWM_FREQUENCY 100 // in Hz
#define P1_CW_SPEED_LO 7900 // in RPM (arbitrary units)
#define P1_CW_SPEED_HI 12800
#define P1_CW_PHASE_LO 0.13 // phase [0..1]
#define P1_CW_PHASE_HI 0.17
#define P1_CCW_SPEED_LO 0
#define P1_CCW_SPEED_HI 0
#define P1_CCW_PHASE_LO 0.1
#define P1_CCW_PHASE_HI 0.1
#define P1_PWM_PHASE_OFF 0.1
// *** DEFAULT COORDINATE SYSTEM OFFSETS ***
// Our convention is:
// - leave G54 in machine coordinates to act as a persistent absolute coordinate system
// - set G55 to be a zero in the middle of the table
// - no action for the others
/*
#define G54_X_OFFSET 0 // G54 is traditionally set to all zeros
#define G54_Y_OFFSET 0
#define G54_Z_OFFSET 0
@@ -398,9 +372,9 @@ constexpr float H3_DEFAULT_D = 100.0;
#define G59_A_OFFSET 0
#define G59_B_OFFSET 0
#define G59_C_OFFSET 0
*/
/*** User-Defined Data Defaults ***/
/*
#define USER_DATA_A0 0
#define USER_DATA_A1 0
#define USER_DATA_A2 0
@@ -417,3 +391,17 @@ constexpr float H3_DEFAULT_D = 100.0;
#define USER_DATA_D1 0
#define USER_DATA_D2 0
#define USER_DATA_D3 0
constexpr float H1_DEFAULT_P = 7.0;
constexpr float H1_DEFAULT_I = 0.2;
constexpr float H1_DEFAULT_D = 100.0;
constexpr float H2_DEFAULT_P = 7.0;
constexpr float H2_DEFAULT_I = 0.2;
constexpr float H2_DEFAULT_D = 100.0;
constexpr float H3_DEFAULT_P = 7.0;
constexpr float H3_DEFAULT_I = 0.2;
constexpr float H3_DEFAULT_D = 100.0;
*/
+184 -174
View File
@@ -1,8 +1,8 @@
/*
* settings_shapeoko375.h - Shopbot Test
* settings_shopbot_test.h - Shopbot Test
* This file is part of the g2core project
*
* Copyright (c) 2015 - 2016 Alden S. Hart, Jr.
* Copyright (c) 2015 - 2017 Alden S. Hart, Jr.
*
* This file ("the software") is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License, version 2 as published by the
@@ -39,208 +39,204 @@
//**** GLOBAL / GENERAL SETTINGS ******************************************************
#define JUNCTION_INTEGRATION_TIME (5000 * 25.4) // cornering - usually between 0.5 and 2.0 (higher is faster)
#define CHORDAL_TOLERANCE 0.001 // chordal accuracy for arc drawing (in mm)
//#define JUNCTION_INTEGRATION_TIME (5000 * 25.4) // cornering - usually between 0.5 and 2.0 (higher is faster)
#define JUNCTION_INTEGRATION_TIME 0.75 // cornering - between 0.10 and 2.00 (higher is faster)
#define CHORDAL_TOLERANCE 0.001 // chordal accuracy for arc drawing (in mm)
#define SOFT_LIMIT_ENABLE 0 // 0=off, 1=on
#define HARD_LIMIT_ENABLE 1 // 0=off, 1=on
#define SAFETY_INTERLOCK_ENABLE 1 // 0=off, 1=on
#define SOFT_LIMIT_ENABLE 0 // 0=off, 1=on
#define HARD_LIMIT_ENABLE 1 // 0=off, 1=on
#define SAFETY_INTERLOCK_ENABLE 1 // 0=off, 1=on
#define SPINDLE_ENABLE_POLARITY 1 // 0=active low, 1=active high
#define SPINDLE_DIR_POLARITY 0 // 0=clockwise is low, 1=clockwise is high
#define SPINDLE_PAUSE_ON_HOLD true
#define SPINDLE_DWELL_TIME 1.0
#define SPINDLE_ENABLE_POLARITY 1 // 0=active low, 1=active high
#define SPINDLE_DIR_POLARITY 0 // 0=clockwise is low, 1=clockwise is high
#define SPINDLE_PAUSE_ON_HOLD true
#define SPINDLE_DWELL_TIME 1.0
#define COOLANT_MIST_POLARITY 1 // 0=active low, 1=active high
#define COOLANT_FLOOD_POLARITY 1 // 0=active low, 1=active high
#define COOLANT_PAUSE_ON_HOLD true
#define COOLANT_MIST_POLARITY 1 // 0=active low, 1=active high
#define COOLANT_FLOOD_POLARITY 1 // 0=active low, 1=active high
#define COOLANT_PAUSE_ON_HOLD true
#define MANUAL_FEEDRATE_OVERRIDE_ENABLE false
#define MANUAL_FEEDRATE_OVERRIDE_PARAMETER 1.00
// Communications and reporting settings
#define USB_SERIAL_PORTS_EXPOSED 2 // Valid options are 1 or 2, only!
#define USB_SERIAL_PORTS_EXPOSED 1 // Valid options are 1 or 2, only!
#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 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 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
#define QUEUE_REPORT_VERBOSITY QR_OFF // one of: QR_OFF, QR_SINGLE, QR_TRIPLE
#define TEXT_VERBOSITY TV_VERBOSE // one of: TV_SILENT, TV_VERBOSE
#define JSON_VERBOSITY JV_VERBOSE // one of: JV_SILENT, JV_FOOTER, JV_CONFIGS, JV_MESSAGES, JV_LINENUM, JV_VERBOSE
#define QUEUE_REPORT_VERBOSITY QR_OFF // one of: QR_OFF, QR_SINGLE, QR_TRIPLE
#define STATUS_REPORT_VERBOSITY SR_FILTERED // one of: SR_OFF, SR_FILTERED, SR_VERBOSE
#define STATUS_REPORT_MIN_MS 200 // milliseconds - enforces a viable minimum
#define STATUS_REPORT_INTERVAL_MS 250 // milliseconds - set $SV=0 to disable
//#define STATUS_REPORT_DEFAULTS "posx","posy","posz","posa","posb","vel","stat","hold","line","coor"
//#define STATUS_REPORT_DEFAULTS
//"posx","posy","posz","posa","posb","vel","stat","macs","cycs","mots","hold","line","coor"
#define STATUS_REPORT_DEFAULTS \
"posx", "posy", "posz", "posa", "vel", "feed", "stat", "macs", "cycs", "mots", "hold", "in1", "in2", "in3", "in4", \
"in5", "in6", "in7", "in8", "in9"
//#define STATUS_REPORT_DEFAULTS "posx", "posy", "posz", "posa", "posb", "vel", "hold", "line", "coor", "stat"
#define STATUS_REPORT_DEFAULTS "posx", "posy", "posz", "posa", \
"vel", "feed", "stat", "macs", "cycs", "mots", "hold", \
"in1", "in2", "in3", "in4", "in5", "in6", "in7", "in8", "in9"
// "home","homx","homy","homz"
// "line","vel","feed","stat","macs","cycs","mots","hold","unit",
// Gcode startup defaults
#define GCODE_DEFAULT_UNITS INCHES // MILLIMETERS or INCHES
#define GCODE_DEFAULT_PLANE CANON_PLANE_XY // CANON_PLANE_XY, CANON_PLANE_XZ, or CANON_PLANE_YZ
#define GCODE_DEFAULT_COORD_SYSTEM G55 // G54, G55, G56, G57, G58 or G59
#define GCODE_DEFAULT_PATH_CONTROL PATH_CONTINUOUS
#define GCODE_DEFAULT_UNITS INCHES // MILLIMETERS or INCHES
#define GCODE_DEFAULT_PLANE CANON_PLANE_XY // CANON_PLANE_XY, CANON_PLANE_XZ, or CANON_PLANE_YZ
#define GCODE_DEFAULT_COORD_SYSTEM G55 // G54, G55, G56, G57, G58 or G59
#define GCODE_DEFAULT_PATH_CONTROL PATH_CONTINUOUS
#define GCODE_DEFAULT_DISTANCE_MODE ABSOLUTE_DISTANCE_MODE
constexpr float H1_DEFAULT_P = 7.0;
constexpr float H1_DEFAULT_I = 0.2;
constexpr float H1_DEFAULT_D = 100.0;
constexpr float H2_DEFAULT_P = 7.0;
constexpr float H2_DEFAULT_I = 0.2;
constexpr float H2_DEFAULT_D = 100.0;
constexpr float H3_DEFAULT_P = 7.0;
constexpr float H3_DEFAULT_I = 0.2;
constexpr float H3_DEFAULT_D = 100.0;
// *** motor settings ************************************************************************************
#define MOTOR_POWER_MODE MOTOR_POWERED_IN_CYCLE // default motor power mode (see cmMotorPowerMode in stepper.h)
#define MOTOR_POWER_TIMEOUT 2.00 // motor power timeout in seconds
#define MOTOR_POWER_LEVEL 0.375 // default motor power level 0.00 - 1.00
#define MOTOR_POWER_MODE MOTOR_POWERED_IN_CYCLE // default motor power mode (see cmMotorPowerMode in stepper.h)
#define MOTOR_POWER_TIMEOUT 2.00 // motor power timeout in seconds
#define MOTOR_POWER_LEVEL 0.375 // default motor power level 0.00 - 1.00
#define M1_MOTOR_MAP AXIS_X // 1ma
#define M1_STEP_ANGLE 1.8 // 1sa
#define M1_TRAVEL_PER_REV (0.5 * 25.4) // 1tr
#define M1_MICROSTEPS 16 // 1mi 1,2,4,8
#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 MOTOR_POWER_LEVEL // 1pl Irrelevant to Shopbot sbv300
#define M1_MOTOR_MAP AXIS_X // 1ma
#define M1_STEP_ANGLE 1.8 // 1sa
#define M1_TRAVEL_PER_REV (0.5 * 25.4) // 1tr
#define M1_MICROSTEPS 8 // 1mi 1,2,4,8
#define M1_POLARITY 1 // 1po 0=normal, 1=reversed
#define M1_POWER_MODE MOTOR_POWER_MODE // 1pm TRUE=low power idle enabled
#define M1_POWER_LEVEL MOTOR_POWER_LEVEL // 1pl Irrelevant to Shopbot sbv300
#define M2_MOTOR_MAP AXIS_Y
#define M2_STEP_ANGLE 1.8
#define M2_TRAVEL_PER_REV (0.5 * 25.4)
#define M2_MICROSTEPS 16
#define M2_POLARITY 0
#define M2_POWER_MODE MOTOR_POWER_MODE
#define M2_POWER_LEVEL MOTOR_POWER_LEVEL
#define M3_MOTOR_MAP AXIS_Z
#define M3_STEP_ANGLE 1.8
#define M3_TRAVEL_PER_REV (0.5 * 25.4)
#define M3_MICROSTEPS 16
#define M3_POLARITY 0
#define M3_POWER_MODE MOTOR_POWER_MODE
#define M3_POWER_LEVEL MOTOR_POWER_LEVEL
#define M2_MOTOR_MAP AXIS_Y
#define M2_STEP_ANGLE 1.8
#define M2_TRAVEL_PER_REV (0.5 * 25.4)
#define M2_MICROSTEPS 8
#define M2_POLARITY 1
#define M2_POWER_MODE MOTOR_POWER_MODE
#define M2_POWER_LEVEL MOTOR_POWER_LEVEL
#define M4_MOTOR_MAP AXIS_A
#define M4_STEP_ANGLE 1.8
#define M4_TRAVEL_PER_REV (0.5 * 25.4)
#define M4_MICROSTEPS 16
#define M4_POLARITY 0
#define M4_POWER_MODE MOTOR_POWER_MODE
#define M4_POWER_LEVEL MOTOR_POWER_LEVEL
#define M3_MOTOR_MAP AXIS_Z
#define M3_STEP_ANGLE 1.8
#define M3_TRAVEL_PER_REV (0.5 * 25.4)
#define M3_MICROSTEPS 8
#define M3_POLARITY 0
#define M3_POWER_MODE MOTOR_POWER_MODE
#define M3_POWER_LEVEL MOTOR_POWER_LEVEL
#define M4_MOTOR_MAP AXIS_A
#define M4_STEP_ANGLE 1.8
#define M4_TRAVEL_PER_REV (0.5 * 25.4)
#define M4_MICROSTEPS 8
#define M4_POLARITY 0
#define M4_POWER_MODE MOTOR_POWER_MODE
#define M4_POWER_LEVEL MOTOR_POWER_LEVEL
#if (MOTORS >= 5)
#define M5_MOTOR_MAP AXIS_B
#define M5_STEP_ANGLE 1.8
#define M5_TRAVEL_PER_REV (0.5 * 25.4)
#define M5_MICROSTEPS 16
#define M5_POLARITY 0
#define M5_POWER_MODE MOTOR_POWER_MODE
#define M5_POWER_LEVEL MOTOR_POWER_LEVEL
#define M5_MOTOR_MAP AXIS_B
#define M5_STEP_ANGLE 1.8
#define M5_TRAVEL_PER_REV (0.5 * 25.4)
#define M5_MICROSTEPS 8
#define M5_POLARITY 0
#define M5_POWER_MODE MOTOR_POWER_MODE
#define M5_POWER_LEVEL MOTOR_POWER_LEVEL
#define M6_MOTOR_MAP AXIS_C
#define M6_STEP_ANGLE 1.8
#define M6_TRAVEL_PER_REV (0.5 * 25.4)
#define M6_MICROSTEPS 16
#define M6_POLARITY 0
#define M6_POWER_MODE MOTOR_POWER_MODE
#define M6_POWER_LEVEL MOTOR_POWER_LEVEL
#define M6_MOTOR_MAP AXIS_C
#define M6_STEP_ANGLE 1.8
#define M6_TRAVEL_PER_REV (0.5 * 25.4)
#define M6_MICROSTEPS 8
#define M6_POLARITY 0
#define M6_POWER_MODE MOTOR_POWER_MODE
#define M6_POWER_LEVEL MOTOR_POWER_LEVEL
#endif
// *** axis settings *********************************************************************************
#define X_AXIS_MODE AXIS_STANDARD // xam see canonical_machine.h cmAxisMode for valid values
#define X_VELOCITY_MAX (360 * 25.4) // 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 (25 * 25.4) // xtm travel between switches or crashes
#define X_JERK_MAX (2 * 25.4) // xjm jerk is multipled by 1,000,000 internally
#define X_JERK_HIGH_SPEED 10000 // 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 (60 * 25.4) // xsv minus means move to minimum switch
#define X_LATCH_VELOCITY (30 * 25.4) // xlv mm/min
#define X_LATCH_BACKOFF (0.125 * 25.4) // xlb mm
#define X_ZERO_BACKOFF (0.375 * 25.4) // xzb mm
// Axis values are set to make the Othermachine behave like a smaller Handibot
// Units are not to scale: i.e. G0 X1 travels approx 0.34" instead of 1"
#define Y_AXIS_MODE AXIS_STANDARD
#define Y_VELOCITY_MAX (360 * 25.4)
#define Y_FEEDRATE_MAX Y_VELOCITY_MAX
#define Y_TRAVEL_MIN 0
#define Y_TRAVEL_MAX (19 * 25.4)
#define Y_JERK_MAX (2 * 25.4)
#define Y_JERK_HIGH_SPEED 10000
#define Y_HOMING_INPUT 3
#define Y_HOMING_DIRECTION 0
#define Y_SEARCH_VELOCITY (60 * 25.4)
#define Y_LATCH_VELOCITY (30 * 25.4)
#define Y_LATCH_BACKOFF (0.125 * 25.4)
#define Y_ZERO_BACKOFF (0.375 * 25.4)
#define X_AXIS_MODE AXIS_STANDARD // xam see canonical_machine.h cmAxisMode for valid values
#define X_VELOCITY_MAX (100 * 25.4) // xvm G0 max velocity in mm/min (was 360)
#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 (14 * 25.4) // xtm travel between switches or crashes (was 25)
#define X_JERK_MAX (2 * 25.4) // xjm jerk is multiplied by 1,000,000 internally
#define X_JERK_HIGH_SPEED 10000 // 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 (60 * 25.4) // xsv minus means move to minimum switch
#define X_LATCH_VELOCITY (30 * 25.4) // xlv mm/min
#define X_LATCH_BACKOFF (0.125 * 25.4) // xlb mm
#define X_ZERO_BACKOFF (0.250 * 25.4) // xzb mm was 0.375
#define Z_AXIS_MODE AXIS_STANDARD
#define Z_VELOCITY_MAX (360 * 25.4)
#define Z_FEEDRATE_MAX Z_VELOCITY_MAX
#define Z_TRAVEL_MAX (6.5 * 25.4)
#define Z_TRAVEL_MIN 0
#define Z_JERK_MAX (2 * 25.4)
#define Z_JERK_HIGH_SPEED 1000
#define Z_HOMING_INPUT 6
#define Z_HOMING_DIRECTION 1
#define Z_SEARCH_VELOCITY (60 * 25.4)
#define Z_LATCH_VELOCITY (30 * 25.4)
#define Z_LATCH_BACKOFF (0.125 * 25.4)
#define Z_ZERO_BACKOFF (0.375 * 25.4)
#define Y_AXIS_MODE AXIS_STANDARD
#define Y_VELOCITY_MAX (100 * 25.4) // was 360
#define Y_FEEDRATE_MAX Y_VELOCITY_MAX
#define Y_TRAVEL_MIN 0
#define Y_TRAVEL_MAX (11.5 * 25.4) // was 19
#define Y_JERK_MAX (2 * 25.4)
#define Y_JERK_HIGH_SPEED 10000
#define Y_HOMING_INPUT 3
#define Y_HOMING_DIRECTION 0
#define Y_SEARCH_VELOCITY (60 * 25.4)
#define Y_LATCH_VELOCITY (30 * 25.4)
#define Y_LATCH_BACKOFF (0.125 * 25.4)
#define Y_ZERO_BACKOFF (0.250 * 25.4) // was 0.375
#define A_AXIS_MODE AXIS_STANDARD
#define A_VELOCITY_MAX (360 * 25.4)
#define A_FEEDRATE_MAX 48000
#define A_TRAVEL_MIN -1 // degrees
#define A_TRAVEL_MAX -1 // same value means infinite, no limit
#define A_JERK_MAX (2 * 25.4)
#define A_JERK_HIGH_SPEED A_JERK_MAX
#define A_RADIUS 1.0
#define A_HOMING_INPUT 0
#define A_HOMING_DIRECTION 0
#define A_SEARCH_VELOCITY (60 * 25.4)
#define A_LATCH_VELOCITY (30 * 25.4)
#define A_LATCH_BACKOFF (0.125 * 25.4)
#define A_ZERO_BACKOFF (0.375 * 25.4)
#define Z_AXIS_MODE AXIS_STANDARD
#define Z_VELOCITY_MAX (100 * 25.4) // was 360
#define Z_FEEDRATE_MAX Z_VELOCITY_MAX
#define Z_TRAVEL_MAX (6 * 25.4) // was 6.5
#define Z_TRAVEL_MIN 0
#define Z_JERK_MAX (2 * 25.4)
#define Z_JERK_HIGH_SPEED 1000
#define Z_HOMING_INPUT 6
#define Z_HOMING_DIRECTION 1
#define Z_SEARCH_VELOCITY (60 * 25.4)
#define Z_LATCH_VELOCITY (30 * 25.4)
#define Z_LATCH_BACKOFF (0.125 * 25.4)
#define Z_ZERO_BACKOFF (0.250 * 25.4) // was 0.375
#define B_AXIS_MODE AXIS_DISABLED
#define B_VELOCITY_MAX (360 * 25.4)
#define B_FEEDRATE_MAX B_VELOCITY_MAX
#define B_TRAVEL_MAX -1
#define B_TRAVEL_MIN -1
#define B_JERK_MAX (2 * 25.4)
#define B_JERK_HIGH_SPEED B_JERK_MAX
#define B_RADIUS 1
#define B_HOMING_INPUT 0
#define B_HOMING_DIRECTION 0
#define B_SEARCH_VELOCITY (60 * 25.4)
#define B_LATCH_VELOCITY (30 * 25.4)
#define B_LATCH_BACKOFF (0.125 * 25.4)
#define B_ZERO_BACKOFF (0.375 * 25.4)
#define A_AXIS_MODE AXIS_STANDARD
#define A_VELOCITY_MAX (360 * 25.4)
#define A_FEEDRATE_MAX 48000
#define A_TRAVEL_MIN -1 // degrees
#define A_TRAVEL_MAX -1 // same value means infinite, no limit
#define A_JERK_MAX (2 * 25.4)
#define A_JERK_HIGH_SPEED A_JERK_MAX
#define A_RADIUS 1.0
#define A_HOMING_INPUT 0
#define A_HOMING_DIRECTION 0
#define A_SEARCH_VELOCITY (60 * 25.4)
#define A_LATCH_VELOCITY (30 * 25.4)
#define A_LATCH_BACKOFF (0.125 * 25.4)
#define A_ZERO_BACKOFF (0.375 * 25.4)
#define C_AXIS_MODE AXIS_DISABLED
#define C_VELOCITY_MAX (360 * 25.4)
#define C_FEEDRATE_MAX C_VELOCITY_MAX
#define C_TRAVEL_MAX -1
#define C_TRAVEL_MIN -1
#define C_JERK_MAX (2 * 25.4)
#define C_JERK_HIGH_SPEED C_JERK_MAX
#define C_RADIUS 1
#define C_HOMING_INPUT 0
#define C_HOMING_DIRECTION 0
#define C_SEARCH_VELOCITY (60 * 25.4)
#define C_LATCH_VELOCITY (30 * 25.4)
#define C_LATCH_BACKOFF (0.125 * 25.4)
#define C_ZERO_BACKOFF (0.375 * 25.4)
#define B_AXIS_MODE AXIS_DISABLED
#define B_VELOCITY_MAX (360 * 25.4)
#define B_FEEDRATE_MAX B_VELOCITY_MAX
#define B_TRAVEL_MAX -1
#define B_TRAVEL_MIN -1
#define B_JERK_MAX (2 * 25.4)
#define B_JERK_HIGH_SPEED B_JERK_MAX
#define B_RADIUS 1
#define B_HOMING_INPUT 0
#define B_HOMING_DIRECTION 0
#define B_SEARCH_VELOCITY (60 * 25.4)
#define B_LATCH_VELOCITY (30 * 25.4)
#define B_LATCH_BACKOFF (0.125 * 25.4)
#define B_ZERO_BACKOFF (0.375 * 25.4)
#define C_AXIS_MODE AXIS_DISABLED
#define C_VELOCITY_MAX (360 * 25.4)
#define C_FEEDRATE_MAX C_VELOCITY_MAX
#define C_TRAVEL_MAX -1
#define C_TRAVEL_MIN -1
#define C_JERK_MAX (2 * 25.4)
#define C_JERK_HIGH_SPEED C_JERK_MAX
#define C_RADIUS 1
#define C_HOMING_INPUT 0
#define C_HOMING_DIRECTION 0
#define C_SEARCH_VELOCITY (60 * 25.4)
#define C_LATCH_VELOCITY (30 * 25.4)
#define C_LATCH_BACKOFF (0.125 * 25.4)
#define C_ZERO_BACKOFF (0.375 * 25.4)
//*** Input / output settings ***
/*
@@ -272,7 +268,7 @@ constexpr float H3_DEFAULT_D = 100.0;
#define DI1_FUNCTION INPUT_FUNCTION_LIMIT // configured as limit switch. Also used for X homing
// Xmax
#define DI2_MODE INPUT_MODE_DISABLED // testing disable
#define DI2_MODE IO_MODE_DISABLED // testing disable
//#define DI2_MODE NORMALLY_CLOSED // configured as limit switch
#define DI2_ACTION INPUT_ACTION_FAST_STOP
#define DI2_FUNCTION INPUT_FUNCTION_LIMIT
@@ -288,7 +284,7 @@ constexpr float H3_DEFAULT_D = 100.0;
#define DI4_FUNCTION INPUT_FUNCTION_LIMIT
// Zmin
#define DI5_MODE INPUT_ACTIVE_LOW // used for Z probe. Active closes circuit (active LO)
#define DI5_MODE IO_ACTIVE_LOW // used for Z probe. Active closes circuit (active LO)
#define DI5_ACTION INPUT_ACTION_NONE
#define DI5_FUNCTION INPUT_FUNCTION_NONE
@@ -302,12 +298,12 @@ constexpr float H3_DEFAULT_D = 100.0;
//#define DI6_FUNCTION INPUT_FUNCTION_LIMIT
// Amin
#define DI7_MODE INPUT_ACTIVE_HIGH // interlock happens when NO switch goes HI (opens)
#define DI7_MODE IO_ACTIVE_HIGH // interlock happens when NO switch goes HI (opens)
#define DI7_ACTION INPUT_ACTION_STOP // wired as interlock switch
#define DI7_FUNCTION INPUT_FUNCTION_INTERLOCK
// Amax
#define DI8_MODE INPUT_ACTIVE_LOW // configured as panic switch, NO
#define DI8_MODE IO_ACTIVE_LOW // configured as panic switch, NO
#define DI8_ACTION INPUT_ACTION_PANIC
#define DI8_FUNCTION INPUT_FUNCTION_NONE
@@ -334,7 +330,7 @@ constexpr float H3_DEFAULT_D = 100.0;
// - leave G54 in machine coordinates to act as a persistent absolute coordinate system
// - set G55 to be a zero in the middle of the table
// - no action for the others
/*
#define G54_X_OFFSET 0 // G54 is traditionally set to all zeros
#define G54_Y_OFFSET 0
#define G54_Z_OFFSET 0
@@ -376,9 +372,9 @@ constexpr float H3_DEFAULT_D = 100.0;
#define G59_A_OFFSET 0
#define G59_B_OFFSET 0
#define G59_C_OFFSET 0
*/
/*** User-Defined Data Defaults ***/
/*
#define USER_DATA_A0 0
#define USER_DATA_A1 0
#define USER_DATA_A2 0
@@ -395,3 +391,17 @@ constexpr float H3_DEFAULT_D = 100.0;
#define USER_DATA_D1 0
#define USER_DATA_D2 0
#define USER_DATA_D3 0
constexpr float H1_DEFAULT_P = 7.0;
constexpr float H1_DEFAULT_I = 0.2;
constexpr float H1_DEFAULT_D = 100.0;
constexpr float H2_DEFAULT_P = 7.0;
constexpr float H2_DEFAULT_I = 0.2;
constexpr float H2_DEFAULT_D = 100.0;
constexpr float H3_DEFAULT_P = 7.0;
constexpr float H3_DEFAULT_I = 0.2;
constexpr float H3_DEFAULT_D = 100.0;
*/