Move pins files to subfolders #14573

This commit is contained in:
Scott Lahteine
2019-07-11 02:32:24 -05:00
committed by GitHub
parent e5a5273edb
commit 7de605c5c3
169 changed files with 443 additions and 400 deletions

View File

@ -0,0 +1,208 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 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/>.
*
*/
#pragma once
/**
* Arduino DUE Shield Kit (ADSK) pin assignments
*/
#define BOARD_NAME "ADSK"
#if !defined(__SAM3X8E__) && !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
#error "Oops! Select 'Arduino Due or Mega' in 'Tools > Board.'"
#endif
/* CNC shield modifications:
FROM THE BOTTOM CUT THE 5V PIN THAT GOES TO ARDUINO!!!
On the top put jumper between 5V and 3V3 pins,
jumper between D12 and A.STEP, jumper between D13 and A.DIR
*/
/* CNC shield 3D printer connections:
X,Y,Z steppers as normal
A stepper for E0 extruder
(X-)&(GND) - X limit
(Y-)&(GND) - Y limit
(Z-)&(GND) - Z limit
(Abort)&(GND) - Extruder thermistor (also require pullup resistor 4.7K between "Abort" and
Vcc (now "5V" on the board but actual 3.3V because of jumper))
(Hold)&(GND) - Bed thermistor (also require pullup resistor 4.7K between "Hold" and
Vcc (now "5V" on the board but actual 3.3V because of jumper))
(CoolEn) - 3.3v signal to controll extruder heater MOSFET
(Resume) - 3.3v signal to control heatbed MOSFET
(SDA) - 3.3v signal to controll extruder fan
(SCL) - 3.3v signal to controll extruder cooling fan
*/
/* CNC Shield pinout
"Name on the board": DUE pin
"Abort": Analog pin 0 or Digital pin 54
"Hold": Analog pin 1 or Digital pin 55
"Resume": Analog pin 2 or Digital pin 56
"CoolEn": Analog pin 3 or Digital pin 57
"SDA": Analog pin 4 or Digital pin 58
"SCL": Analog pin 5 or Digital pin 59
"E-STOP": Reset pin
"RX": Digital pin 0
"TX": Digital pin 1
"X.STEP": Digital pin 2
"Y.STEP": Digital pin 3
"Z.STEP": Digital pin 4
"X.DIR": Digital pin 5
"Y.DIR": Digital pin 6
"Z.DIR": Digital pin 7
"EN": Digital pin 8
"X+","X-": Digital pin 9
"Y+","Y-": Digital pin 10
"Z+","Z-": Digital pin 11
"SpinEn": Digital pin 12 -> will be connected to A.STEP with jumper
"SpinDir": Digital pin 13 -> will be connected to A.DIR with jumper
*/
//
// Servos
//
#define SERVO0_PIN 61 // Analog pin 7, Digital pin 61
//
// Limit Switches
//
#define X_MIN_PIN 9
#define Y_MIN_PIN 10
#define Z_MIN_PIN 11
#define Z_MIN_PROBE_PIN 62 // Analog pin 8, Digital pin 62
//
// Steppers
//
#define X_STEP_PIN 2
#define X_DIR_PIN 5
#define X_ENABLE_PIN 8
#define Y_STEP_PIN 3
#define Y_DIR_PIN 6
#define Y_ENABLE_PIN 8
#define Z_STEP_PIN 4
#define Z_DIR_PIN 7
#define Z_ENABLE_PIN 8
#define E0_STEP_PIN 12
#define E0_DIR_PIN 13
#define E0_ENABLE_PIN 8
//
// Heaters / Fans
//
#define HEATER_0_PIN 55 // "Hold": Analog pin 1, Digital pin 55
#define HEATER_BED_PIN 57 // "CoolEn": Analog pin 3, Digital pin 57
#define FAN_PIN 54 // "Abort": Analog pin 0, Digital pin 54
#undef E0_AUTO_FAN_PIN
#define E0_AUTO_FAN_PIN 56 // "Resume": Analog pin 2, Digital pin 56
//
// Temperature Sensors
//
#define TEMP_0_PIN 4 // "SDA": Analog pin 4, Digital pin 58
#define TEMP_BED_PIN 5 // "SCL": Analog pin 5, Digital pin 59
//
// Misc. Functions
//
#define SDSS 52
#if ENABLED(ZONESTAR_LCD)
/**
* The 2004 LCD should be powered with 5V.
* The next LCD pins RS,D4,D5,D6,D7 have internal pull-ups to 5V and as result the 5V will be on these pins.
* Luckily these internal pull-ups have really high resistance and adding 33K pull-down resistors will create
* simple voltage divider that will bring the voltage down just slightly bellow 3.3V.
*
* This LCD also has buttons that connected to the same ADC pin with different voltage divider combinations.
* On the LCD panel there is internal pull-up resistor of the 4.7K connected to 5V.
* Connecting another 4.7K pull-down resistor between ADC pin and the GND
* will result in scaled values for voltage dividers and will bring them down to be always below 3.3V.
*
* For 2004 LCD to work with 3.3V board like Arduino DUE the next required:
* Pull-down resistors of 33K between each of LCD pins RS,D4,D5,D6,D7 and the GND.
* Pull-down resistor of 4.7K between ADC_KEYPAD_PIN and the GND
*
* All these modifications will still work with 5V based boards but require proper scaled ADC values
*/
#ifdef __SAM3X8E__
#define AREF_VOLTS 3.3
#else
#define AREF_VOLTS 5.0
#endif
//
// LCD / Controller
//
#define LCD_PINS_ENABLE 14
#define LCD_PINS_RS 15
#define LCD_PINS_D4 16
#define LCD_PINS_D5 17
#define LCD_PINS_D6 18
#define LCD_PINS_D7 19
#define ADC_KEYPAD_PIN 6 //60 // Analog pin 6, Digital pin 60
/**
* The below defines will scale all the values to work properly on both
* 5V (Mega) and 3.3V (DUE) boards with all pull-up resistors added for 3.3V
*/
#define ADC_BUTTONS_VALUE_SCALE (5.0/AREF_VOLTS) // The LCD module pullup voltage is 5.0V but ADC reference voltage is 3.3V
#define ADC_BUTTONS_R_PULLDOWN 4.7 // Moves voltage down to be bellow 3.3V instead of 5V
// the resistors values will be scaled because of 4.7K pulldown parallel resistor
#define _ADC_BUTTONS_R_SCALED(R) ((R) * (ADC_BUTTONS_R_PULLDOWN) / ((R) + ADC_BUTTONS_R_PULLDOWN))
// buttons pullup resistor
#define ADC_BUTTONS_R_PULLUP 4.7 // the resistor on the 2004 LCD panel
// buttons resistors with scaled values because of parallel pulldown resistor
#define ADC_BUTTONS_LEFT_R_PULLDOWN _ADC_BUTTONS_R_SCALED(0.47)
#define ADC_BUTTONS_RIGHT_R_PULLDOWN _ADC_BUTTONS_R_SCALED(4.7)
#define ADC_BUTTONS_UP_R_PULLDOWN _ADC_BUTTONS_R_SCALED(1.0)
#define ADC_BUTTONS_DOWN_R_PULLDOWN _ADC_BUTTONS_R_SCALED(10.0)
#define ADC_BUTTONS_MIDDLE_R_PULLDOWN _ADC_BUTTONS_R_SCALED(2.2)
#endif // ZONESTAR_LCD
/**
* RJ45 8 pins extruder connector
*
* 1 - GND (Please do not connect to the same GND as extruder heater to prevent ground offset voltage)
* 2 - thermistor
* 3 - SERVO PWM
* 4 - extruder heater
* 5 - FAN (print cooling)
* 6 - FAN (extruder cooling)
* 7 - Probe signal
* 8 - 5V
*
* Standard ethernet pairs: 1&2, 3&6, 4&5, 7&8
* Use CAT7 cable to have all pairs shielded
*
*/

View File

@ -0,0 +1,160 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 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/>.
*
*/
#pragma once
/**
* Alligator Board R2
* http://www.3dartists.org/
*/
#ifndef __SAM3X8E__
#error "Oops! Select 'Arduino Due' in 'Tools > Board.'"
#endif
#define BOARD_NAME "Alligator Board R2"
//
// Servos
//
#define SERVO0_PIN 36
#define SERVO1_PIN 40
#define SERVO2_PIN 41
#define SERVO3_PIN -1
//
// Limit Switches
//
#define X_MIN_PIN 33 // PC1
#define X_MAX_PIN 34 // PC2
#define Y_MIN_PIN 35 // PC3
#define Y_MAX_PIN 37 // PC5
#define Z_MIN_PIN 38 // PC6
#define Z_MAX_PIN 39 // PC7
//
// Steppers
//
#define X_STEP_PIN 96 // PB24
#define X_DIR_PIN 2 // PB25
#define X_ENABLE_PIN 24 // PA15, motor RESET pin
#define Y_STEP_PIN 94 // PB22
#define Y_DIR_PIN 95 // PB23
#define Y_ENABLE_PIN 24 // PA15, motor RESET pin
#define Z_STEP_PIN 98 // PC27
#define Z_DIR_PIN 3 // PC28
#define Z_ENABLE_PIN 24 // PA15, motor RESET pin
#define E0_STEP_PIN 5 // PC25
#define E0_DIR_PIN 4 // PC26
#define E0_ENABLE_PIN 24 // PA15, motor RESET pin
#define E1_STEP_PIN 28 // PD3 on piggy
#define E1_DIR_PIN 27 // PD2 on piggy
#define E1_ENABLE_PIN 24 // PA15, motor RESET pin
#define E2_STEP_PIN 11 // PD7 on piggy
#define E2_DIR_PIN 29 // PD6 on piggy
#define E2_ENABLE_PIN 24 // PA15, motor RESET pin
#define E3_STEP_PIN 30 // PD9 on piggy
#define E3_DIR_PIN 12 // PD8 on piggy
#define E3_ENABLE_PIN 24 // PA15, motor RESET pin
// Microstepping pins - Mapping not from fastio.h (?)
#define X_MS1_PIN 99 // PC10
#define Y_MS1_PIN 10 // PC29
#define Z_MS1_PIN 44 // PC19
#define E0_MS1_PIN 45 // PC18
//#define MOTOR_FAULT_PIN 22 // PB26 , motor X-Y-Z-E0 motor FAULT
//
// Temperature Sensors
//
#define TEMP_0_PIN 1 // Analog Input (PA24)
#define TEMP_1_PIN 2 // Analog Input (PA23 on piggy)
#define TEMP_2_PIN 3 // Analog Input (PA22 on piggy)
#define TEMP_3_PIN 4 // Analog Input (PA6 on piggy)
#define TEMP_BED_PIN 0 // Analog Input (PA16)
//
// Heaters / Fans
//
// Note that on the Due pin A0 on the board is channel 2 on the ARM chip
#define HEATER_0_PIN 68 // PA1
#define HEATER_1_PIN 8 // PC22 on piggy
#define HEATER_2_PIN 9 // PC21 on piggy
#define HEATER_3_PIN 97 // PC20 on piggy
#define HEATER_BED_PIN 69 // PA0
#ifndef FAN_PIN
#define FAN_PIN 92 // PA5
#endif
#define FAN1_PIN 31 // PA7
//
// Misc. Functions
//
#define SDSS 77 // PA28
#define SD_DETECT_PIN 87 // PA29
#define LED_RED_PIN 40 // PC8
#define LED_GREEN_PIN 41 // PC9
#define EXP_VOLTAGE_LEVEL_PIN 65
#define SPI_CHAN_DAC 1
#define DAC0_SYNC 53 // PB14
#define DAC1_SYNC 6 // PC24
// 64K SPI EEPROM
#define SPI_EEPROM
#define SPI_CHAN_EEPROM1 2
#define SPI_EEPROM1_CS 25 // PD0
// 2K SPI EEPROM
#define SPI_EEPROM2_CS 26 // PD1
// FLASH SPI
// 32Mb
#define SPI_FLASH_CS 23 // PA14
//
// LCD / Controller
//
#if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
#define LCD_PINS_RS 18
#define LCD_PINS_ENABLE 15
#define LCD_PINS_D4 19
#define BEEPER_PIN 64
#define BTN_EN1 14
#define BTN_EN2 16
#define BTN_ENC 17
#undef UI_VOLTAGE_LEVEL
#define UI_VOLTAGE_LEVEL 1
#endif // REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER

View File

@ -0,0 +1,196 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 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/>.
*
*/
#pragma once
/**
* ARCHIM1 pin assignment
*
* The Archim 1.0 board requires Arduino Archim addons installed.
*
* - Add the following URL to Arduino IDE's Additional Board Manager URLs:
* https://raw.githubusercontent.com/ultimachine/ArduinoAddons/master/package_ultimachine_index.json
*
* - In the Arduino IDE Board Manager search for Archim and install the package.
*
* - Change your target board to "Archim".
*
* Further information on the UltiMachine website...
* https://github.com/ultimachine/Archim/wiki
*/
#ifndef __SAM3X8E__
#error "Oops! Select 'Archim' in 'Tools > Board.'"
#endif
#define BOARD_NAME "Archim 1.0"
//
// Items marked * have been altered from Archim v1.0
//
//
// Servos
//
#define SERVO0_PIN 20 // D20 PB12 (Header J20 20)
#define SERVO1_PIN 21 // D21 PB13 (Header J20 19)
//
// Limit Switches
//
#define X_MIN_PIN 14 // PD4 MIN ES1
#define X_MAX_PIN 32 // PD10 MAX ES1
#define Y_MIN_PIN 29 // PD6 MIN ES2
#define Y_MAX_PIN 15 // PD5 MAX ES2
#define Z_MIN_PIN 31 // PA7 MIN ES3
#define Z_MAX_PIN 30 // PD9 MAX ES3
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 32
#endif
#ifndef FIL_RUNOUT_PIN
#define FIL_RUNOUT_PIN 66 // D66 PB15 (Header J20 15)
#endif
#ifndef FIL_RUNOUT2_PIN
#define FIL_RUNOUT2_PIN 67 // D67 PB16 (Header J20 16)
#endif
//
// Steppers
//
#define X_STEP_PIN 40 // PC8 STEP1 *
#define X_DIR_PIN 59 // PA4 DIR1 *
#define X_ENABLE_PIN 41 // PC9 EN1
#define Y_STEP_PIN 49 // PC14 STEP2 *
#define Y_DIR_PIN 47 // PC16 DIR2 *
#define Y_ENABLE_PIN 48 // PC15 EN2 *
#define Z_STEP_PIN 36 // PC4 STEP Z *
#define Z_DIR_PIN 107 // PB10 DIR Z *
#define Z_ENABLE_PIN 96 // PC10 EN Z -AddOns *
#define E0_STEP_PIN 78 // PB23 STEP3 *
#define E0_DIR_PIN 22 // PB26 DIR3 *
#define E0_ENABLE_PIN 97 // PB24 EN3 -Addons *
#define E1_STEP_PIN 26 // PD1 STEP4 *
#define E1_DIR_PIN 27 // PD2 DIR4 *
#define E1_ENABLE_PIN 28 // PD3 EN4 *
// Microstepping mode pins *
#define X_MS1_PIN 39 // PC7 MOD0E1 - As listed in schematic
#define X_MS2_PIN 38 // PC6 MOD1E1
#define X_MS3_PIN 37 // PC5 MOD2E1
#define Y_MS1_PIN 50 // PC13 MODE0E2
#define Y_MS2_PIN 51 // PC12 MODE1E2
#define Y_MS3_PIN 92 // PC11 MODE2E2 - AddOns
#define Z_MS1_PIN 44 // PC19 MOD0E Z
#define Z_MS2_PIN 45 // PC18 MOD1E Z
#define Z_MS3_PIN 46 // PC17 MOD2E Z
#define E0_MS1_PIN 105 // PB22 MOD0E3 - AddOns
#define E0_MS2_PIN 106 // PC27 MOD1E3 - AddOns
#define E0_MS3_PIN 104 // PC20 MOD2E3 - AddOns
#define E1_MS1_PIN 25 // PD0 MOD0E4
#define E1_MS2_PIN 18 // PA11 MOD1E4
#define E1_MS3_PIN 19 // PA10 MOD2E4
// Motor current PWM pins *
#define MOTOR_CURRENT_PWM_X_PIN 58 // PA6 X-REF TIOB2
#define MOTOR_CURRENT_PWM_Y_PIN 12 // PD8 Y-REF TIOB8
#define MOTOR_CURRENT_PWM_Z_PIN 10 // PC29 Z-REF TIOB7
#define MOTOR_CURRENT_PWM_E0_PIN 3 // PC28 E1-REF TIOA7
#define MOTOR_CURRENT_PWM_E1_PIN 11 // PD7 E2-REF TIOA8
#define MOTOR_CURRENT_PWM_RANGE 2750 // (3.3 Volts * 100000 Ohms) / (100000 Ohms + 20000 Ohms) = 2.75 Volts (max vref)
#define DEFAULT_PWM_MOTOR_CURRENT { 1000, 1000, 1000 } //, 1000, 1000} // X Y Z E0 E1, 1000 = 1000mAh
//
// Temperature Sensors
//
#define TEMP_0_PIN 10 // D10 PB19 THERM AN1 *
#define TEMP_1_PIN 9 // D9 PB18 THERM AN2 *
#define TEMP_2_PIN 8 // D8 PB17 THERM AN4 *
#define TEMP_BED_PIN 11 // D11 PB20 THERM AN3 *
//
// Heaters / Fans
//
#define HEATER_0_PIN 6 // D6 PC24 FET_PWM3
#define HEATER_1_PIN 7 // D7 PC23 FET_PWM4
#define HEATER_2_PIN 8 // D8 PC22 FET_PWM5
#define HEATER_BED_PIN 9 // D9 PC21 BED_PWM
#ifndef FAN_PIN
#define FAN_PIN 4 // D4 PC26 FET_PWM1
#endif
#define FAN1_PIN 5 // D5 PC25 FET_PWM2
//
// Misc. Functions
//
// Internal MicroSD card reader on the PCB
#define INT_SCK_PIN 42 // D42 PA19/MCCK
#define INT_MISO_PIN 43 // D43 PA20/MCCDA
#define INT_MOSI_PIN 73 // D73 PA21/MCDA0
#define INT_SDSS 55 // D55 PA24/MCDA3
// External SD card reader on SC2
#define SCK_PIN 76 // D76 PA27
#define MISO_PIN 74 // D74 PA25
#define MOSI_PIN 75 // D75 PA26
#define SDSS 87 // D87 PA29
// 2MB SPI Flash
#define SPI_FLASH_SS 52 // D52 PB21
//
// LCD / Controller
//
#if HAS_SPI_LCD
#define BEEPER_PIN 23 // D24 PA15_CTS1
#define LCD_PINS_RS 17 // D17 PA12_RXD1
#define LCD_PINS_ENABLE 24 // D23 PA14_RTS1
#define LCD_PINS_D4 69 // D69 PA0_CANTX0
#define LCD_PINS_D5 54 // D54 PA16_SCK1
#define LCD_PINS_D6 68 // D68 PA1_CANRX0
#define LCD_PINS_D7 34 // D34 PC2_PWML0
#define SD_DETECT_PIN 2 // D2 PB25_TIOA0
#if ENABLED(NEWPANEL)
// Buttons on AUX-2
#define BTN_EN1 60 // D60 PA3_TIOB1
#define BTN_EN2 13 // D13 PB27_TIOB0
#define BTN_ENC 16 // D16 PA13_TXD1
#endif // NEWPANEL
#endif // HAS_SPI_LCD

View File

@ -0,0 +1,251 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 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/>.
*
*/
#pragma once
/**
* ARCHIM2 pin assignment
*
* The Archim 2.0 board requires Arduino Archim addons installed.
*
* - Add the following URL to Arduino IDE's Additional Board Manager URLs:
* https://raw.githubusercontent.com/ultimachine/ArduinoAddons/master/package_ultimachine_index.json
*
* - In the Arduino IDE Board Manager search for Archim and install the package.
*
* - Change your target board to "Archim".
*
* Further information on the UltiMachine website...
* https://github.com/ultimachine/Archim/wiki
*/
#ifndef __SAM3X8E__
#error "Oops! Select 'Archim' in 'Tools > Board.'"
#elif DISABLED(TMC_USE_SW_SPI)
#error "Archim2 requires Software SPI. Enable TMC_USE_SW_SPI in Configuration_adv.h."
#endif
#define BOARD_NAME "Archim 2.0"
//
// Items marked * have been altered from Archim v1.0
//
//
// Servos
//
#define SERVO0_PIN 20 // D20 PB12 (Header J20 20)
#define SERVO1_PIN 21 // D21 PB13 (Header J20 19)
//
// Limit Switches
//
#if ENABLED(SENSORLESS_HOMING)
// Only use Diag Pins when SENSORLESS_HOMING is enabled for the TMC2130 drivers.
// Otherwise use a physical endstop based configuration.
// TMC2130 Diag Pins
#define X_DIAG_PIN 59 // PA4
#define Y_DIAG_PIN 48 // PC15
#define Z_DIAG_PIN 36 // PC4
#define E0_DIAG_PIN 78 // PB23
#define E1_DIAG_PIN 25 // PD0
#if X_HOME_DIR < 0
#define X_MIN_PIN X_DIAG_PIN
#define X_MAX_PIN 32
#else
#define X_MIN_PIN 14
#define X_MAX_PIN X_DIAG_PIN
#endif
#if Y_HOME_DIR < 0
#define Y_MIN_PIN Y_DIAG_PIN
#define Y_MAX_PIN 15
#else
#define Y_MIN_PIN 29
#define Y_MAX_PIN Y_DIAG_PIN
#endif
#else
#define X_MIN_PIN 14 // PD4 MIN ES1
#define X_MAX_PIN 32 // PD10 MAX ES1
#define Y_MIN_PIN 29 // PD6 MIN ES2
#define Y_MAX_PIN 15 // PD5 MAX ES2
#endif
#define Z_MIN_PIN 31 // PA7 MIN ES3
#define Z_MAX_PIN 30 // PD9 MAX ES3
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 32
#endif
//
// Steppers
//
#define X_STEP_PIN 38 // PC6 X-STEP *
#define X_DIR_PIN 37 // PC5 X-DIR *
#define X_ENABLE_PIN 41 // PC9 EN1
#ifndef X_CS_PIN
#define X_CS_PIN 39 // PC7 X_nCS
#endif
#define Y_STEP_PIN 51 // PC12 Y-STEP *
#define Y_DIR_PIN 92 // PC11 Y-DIR -AddOns *
#define Y_ENABLE_PIN 49 // PC14 Y-EN *
#ifndef Y_CS_PIN
#define Y_CS_PIN 50 // PC13 Y_nCS
#endif
#define Z_STEP_PIN 46 // PC17 Z-STEP *
#define Z_DIR_PIN 47 // PC16 Z-DIR *
#define Z_ENABLE_PIN 44 // PC19 Z-END *
#ifndef Z_CS_PIN
#define Z_CS_PIN 45 // PC18 Z_nCS
#endif
#define E0_STEP_PIN 107 // PB10 E1-STEP -AddOns *
#define E0_DIR_PIN 96 // PC10 E1-DIR -AddOns *
#define E0_ENABLE_PIN 105 // PB22 E1-EN -AddOns *
#ifndef E0_CS_PIN
#define E0_CS_PIN 104 // PC20 E1_nCS -AddOns *
#endif
#define E1_STEP_PIN 22 // PB26 E2_STEP *
#define E1_DIR_PIN 97 // PB24 E2_DIR -AddOns *
#define E1_ENABLE_PIN 18 // PA11 E2-EN
#ifndef E1_CS_PIN
#define E1_CS_PIN 19 // PA10 E2_nCS
#endif
//
// Software SPI pins for TMC2130 stepper drivers.
// Required for the Archim2 board.
//
#if ENABLED(TMC_USE_SW_SPI)
#ifndef TMC_SW_MOSI
#define TMC_SW_MOSI 28 // PD3
#endif
#ifndef TMC_SW_MISO
#define TMC_SW_MISO 26 // PD1
#endif
#ifndef TMC_SW_SCK
#define TMC_SW_SCK 27 // PD2
#endif
#endif
//
// Temperature Sensors
//
#define TEMP_0_PIN 10 // D10 PB19 THERM AN1 *
#define TEMP_1_PIN 9 // D9 PB18 THERM AN2 *
#define TEMP_2_PIN 8 // D8 PB17 THERM AN4 *
#define TEMP_BED_PIN 11 // D11 PB20 THERM AN3 *
//
// Heaters / Fans
//
#define HEATER_0_PIN 6 // D6 PC24 FET_PWM3
#define HEATER_1_PIN 7 // D7 PC23 FET_PWM4
#define HEATER_2_PIN 8 // D8 PC22 FET_PWM5
#define HEATER_BED_PIN 9 // D9 PC21 BED_PWM
#ifndef FAN_PIN
#define FAN_PIN 4 // D4 PC26 FET_PWM1
#endif
#define FAN1_PIN 5 // D5 PC25 FET_PWM2
//
// Misc. Functions
//
// Internal MicroSD card reader on the PCB
#define INT_SCK_PIN 42 // D42 PA19/MCCK
#define INT_MISO_PIN 43 // D43 PA20/MCCDA
#define INT_MOSI_PIN 73 // D73 PA21/MCDA0
#define INT_SDSS 55 // D55 PA24/MCDA3
// External SD card reader on SC2
#define SCK_PIN 76 // D76 PA27
#define MISO_PIN 74 // D74 PA25
#define MOSI_PIN 75 // D75 PA26
#define SDSS 87 // D87 PA29
// Unused Digital GPIO J20 Pins
#define GPIO_PB1_J20_5 94 // D94 PB1 (Header J20 5)
#define GPIO_PB0_J20_6 95 // D95 PB0 (Header J20 6)
#define GPIO_PB3_J20_7 103 // D103 PB3 (Header J20 7)
#define GPIO_PB2_J20_8 93 // D93 PB2 (Header J20 8)
#define GPIO_PB6_J20_9 99 // D99 PB6 (Header J20 9)
#define GPIO_PB5_J20_10 101 // D101 PB5 (Header J20 10)
#define GPIO_PB8_J20_11 100 // D100 PB8 (Header J20 11)
#define GPIO_PB4_J20_12 102 // D102 PB4 (Header J20 12)
#define GPIO_PB9_J20_13 108 // D108 PB9 (Header J20 13)
#define GPIO_PB7_J20_14 98 // D98 PB7 (Header J20 14)
#define GPIO_PB15_J20_15 66 // D66 PB15 (Header J20 15)
#define GPIO_PB16_J20_16 67 // D67 PB16 (Header J20 16)
#define GPIO_PB14_J20_17 53 // D53 PB14 (Header J20 17)
#define GPIO_PA18_J20_21 71 // D71 PA17 (Header J20 21)
#define GPIO_PA17_J20_22 70 // D70 PA17 (Header J20 22)
// 2MB SPI Flash
#define SPI_FLASH_SS 52 // D52 PB21
//
// Filament Runout Sensor
//
#ifndef FIL_RUNOUT_PIN
#define FIL_RUNOUT_PIN GPIO_PB15_J20_15
#endif
#ifndef FIL_RUNOUT2_PIN
#define FIL_RUNOUT2_PIN GPIO_PB16_J20_16
#endif
//
// LCD / Controller
//
#if HAS_SPI_LCD
#define BEEPER_PIN 23 // D24 PA15_CTS1
#define LCD_PINS_RS 17 // D17 PA12_RXD1
#define LCD_PINS_ENABLE 24 // D23 PA14_RTS1
#define LCD_PINS_D4 69 // D69 PA0_CANTX0
#define LCD_PINS_D5 54 // D54 PA16_SCK1
#define LCD_PINS_D6 68 // D68 PA1_CANRX0
#define LCD_PINS_D7 34 // D34 PC2_PWML0
#define SD_DETECT_PIN 2 // D2 PB25_TIOA0
#if ENABLED(NEWPANEL)
// Buttons on AUX-2
#define BTN_EN1 60 // D60 PA3_TIOB1
#define BTN_EN2 13 // D13 PB27_TIOB0
#define BTN_ENC 16 // D16 PA13_TXD1 // the click
#endif // NEWPANEL
#endif // HAS_SPI_LCD

View File

@ -0,0 +1,171 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 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/>.
*
*/
#pragma once
/**
* DUE3DOM pin assignments
*/
#ifndef __SAM3X8E__
#error "Oops! Select 'Arduino Due' in 'Tools > Board.'"
#endif
#define BOARD_NAME "DUE3DOM"
//
// Servos
//
#define SERVO0_PIN 5
#define SERVO1_PIN 6
#define SERVO2_PIN 13
#define SERVO3_PIN -1
//
// Limit Switches
//
#define X_MIN_PIN 38
#define X_MAX_PIN 36
#define Y_MIN_PIN 34
#define Y_MAX_PIN 32
#define Z_MIN_PIN 30
#define Z_MAX_PIN 28
//
// Steppers
//
#define X_STEP_PIN 2
#define X_DIR_PIN 3
#define X_ENABLE_PIN 22
#define Y_STEP_PIN 17
#define Y_DIR_PIN 16
#define Y_ENABLE_PIN 26
#define Z_STEP_PIN 61 // Z1 STP
#define Z_DIR_PIN 60 // Z1 DIR
#define Z_ENABLE_PIN 15 // Z1 ENA
#define E0_STEP_PIN 64 // Z2 STP
#define E0_DIR_PIN 63 // Z2 DIR
#define E0_ENABLE_PIN 62 // Z2 ENA
#define E1_STEP_PIN 51 // E1 STP
#define E1_DIR_PIN 53 // E1 DIR
#define E1_ENABLE_PIN 65 // E1 ENA
#define E2_STEP_PIN 24 // E2 STP
#define E2_DIR_PIN 23 // E2 DIR
#define E2_ENABLE_PIN 49 // E2 ENA
//
// Temperature Sensors
//
#define TEMP_0_PIN 0 // Analog Input (HOTEND0 thermistor)
#define TEMP_1_PIN 2 // Analog Input (HOTEND1 thermistor)
#define TEMP_2_PIN 5 // Analog Input (unused)
#define TEMP_BED_PIN 1 // Analog Input (BED thermistor)
// SPI for Max6675 or Max31855 Thermocouple
#if DISABLED(SDSUPPORT)
#define MAX6675_SS_PIN -1
#else
#define MAX6675_SS_PIN -1
#endif
//
// Heaters / Fans
//
#define HEATER_0_PIN 7 // HOTEND0 MOSFET
#define HEATER_1_PIN 8 // HOTEND1 MOSFET
#define HEATER_BED_PIN 39 // BED MOSFET
#ifndef FAN_PIN
#define FAN_PIN 11 // FAN1 header on board - PRINT FAN
#endif
#define FAN1_PIN 9 // FAN2 header on board - CONTROLLER FAN
#define FAN2_PIN 12 // FAN3 header on board - EXTRUDER0 FAN
//
// Misc. Functions
//
#define SDSS 4
#define PS_ON_PIN 40
//
// LCD / Controller
//
#if HAS_SPI_LCD
#define LCD_PINS_RS 42
#define LCD_PINS_ENABLE 43
#define LCD_PINS_D4 44
#define LCD_PINS_D5 45
#define LCD_PINS_D6 46
#define LCD_PINS_D7 47
#if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
#define BEEPER_PIN 41
#define BTN_EN1 50
#define BTN_EN2 52
#define BTN_ENC 48
#define SDSS 4
#define SD_DETECT_PIN 14
#elif ENABLED(RADDS_DISPLAY)
#define BEEPER_PIN 41
#define BTN_EN1 50
#define BTN_EN2 52
#define BTN_ENC 48
#define BTN_BACK 71
#undef SDSS
#define SDSS 4
#define SD_DETECT_PIN 14
#elif HAS_SSD1306_OLED_I2C
#define BTN_EN1 50
#define BTN_EN2 52
#define BTN_ENC 48
#define BEEPER_PIN 41
#define LCD_SDSS 4
#define SD_DETECT_PIN 14
#elif ENABLED(SPARK_FULL_GRAPHICS)
#define LCD_PINS_D4 29
#define LCD_PINS_ENABLE 27
#define LCD_PINS_RS 25
#define BTN_EN1 35
#define BTN_EN2 33
#define BTN_ENC 37
#define BEEPER_PIN -1
#endif // SPARK_FULL_GRAPHICS
#endif // HAS_SPI_LCD

View File

@ -0,0 +1,174 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 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/>.
*
*/
#pragma once
/**
* DUE3DOM MINI pin assignments
*/
#ifndef __SAM3X8E__
#error "Oops! Select 'Arduino Due' in 'Tools > Board.'"
#endif
#define BOARD_NAME "DUE3DOM MINI"
//
// Servos
//
#define SERVO0_PIN 5
#define SERVO1_PIN 6
#define SERVO2_PIN 8 // 4-pin header FAN0
#define SERVO3_PIN -1
//
// Limit Switches
//
#define X_MIN_PIN 38
#define X_MAX_PIN -1
#define Y_MIN_PIN 34
#define Y_MAX_PIN -1
#define Z_MIN_PIN 30
#define Z_MAX_PIN -1
//
// Steppers
//
#define X_STEP_PIN 17
#define X_DIR_PIN 16
#define X_ENABLE_PIN 22
#define Y_STEP_PIN 2
#define Y_DIR_PIN 3
#define Y_ENABLE_PIN 26
#define Z_STEP_PIN 64
#define Z_DIR_PIN 63
#define Z_ENABLE_PIN 15
#define E0_STEP_PIN 61
#define E0_DIR_PIN 60
#define E0_ENABLE_PIN 62
//
// Temperature Sensors
//
#define TEMP_0_PIN 0 // Analog Input (HOTEND0 thermistor)
#define TEMP_1_PIN 2 // Analog Input (unused)
#define TEMP_2_PIN 5 // Analog Input (OnBoard thermistor beta 3950)
#define TEMP_BED_PIN 1 // Analog Input (BED thermistor)
// SPI for Max6675 or Max31855 Thermocouple
#if DISABLED(SDSUPPORT)
#define MAX6675_SS_PIN 53
#else
#define MAX6675_SS_PIN 53
#endif
//
// Heaters / Fans
//
#define HEATER_0_PIN 13 // HOTEND0 MOSFET
#define HEATER_BED_PIN 7 // BED MOSFET
#ifndef FAN_PIN
#define FAN_PIN 11 // FAN1 header on board - PRINT FAN
#endif
#define FAN1_PIN 12 // FAN2 header on board - CONTROLLER FAN
#define FAN2_PIN 9 // FAN3 header on board - EXTRUDER0 FAN
//#define FAN3_PIN 8 // FAN0 4-pin header on board
//
// Misc. Functions
//
#define SDSS 4
#define PS_ON_PIN 40
//
// LCD / Controller
//
#if HAS_SPI_LCD
#define LCD_PINS_RS 42
#define LCD_PINS_ENABLE 43
#define LCD_PINS_D4 44
#define LCD_PINS_D5 45
#define LCD_PINS_D6 46
#define LCD_PINS_D7 47
#if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
#define BEEPER_PIN 41
#define BTN_EN1 50
#define BTN_EN2 52
#define BTN_ENC 48
#define SDSS 4
#define SD_DETECT_PIN 14
#elif ENABLED(RADDS_DISPLAY)
#define BEEPER_PIN 41
#define BTN_EN1 50
#define BTN_EN2 52
#define BTN_ENC 48
#define BTN_BACK 71
#undef SDSS
#define SDSS 4
#define SD_DETECT_PIN 14
#elif HAS_SSD1306_OLED_I2C
#define BTN_EN1 50
#define BTN_EN2 52
#define BTN_ENC 48
#define BEEPER_PIN 41
#define LCD_SDSS 4
#define SD_DETECT_PIN 14
#elif ENABLED(SPARK_FULL_GRAPHICS)
#define LCD_PINS_D4 29
#define LCD_PINS_ENABLE 27
#define LCD_PINS_RS 25
#define BTN_EN1 35
#define BTN_EN2 33
#define BTN_ENC 37
#define BEEPER_PIN -1
#elif ENABLED(MINIPANEL)
#define BTN_EN1 52
#define BTN_EN2 50
#define BTN_ENC 48
#define LCD_SDSS 4
#define SD_DETECT_PIN 14
#define BEEPER_PIN 41
#define DOGLCD_A0 46
#define DOGLCD_CS 45
#endif // SPARK_FULL_GRAPHICS
#endif // HAS_SPI_LCD

View File

@ -0,0 +1,174 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 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/>.
*
*/
#pragma once
/**
* PRINTRBOARD_G2
*/
#ifndef __SAM3X8E__
#error "Oops! Select 'Arduino Due' in 'Tools > Board.'"
#endif
#ifndef BOARD_NAME
#define BOARD_NAME "PRINTRBOARD_G2"
#endif
//
// Servos
//
//#define SERVO0_PIN -1
//#define SERVO1_PIN -1
//
// Limit Switches
//
#define X_MIN_PIN 22 // PB26
#define Y_MAX_PIN 18 // PA11
#define Z_MIN_PIN 19 // PA10
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 22
#endif
#ifndef FIL_RUNOUT_PIN
//#define FIL_RUNOUT_PIN 57 // PA22
#endif
#ifndef FIL_RUNOUT2_PIN
//#define FIL_RUNOUT2_PIN 21 // PB13
#endif
//
// LED defines
//
//#define NEOPIXEL_TYPE NEO_GRBW // NEO_GRBW / NEO_GRB - four/three channel driver type (defined in Adafruit_NeoPixel.h)
//#define NEOPIXEL_PIN 20 // LED driving pin on motherboard
//#define NEOPIXEL_PIXELS 3 // Number of LEDs in the strip
//#define SDA0 20 // PB12 NeoPixel pin I2C data
//#define SCL0 21 // PB13 I2C clock
// D0_12 #REF! (INDICATOR_LED)
// B28 JTAG-CLK
// B31 JTAG_TMS /SWD_DIO
//A18 INTERRUPT_OUT
//A12 USART_RX not used
//A13 USART_TX not used
//A14 UART_RTS
//A15 UART_CTS
//PB2 Unassigned
//PB4 to PB9 Unassigned
//#define UART_RX_PIN 0 // PA8 "RX0"
//#define UART_TX_PIN 1 // PA9 "TX0"
//#define UART_RTS_PIN 23 // PA14
//#define UART_CTS_PIN 24 // PA15
//
// Steppers
//
#define Z_STEP_PIN 73 // PA21 MOTOR 1
#define Z_DIR_PIN 75 // PA26
#define Z_ENABLE_PIN 74 // PA25
#define X_STEP_PIN 66 // PB15 MOTOR 2
#define X_DIR_PIN 54 // PA16
#define X_ENABLE_PIN 67 // PB16
#define Y_STEP_PIN 34 // PA29 MOTOR 3
#define Y_DIR_PIN 35 // PB1
#define Y_ENABLE_PIN 36 // PB0
#define E0_STEP_PIN 53 // PB14 MOTOR 4
#define E0_DIR_PIN 78 // PB23
#define E0_ENABLE_PIN 37 // PB22
// Microstepping mode pins
#define Z_MS1_PIN 52 // PB21 MODE0 MOTOR 1
#define Z_MS2_PIN 52 // PB21 MODE1
#define Z_MS3_PIN 65 // PB20 MODE2
#define X_MS1_PIN 43 // PA20 MODE0 MOTOR 2
#define X_MS2_PIN 43 // PA20 MODE1
#define X_MS3_PIN 42 // PA19 MODE2
#define Y_MS1_PIN 77 // PA28 MODE0 MOTOR 3
#define Y_MS2_PIN 77 // PA28 MODE1
#define Y_MS3_PIN 76 // PA27 MODE2
#define E0_MS1_PIN 38 // PB11 MODE0 MOTOR 4
#define E0_MS2_PIN 38 // PB11 MODE1
#define E0_MS3_PIN 39 // PB10 MODE2
// Motor current PWM pins
#define MOTOR_CURRENT_PWM_X_PIN 62 // PB17 MOTOR 1
#define MOTOR_CURRENT_PWM_Z_PIN 63 // PB18 MOTOR 2
#define MOTOR_CURRENT_PWM_Y_PIN 64 // PB19 MOTOR 3
#define MOTOR_CURRENT_PWM_E_PIN 61 // PA2 MOTOR 4
//#define DEFAULT_PWM_MOTOR_CURRENT { 300, 400, 1000} // XY Z E0, 1000 = 1000mAh
//
// Temperature Sensors
//
#define TEMP_0_PIN 2 // digital 56 PA23
#define TEMP_BED_PIN 5 // digital 59 PA4
//
// Heaters / Fans
//
#define HEATER_0_PIN 40 // PA5
#define HEATER_BED_PIN 41 // PB24
#ifndef FAN_PIN
#define FAN_PIN 13 // PB27 Fan1A
#endif
#define FAN1_PIN 58 // PA6 Fan1B
#define FET_SAFETY_PIN 31 // PA7 must be pulsed low every 50 mS or FETs are turned off
#define FET_SAFETY_DELAY 50 // 50 mS delay between pulses
#define FET_SAFETY_INVERTED true // true - negative going pulse of 2 uS
/////////////////////////////////////////////////////////
#define MISO_PIN 68 // set to unused pins for now
#define MOSI_PIN 69 // set to unused pins for now
#define SCK_PIN 70 // set to unused pins for now
#define SDSS 71 // set to unused pins for now
/**
* G2 uses 8 pins that are not available in the DUE environment:
* 34 PA29 - Y_STEP_PIN
* 35 PB1 - Y_DIR_PIN
* 36 PB0 - Y_ENABLE_PIN
* 37 PB22 - E0_ENABLE_PIN
* 38 PB11 - E0_MS1_PIN - normally used by the USB native port
* 39 PB10 - E0_MS3_PIN - normally used by the USB native port
* 40 PA5 - HEATER_0_PIN
* 41 PB24 - HEATER_BED_PIN
*
* None of these are in the arduino_due_x variant so digitalWrite and digitalRead can't be used on them.
*
* They can be accessed via FASTIO functions WRITE, READ, OUT_WRITE, OUTPUT, ...
*
*/

View File

@ -0,0 +1,275 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 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/>.
*
*/
#pragma once
/**
* RADDS
*/
#ifndef __SAM3X8E__
#error "Oops! Select 'Arduino Due' in 'Tools > Board.'"
#endif
#define BOARD_NAME "RADDS"
//
// Servos
//
#define SERVO0_PIN 5
#define SERVO1_PIN 6
#define SERVO2_PIN 39
#define SERVO3_PIN 40
//
// Limit Switches
//
#define X_MIN_PIN 28
#define X_MAX_PIN 34
#define Y_MIN_PIN 30
#define Y_MAX_PIN 36
#define Z_MIN_PIN 32
#define Z_MAX_PIN 38
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 38
#endif
//
// Steppers
//
#define X_STEP_PIN 24
#define X_DIR_PIN 23
#define X_ENABLE_PIN 26
#ifndef X_CS_PIN
#define X_CS_PIN 25
#endif
#define Y_STEP_PIN 17
#define Y_DIR_PIN 16
#define Y_ENABLE_PIN 22
#ifndef Y_CS_PIN
#define Y_CS_PIN 27
#endif
#define Z_STEP_PIN 2
#define Z_DIR_PIN 3
#define Z_ENABLE_PIN 15
#ifndef Z_CS_PIN
#define Z_CS_PIN 29
#endif
#define E0_STEP_PIN 61
#define E0_DIR_PIN 60
#define E0_ENABLE_PIN 62
#ifndef E0_CS_PIN
#define E0_CS_PIN 31
#endif
#define E1_STEP_PIN 64
#define E1_DIR_PIN 63
#define E1_ENABLE_PIN 65
#ifndef E1_CS_PIN
#define E1_CS_PIN 33
#endif
#define E2_STEP_PIN 51
#define E2_DIR_PIN 53
#define E2_ENABLE_PIN 49
#ifndef E2_CS_PIN
#define E2_CS_PIN 35
#endif
/**
* RADDS Extension Board V2 / V3
* http://doku.radds.org/dokumentation/extension-board
*/
//#define RADDS_EXTENSION 2
#if RADDS_EXTENSION >= 2
#define E3_DIR_PIN 33
#define E3_STEP_PIN 35
#define E3_ENABLE_PIN 37
#ifndef E3_CS_PIN
#define E3_CS_PIN 6
#endif
#if RADDS_EXTENSION == 3
#define E4_DIR_PIN 27
#define E4_STEP_PIN 29
#define E4_ENABLE_PIN 31
#ifndef E4_CS_PIN
#define E4_CS_PIN 39
#endif
#define E5_DIR_PIN 66
#define E5_STEP_PIN 67
#define E5_ENABLE_PIN 68
#ifndef E5_CS_PIN
#define E5_CS_PIN 6
#endif
#define RADDS_EXT_MSI_PIN 69
#define BOARD_INIT() OUT_WRITE(RADDS_EXT_VDD_PIN, HIGH)
#else
#define E4_DIR_PIN 27
#define E4_STEP_PIN 29
#define E4_ENABLE_PIN 31
#ifndef E4_CS_PIN
#define E4_CS_PIN 39
#endif
// E3 and E4 share the same MSx pins
#define E3_MS1_PIN 67
#define E4_MS1_PIN 67
#define E3_MS2_PIN 68
#define E4_MS2_PIN 68
#define E3_MS3_PIN 69
#define E4_MS3_PIN 69
#define RADDS_EXT_VDD2_PIN 66
#define BOARD_INIT() do{ OUT_WRITE(RADDS_EXT_VDD_PIN, HIGH); OUT_WRITE(RADDS_EXT_VDD2_PIN, HIGH); }while(0)
#endif
#define RADDS_EXT_VDD_PIN 25
#endif
//
// Temperature Sensors
//
#define TEMP_0_PIN 0 // Analog Input
#define TEMP_1_PIN 1 // Analog Input
#define TEMP_2_PIN 2 // Analog Input
#define TEMP_3_PIN 3 // Analog Input
#define TEMP_4_PIN 5 // dummy so will compile when PINS_DEBUGGING is enabled
#define TEMP_BED_PIN 4 // Analog Input
// SPI for Max6675 or Max31855 Thermocouple
#if DISABLED(SDSUPPORT)
#define MAX6675_SS_PIN 53
#else
#define MAX6675_SS_PIN 49
#endif
//
// Heaters / Fans
//
#define HEATER_0_PIN 13
#define HEATER_1_PIN 12
#define HEATER_2_PIN 11
#define HEATER_BED_PIN 7 // BED
#ifndef FAN_PIN
#define FAN_PIN 9
#endif
#define FAN1_PIN 8
//
// Misc. Functions
//
#define SD_DETECT_PIN 14
#define PS_ON_PIN 40 // SERVO3_PIN
#ifndef FIL_RUNOUT_PIN
#define FIL_RUNOUT_PIN 39 // SERVO2_PIN
#endif
#define I2C_EEPROM
#define E2END 0x1FFF // 8KB
//
// LCD / Controller
//
#if HAS_SPI_LCD
#if ENABLED(RADDS_DISPLAY)
#define LCD_PINS_RS 42
#define LCD_PINS_ENABLE 43
#define LCD_PINS_D4 44
#define LCD_PINS_D5 45
#define LCD_PINS_D6 46
#define LCD_PINS_D7 47
#define BEEPER_PIN 41
#define BTN_EN1 50
#define BTN_EN2 52
#define BTN_ENC 48
#define BTN_BACK 71
#define SDSS 10
#define SD_DETECT_PIN 14
#elif ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
// The REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER requires
// an adapter such as https://www.thingiverse.com/thing:1740725
#define LCD_PINS_RS 42
#define LCD_PINS_ENABLE 43
#define LCD_PINS_D4 44
#define BEEPER_PIN 41
#define BTN_EN1 50
#define BTN_EN2 52
#define BTN_ENC 48
#define SDSS 10
#define SD_DETECT_PIN 14
#elif HAS_SSD1306_OLED_I2C
#define BTN_EN1 50
#define BTN_EN2 52
#define BTN_ENC 48
#define BEEPER_PIN 41
#define LCD_SDSS 10
#define SD_DETECT_PIN 14
#elif ENABLED(SPARK_FULL_GRAPHICS)
#define LCD_PINS_D4 29
#define LCD_PINS_ENABLE 27
#define LCD_PINS_RS 25
#define BTN_EN1 35
#define BTN_EN2 33
#define BTN_ENC 37
#endif // SPARK_FULL_GRAPHICS
#endif // HAS_SPI_LCD
#ifndef SDSS
#define SDSS 4
#endif

View File

@ -0,0 +1,56 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 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/>.
*
*/
#pragma once
/**
* Arduino Mega or Due with RAMPS4DUE pin assignments
*
* Applies to the following boards:
*
* RAMPS4DUE_EFB (Hotend, Fan, Bed)
* RAMPS4DUE_EEB (Hotend0, Hotend1, Bed)
* RAMPS4DUE_EFF (Hotend, Fan0, Fan1)
* RAMPS4DUE_EEF (Hotend0, Hotend1, Fan)
* RAMPS4DUE_SF (Spindle, Controller Fan)
*
* Differences between
* RAMPS_14 | RAMPS4DUE
* A13 | A9/D63 (shares the same pin with AUX2_4PIN)
* A14 | A10/D64 (shares the same pin with AUX2_5PIN)
* A15 | NC
*/
#if !defined(__SAM3X8E__) && !defined(__AVR_ATmega2560__)
#error "Oops! Select 'Arduino Due' or 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#define BOARD_NAME "RAMPS4DUE"
#define IS_RAMPS4DUE
//
// Temperature Sensors
//
#define TEMP_0_PIN 9 // Analog Input
#define TEMP_1_PIN -1 // Analog Input
#define TEMP_BED_PIN 10 // Analog Input
#include "../ramps/pins_RAMPS.h"

View File

@ -0,0 +1,131 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 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/>.
*
*/
#pragma once
/**
* Arduino Mega or Due with RAMPS Duo pin assignments
*
* Applies to the following boards:
*
* RAMPS_DUO_EFB (Hotend, Fan, Bed)
* RAMPS_DUO_EEB (Hotend0, Hotend1, Bed)
* RAMPS_DUO_EFF (Hotend, Fan0, Fan1)
* RAMPS_DUO_EEF (Hotend0, Hotend1, Fan)
* RAMPS_DUO_SF (Spindle, Controller Fan)
*
* Differences between
* RAMPS_14 | RAMPS_DUO
* A9/D63 | A12/D66
* A10/D64 | A13/D67
* A11/D65 | A14/D68
* A12/D66 | A15/D69
* A13 | A9
* A14 | A10
* A15 | A11
*/
#if !defined(__SAM3X8E__) && !defined(__AVR_ATmega2560__)
#error "Oops! Select 'Arduino Due' or 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#define BOARD_NAME "RAMPS Duo"
#define IS_RAMPS_DUO
#include "pins_RAMPS.h"
//
// Temperature Sensors
//
#undef TEMP_0_PIN
#define TEMP_0_PIN 9 // Analog Input
#undef TEMP_1_PIN
#define TEMP_1_PIN 11 // Analog Input
#undef TEMP_BED_PIN
#define TEMP_BED_PIN 10 // Analog Input
// SPI for Max6675 or Max31855 Thermocouple
#undef MAX6675_SS_PIN
#if DISABLED(SDSUPPORT)
#define MAX6675_SS_PIN 69 // Do not use pin 53 if there is even the remote possibility of using Display/SD card
#else
#define MAX6675_SS_PIN 69 // Do not use pin 49 as this is tied to the switch inside the SD card socket to detect if there is an SD card present
#endif
//
// LCD / Controller
//
#if HAS_SPI_LCD
#if BOTH(NEWPANEL, PANEL_ONE)
#undef LCD_PINS_D4
#define LCD_PINS_D4 68
#undef LCD_PINS_D5
#define LCD_PINS_D5 69
#undef LCD_PINS_D7
#define LCD_PINS_D7 67
#endif
#if ENABLED(NEWPANEL)
#if ENABLED(REPRAPWORLD_GRAPHICAL_LCD)
#undef BTN_EN1
#define BTN_EN1 67
#undef BTN_ENC
#define BTN_ENC 66
#elif ENABLED(MINIPANEL)
#undef DOGLCD_CS
#define DOGLCD_CS 69
#undef LCD_BACKLIGHT_PIN
#define LCD_BACKLIGHT_PIN 68 // backlight LED on A14/D68
#undef KILL_PIN
#define KILL_PIN 67
#undef BTN_EN2
#define BTN_EN2 66
#else
#if ENABLED(REPRAPWORLD_KEYPAD)
#undef BTN_EN1
#define BTN_EN1 67 // encoder
#undef BTN_ENC
#define BTN_ENC 66 // enter button
#elif ENABLED(PANEL_ONE)
#undef BTN_EN2
#define BTN_EN2 66 // AUX2 PIN 4
#endif
#endif
#endif // NEWPANEL
#endif // HAS_SPI_LCD

View File

@ -0,0 +1,235 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 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/>.
*
*/
#pragma once
/**
* RAMPS-FD
*
* No EEPROM
* Use 4k7 thermistor tables
*/
#ifndef __SAM3X8E__
#error "Oops! Select 'Arduino Due' in 'Tools > Board.'"
#endif
#ifndef BOARD_NAME
#define BOARD_NAME "RAMPS-FD v1"
#endif
#define INVERTED_HEATER_PINS
#define INVERTED_BED_PINS
#define INVERTED_FAN_PINS
//
// Servos
//
#define SERVO0_PIN 7
#define SERVO1_PIN 6
#define SERVO2_PIN 5
#define SERVO3_PIN 3
//
// Limit Switches
//
#define X_MIN_PIN 22
#define X_MAX_PIN 30
#define Y_MIN_PIN 24
#define Y_MAX_PIN 38
#define Z_MIN_PIN 26
#define Z_MAX_PIN 34
//
// Steppers
//
#define X_STEP_PIN 63
#define X_DIR_PIN 62
#define X_ENABLE_PIN 48
#ifndef X_CS_PIN
#define X_CS_PIN 68
#endif
#define Y_STEP_PIN 65
#define Y_DIR_PIN 64
#define Y_ENABLE_PIN 46
#ifndef Y_CS_PIN
#define Y_CS_PIN 60
#endif
#define Z_STEP_PIN 67
#define Z_DIR_PIN 66
#define Z_ENABLE_PIN 44
#ifndef Z_CS_PIN
#define Z_CS_PIN 58
#endif
#define E0_STEP_PIN 36
#define E0_DIR_PIN 28
#define E0_ENABLE_PIN 42
#ifndef E0_CS_PIN
#define E0_CS_PIN 67
#endif
#define E1_STEP_PIN 43
#define E1_DIR_PIN 41
#define E1_ENABLE_PIN 39
#ifndef E1_CS_PIN
#define E1_CS_PIN 61
#endif
#define E2_STEP_PIN 32
#define E2_DIR_PIN 47
#define E2_ENABLE_PIN 45
#ifndef E2_CS_PIN
#define E2_CS_PIN 59
#endif
//
// Temperature Sensors
//
#define TEMP_0_PIN 1 // Analog Input
#define TEMP_1_PIN 2 // Analog Input
#define TEMP_2_PIN 3 // Analog Input
#define TEMP_BED_PIN 0 // Analog Input
// SPI for Max6675 or Max31855 Thermocouple
#if DISABLED(SDSUPPORT)
#define MAX6675_SS_PIN 53
#else
#define MAX6675_SS_PIN 49
#endif
//
// Heaters / Fans
//
#define HEATER_0_PIN 9
#define HEATER_1_PIN 10
#define HEATER_2_PIN 11
#define HEATER_BED_PIN 8
#ifndef FAN_PIN
#define FAN_PIN 12
#endif
//
// Misc. Functions
//
#define SDSS 4
#define LED_PIN 13
//
// LCD / Controller
//
#if HAS_SPI_LCD
// ramps-fd lcd adaptor
#define BEEPER_PIN 37
#define BTN_EN1 33
#define BTN_EN2 31
#define BTN_ENC 35
#define SD_DETECT_PIN 49
#if ENABLED(NEWPANEL)
#define LCD_PINS_RS 16
#define LCD_PINS_ENABLE 17
#endif
#if ENABLED(FYSETC_MINI_12864)
#define DOGLCD_CS LCD_PINS_ENABLE
#define DOGLCD_A0 LCD_PINS_RS
#define DOGLCD_SCK 76
#define DOGLCD_MOSI 75
//#define FORCE_SOFT_SPI // Use this if default of hardware SPI causes display problems
// results in LCD soft SPI mode 3, SD soft SPI mode 0
#define LCD_RESET_PIN 23 // Must be high or open for LCD to operate normally.
#if EITHER(FYSETC_MINI_12864_1_2, FYSETC_MINI_12864_2_0)
#ifndef RGB_LED_R_PIN
#define RGB_LED_R_PIN 25
#endif
#ifndef RGB_LED_G_PIN
#define RGB_LED_G_PIN 27
#endif
#ifndef RGB_LED_B_PIN
#define RGB_LED_B_PIN 29
#endif
#elif ENABLED(FYSETC_MINI_12864_2_1)
#define NEOPIXEL_PIN 25
#endif
#elif ENABLED(NEWPANEL)
#define LCD_PINS_D4 23
#define LCD_PINS_D5 25
#define LCD_PINS_D6 27
#define LCD_PINS_D7 29
#if ENABLED(MINIPANEL)
#define DOGLCD_CS 25
#define DOGLCD_A0 27
#endif
#endif
#if ANY(VIKI2, miniVIKI)
#define DOGLCD_A0 16
#define KILL_PIN 51
#define STAT_LED_BLUE_PIN 29
#define STAT_LED_RED_PIN 23
#define DOGLCD_CS 17
#define DOGLCD_SCK 76 // SCK_PIN - Required for DUE Hardware SPI
#define DOGLCD_MOSI 75 // MOSI_PIN
#define DOGLCD_MISO 74 // MISO_PIN
#endif
#endif // HAS_SPI_LCD
#if HAS_TMC220x
/**
* TMC2208/TMC2209 stepper drivers
*
* Hardware serial communication ports.
* If undefined software serial is used according to the pins below
*/
//#define X_HARDWARE_SERIAL Serial1
//#define X2_HARDWARE_SERIAL Serial1
//#define Y_HARDWARE_SERIAL Serial1
//#define Y2_HARDWARE_SERIAL Serial1
//#define Z_HARDWARE_SERIAL Serial1
//#define Z2_HARDWARE_SERIAL Serial1
//#define E0_HARDWARE_SERIAL Serial1
//#define E1_HARDWARE_SERIAL Serial1
//#define E2_HARDWARE_SERIAL Serial1
//#define E3_HARDWARE_SERIAL Serial1
//#define E4_HARDWARE_SERIAL Serial1
#endif
//
// M3/M4/M5 - Spindle/Laser Control
//
#if HOTENDS < 3 && HAS_CUTTER && !PIN_EXISTS(SPINDLE_LASER_ENA)
#define SPINDLE_LASER_ENA_PIN 45 // Use E2 ENA
#define SPINDLE_LASER_PWM_PIN 12 // MUST BE HARDWARE PWM
#define SPINDLE_DIR_PIN 47 // Use E2 DIR
#endif

View File

@ -0,0 +1,52 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 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/>.
*
*/
#pragma once
/**
* RAMPS-FD v2
*
* EEPROM supported
* Use 1k thermistor tables
*/
#define BOARD_NAME "RAMPS-FD v2"
#ifndef E0_CS_PIN
#define E0_CS_PIN 69 // moved from A13 to A15 on v2.2, if not earlier
#endif
#include "pins_RAMPS_FD_V1.h"
#undef INVERTED_HEATER_PINS
#undef INVERTED_BED_PINS
#undef INVERTED_FAN_PINS
#define I2C_EEPROM
#define E2END 0xFFFF // 64K in a 24C512
#ifndef PS_ON_PIN
#define PS_ON_PIN 12
#endif
#ifndef FILWIDTH_PIN
#define FILWIDTH_PIN 5 // Analog Input on AUX2
#endif

View File

@ -0,0 +1,111 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 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/>.
*
*/
#pragma once
/**
* Arduino Due with RAMPS-SMART pin assignments
*
* Applies to the following boards:
*
* RAMPS_SMART_EFB (Hotend, Fan, Bed)
* RAMPS_SMART_EEB (Hotend0, Hotend1, Bed)
* RAMPS_SMART_EFF (Hotend, Fan0, Fan1)
* RAMPS_SMART_EEF (Hotend0, Hotend1, Fan)
* RAMPS_SMART_SF (Spindle, Controller Fan)
*
* Differences between
* RAMPS_14 | RAMPS-SMART
* NONE | D16 (Additional AUX-3 pin(AUX3_2PIN), shares the same pin with AUX4_18PIN)
* NONE | D17 (Additional AUX-3 pin(AUX3_1PIN), shares the same pin with AUX4_17PIN)
* D0 | NONE
* D1 | NONE
* A3/D57 | NONE
* A4/D58 | NONE
* A5/D59 | A3/D57
* A9/D63 | A4/D58
* A10/D64 | A5/D59
* A11/D65 | D66
* A12/D66 | D67
* A13 | A9
* A14 | A10
* A15 | A11
*
*
* REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER works fine connected to AUX-4 with
* Smart Adapter, but requires removing the AUX3 pin header on the adapter to fit.
* To use the SD card reader, wire its pins to AUX-3 (and use Software SPI).
*
* To use Hardware SPI for SD, the SDSS pin must be set to 52 instead of 53.
* Hardware SPI also requires additional wiring because the board doesn't pass
* the 6-pin SPI header from the DUE board.
* (Search the web for "Arduino DUE Board Pinout" to see the correct header.)
*/
#ifndef __SAM3X8E__
#error "Oops! Select 'Arduino Due' in 'Tools > Board.'"
#endif
#define BOARD_NAME "RAMPS-SMART"
#define IS_RAMPS_SMART
#include "pins_RAMPS.h"
// I2C EEPROM with 4K of space
#define I2C_EEPROM
#define E2END 0xFFF
#define RESET_PIN 42 // Resets the board if the jumper is attached
//
// Temperature Sensors
//
#undef TEMP_0_PIN
#define TEMP_0_PIN 9 // Analog Input
#undef TEMP_1_PIN
#define TEMP_1_PIN 10 // Analog Input
#undef TEMP_BED_PIN
#define TEMP_BED_PIN 11 // Analog Input
// SPI for Max6675 or Max31855 Thermocouple
#undef MAX6675_SS_PIN
#if DISABLED(SDSUPPORT)
#define MAX6675_SS_PIN 67 // Do not use pin 53 if there is even the remote possibility of using Display/SD card
#else
#define MAX6675_SS_PIN 67 // Do not use pin 49 as this is tied to the switch inside the SD card socket to detect if there is an SD card present
#endif
//
// LCD / Controller
//
// Support for AZSMZ 12864 LCD with SD Card 3D printer smart controller control panel
#if ENABLED(AZSMZ_12864)
#define BEEPER_PIN 66 // Smart RAMPS 1.42 pinout diagram on RepRap WIKI erroneously says this should be pin 65
#define DOGLCD_A0 59
#define DOGLCD_CS 44
#define BTN_EN1 58
#define BTN_EN2 40
#define BTN_ENC 67 // Smart RAMPS 1.42 pinout diagram on RepRap WIKI erroneously says this should be pin 66
#define SD_DETECT_PIN 49 // Pin 49 for display sd interface, 72 for easy adapter board
#define KILL_PIN 42
#endif

View File

@ -0,0 +1,274 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 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/>.
*
* Ported sys0724 & Vynt
*/
/**
* Arduino Mega? or Due with RuRAMPS4DUE pin assignments
*
* Applies to the following boards:
* RURAMPS4DUE (Hotend0, Hotend1, Hotend2, Fan0, Fan1, Bed)
*
* Differences between
* RADDS | RuRAMPS4DUE
* |
*/
#ifndef __SAM3X8E__
#error "Oops! Select 'Arduino Due' in 'Tools > Board.'"
#endif
#define BOARD_NAME "RuRAMPS4Due v1.1"
//
// Servos
//
#define SERVO0_PIN 5
#define SERVO1_PIN 3
//
// Limit Switches
//
#define X_MIN_PIN 45
#define X_MAX_PIN 39
#define Y_MIN_PIN 46
#define Y_MAX_PIN 41
#define Z_MIN_PIN 47
#define Z_MAX_PIN 43
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 43
#endif
//
// Steppers
//
#define X_STEP_PIN 37 // Support Extension Board
#define X_DIR_PIN 36
#define X_ENABLE_PIN 38
#ifndef X_CS_PIN
#define X_CS_PIN -1
#endif
#define Y_STEP_PIN 32 // Support Extension Board
#define Y_DIR_PIN 35
#define Y_ENABLE_PIN 34
#ifndef Y_CS_PIN
#define Y_CS_PIN -1
#endif
#define Z_STEP_PIN 30 // Support Extension Board
#define Z_DIR_PIN 2
#define Z_ENABLE_PIN 33
#ifndef Z_CS_PIN
#define Z_CS_PIN -1
#endif
#define E0_STEP_PIN 29
#define E0_DIR_PIN 28
#define E0_ENABLE_PIN 31
#ifndef E0_CS_PIN
#define E0_CS_PIN -1
#endif
#define E1_STEP_PIN 22
#define E1_DIR_PIN 24
#define E1_ENABLE_PIN 26
#ifndef E1_CS_PIN
#define E1_CS_PIN -1
#endif
#define E2_STEP_PIN 25
#define E2_DIR_PIN 23
#define E2_ENABLE_PIN 27
#ifndef E2_CS_PIN
#define E2_CS_PIN -1
#endif
#define E3_STEP_PIN 15 // Only For Extension Board
#define E3_DIR_PIN 14
#define E3_ENABLE_PIN 61
#ifndef E3_CS_PIN
#define E3_CS_PIN -1
#endif
// For Future: Microstepping pins - Mapping not from fastio.h (?)
//#define E3_MS1_PIN ?
//#define E3_MS2_PIN ?
//#define E3_MS3_PIN ?
#if USES_Z_MIN_PROBE_ENDSTOP
#define Z_MIN_PROBE_PIN 49
#endif
#if HAS_FILAMENT_SENSOR
#ifndef FIL_RUNOUT_PIN
#define FIL_RUNOUT_PIN Y_MIN_PIN
#endif
#endif
//
// Heaters / Fans
//
#define HEATER_0_PIN 13
#define HEATER_1_PIN 12
#define HEATER_2_PIN 11
#define HEATER_BED_PIN 7 // BED H1
#ifndef FAN_PIN
#define FAN_PIN 9
#endif
#define FAN1_PIN 8
#define CONTROLLER_FAN_PIN -1
//
// Temperature Sensors
//
#define TEMP_0_PIN 0 // ANALOG A0
#define TEMP_1_PIN 1 // ANALOG A1
#define TEMP_2_PIN 2 // ANALOG A2
#define TEMP_3_PIN 3 // ANALOG A3
#define TEMP_BED_PIN 4 // ANALOG A4
// The thermocouple uses Analog pins
#if ENABLED(VER_WITH_THERMOCOUPLE) // Defined in Configuration.h
#define TEMP_4_PIN 5 // A5
#define TEMP_5_PIN 6 // A6 (Marlin 2.0 not support)
#endif
// SPI for Max6675 or Max31855 Thermocouple
/*
#if DISABLED(SDSUPPORT)
#define MAX6675_SS_PIN 53
#else
#define MAX6675_SS_PIN 49
#endif
*/
//
// Misc. Functions
//
#define SDSS 4 // 4,10,52 if using HW SPI.
#define LED_PIN -1 // 13 - HEATER_0_PIN
#define PS_ON_PIN -1 // 65
// MKS TFT / Nextion Use internal USART-1
#define TFT_LCD_MODULE_COM 1
#define TFT_LCD_MODULE_BAUDRATE 115600
// ESP WiFi Use internal USART-2
#define ESP_WIFI_MODULE_COM 2
#define ESP_WIFI_MODULE_BAUDRATE 115600
#define ESP_WIFI_MODULE_RESET_PIN -1
#define PIGGY_GPIO_PIN -1
//
// EEPROM
//
#define E2END 0x7FFF // 32Kb (24lc256)
#define I2C_EEPROM // EEPROM on I2C-0
//#define EEPROM_SD // EEPROM on SDCARD
//#define SPI_EEPROM // EEPROM on SPI-0
//#define SPI_CHAN_EEPROM1 ?
//#define SPI_EEPROM1_CS ?
// 2K EEPROM
//#define SPI_EEPROM2_CS ?
// 32Mb FLASH
//#define SPI_FLASH_CS ?
//
// LCD / Controller
//
#if HAS_SPI_LCD
#if ANY(RADDS_DISPLAY, REPRAP_DISCOUNT_SMART_CONTROLLER, REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
#define BEEPER_PIN 62
#define LCD_PINS_D4 48
#define LCD_PINS_D5 50
#define LCD_PINS_D6 52
#define LCD_PINS_D7 53
#define SD_DETECT_PIN 51
#endif
#if EITHER(RADDS_DISPLAY, REPRAP_DISCOUNT_SMART_CONTROLLER)
#define LCD_PINS_RS 63
#define LCD_PINS_ENABLE 64
#elif ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
#define LCD_PINS_RS 52
#define LCD_PINS_ENABLE 53
#elif HAS_SSD1306_OLED_I2C
#define BEEPER_PIN 62
#define LCD_SDSS 10
#define SD_DETECT_PIN 51
#elif ENABLED(FYSETC_MINI_12864)
#define BEEPER_PIN 62
#define DOGLCD_CS 64
#define DOGLCD_A0 63
//#define FORCE_SOFT_SPI // Use this if default of hardware SPI causes display problems
// results in LCD soft SPI mode 3, SD soft SPI mode 0
#define LCD_RESET_PIN 48 // Must be high or open for LCD to operate normally.
#if EITHER(FYSETC_MINI_12864_1_2, FYSETC_MINI_12864_2_0)
#ifndef RGB_LED_R_PIN
#define RGB_LED_R_PIN 50 // D5
#endif
#ifndef RGB_LED_G_PIN
#define RGB_LED_G_PIN 52 // D6
#endif
#ifndef RGB_LED_B_PIN
#define RGB_LED_B_PIN 53 // D7
#endif
#elif ENABLED(FYSETC_MINI_12864_2_1)
#define NEOPIXEL_PIN 50 // D5
#endif
#elif ENABLED(SPARK_FULL_GRAPHICS)
//http://doku.radds.org/dokumentation/other-electronics/sparklcd/
#error "Oops! SPARK_FULL_GRAPHICS not supported with RURAMPS4D."
//#define LCD_PINS_D4 29 //?
//#define LCD_PINS_ENABLE 27 //?
//#define LCD_PINS_RS 25 //?
//#define BTN_EN1 35 //?
//#define BTN_EN2 33 //?
//#define BTN_ENC 37 //?
#endif // SPARK_FULL_GRAPHICS
#if ENABLED(NEWPANEL)
#define BTN_EN1 44
#define BTN_EN2 42
#define BTN_ENC 40
#endif
#endif // HAS_SPI_LCD

View File

@ -0,0 +1,258 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 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/>.
*
* Ported sys0724 & Vynt
*/
/**
* Arduino Mega? or Due with RuRAMPS4DUE pin assignments
*
* Applies to the following boards:
* RURAMPS4DUE (Hotend0, Hotend1, Hotend2, Fan0, Fan1, Bed)
*
* Differences between
* RADDS | RuRAMPS4DUE
* |
*/
#ifndef __SAM3X8E__
#error "Oops! Select 'Arduino Due' in 'Tools > Board.'"
#endif
#define BOARD_NAME "RuRAMPS4Due v1.3"
//
// Servos
//
#define SERVO0_PIN 5
#define SERVO1_PIN 3
//
// Limit Switches
//
#define X_MIN_PIN 45
#define X_MAX_PIN 39
#define Y_MIN_PIN 46
#define Y_MAX_PIN 41
#define Z_MIN_PIN 47
#define Z_MAX_PIN 43
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 49
#endif
//
// Steppers
//
#define X_STEP_PIN 37 // Support Extension Board
#define X_DIR_PIN 36
#define X_ENABLE_PIN 31
#ifndef X_CS_PIN
#define X_CS_PIN 38
#endif
#define Y_STEP_PIN 32 // Support Extension Board
#define Y_DIR_PIN 35
#define Y_ENABLE_PIN 31
#ifndef Y_CS_PIN
#define Y_CS_PIN 34
#endif
#define Z_STEP_PIN 30 // Support Extension Board
#define Z_DIR_PIN 2
#define Z_ENABLE_PIN 31
#ifndef Z_CS_PIN
#define Z_CS_PIN 10
#endif
#define E0_STEP_PIN 29
#define E0_DIR_PIN 28
#define E0_ENABLE_PIN 33
#ifndef E0_CS_PIN
#define E0_CS_PIN 14
#endif
#define E1_STEP_PIN 22
#define E1_DIR_PIN 24
#define E1_ENABLE_PIN 26
#ifndef E1_CS_PIN
#define E1_CS_PIN 15
#endif
#define E2_STEP_PIN 25
#define E2_DIR_PIN 23
#define E2_ENABLE_PIN 27
#ifndef E2_CS_PIN
#define E2_CS_PIN 61
#endif
#if USES_Z_MIN_PROBE_ENDSTOP
#define Z_MIN_PROBE_PIN 49
#endif
#if HAS_FILAMENT_SENSOR
#ifndef FIL_RUNOUT_PIN
#define FIL_RUNOUT_PIN Y_MIN_PIN
#endif
#endif
//
// Heaters / Fans
//
#define HEATER_0_PIN 13
#define HEATER_1_PIN 12
#define HEATER_2_PIN 11
#define HEATER_BED_PIN 7 // BED H1
#define FAN_PIN 9
#define FAN1_PIN 8
#define CONTROLLER_FAN_PIN -1
//
// Temperature Sensors
//
#define TEMP_0_PIN 0 // ANALOG A0
#define TEMP_1_PIN 1 // ANALOG A1
#define TEMP_2_PIN 2 // ANALOG A2
#define TEMP_3_PIN 3 // ANALOG A3
#define TEMP_BED_PIN 4 // ANALOG A4
// The thermocouple uses Analog pins
#if ENABLED(VER_WITH_THERMOCOUPLE) // Defined in Configuration.h
#define TEMP_4_PIN 5 // A5
#define TEMP_5_PIN 6 // A6 (Marlin 2.0 not support)
#endif
// SPI for Max6675 or Max31855 Thermocouple
/*
#if DISABLED(SDSUPPORT)
#define MAX6675_SS_PIN 53
#else
#define MAX6675_SS_PIN 49
#endif
*/
//
// Misc. Functions
//
#define SDSS 4 // 4,10,52 if using HW SPI.
#define LED_PIN -1 // 13 - HEATER_0_PIN
#define PS_ON_PIN -1 // 65
// MKS TFT / Nextion Use internal USART-1
#define TFT_LCD_MODULE_COM 1
#define TFT_LCD_MODULE_BAUDRATE 115200
// ESP WiFi Use internal USART-2
#define ESP_WIFI_MODULE_COM 2
#define ESP_WIFI_MODULE_BAUDRATE 115200
#define ESP_WIFI_MODULE_RESET_PIN -1
#define PIGGY_GPIO_PIN -1
//
// EEPROM
//
#define E2END 0x7FFF // 32Kb (24lc256)
#define I2C_EEPROM // EEPROM on I2C-0
//#define EEPROM_SD // EEPROM on SDCARD
//#define SPI_EEPROM // EEPROM on SPI-0
//#define SPI_CHAN_EEPROM1 ?
//#define SPI_EEPROM1_CS ?
// 2K EEPROM
//#define SPI_EEPROM2_CS ?
// 32Mb FLASH
//#define SPI_FLASH_CS ?
//
// LCD / Controller
//
#if HAS_SPI_LCD
#if ANY(RADDS_DISPLAY, REPRAP_DISCOUNT_SMART_CONTROLLER, REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
#define BEEPER_PIN 62
#define LCD_PINS_D4 48
#define LCD_PINS_D5 50
#define LCD_PINS_D6 52
#define LCD_PINS_D7 53
#define SD_DETECT_PIN 51
#endif
#if EITHER(RADDS_DISPLAY, REPRAP_DISCOUNT_SMART_CONTROLLER)
#define LCD_PINS_RS 63
#define LCD_PINS_ENABLE 64
#elif ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
#define LCD_PINS_RS 52
#define LCD_PINS_ENABLE 53
#elif HAS_SSD1306_OLED_I2C
#define BEEPER_PIN 62
#define LCD_SDSS 10
#define SD_DETECT_PIN 51
#elif ENABLED(FYSETC_MINI_12864)
#define BEEPER_PIN 62
#define DOGLCD_CS 64
#define DOGLCD_A0 63
//#define FORCE_SOFT_SPI // Use this if default of hardware SPI causes display problems
// results in LCD soft SPI mode 3, SD soft SPI mode 0
#define LCD_RESET_PIN 48 // Must be high or open for LCD to operate normally.
#if EITHER(FYSETC_MINI_12864_1_2, FYSETC_MINI_12864_2_0)
#ifndef RGB_LED_R_PIN
#define RGB_LED_R_PIN 50 // D5
#endif
#ifndef RGB_LED_G_PIN
#define RGB_LED_G_PIN 52 // D6
#endif
#ifndef RGB_LED_B_PIN
#define RGB_LED_B_PIN 53 // D7
#endif
#elif ENABLED(FYSETC_MINI_12864_2_1)
#define NEOPIXEL_PIN 50 // D5
#endif
#elif ENABLED(MKS_MINI_12864)
#define ORIG_BEEPER_PIN 62
#define DOGLCD_A0 52
#define DOGLCD_CS 50
#define SD_DETECT_PIN 51
#endif
#if ENABLED(NEWPANEL)
#define BTN_EN1 44
#define BTN_EN2 42
#define BTN_ENC 40
#endif
#endif // HAS_SPI_LCD

View File

@ -0,0 +1,174 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 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/>.
*
*/
#pragma once
/**
* ReprapWorld ULTRATRONICS v1.0
*/
#ifndef ARDUINO_ARCH_SAM
#error "Oops! Select 'Arduino Due' in 'Tools > Board.'"
#endif
#define BOARD_NAME "Ultratronics v1.0"
//
// Servos
//
#if NUM_SERVOS > 0
#define SERVO0_PIN 11
#if NUM_SERVOS > 1
#define SERVO1_PIN 12
#endif
#endif
//
// Limit Switches
//
#define X_MIN_PIN 31
#define X_MAX_PIN 30
#define Y_MIN_PIN 12
#define Y_MAX_PIN 11
#define Z_MIN_PIN 29
#define Z_MAX_PIN 28
//
// Steppers
//
#define X_STEP_PIN 35
#define X_DIR_PIN 34
#define X_ENABLE_PIN 37
#ifndef X_CS_PIN
#define X_CS_PIN 18
#endif
#define Y_STEP_PIN 22
#define Y_DIR_PIN 23
#define Y_ENABLE_PIN 33
#ifndef Y_CS_PIN
#define Y_CS_PIN 19
#endif
#define Z_STEP_PIN 25
#define Z_DIR_PIN 26
#define Z_ENABLE_PIN 24
#ifndef Z_CS_PIN
#define Z_CS_PIN 16
#endif
#define E0_STEP_PIN 47
#define E0_DIR_PIN 46
#define E0_ENABLE_PIN 48
#ifndef E0_CS_PIN
#define E0_CS_PIN 17
#endif
#define E1_STEP_PIN 44
#define E1_DIR_PIN 36
#define E1_ENABLE_PIN 45
#ifndef E1_CS_PIN
#define E1_CS_PIN -1
#endif
#define E2_STEP_PIN 42
#define E2_DIR_PIN 41
#define E2_ENABLE_PIN 43
#ifndef E2_CS_PIN
#define E2_CS_PIN -1
#endif
#define E3_STEP_PIN 39
#define E3_DIR_PIN 38
#define E3_ENABLE_PIN 40
#ifndef E3_CS_PIN
#define E3_CS_PIN -1
#endif
//
// Temperature Sensors
//
#define TEMP_0_PIN 0 // Analog Input
#define TEMP_1_PIN 2 // Analog Input
#define TEMP_2_PIN 3 // Analog Input
#define TEMP_3_PIN 4 // Analog Input
#define TEMP_BED_PIN 1 // Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 3
#define HEATER_1_PIN 8
#define HEATER_2_PIN 7
#define HEATER_3_PIN 9
#define HEATER_BED_PIN 2
#ifndef FAN_PIN
#define FAN_PIN 6
#endif
#define FAN2_PIN 5
//
// Misc. Functions
//
#define SDSS 59
#define SD_DETECT_PIN 60
#define LED_PIN 13
#define PS_ON_PIN 32
//
// SPI Buses
//
#define DAC0_SYNC 53 // PB14
#define SPI_CHAN_DAC 1
#define SPI_CHAN_EEPROM1 -1
#define SPI_EEPROM1_CS -1
#define SPI_EEPROM2_CS -1
#define SPI_FLASH_CS -1
// SPI for Max6675 or Max31855 Thermocouple
#define MAX6675_SS_PIN 65
#define MAX31855_SS0 65
#define MAX31855_SS1 52
#define MAX31855_SS2 50
#define MAX31855_SS3 51
#define ENC424_SS 61
//
// LCD / Controller
//
#define BEEPER_PIN 27
#if ENABLED(REPRAPWORLD_GRAPHICAL_LCD)
#define LCD_PINS_RS A8 // CS chip select / SS chip slave select
#define LCD_PINS_ENABLE MOSI // SID (MOSI)
#define LCD_PINS_D4 SCK // SCK (CLK) clock
#define BTN_EN1 20
#define BTN_EN2 21
#define BTN_ENC 64
#endif // REPRAPWORLD_GRAPHICAL_LCD