Smoothieboard V1.0/1.1 and A5984 support
This commit is contained in:
parent
b7e15a65e3
commit
a1a5367380
9 changed files with 144 additions and 23 deletions
|
@ -556,11 +556,11 @@
|
|||
* The options are used to determine driver pulse timings as well as more advanced functionality.
|
||||
* Stepper timing options can be overridden in Configuration_adv.h
|
||||
*
|
||||
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC5130, TMC5130_STANDALONE
|
||||
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
|
||||
*/
|
||||
#define X_DRIVER_TYPE A4988
|
||||
#define Y_DRIVER_TYPE A4988
|
||||
|
|
|
@ -842,6 +842,7 @@
|
|||
* 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire)
|
||||
* 20 : Minimum for TMC2xxx drivers
|
||||
* 200 : Minimum for A4988 drivers
|
||||
* 400 : Minimum for A5984 drivers
|
||||
* 500 : Minimum for LV8729 drivers (guess, no info in datasheet)
|
||||
* 650 : Minimum for DRV8825 drivers
|
||||
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
|
||||
|
@ -854,8 +855,7 @@
|
|||
/**
|
||||
* Minimum stepper driver pulse width (in µs)
|
||||
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
|
||||
* 1 : Minimum for A4988 stepper drivers
|
||||
* 1 : Minimum for LV8729 stepper drivers
|
||||
* 1 : Minimum for A4988, A5984, and LV8729 stepper drivers
|
||||
* 2 : Minimum for DRV8825 stepper drivers
|
||||
* 3 : Minimum for TB6600 stepper drivers
|
||||
* 30 : Minimum for TB6560 stepper drivers
|
||||
|
|
|
@ -556,11 +556,11 @@
|
|||
* The options are used to determine driver pulse timings as well as more advanced functionality.
|
||||
* Stepper timing options can be overridden in Configuration_adv.h
|
||||
*
|
||||
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC5130, TMC5130_STANDALONE
|
||||
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
|
||||
*/
|
||||
#define X_DRIVER_TYPE A4988
|
||||
#define Y_DRIVER_TYPE A4988
|
||||
|
|
|
@ -842,6 +842,7 @@
|
|||
* 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire)
|
||||
* 20 : Minimum for TMC2xxx drivers
|
||||
* 200 : Minimum for A4988 drivers
|
||||
* 400 : Minimum for A5984 drivers
|
||||
* 500 : Minimum for LV8729 drivers (guess, no info in datasheet)
|
||||
* 650 : Minimum for DRV8825 drivers
|
||||
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
|
||||
|
@ -854,8 +855,7 @@
|
|||
/**
|
||||
* Minimum stepper driver pulse width (in µs)
|
||||
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
|
||||
* 1 : Minimum for A4988 stepper drivers
|
||||
* 1 : Minimum for LV8729 stepper drivers
|
||||
* 1 : Minimum for A4988, A5984, and LV8729 stepper drivers
|
||||
* 2 : Minimum for DRV8825 stepper drivers
|
||||
* 3 : Minimum for TB6600 stepper drivers
|
||||
* 30 : Minimum for TB6560 stepper drivers
|
||||
|
|
|
@ -174,6 +174,7 @@
|
|||
#define BOARD_SELENA_COMPACT 1754 // Selena Compact (Power outputs: Hotend0, Hotend1, Bed0, Bed1, Fan0, Fan1)
|
||||
#define BOARD_COHESION3D_REMIX 1755 // Cohesion3D ReMix
|
||||
#define BOARD_COHESION3D_MINI 1756 // Cohesion3D Mini
|
||||
#define BOARD_SMOOTHIEBOARD 1757 // Smoothieboard
|
||||
|
||||
//
|
||||
// SAM3X8E ARM Cortex M3
|
||||
|
|
|
@ -24,20 +24,21 @@
|
|||
#include "../inc/MarlinConfigPre.h"
|
||||
|
||||
#define A4988 0x001
|
||||
#define DRV8825 0x002
|
||||
#define LV8729 0x003
|
||||
#define L6470 0x104
|
||||
#define TB6560 0x005
|
||||
#define TB6600 0x006
|
||||
#define TMC2100 0x007
|
||||
#define TMC2130 0x108
|
||||
#define TMC2130_STANDALONE 0x008
|
||||
#define TMC2208 0x109
|
||||
#define TMC2208_STANDALONE 0x009
|
||||
#define TMC26X 0x10A
|
||||
#define TMC26X_STANDALONE 0x00A
|
||||
#define TMC2660 0x10B
|
||||
#define TMC2660_STANDALONE 0x00B
|
||||
#define A5984 0x002
|
||||
#define DRV8825 0x003
|
||||
#define LV8729 0x004
|
||||
#define L6470 0x105
|
||||
#define TB6560 0x006
|
||||
#define TB6600 0x007
|
||||
#define TMC2100 0x008
|
||||
#define TMC2130 0x109
|
||||
#define TMC2130_STANDALONE 0x009
|
||||
#define TMC2208 0x10A
|
||||
#define TMC2208_STANDALONE 0x00A
|
||||
#define TMC26X 0x10B
|
||||
#define TMC26X_STANDALONE 0x00B
|
||||
#define TMC2660 0x10C
|
||||
#define TMC2660_STANDALONE 0x00C
|
||||
|
||||
#define AXIS_DRIVER_TYPE(A,T) ( defined(A##_DRIVER_TYPE) && (A##_DRIVER_TYPE == T) )
|
||||
|
||||
|
|
|
@ -452,6 +452,8 @@
|
|||
#define MINIMUM_STEPPER_DIR_DELAY 650
|
||||
#elif HAS_DRIVER(LV8729)
|
||||
#define MINIMUM_STEPPER_DIR_DELAY 500
|
||||
#elif HAS_DRIVER(A5984)
|
||||
#define MINIMUM_STEPPER_DIR_DELAY 400
|
||||
#elif HAS_DRIVER(A4988)
|
||||
#define MINIMUM_STEPPER_DIR_DELAY 200
|
||||
#elif HAS_TRINAMIC || HAS_DRIVER(TMC2130_STANDALONE) || HAS_DRIVER(TMC2208_STANDALONE) || HAS_DRIVER(TMC26X_STANDALONE) || HAS_DRIVER(TMC2660_STANDALONE)
|
||||
|
@ -468,7 +470,7 @@
|
|||
#define MINIMUM_STEPPER_PULSE 3
|
||||
#elif HAS_DRIVER(DRV8825)
|
||||
#define MINIMUM_STEPPER_PULSE 2
|
||||
#elif HAS_DRIVER(A4988) || HAS_DRIVER(LV8729)
|
||||
#elif HAS_DRIVER(A4988) || HAS_DRIVER(LV8729) || HAS_DRIVER(A5984)
|
||||
#define MINIMUM_STEPPER_PULSE 1
|
||||
#elif HAS_TRINAMIC || HAS_DRIVER(TMC2130_STANDALONE) || HAS_DRIVER(TMC2208_STANDALONE) || HAS_DRIVER(TMC26X_STANDALONE) || HAS_DRIVER(TMC2660_STANDALONE)
|
||||
#define MINIMUM_STEPPER_PULSE 0
|
||||
|
|
|
@ -298,6 +298,8 @@
|
|||
#include "pins_COHESION3D_REMIX.h" // LPC176x env:LPC1768 env:LPC1768_debug_and_upload
|
||||
#elif MB(COHESION3D_MINI)
|
||||
#include "pins_COHESION3D_MINI.h" // LPC176x env:LPC1768 env:LPC1768_debug_and_upload
|
||||
#elif MB(SMOOTHIEBOARD)
|
||||
#include "pins_SMOOTHIEBOARD.h" // LPC176x env:LPC1768 env:LPC1768_debug_and_upload
|
||||
|
||||
//
|
||||
// Other 32-bit Boards
|
||||
|
|
115
Marlin/src/pins/pins_SMOOTHIEBOARD.h
Normal file
115
Marlin/src/pins/pins_SMOOTHIEBOARD.h
Normal file
|
@ -0,0 +1,115 @@
|
|||
/**
|
||||
* Marlin 3D Printer Firmware
|
||||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
||||
* Copyright (C) 2017 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/>.
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* Smoothieboard pin assignments
|
||||
*/
|
||||
|
||||
#ifndef TARGET_LPC1768
|
||||
#error "Oops! Make sure you have the LPC1768 environment selected in your IDE."
|
||||
#endif
|
||||
|
||||
#ifndef BOARD_NAME
|
||||
#define BOARD_NAME "Smoothieboard"
|
||||
#define DEFAULT_WEBSITE_URL "http://smoothieware.org/smoothieboard"
|
||||
#endif
|
||||
|
||||
#undef F_CPU
|
||||
#define F_CPU 120000000
|
||||
|
||||
//
|
||||
// Servos
|
||||
//
|
||||
#define SERVO0_PIN P1_23
|
||||
|
||||
//
|
||||
// Limit Switches
|
||||
//
|
||||
#define X_MIN_PIN P1_24
|
||||
#define X_MAX_PIN P1_25
|
||||
#define Y_MIN_PIN P1_26
|
||||
#define Y_MAX_PIN P1_27
|
||||
#define Z_MIN_PIN P1_28
|
||||
#define Z_MAX_PIN P1_29
|
||||
|
||||
//
|
||||
// Steppers
|
||||
//
|
||||
#define X_STEP_PIN P2_00
|
||||
#define X_DIR_PIN P0_05
|
||||
#define X_ENABLE_PIN P0_04
|
||||
|
||||
#define Y_STEP_PIN P2_01
|
||||
#define Y_DIR_PIN P0_11
|
||||
#define Y_ENABLE_PIN P0_10
|
||||
|
||||
#define Z_STEP_PIN P2_02
|
||||
#define Z_DIR_PIN P0_20
|
||||
#define Z_ENABLE_PIN P0_19
|
||||
|
||||
#define E0_STEP_PIN P2_03
|
||||
#define E0_DIR_PIN P0_22
|
||||
#define E0_ENABLE_PIN P0_21
|
||||
|
||||
#define E1_STEP_PIN P2_08
|
||||
#define E1_DIR_PIN P2_13
|
||||
#define E1_ENABLE_PIN P4_29
|
||||
|
||||
//
|
||||
// Temperature Sensors
|
||||
// 3.3V max when defined as an analog input
|
||||
//
|
||||
#define TEMP_0_PIN 0 // P0.23 (T1)
|
||||
#define TEMP_BED_PIN 1 // P0.24 (T2)
|
||||
#define TEMP_1_PIN 2 // P0.25 (T3)
|
||||
#define TEMP_2_PIN 3 // P0.26 (T4)
|
||||
|
||||
//
|
||||
// Heaters / Fans
|
||||
//
|
||||
#define HEATER_BED_PIN P2_05
|
||||
#define HEATER_0_PIN P2_07
|
||||
#define HEATER_1_PIN P1_23
|
||||
#ifndef FAN_PIN
|
||||
#define FAN_PIN P2_06
|
||||
#endif
|
||||
#define FAN1_PIN P2_04
|
||||
|
||||
//
|
||||
// Display
|
||||
//
|
||||
#if ENABLED(VIKI2) || ENABLED(miniVIKI)
|
||||
#define BEEPER_PIN P1_31
|
||||
//#define DOGLCD_A0 P2_06
|
||||
#define DOGLCD_CS P0_16
|
||||
|
||||
#define BTN_EN1 P3_25
|
||||
#define BTN_EN2 P3_26
|
||||
#define BTN_ENC P2_11
|
||||
|
||||
#define SD_DETECT_PIN P1_18
|
||||
#define SDSS P1_21
|
||||
|
||||
#define STAT_LED_RED_PIN P1_19
|
||||
#define STAT_LED_BLUE_PIN P1_20
|
||||
#endif
|
Reference in a new issue