Fix:EndStops doesn't working with BOARD_RAMPS_14_EFB on Micromake C1 (#8041)

[1.1.x] Fix EndStops don't work with BOARD_RAMPS_14_EFB on Micromake C1
This commit is contained in:
MetalSearch 2017-10-21 07:24:22 +02:00 committed by Scott Lahteine
parent 1d5fb360cc
commit 9b3f27f02a
6 changed files with 1559 additions and 65 deletions

View File

@ -100,6 +100,7 @@
#define BOARD_BAM_DICE_DUE 402 // 2PrintBeta BAM&DICE Due with STK drivers
#define BOARD_BQ_ZUM_MEGA_3D 503 // bq ZUM Mega 3D
#define BOARD_ZRIB_V20 504 // zrib V2.0 control board (Chinese knock off RAMPS replica)
#define BOARD_MAKEBOARD_MINI 431 // MakeBoard Mini v2.1.2 is a control board sold by MicroMake
#define MB(board) (MOTHERBOARD==BOARD_##board)

View File

@ -119,12 +119,12 @@
// The following define selects which electronics board you have.
// Please choose the name from boards.h that matches your setup
#ifndef MOTHERBOARD
#define MOTHERBOARD BOARD_RAMPS_14_EFB
#define MOTHERBOARD BOARD_MAKEBOARD_MINI
#endif
// Optional custom name for your RepStrap or other custom machine
// Displayed in the LCD "Ready" message
#define CUSTOM_MACHINE_NAME "Micromake C1"
//#define CUSTOM_MACHINE_NAME "3D Printer"
// Define this to set a unique identifier for this printer, (Used by some programs to differentiate between machines)
// You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
@ -498,7 +498,7 @@
// Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles.
#define ENDSTOP_INTERRUPTS_FEATURE
//#define ENDSTOP_INTERRUPTS_FEATURE
//=============================================================================
//============================== Movement Settings ============================
@ -525,14 +525,18 @@
* Override with M92
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
*/
#define DEFAULT_AXIS_STEPS_PER_UNIT { 100, 100, 100, 150 } // MicroMake 128 Steps
// choose your micro step per step configuration ( 16 factory settings )
#define DEFAULT_AXIS_STEPS_PER_UNIT { 100, 100, 100, 150 } // 16 steps per unit for Micromake C1 - Factory Settings - ( MS1 : closed ; MS2 : closed on MAKEBOARD Mini)
//#define DEFAULT_AXIS_STEPS_PER_UNIT { 200, 200, 200, 300 } // 32 steps per unit for Micromake C1 - Custom Settings - ( MS1 : closed ; MS2 : open on MAKEBOARD Mini)
//#define DEFAULT_AXIS_STEPS_PER_UNIT { 400, 400, 400, 600 } // 64 steps per unit for Micromake C1 - Custom Settings - ( MS1 : open ; MS2 : closed on MAKEBOARD Mini)
//#define DEFAULT_AXIS_STEPS_PER_UNIT { 800, 800, 800, 1200 } // 128 steps per unit for Micromake C1 - Custom Settings - ( MS1 : open ; MS2 : open on MAKEBOARD Mini)
/**
* Default Max Feed Rate (mm/s)
* Override with M203
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
*/
#define DEFAULT_MAX_FEEDRATE { 200, 200, 200, 30 } // MicroMake 128 Steps
#define DEFAULT_MAX_FEEDRATE { 200, 200, 200, 30 }
/**
* Default Max Acceleration (change/s) change = mm/s
@ -540,7 +544,7 @@
* Override with M201
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
*/
#define DEFAULT_MAX_ACCELERATION { 3000, 3000, 3000, 4000 } // MicroMake 128 Steps
#define DEFAULT_MAX_ACCELERATION { 3000, 3000, 3000, 4000 }
/**
* Default Acceleration (change/s) change = mm/s
@ -550,9 +554,9 @@
* M204 R Retract Acceleration
* M204 T Travel Acceleration
*/
#define DEFAULT_ACCELERATION 1000 // X, Y, Z and E acceleration for printing moves
#define DEFAULT_RETRACT_ACCELERATION 1000 // E acceleration for retracts
#define DEFAULT_TRAVEL_ACCELERATION 1000 // X, Y, Z acceleration for travel (non printing) moves
#define DEFAULT_ACCELERATION 3000 // X, Y, Z and E acceleration for printing moves
#define DEFAULT_RETRACT_ACCELERATION 3000 // E acceleration for retracts
#define DEFAULT_TRAVEL_ACCELERATION 3000 // X, Y, Z acceleration for travel (non printing) moves
/**
* Default Jerk (mm/s)
@ -562,10 +566,10 @@
* When changing speed and direction, if the difference is less than the
* value set here, it may happen instantaneously.
*/
#define DEFAULT_XJERK 20.0 // (mm/sec)
#define DEFAULT_YJERK 20.0 // (mm/sec)
#define DEFAULT_ZJERK 20.0 // (mm/sec)
#define DEFAULT_EJERK 5.0 // (mm/sec)
#define DEFAULT_XJERK 20.0
#define DEFAULT_YJERK 20.0
#define DEFAULT_ZJERK 20.0
#define DEFAULT_EJERK 5.0
//===========================================================================
//============================= Z Probe Options =============================
@ -774,15 +778,16 @@
// @section machine
// The size of the print bed
#define X_BED_SIZE 245
#define Y_BED_SIZE 245
#define X_BED_SIZE 240
#define Y_BED_SIZE 240
// Travel limits (mm) after homing, corresponding to endstop positions.
#define X_MIN_POS 0
#define Y_MIN_POS 0
#define Z_MIN_POS 0
#define X_MAX_POS X_BED_SIZE
#define Y_MAX_POS Y_BED_SIZE
#define Z_MAX_POS 263
#define Z_MAX_POS 260
/**
* Software Endstops
@ -895,9 +900,9 @@
// Set the boundaries for probing (where the probe can reach).
#define LEFT_PROBE_BED_POSITION 15
#define RIGHT_PROBE_BED_POSITION 140
#define RIGHT_PROBE_BED_POSITION 170
#define FRONT_PROBE_BED_POSITION 20
#define BACK_PROBE_BED_POSITION 200
#define BACK_PROBE_BED_POSITION 170
// The Z probe minimum outer margin (to validate G29 parameters).
#define MIN_PROBE_EDGE 10
@ -928,10 +933,10 @@
// 3 arbitrary points to probe.
// A simple cross-product is used to estimate the plane of the bed.
#define ABL_PROBE_PT_1_X 15
#define ABL_PROBE_PT_1_Y 140
#define ABL_PROBE_PT_1_Y 180
#define ABL_PROBE_PT_2_X 15
#define ABL_PROBE_PT_2_Y 20
#define ABL_PROBE_PT_3_X 200
#define ABL_PROBE_PT_3_X 170
#define ABL_PROBE_PT_3_Y 20
#elif ENABLED(AUTO_BED_LEVELING_UBL)
@ -1056,12 +1061,12 @@
//
// G20/G21 Inch mode support
//
//#define INCH_MODE_SUPPORT
#define INCH_MODE_SUPPORT
//
// M149 Set temperature units support
//
//#define TEMPERATURE_UNITS_SUPPORT
#define TEMPERATURE_UNITS_SUPPORT
// @section temperature
@ -1085,7 +1090,7 @@
* P1 Raise the nozzle always to Z-park height.
* P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
*/
//#define NOZZLE_PARK_FEATURE
#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z }
@ -1130,7 +1135,7 @@
* Attention: EXPERIMENTAL. G-code arguments may change.
*
*/
//#define NOZZLE_CLEAN_FEATURE
#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE)
// Default number of pattern repetitions
@ -1183,7 +1188,7 @@
*
* View the current statistics with M78.
*/
//#define PRINTCOUNTER
#define PRINTCOUNTER
//=============================================================================
//============================= LCD and SD support ============================
@ -1265,7 +1270,7 @@
*
* Use CRC checks and retries on the SD communication.
*/
//#define SD_CHECK_AND_RETRY
#define SD_CHECK_AND_RETRY
//
// ENCODER SETTINGS

View File

@ -119,12 +119,12 @@
// The following define selects which electronics board you have.
// Please choose the name from boards.h that matches your setup
#ifndef MOTHERBOARD
#define MOTHERBOARD BOARD_RAMPS_14_EFB
#define MOTHERBOARD BOARD_MAKEBOARD_MINI
#endif
// Optional custom name for your RepStrap or other custom machine
// Displayed in the LCD "Ready" message
#define CUSTOM_MACHINE_NAME "Micromake C1"
//#define CUSTOM_MACHINE_NAME "3D Printer"
// Define this to set a unique identifier for this printer, (Used by some programs to differentiate between machines)
// You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
@ -474,17 +474,17 @@
//#define USE_ZMAX_PLUG
// coarse Endstop Settings
//#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
#if DISABLED(ENDSTOPPULLUPS)
// fine endstop settings: Individual pullups. will be ignored if ENDSTOPPULLUPS is defined
//#define ENDSTOPPULLUP_XMAX
//#define ENDSTOPPULLUP_YMAX
//#define ENDSTOPPULLUP_ZMAX
#define ENDSTOPPULLUP_XMIN
#define ENDSTOPPULLUP_YMIN
#define ENDSTOPPULLUP_ZMIN
#define ENDSTOPPULLUP_ZMIN_PROBE
//#define ENDSTOPPULLUP_XMIN
//#define ENDSTOPPULLUP_YMIN
//#define ENDSTOPPULLUP_ZMIN
//#define ENDSTOPPULLUP_ZMIN_PROBE
#endif
// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
@ -498,7 +498,7 @@
// Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles.
#define ENDSTOP_INTERRUPTS_FEATURE
//#define ENDSTOP_INTERRUPTS_FEATURE
//=============================================================================
//============================== Movement Settings ============================
@ -525,14 +525,18 @@
* Override with M92
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
*/
#define DEFAULT_AXIS_STEPS_PER_UNIT {800,800,800,1200} // MicroMake 128 Steps
// choose your micro step per step configuration ( 16 factory settings )
//#define DEFAULT_AXIS_STEPS_PER_UNIT { 100, 100, 100, 150 } // 16 steps per unit for Micromake C1 - Factory Settings - ( MS1 : closed ; MS2 : closed on MAKEBOARD Mini)
//#define DEFAULT_AXIS_STEPS_PER_UNIT { 200, 200, 200, 300 } // 32 steps per unit for Micromake C1 - Custom Settings - ( MS1 : closed ; MS2 : open on MAKEBOARD Mini)
//#define DEFAULT_AXIS_STEPS_PER_UNIT { 400, 400, 400, 600 } // 64 steps per unit for Micromake C1 - Custom Settings - ( MS1 : open ; MS2 : closed on MAKEBOARD Mini)
#define DEFAULT_AXIS_STEPS_PER_UNIT { 800, 800, 800, 1200 } // 128 steps per unit for Micromake C1 - Custom Settings - ( MS1 : open ; MS2 : open on MAKEBOARD Mini)
/**
* Default Max Feed Rate (mm/s)
* Override with M203
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
*/
#define DEFAULT_MAX_FEEDRATE {200, 200, 200, 30} // MicroMake 128 Steps
#define DEFAULT_MAX_FEEDRATE { 200, 200, 200, 30 }
/**
* Default Max Acceleration (change/s) change = mm/s
@ -540,7 +544,7 @@
* Override with M201
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
*/
#define DEFAULT_MAX_ACCELERATION {3000,3000,3000,4000} // MicroMake 128 Steps
#define DEFAULT_MAX_ACCELERATION { 3000, 3000, 3000, 4000 }
/**
* Default Acceleration (change/s) change = mm/s
@ -550,9 +554,9 @@
* M204 R Retract Acceleration
* M204 T Travel Acceleration
*/
#define DEFAULT_ACCELERATION 1000 // X, Y, Z and E acceleration for printing moves
#define DEFAULT_RETRACT_ACCELERATION 1000 // E acceleration for retracts
#define DEFAULT_TRAVEL_ACCELERATION 1000 // X, Y, Z acceleration for travel (non printing) moves
#define DEFAULT_ACCELERATION 3000 // X, Y, Z and E acceleration for printing moves
#define DEFAULT_RETRACT_ACCELERATION 3000 // E acceleration for retracts
#define DEFAULT_TRAVEL_ACCELERATION 3000 // X, Y, Z acceleration for travel (non printing) moves
/**
* Default Jerk (mm/s)
@ -562,10 +566,10 @@
* When changing speed and direction, if the difference is less than the
* value set here, it may happen instantaneously.
*/
#define DEFAULT_XJERK 20.0 // (mm/sec)
#define DEFAULT_YJERK 20.0 // (mm/sec)
#define DEFAULT_ZJERK 20.0 // (mm/sec)
#define DEFAULT_EJERK 5.0 // (mm/sec)
#define DEFAULT_XJERK 20.0
#define DEFAULT_YJERK 20.0
#define DEFAULT_ZJERK 0.4
#define DEFAULT_EJERK 5.0
//===========================================================================
//============================= Z Probe Options =============================
@ -679,8 +683,8 @@
* O-- FRONT --+
* (0,0)
*/
#define X_PROBE_OFFSET_FROM_EXTRUDER -50 // X offset: -left +right [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER -20 // Y offset: -front +behind [the nozzle]
#define X_PROBE_OFFSET_FROM_EXTRUDER 0 // X offset: -left +right [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER 0 // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle]
// X and Y axis travel speed (mm/m) between probes
@ -693,7 +697,7 @@
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
// Use double touch for probing
//#define PROBE_DOUBLE_TOUCH
#define PROBE_DOUBLE_TOUCH
/**
* Z probes require clearance when deploying, stowing, and moving between
@ -774,15 +778,16 @@
// @section machine
// The size of the print bed
#define X_BED_SIZE 245
#define Y_BED_SIZE 245
#define X_BED_SIZE 240
#define Y_BED_SIZE 240
// Travel limits (mm) after homing, corresponding to endstop positions.
#define X_MIN_POS 0
#define Y_MIN_POS 0
#define Z_MIN_POS 0
#define X_MAX_POS X_BED_SIZE
#define Y_MAX_POS Y_BED_SIZE
#define Z_MAX_POS 263
#define Z_MAX_POS 260
/**
* Software Endstops
@ -895,9 +900,9 @@
// Set the boundaries for probing (where the probe can reach).
#define LEFT_PROBE_BED_POSITION 15
#define RIGHT_PROBE_BED_POSITION 140
#define RIGHT_PROBE_BED_POSITION 170
#define FRONT_PROBE_BED_POSITION 20
#define BACK_PROBE_BED_POSITION 200
#define BACK_PROBE_BED_POSITION 170
// The Z probe minimum outer margin (to validate G29 parameters).
#define MIN_PROBE_EDGE 10
@ -928,10 +933,10 @@
// 3 arbitrary points to probe.
// A simple cross-product is used to estimate the plane of the bed.
#define ABL_PROBE_PT_1_X 15
#define ABL_PROBE_PT_1_Y 140
#define ABL_PROBE_PT_1_Y 180
#define ABL_PROBE_PT_2_X 15
#define ABL_PROBE_PT_2_Y 20
#define ABL_PROBE_PT_3_X 200
#define ABL_PROBE_PT_3_X 170
#define ABL_PROBE_PT_3_Y 20
#elif ENABLED(AUTO_BED_LEVELING_UBL)
@ -1034,7 +1039,7 @@
// M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily).
// M502 - reverts to the default "factory settings". You still need to store them in EEPROM afterwards if you want to.
//
//#define EEPROM_SETTINGS // Enable for M500 and M501 commands
#define EEPROM_SETTINGS // Enable for M500 and M501 commands
//#define DISABLE_M503 // Saves ~2700 bytes of PROGMEM. Disable for release!
#define EEPROM_CHITCHAT // Give feedback on EEPROM commands. Disable to save PROGMEM.
@ -1056,12 +1061,12 @@
//
// G20/G21 Inch mode support
//
//#define INCH_MODE_SUPPORT
#define INCH_MODE_SUPPORT
//
// M149 Set temperature units support
//
//#define TEMPERATURE_UNITS_SUPPORT
#define TEMPERATURE_UNITS_SUPPORT
// @section temperature
@ -1085,7 +1090,7 @@
* P1 Raise the nozzle always to Z-park height.
* P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
*/
//#define NOZZLE_PARK_FEATURE
#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z }
@ -1130,7 +1135,7 @@
* Attention: EXPERIMENTAL. G-code arguments may change.
*
*/
//#define NOZZLE_CLEAN_FEATURE
#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE)
// Default number of pattern repetitions
@ -1183,7 +1188,7 @@
*
* View the current statistics with M78.
*/
//#define PRINTCOUNTER
#define PRINTCOUNTER
//=============================================================================
//============================= LCD and SD support ============================
@ -1202,7 +1207,7 @@
*
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'cz_utf8':'Czech (UTF8)', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'fr_utf8':'French (UTF8)', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'sk_utf8':'Slovak (UTF8)', 'tr':'Turkish', 'uk':'Ukrainian', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Taiwan)', test':'TEST' }
*/
#define LCD_LANGUAGE en
#define LCD_LANGUAGE fr
/**
* LCD Character Set
@ -1265,7 +1270,7 @@
*
* Use CRC checks and retries on the SD communication.
*/
//#define SD_CHECK_AND_RETRY
#define SD_CHECK_AND_RETRY
//
// ENCODER SETTINGS
@ -1319,7 +1324,7 @@
// If you have a speaker that can produce tones, enable it here.
// By default Marlin assumes you have a buzzer with a fixed frequency.
//
//#define SPEAKER
#define SPEAKER
//
// The duration and frequency for the UI feedback sound.
@ -1328,8 +1333,8 @@
// Note: Test audio output with the G-Code:
// M300 S<frequency Hz> P<duration ms>
//
//#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100
//#define LCD_FEEDBACK_FREQUENCY_HZ 1000
#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100
#define LCD_FEEDBACK_FREQUENCY_HZ 1000
//
// CONTROLLER TYPE: Standard

File diff suppressed because it is too large Load Diff

View File

@ -114,6 +114,8 @@
#include "pins_RUMBA.h" // ATmega2560
#elif MB(BQ_ZUM_MEGA_3D)
#include "pins_BQ_ZUM_MEGA_3D.h" // ATmega2560
#elif MB(MAKEBOARD_MINI)
#include "pins_MAKEBOARD_MINI.h" // ATmega2560
//
// Other ATmega1280, ATmega2560

View File

@ -0,0 +1,39 @@
/**
* Marlin 3D Printer Firmware
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#include "pins_RAMPS.h"
#undef BOARD_NAME
#define BOARD_NAME "MAKEBOARD_MINI"
//
// Only 3 Limit Switch plugs on Micromake C1
//
#undef X_MIN_PIN
#undef Y_MIN_PIN
#undef Z_MIN_PIN
#undef X_MAX_PIN
#undef Y_MAX_PIN
#undef Z_MAX_PIN
#define X_STOP_PIN 2
#define Y_STOP_PIN 15
#define Z_STOP_PIN 19